Go to file
Ian Pickering d15168068b Add __IRQ_HANDLER symbol to hello_magic example
The hello_magic example does not depend on the gba crate, but the crt0
now assumes that the symbol for the interrupt handler which is defined
in it will be present, as interrupts ought to be handled in some
manner. If neither the symbol or the crate are added then the linker
will give an error, but if anything in the gba crate is used also then
the symbol will be brought in, so defining it manually also would
cause a duplicate definition error. In the future something like
cortex-m-rt's `exception!` macro could be used to better document how
to define this symbol (all their examples depend on at least one
symbol from their runtime library, so they don't have this problem).
2019-02-13 18:27:27 -08:00
book hardware memory map! 2019-02-09 16:32:50 -07:00
examples Add __IRQ_HANDLER symbol to hello_magic example 2019-02-13 18:27:27 -08:00
src Add module for interrupt request (IRQ) handling 2019-02-13 17:08:57 -08:00
.gitignore Revert "Deploy rust-console/gba to github.com/rust-console/gba.git:master" 2018-11-13 12:47:52 -07:00
.travis.yml no more auto-clippy 2019-02-10 12:54:29 -07:00
Cargo.toml Start towards 0.4 2019-02-04 20:25:40 -07:00
crt0.s Add module for interrupt request (IRQ) handling 2019-02-13 17:08:57 -08:00
init.sh Fixed dead link + convenience additions 2018-12-13 14:31:11 +01:00
LICENSE-APACHE2.txt Revert "Deploy rust-console/gba to github.com/rust-console/gba.git:master" 2018-11-13 12:47:52 -07:00
linker.ld Add symbol for the end of the .bss section 2019-01-09 04:00:36 +00:00
Makefile.toml begin IO Register classification, start with KEYINPUT 2018-12-20 16:15:23 -07:00
README.md readme update 2019-01-02 20:50:05 -07:00
rustfmt.toml Revert "Deploy rust-console/gba to github.com/rust-console/gba.git:master" 2018-11-13 12:47:52 -07:00
thumbv4-none-agb.json Add the agb env value, we might cfg on it somehow 2018-12-30 20:01:58 -07:00
todo_check.bat fixed point stuff 2018-12-18 02:05:59 -07:00

License:Apache2 travis.ci crates.io docs.rs

  • Built with cargo-make
  • Stability:None

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.