A library to manage the GBA hardware, built with C and with compatibility with C, C++ and Assembly.
Follow these instructions to build the library and the various demos.
Install GNU make:
sudo apt-get install build-essential
Read this guide to install DevkitARM.
First, go to the directory where you downloaded the library:
cd /path/to/lib/And then build the library:
make APIagbOr:
make libIf you see a file named libAPIagb.a, then the build was succesfull.
You can run make to see the list of demos.
This demo shows the line, circle, frame and rectangle drawing algorithms for mode 3. You can build it like this:
make Mode3DemoThis demo shows the image copying routine for mode 3. You can build it like this:
make Mode3ImageDemoThis demo shows the line, circle, frame and rectangle drawing algorithms for mode 4, and the mode 4 page flip handler. You can build it like this:
make Mode4DemoThis demo shows the image and palette copying routines for mode 4, and the mode 4 page flip handler. You can build it like this:
make Mode4ImageDemoThis demo shows the line, circle, frame and rectangle drawing algorithms for mode 5, and the mode 5 page flip handler. You can build it like this:
make Mode5DemoThis demo shows the image copying routine for mode 5, and the mode 5 page flip handler. You can build it like this:
make Mode5ImageDemoThis demo shows the keypad handler routines. You can build it like this:
make InputDemoThis demo shows the object handlers and a working sprite:
make SpriteDemoThis demo shows the background handlers and a working BG:
make BgDemoThis demo shows an extended BG and a technique I like to call "Map Banking":
make ExtendedBgDemoThis demo shows an affine sprite and applies transformations to it:
make AffineSpriteDemoThis demo shows an affine background and applies transformations to it:
make AffineBgDemoThis demo shows a background and a sprite, and applies a mosaic on them:
make MosaicDemoThis demo shows various techniques with the blend features:
make BlendDemoThis demo shows a changing BG using the GBA timers and mode 4:
make TimerDemoThis demo is a remake of AffineSpriteDemo, but using hardware interrupt and various SWIs:
make InterruptDemoThis demo plays some tunes on the square wave channels:
make SoundDemoAll the demos were built for cartridges, but you can change this to multiboot by changing the SPECS variable of the demo Makefile to gba_mb.
- DevkitPro - The DevkitARM provider.
- GNU Make - The build system.
- GBATek - The holy grail of GBA development.
- TONC - The guide to GBA.
- Lino Bigatti - Main library & demo coder.
To appear here, contribute to the library and/or its demos.