Awesome Game Boy Advance development
A curated list of Game Boy Advance development resources
This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.
Introduction
Community
GBAdev Forum
Our new hub for announcements and long-form discussion. It's a good place to ask questions and share progress on your projects.
GBAdev Discord / IRC
This is where everyone hangs out to chat nowadays. Come say hi!
Community >Other places
GBAdev.org
The longstanding homepage of the scene. Still updated with news and releases (but the forums have been broken for a while).
GBAtemp
The site carries the GBA name, but nowadays the console is relegated to the backbenches. It's a good place to talk about gaming and hardware though.
Documentation
GBATEK
Programming specs for the GBA and NDS hardware
CowBite Virtual Hardware Specifications
Older GBA hardware documentation
The Audio Advance
Audio hardware documentation and basic test ROMs
Tutorials
Tonc
The new, revamped version of the GBA programming tutorial. The original version is here.
Compile C++ for GBA in under an hour
Cinemint's video for getting started with C++/Butano
Sound on the Gameboy Advance
How to write your own sound mixer / MOD music player
Larold's Retro Gameyard - Game Boy Advance Tutorials
Learn how to make GBA games using the Butano Game Engine. Each part of the engine will have own individual tutorial with example source code.
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
Compilers
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.
gvasm
Stand-alone assembler and disassembler (WIP) designed specifically for GBA homebrew
Toolkits
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.
BPCore Engine
Create GBA applications with the Lua programming language
GBA Dlang
WIP SDK for GBA development using D, using LLVM toolchain. provides fully functional TONC, GBFS, Maxmod.
dusk
Simple, lightweight, intuitive framework for GBA game development
gbsenpai
GB Studio player GBA port with some enhancements.
meson-gba
Meson-based GBA toolkit with support for many different libraries and tools.
sdk-seven
Modern runtime and tooling, and libraries for GBA development. Works with meson-gba or standalone.
rath
Forth programming environment for the Game Boy Advance
ada-gba-dev
A build system, libraries, and tools for producing programs for the Game Boy Advance using the Ada programming language.
agb
Rust high level framework for the GBA with a build system, asset importing, tracker player and graphics abstractions.
Libraries
agbabi
Drop-in application binary interface library (context switching, division, irq, memcpy, sine).
gba-hpp
C++20 header-only library for GBA development.
HeartLib
Comprehensive C library inspired by the classic HAMLib.
libseven
Modern, from-scratch replacement for libgba and libtonc.
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)
GBT Player
Music library that uses the DMG sound channels (close to 0% CPU usage).
posprintf
An sprintf routine written in Thumb assembler.
GBFS
Practical filesystem
gbaLib
Library for programming the GBA with TinyGo
gba-link-connection
A set of C++ libraries to interact with the Serial Port (Link Cable, Wireless Adapter, GPIO, SPI)
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.
NanoBoyAdvance
GBA emulator with high accuracy, especially in timing and CPU emulation. Does not have debugging features.
Mesen
Multi-system emulator with high GBA accuracy. It provides great built-in GUI tools such as a debugger, a profiler and an event viewer.
SkyEmu
GB/GBA/NDS Emulator with built in debuggers, REST API for scripting, and high accuracy.
MiSTer FPGA implementation
Needs MiSTer setup to run.
Testing
Homebrews
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.
Tigermoth
Bullet hell game, developed for the GBAJam 2021
Duster
A sleek strategy board game for the gba
Jams
Miscellanea
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
dkarm_gba_docker
A Docker image that includes DevkitARM and other GBA SDK tools, packaged together to allow a consistent toolchain configuration and reproducibility in builds. Also can be helpful in ensuring a consistent build environment for continuous integration.
Usenti
Simple bitmap editor for paletted images aimed at GBA development.
RGB55 colour picker
Tool for picking colours in the BGR555 colour format the GBA uses.
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
Pokemon Ruby
C programming language annotation of a Pokemon Ruby disassembly
Historical links
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
Related lists in Gaming
See categoryMagictools
ellisonleao/magictools
:video_game: :pencil: A list of Game Development resources to make magic happen.
Awesome Godot
Calinou/awesome-godot
A curated list of free/libre plugins, scripts and add-ons for Godot
Awesome Löve
love2d-community/awesome-love2d
A curated list of amazingly awesome LÖVE libraries, resources and shiny things.
Awesome Open Source Games
michelpereira/awesome-open-source-games
Collection of Games that have the source code available on GitHub
Awesome Game Boy Development
gbdev/awesome-gbdev
A curated list of Game Boy development resources such as tools, docs, emulators, related projects and open-source ROMs.
Games of Coding
michelpereira/awesome-games-of-coding
A curated list of games that can teach you how to learn a programming language.