Go to file
2021-04-10 20:04:21 +01:00
.cargo change linker and runner 2021-04-10 20:04:21 +01:00
.github/workflows correct github action 2021-04-10 19:03:55 +01:00
examples working with release mode 2021-03-09 00:11:19 +00:00
src add tiled0 back 2021-03-09 00:14:01 +00:00
.dockerignore Dockerfile for doing development 2021-03-06 22:52:29 +00:00
.gitignore initial commit 2021-03-06 17:58:59 +00:00
build.rs build crt0.s as part of build.rs 2021-04-10 19:02:41 +01:00
Cargo.lock initial commit 2021-03-06 17:58:59 +00:00
Cargo.toml fix debug build by changing opt level to 2 2021-03-09 00:10:01 +00:00
crt0.s initial commit 2021-03-06 17:58:59 +00:00
Dockerfile change built target to thumbv4t-none-eabi 2021-04-10 18:33:43 +01:00
gba.ld initial commit 2021-03-06 17:58:59 +00:00
interrupt_simple.s add copious amount of comments 2021-04-03 18:37:09 +01:00
README.md update readme 2021-04-10 18:33:43 +01:00
start-dev.sh Add script to start the development environment 2021-03-06 22:53:20 +00: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 rust-console/gba.

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

Requirements

  • Nightly rust, probably quite a recent version.
  • arm eabi binutils
    • Debian and derivatives: binutils-arm-none-eabi
    • Alpine: binutils-arm-none-eabi
    • Arch Linux and derivatives: arm-none-eabi-binutils

This is probably easiest to do in a container, the start-dev.sh script creates and runs a development environment in a docker container.

Makefile

The Makefile is written such that make d-{example name} runs the debug build of the example, and make r-{example name} runs the release build.

Stability

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