Gameboy Advanced support for rust based on the embedonomicon.
Check out examples/gba-example-rainbow/
for a working example.
At the moment this pretty much just boots. In the future, it'd be neat to have drivers for the GBA peripherals included. If you implement anything, please do open a PR!
- Create a new
#[no_std]
binary project withcargo new --bin
- Add
gba-core = { git = "https://github.com/ryankurte/rust-gba" }
as a dependency - Copy
arm7tdmi.json
,gba_cart.ld
, andMakefile
from this repository into your project root - Edit
Makefile
, changing theAPP
variable to the name of your binary - Run
make clean all
to build the ROM image
Alternately, you can copy the example from examples/gba-example-rainbow/
and work from there.
The Makefile
in the example is pretty bare-bones, but it's enough to get a working ROM image.
This repo contains some (potentially) helpful utilities for GBA development. The source of these can be found in the src/bin/
directory.
A Rust reimplementation of the gbafix
tool, which you can use instead of the DevkitPro version when building GBA ROM images, is included as the gbafix
binary.