Gameboy Bootstrap ROM

From GbdevWiki
Revision as of 16:45, 5 March 2008 by Nitro2k01 (Talk | contribs) (New page: = Overview = On July 17, 2003, neviksti published that he had been able to extract the contents of the Gameboy boot ROM. The boot ROM is a bootstrap program which is a 256 bytes big piece ...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Overview

On July 17, 2003, neviksti published that he had been able to extract the contents of the Gameboy boot ROM. The boot ROM is a bootstrap program which is a 256 bytes big piece of code which checks the cartridge header is correct, scrolls the Nintendo bootup graphics and plays the "po-ling" sound.

When the Gameboy is turned on, the bootstrap ROM is situated in a memory page at positions $0-$FF (0-255). The CPU enters at $0 at startup, and the last two instructions of the code writes to a special register which disables the internal ROM page, thus making the lower 256 bytes of the cartridge ROM readable. The last instruction is situated at position $FE and is two bytes big, which means that right after that instruction has finished, the CPU executes the instruction at $100, which is the entry point code on a cartridge.