mirror of
https://github.com/italicsjenga/gba.git
synced 2024-12-23 10:51:30 +11:00
f66ccba442
84: Remove unnecessary branch instruction in crt0 r=Lokathor a=ketsuban I noticed a while ago that the BEQ instruction wasn't actually doing anything because I forgot the difference between SUB and SUBS (the latter sets condition flags). Moreover, I don't need a BEQ in the first place since ARM instructions are inherently conditional; it's not a huge deal, but it improves performance for this early code because the pipeline stays nice and full. Co-authored-by: Thomas Winwood <twwinwood@gmail.com> |
||
---|---|---|
book | ||
examples | ||
examples-bak | ||
src | ||
.gitignore | ||
.travis.yml | ||
bors.toml | ||
Cargo.toml | ||
crt0.s | ||
init.sh | ||
LICENSE-APACHE2.txt | ||
linker.ld | ||
Makefile.toml | ||
README.md | ||
rustfmt.toml | ||
thumbv4-none-agb.json | ||
todo_check.bat |
gba
Eventually there will be a full Tutorial Book that goes along with this crate. However, currently the development focus is leaning towards having minimal coverage of all the parts of the GBA. Until that's done, unfortunately the book will be in a rather messy state.
What's Missing
The following major GBA features are still missing from the crate:
- Affine Graphics
- Interrupt Handling
- Serial Communication
First Time Setup
Writing a Rust program for the GBA requires a fair amount of special setup. All of the steps are detailed for you in the Development Setup part at the start of the book.
If you've done the described global setup once before and just want to get a new project started quickly we got you covered:
curl https://raw.githubusercontent.com/rust-console/gba/master/init.sh -sSf | bash -s APP_NAME
Contribution
This crate is Apache2 licensed and any contributions you submit must also be Apache2 licensed.