Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-gbadev

A curated list of Game Boy Advance development resources
https://github.com/gbadev-org/awesome-gbadev

Last synced: 6 days ago
JSON representation

  • Articles

  • Testing

  • Dumping the GBA BIOS

  • Reverse engineering

    • Other places

    • Other places

      • HEL - GBA C library built on top of HAM (a classic SDK from back in the day)
      • Headspin's Guide
  • Table of Content

  • 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 - This is where everyone hangs out to chat nowadays. Come say hi!
      • EFnet
      • GBAdev Discord / IRC - This is where everyone hangs out to chat nowadays. Come say hi!
    • 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.
      • 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

    • Other places

  • Compilers

    • Other places

      • 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
      • TinyGo - An alternative Go compiler for embedded systems, that supports GBA compilation
  • Libraries

    • Other places

      • Maxmod - Music and sound library (supports .mod, .xm, .s3m, .it)
      • posprintf - An `sprintf` routine written in Thumb assembler.
      • GBFS - Practical filesystem
      • 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.
      • 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).
      • agb - Rust library. It attempts to be a high level abstraction over the internal workings of the Game Boy Advance whilst still being high performance and memory efficient.
      • gbaLib - Library for programming the GBA with TinyGo
      • gba-link-connection
      • Maxmod - Music and sound library (supports .mod, .xm, .s3m, .it)
  • Emulators

    • Other places

      • 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.
      • SkyEmu - GB/GBA/NDS Emulator with built in debuggers, REST API for scripting, and high accuracy.
      • MiSTer FPGA implementation - Needs [MiSTer](https://github.com/MiSTer-devel/Main_MiSTer/wiki) setup to run.
  • Toolkits

    • Other places

      • 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.
      • 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.
      • sdk-seven - Modern runtime and tooling, and libraries for GBA development. Works with meson-gba or standalone.