Gameboy ROM Header Info
Contents
Gameboy ROM Header Info v1.01 by SephirothBCH, 2000/11/28
After the release of this document, I am temporarily leaving the coding and emulation scene. The last few weeks of my life have been especially rough, mainly brought on by the death of my uncle, Roy Colbert. I would like to dedicate this doc, as well as any other progs I make to his memory.
History
- v1.01 - Added some new licensees, fixed some descriptions.
- v1.00 - Initial release.
This information was taken and compiled from Martin Korth's NO$GMB emulator. Best viewed in DOS EDIT. (Editor's note: This document has been wikified, and DOS EDIT is no longer the best way to view it. ;) )
Every Gameboy ROM header starts off at the HEX offset 0134.
Title/Name of ROM
The title of a ROM is 15 or 16 bytes long. It seems that if the extension of the ROM is GBC, the 16th byte denotes CGB features. This is then confirmed by reading a HEX value of 80 from that 16th byte. I'm not sure of this yet, but it seems correct. Any title bytes that are unused are filled with NULLs.
New licensee
This is two bytes long. These are two HEX values put together to make a quasi-number value. For example 30h and 31h translate into 01. 31h and 32h become 12, and so on. There are some companies also present in the licensee section, later in this document. Known combos are as follows, in the translated form above.
00 | none | 01 | nintendo | 08 | capcom |
13 | electronic arts | 18 | hudsonsoft | 19 | b-ai |
20 | kss | 22 | pow | 24 | pcm complete |
25 | san-x | 28 | kemco japan | 29 | seta |
30 | viacom | 31 | nintendo | 32 | bandia |
33 | ocean/acclaim | 34 | konami | 35 | hector |
37 | taito | 38 | hudson | 39 | banpresto |
41 | ubi soft | 42 | atlus | 44 | malibu |
46 | angel | 47 | pullet-proof | 49 | irem |
50 | absolute | 51 | acclaim | 52 | activision |
53 | american sammy | 54 | konami | 55 | hi tech entertainment |
56 | ljn | 57 | matchbox | 58 | mattel |
59 | milton bradley | 60 | titus | 61 | virgin |
64 | lucasarts | 67 | ocean | 69 | electronic arts |
70 | infogrames | 71 | interplay | 72 | broderbund |
73 | sculptured | 75 | sci | 78 | t*hq |
79 | accolade | 80 | misawa | 83 | lozc |
86 | tokuma shoten i* | 87 | tsukuda ori* | 91 | chun soft |
92 | video system | 93 | ocean/acclaim | 95 | varie |
96 | yonezawa/s'pal | 97 | kaneko | 99 | pack in soft |
SGB features
Only one byte long. A HEX value of 03 says that the cartridge has added features for Super Gameboy. Any other value, especially HEX 00 denotes a non-SGB cart.
Cartridge type
One byte long. This is one of the bigger values in the cart. This byte indicates which memory mapper the cartridge uses, whether it has Rumble features, RAM, or battery features. Valid values are as follows (in HEX):
00 | ROM | 01 | MBC1 | 02 | MBC1+RAM |
03 | MBC1+RAM+BATTERY | 05 | MBC2 | 06 | MBC2+BATTERY |
08 | ROM+RAM | 09 | ROM+RAM+BATTERY | 0B | MMM01 |
0C | MMM01+RAM | 0D | MMM01+RAM+BATTERY | 0F | MBC3+TIMER+BATTERY |
10 | MBC3+TIMER+RAM+BATTERY | 11 | MBC3 | 12 | MBC3+RAM |
13 | MBC3+RAM+BATTERY | 15 | MBC4 | 16 | MBC4+RAM |
17 | MBC4+RAM+BATTERY | 19 | MBC5 | 1A | MBC5+RAM |
1B | MBC5+RAM+BATTERY | 1C | MBC5+RUMBLE | 1D | MBC5+RUMBLE+RAM |
1E | MBC5+RUMBLE+RAM+BATTERY | FC | POCKET CAMERA | FD | Bandai TAMA5 |
FE | HuC3 | FF | HuC1+RAM+BATTERY |