Game Boy Advance Programming
Welcome to my Game Boy Advance (GBA) programming tutorial
page! These notes were originally part of the material for a
computer architecture and systems course I taught. I decided
to pull them out and organize them in one place.
The GBA was a 32-bit handheld game console developed by Nintendo,
first released in 2001, with an "SP" version coming out two years
later.
The GBA is a fun platform to develop for. The specs are kind of
laughable by modern system standards
- 16.78 MHz ARM CPU (about 60 times slower than a 1 GHz processor)
- 240 x 160 pixel screen
- 384 kilobytes of memory (about 2000 times less than 1 Gig of memory)
The GBA has some things which make programming it different from
most computers:
- The relatively low performance requires a careful eye to efficiency.
- There is no operating system. Your program is the only thing running,
on the hardware, so you have full control.
- There is no "API". You interact with the hardware not by calling
functions, but by writing special memory locations.
- There is unique hardware for dealing with graphics and sounds.
There are no drivers, so we will have to interact with this hardware
directly.
Table of Contents
Copyright ©
2025
Ian Finlayson | Licensed under a Creative Commons BY-NC-SA 4.0 License.