Go to file
2021-05-31 07:34:09 +01:00
.github/workflows Use $HOME rather than ~ (#36) 2021-05-30 21:02:11 +01:00
.vscode move launch.json to parent 2021-05-20 07:25:51 +01:00
agb remember to add affine id to self 2021-05-31 07:34:09 +01:00
agb-image-converter add license and description for publishing 2021-05-23 06:14:12 +01:00
mgba-test-runner move from include to vendor 2021-05-23 06:40:57 +01:00
.gitignore remove .vscode from .gitignore 2021-05-20 07:25:38 +01:00
LICENSE add project wide MPLv2 license 2021-05-29 15:22:19 +01:00
README.md update readme with relevant updated information 2021-05-23 02:35:39 +01:00

Rust for the Game Boy Advance

This is my in development library for rust on the Game Boy Advance. It uses information from GbaTek, Tonc, and the existing rust-console/gba.

Note that this currently contains no documentation of any kind, unless you count examples as documentation.

Build Requirements

  • Recent rustup, see the rust website for instructions for your operating system.
    • You can update rustup with rustup update, or using your package manager if you obtained rustup in this way.
  • arm eabi binutils
    • Debian and derivatives: sudo apt install binutils-arm-none-eabi
    • Arch Linux and derivatives: pacman -S arm-none-eabi-binutils
    • Windows can apparently use the GNU Arm Embedded Toolchain. Make sure to select "Add path to environment variable" during the install.
    • This process has only been tested on Ubuntu and Arch Linux.

Test Requirements

  • mgba 0.9.X
  • mgba-test-runner
    • Run cargo install --path mgba-test-runner inside this directory

Real Hardware Build

  • Need gbafix, rust implementation can be installed with cargo install gbafix.
  • On compiled elf file, additionally need to
arm-none-eabi-objcopy -O binary {input-elf} {output-gba}
gbafix {output-gba}

Stability

0% stable, I have no problems making drastic changes in the API in order to make something nice to work with.