Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
-
Other places
- Gameboy Advance Resource Management - Allocation techniques for the GBA's various memory regions
- 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
- Using Beepbox for GBA Music Composition
-
-
Testing
-
Other places
- GBA Jam 2021
- GBA Winter Jam '21
- GBA Jam 2022
- GBA Winter Jam '23
- mGBA test suite
- GBA Suite
- 240p-test-mini - video signal tests
- NBA hardware 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.
- Tigermoth - Bullet hell game, developed for the GBAJam 2021
- Duster - A sleek strategy board game for the gba
- OpenLara - Classic Tomb Raider open-source engine
- 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.
-
-
Dumping the GBA BIOS
-
Reverse engineering
-
Other places
- Reverse Engineering a GameBoy Advance Game - A series of detailed posts and talks about developing a [level editor](https://github.com/macabeus/klo-gba.js) for *Klonoa: Empire of Dreams*
- Pokemon Ruby - C programming language annotation of a Pokemon Ruby disassembly
-
-
Historical links
-
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
- Tonc - Complete programming tutorial
- 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
- Tonc - The new, revamped but WIP version of the GBA Programming guide. The original version is [here](https://www.coranac.com/tonc/text/toc.htm)
-
-
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.
-
Programming Languages
Categories
Sub Categories
Keywords
gba
20
gameboy-advance
13
homebrew
6
gba-development
5
gameboy
4
game-boy-advance
3
gba-game
3
game
3
devkitarm
3
rust
2
wasm
2
multiplayer
2
emulator
2
spi
2
modern-cpp
2
game-engine
2
c
2
gpio
2
tonc
2
assembly-language
2
d
1
lua
1
zig
1
sdk
1
game-engine-2d
1
dlang
1
gba-dev
1
nim
1
hamlib
1
nintendo-gba
1
arm7-tdmi
1
assembler
1
game-boy-advance-development
1
gameboy-advance-development
1
adafruit
1
arduino
1
arm
1
avr
1
esp32
1
i2c
1
llvm
1
microbit
1
microcontroller
1
nrf51
1
nrf52
1
samd21
1
stm32
1
tinygo
1
wasi
1
emulator-development
1