djedditt / awesome-gbadev

A curated list of Game Boy Advance development resources

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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.

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.

Libraries

  • 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

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

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.

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

About

A curated list of Game Boy Advance development resources

License:Other