« Game Boy / Color Architecture (index)

Game Boy / Color Architecture

Chapter 6: Operating System


Unlike the NES/Famicom, which booted straight into the game, the Game Boy was designed to always boot from an internal 256-byte ROM, and only then jump to the game code. The boot process is as follows :

  1. After the console is switched on, the CPU starts reading from address 0x0000 (the Game Boy's ROM location).
  2. RAM and APU are initialised.
  3. The Nintendo logo graphics are copied from the cartridge ROM to Display RAM, and then drawn at the top edge of the screen. If there is no cartridge inserted, the logo will contain garbage tiles. The same may happen if the cartridge is improperly inserted.
  4. The logo is scrolled downwards and the iconic po-ling sound is played.
  5. The game's Nintendo logo is compared with the one stored in the console's ROM. Afterwards, a quick checksum is performed on the cartridge's ROM header to confirm the cartridge is correctly inserted. If either of these checks fail, the console freezes.
  6. The console's ROM is removed from the memory map.
  7. CPU begins executing the game.

Interestingly enough, the Nintendo logo displayed on the screen is not cleared from VRAM, leaving the opportunity for games to apply some animation and effects to transition to their own logos.

Image
Start of the animation. The logo appears from the top and scrolls down.

Image
End of the transition. If the ROM's checks have passed, the console will proceed to execute the game, otherwise it stays frozen.

The original GameBoy's boot animation.

The revised sequence

Image
The Game Boy Color's boot screen, the logo doesn't slide anymore but instead features a rainbow effect.

Once again, in the case of the Game Boy Color, we find drastic changes in the contents of the ROM. For instance, the size of the ROM is now 2 KB and the routines exhibit new behaviour:


Previous: 5. Audio

Next: 7. Games


Rodrigo Copetti © 2026 RSS Feed

Switch to modern edition

Home · Writings · Support · About author · About website