Difference between revisions of "Gameboy Bootstrap ROM"
(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 ...) |
(No difference)
|
Revision as of 15:45, 5 March 2008
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.