Need help with awesome-gbadev?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

gbdev
334 Stars 21 Forks GNU General Public License v3.0 36 Commits 6 Opened issues

Description

A curated list of Game Boy Advance development resources

Services available

!
?

Need anything else?

Contributors list

Awesome Game Boy Advance development

A curated list of development resources for Game Boy Advance.

Contribute adding resources or providing feedback through Pull Requests, Issues or joining us on Discord. You can find a web version of this list here.

Table of Content


Introduction

Community

All rooms are bridged to IRC channels on EFnet.

Main channel

#gbadev
- general chat

Additional channels

#gba-meta
- community feedback/discussion
#gba-help
- help & support
#gba-emudev
- emulator development
#gba-asm
- ARM/Thumb assembly and CPU architecture
#gba-showcase
- share what you're working on!
#gba-music
- listening, composing and audio programming
#gba-offtopic
- off-topic chat
#gba-docs
- community documentation projects (tutorials, technical docs etc.)
#gba-tools
- tool discussion (grit, tiled, aseprite, etc.)

Project-specific channels

#gba-toolchain
- gba-toolchain, agbabi and gba-plusplus development & support
#butano
- Butano engine development & support
#natu
- Natu toolkit development & support
  • GBADev - The longstanding homepage of the scene. Regularly updated with the lastest news and releases.
  • GBAtemp - The site carries the GBA name, but now the console is relegated to the backbenches.

Documentation

Tutorials

Articles

Software Development

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

Libraries

  • agbabi - Drop-in application binary interface library (context switching, division, irq, memcpy, sine).
  • gba-plusplus - Modern C++ alternative to libgba and libtonc.
  • HeartLib - Comprehensive C library inspired by the classic HAMLib.
  • libseven - Lightweight, from-scratch replacement for libgba.
  • 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

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. Currently lacking a GUI or debugger.
  • MiSTer FPGA implementation - Needs MiSTer setup to run.

Emulator Development

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

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

Dumping the GBA BIOS

Reverse engineering

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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.