2021-03-07 04:58:59 +11:00
|
|
|
# Rust for the Gameboy Advance
|
|
|
|
|
|
|
|
This is my in development library for rust on the gameboy advance. It uses
|
|
|
|
information from GbaTek, Tonc, and the existing
|
2021-04-11 03:32:47 +10:00
|
|
|
[rust-console/gba](https://github.com/rust-console/gba).
|
2021-03-07 04:58:59 +11:00
|
|
|
|
|
|
|
Note that this currently contains no documentation of any kind, unless you count
|
|
|
|
examples as documentation.
|
|
|
|
|
2021-04-12 01:56:05 +10:00
|
|
|
## Build Requirements
|
2021-03-07 04:58:59 +11:00
|
|
|
|
|
|
|
* Nightly rust, probably quite a recent version.
|
2021-04-11 03:32:47 +10:00
|
|
|
* arm eabi binutils
|
2021-04-16 07:16:49 +10:00
|
|
|
* Debian and derivatives: `sudo apt install binutils-arm-none-eabi`
|
|
|
|
* Arch Linux and derivatives: `pacman -S arm-none-eabi-binutils`
|
2021-03-07 04:58:59 +11:00
|
|
|
|
2021-04-12 01:56:05 +10:00
|
|
|
## Test Requirements
|
|
|
|
|
|
|
|
* need a recent mgba (known to work on 0.8.4+)
|
|
|
|
* [corwinkuiper/mgba-test-runner](https://github.com/corwinkuiper/mgba-test-runner)
|
|
|
|
* `cargo install --git https://github.com/corwinkuiper/mgba-test-runner.git`
|
|
|
|
|
|
|
|
## Real Hardware Build
|
|
|
|
|
|
|
|
* Need gbafix, rust implementation can be installed with `cargo install gbafix`.
|
|
|
|
* On compiled elf file, additionally need to
|
|
|
|
```bash
|
|
|
|
arm-none-eabi-objcopy -O binary {input-elf} {output-gba}
|
|
|
|
gbafix {output-gba}
|
|
|
|
```
|
|
|
|
|
2021-03-08 11:00:43 +11:00
|
|
|
## Stability
|
|
|
|
|
|
|
|
0% stable, I have no problems making drastic changes in the API in order to make
|
|
|
|
something nice to work with.
|