« Game Boy Advance Architecture (index)

Game Boy Advance Architecture

Chapter 6: Operating System


ARM7's reset vector points to memory address 0x00000000, where a 16 KB ROM happens to reside. This means that, upon powering on, the Game Boy Advance first boots from that ROM. The program that it runs makes the console show the iconic splash screen and then decide whether to load the cartridge game.

Image
Splash animation halfway through.

Image
Splash animation at the end.

The GBA features a new splash animation that showcases its extended colour palette and sprite-scaling capabilities.

Similar to the previous generation, the bootloader takes care of hardware initialisation and copy-protection. However, 16 KB gives the ROM plenty of space to also provide software routines, which games may call to simplify certain operations and reduce cartridge size . This is why the GBA's ROM is commonly referred to as a 'Basic Input/Output System' or BIOS.

Among the available routines, we can find:

The BIOS ROM is connected via a 32-bit bus and it is implemented using a combination of ARM and Thumb instructions, though the latter is more prevalent.

Finally, remember that all of these routines run only on the ARM7. In other words, there isn't any hardware acceleration available to speed up these operations. Hence, Nintendo provided all of this functionality in software.

Secondary boot

In the absence of a valid cartridge, the bootloader waits indefinitely for an external device to send a Multiboot program through the 'EXT' port. This is how the Multiboot 'uploader' is able to transfer its program in the first place.

Games often referred to this functionality as Single-Pak Link, because it allowed multiple connected consoles to play a multi-player game using only one cartridge. Behind the scenes, the console with the cartridge sent a small copy of its game to connected consoles via Multiboot.


Previous: 5. Audio

Next: 7. Games


Rodrigo Copetti © 2026 RSS Feed

Switch to modern edition

Home · Writings · Support · About author · About website