This is tutorial content on how to program stuff for the Game Boy Advance (GBA) using Rust.

The tutorial content is written in markdown and rendered for GitHub Pages using mdbook.

The code content is presented in excerpts within the tutorial, but is much easier to view and use if you go to the GitHub Repository.

If there are any problems, please file an issue.

Required Background

I assume that you've read The Rust Book.

If you're familiar with another language such as Zig or C then you'll probably be able to follow along, but all code samples are in Rust.

Other Resources

The standard resource for GBA info is GBATEK.

You can also check out the Awesome GBA Dev repository.


The non-code parts of the book are available for you to use under the Creative Commons Attribution-NonCommercial 4.0 International license (CC BY-NC 4.0).

The code parts of the book are available for use under any of the following licenses: Zlib, Apache-2.0, or MIT (SPDX: Zlib OR Apache-2.0 OR MIT).


You can sign up to be a GitHub Sponsor if you think this project is cool.