Awesome Game Boy Advance development
A curated list of development resources for Game Boy Advance.
Work in progress notice
This list is still in early development. Please contribute adding resources or providing feedback through Pull Requests, Issues or joining us on Discord.
Table of Content
Links marked with WIP are Work In Progress and still in development - don't expect complete resources.
Introduction
Community
- #gba on gbdev Discord Server - Perhaps the only truely active GBA community today.
- GBADEV - Tons and tons of info on GBA development: homebrew, tools, documentation.. Clearly laid out.
- GBATEMP - The site carries the GBA name, but now the console is relegated to the backbenches.
Documentation
- GBATEK - Technical Info
- CowBite Virtual Hardware Specifications - Incomplete GBA hardware documentation
- The Audio Advance - Audio hardware documentation and basic test ROMs
Tutorials
- Tonc - Complete programming tutorial
- Sound on the Gameboy Advance - How to write your own sound mixer / MOD music player
Articles
- Gameboy Advance Resource Management - Allocation techniques for the GBA's various memory regions
- Managing Sprite Cel VRAM on the Game Boy Advance - Analysis of the VRAM streaming approach for animated sprites
Software Development
Compilers
- Devkitpro - C/C++ compiler.
Toolkits
- rust-console - GBA programming in Rust, plus tutorial.
- natu - GBA programming in Nim (loosely based on Tonc tutorial)
- gba-modern - Write GBA games using modern C++.
- ZigGBA - WIP SDK for creating GBA games using Zig (Inspired by Tonc).
Libraries
- gba++ - Modern C++ library for GBA.
- Maxmod - Mixes music and sound effects for your games.
- posprintf - An
sprintf
routine written in Thumb assembler. - GBFS - practical filesystem
Emulators
- mGBA - Actively developed GBA emulator. Runs on a bunch of platforms. Text debugger through GDB stub.
- No$gba - Venerable GBA emulator. Windows only, but runs well under Wine. Not very actively maintained but still gets updates now and then. Sports graphical debugger.
- MiSTer FPGA implementation - Needs MiSTer setup to run.
Emulator Development
Testing
- mGBA test suite
- GBA Suite
- 240p-test-mini - video signal tests
Homebrews
- Goodboy Advance - game jam version - Made in 2018, and has a nice bit of information on how it's made.
- Celeste Classic - 2019 port of Pico8 version of Celeste.
- GBADoom - 2019/2020 GBA port of prBoom version of Doom.
Miscellanea
- gba_bios - WIP disassembly of the Game Boy Advance BIOS
Dumping the GBA BIOS
- Software interrupt $1F / MidiKey2Freq, canonical method
- Cracking the GBA BIOS by endrift
- Dumping the GBA BIOS, another method by MerryMage
Reverse engineering
- Reverse Engineering a GameBoy Advance Game - A series of detailed posts and talks about developing a level editor for Klonoa: Empire of Dreams