A curated list of development resources for Game Boy Advance.
This list is still in early development. Please contribute adding resources or providing feedback through Pull Requests, Issues or joining us on Discord.
Links marked with WIP are Work In Progress and still in development - don't expect complete resources.
- #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.
- GBATEK - Technical Info
- CowBite Virtual Hardware Specifications - Incomplete GBA hardware documentation
- The Audio Advance - Audio hardware documentation and basic test ROMs
- Tonc - Complete programming tutorial
- Sound on the Gameboy Advance - How to write your own sound mixer / MOD music player
- 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
- devkitARM - C/C++ cross-compiler toolchain, which includes libgba, libtonc, maxmod, and various tools and example projects.
- gba-toolchain - GNU Arm Embedded Toolchain based alternative to devkitARM.
- rust-console - GBA programming in Rust, plus tutorial.
- natu - GBA programming in Nim (provides wrapper around libtonc, maxmod and more).
- gba-modern - Write GBA games using modern C++.
- ZigGBA - WIP SDK for creating GBA games using Zig (Inspired by Tonc).
- Butano - Modern C++ high level engine for the GBA.
- gba++ - WIP modern C++ header-only library for GBA.
- HeartLib - Comprehensive C library inspired by the classic HAMLib.
- GBAdv - High level utilities on top of libgba.
- Maxmod - Music and sound library (supports .mod, .xm, .s3m, .it)
- Apex Audio System - Music and sound library (supports .mod only, but very good performance)
- Krawall - Music and sound library (supports .xm, .s3m)
- Pimpmobile - Music library (supports .mod, .xm)
- posprintf - An
sprintf
routine written in Thumb assembler. - GBFS - Practical filesystem
- 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.
- mGBA test suite
- GBA Suite
- 240p-test-mini - video signal tests
- Goodboy Advance - 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.
- BlindJump - Adventure game, developed in 2020. Implementation of link-cable multiplayer, fully digital audio.
- gba_bios - WIP disassembly of the Game Boy Advance BIOS
- GBA bare metal code - Various experiments by Krom, such as video playback and 3D, written in ARM Assembly
- Software interrupt $1F / MidiKey2Freq, canonical method
- Cracking the GBA BIOS by endrift
- Dumping the GBA BIOS, another method by MerryMage
- Reverse Engineering a GameBoy Advance Game - A series of detailed posts and talks about developing a level editor for Klonoa: Empire of Dreams
- Pokemon Ruby - C programming language annotation of a Pokemon Ruby disassembly
- HEL - GBA C library built on top of HAM (a classic SDK from back in the day)
- Headspin's Guide to Compression, Files Systems, Screen Effects and MOD Players for the Gameboy Advance