From: slack Date: Wed, 4 Jul 2007 16:54:36 +0000 (+0000) Subject: Oh si, dame mas docs X-Git-Tag: v0.1~76 X-Git-Url: http://slack.codemaniacs.com/git/?a=commitdiff_plain;h=f408d371790100becfc8e7837f55253a91066b0c;p=wenboi.git Oh si, dame mas docs git-svn-id: http://slack.codemaniacs.com/wenboi@3 0666ae3d-8926-0410-aeff-ae84559ff337 --- diff --git a/docs/gbrom.txt b/docs/gbrom.txt new file mode 100644 index 0000000..db94248 --- /dev/null +++ b/docs/gbrom.txt @@ -0,0 +1,175 @@ +Gameboy ROM Header Info :: SephirothBCH :: v1.01 :: 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. + +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 trans- +lated 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 +*** The Bandai TAMA5 mapper was designed specifically for Tamagotchi. *** + +ROM size +======== +One byte long, fairly simple. ROM sizes range from 32K to 4MB. Valid HEX +values are as follows: +00- 32k 01- 64k 02- 128k 03- 256k 04- 512k +05- 1024k 06- 2048k 07- 4096k + +Save RAM size +============= +One byte also, self-explanitory. Sizes range from no RAM, to 32K. The most +common ones used are 8k and 32k. HEX values: +00- 0k 01- 2k 02- 8k 03- 32k + +Country code +============ +Once again, this is only one byte long. Valid HEX values are 00- Japan and +01- Non-Japan. + +Licensee +======== +One byte long, this makes up the bulk of the entire document. Some of the +names are truncated (*), because they are too long for NO$GMB to display. +Anyone who has the full names of the truncated licensees please email me, and +you will get credit for them. Here are all of the valid HEX values I found: +00- none 01- nintendo 08- capcom +09- hot-b 0A- jaleco 0B- coconuts +0C- elite systems 13- electronic arts 18- hudsonsoft +19- itc entertainment 1A- yanoman 1D- clary +1F- virgin 24- pcm complete 25- san-x +28- kotobuki systems 29- seta 30- infogrames +31- nintendo 32- bandai 33- "see above" +34- konami 35- hector 38- capcom +39- banpresto 3C- *entertainment i 3E- gremlin +41- ubi soft 42- atlus 44- malibu +46- angel 47- spectrum holoby 49- irem +4A- virgin 4D- malibu 4F- u.s. gold +50- absolute 51- acclaim 52- activision +53- american sammy 54- gametek 55- park place +56- ljn 57- matchbox 59- milton bradley +5A- mindscape 5B- romstar 5C- naxat soft +5D- tradewest 60- titus 61- virgin +67- ocean 69- electronic arts 6E- elite systems +6F- electro brain 70- infogrames 71- interplay +72- broderbund 73- sculptered soft 75- the sales curve +78- t*hq 79- accolade 7A- triffix entertainment +7C- microprose 7F- kemco 80- misawa entertainment +83- lozc 86- *tokuma shoten i 8B- bullet-proof software +8C- vic tokai 8E- ape 8F- i'max +91- chun soft 92- video system 93- tsuburava +95- varie 96- yonezawa/s'pal 97- kaneko +99- arc 9A- nihon bussan 9B- tecmo +9C- imagineer 9D- banpresto 9F- nova +A1- hori electric A2- bandai A4- konami +A6- kawada A7- takara A9- technos japan +AA- broderbund AC- toei animation AD- toho +AF- namco B0- acclaim B1- ascii or nexoft +B2- bandai B4- enix B6- hal +B7- snk B9- pony canyon BA- *culture brain o +BB- sunsoft BD- sony imagesoft BF- sammy +C0- taito C2- kemco C3- squaresoft +C4- *tokuma shoten i C5- data east C6- tonkin house +C8- koei C9- ufl CA- ultra +CB- vap CC- use CD- meldac +CE- *pony canyon or CF- angel D0- taito +D1- sofel D2- quest D3- sigma enterprises +D4- ask kodansha D6- naxat soft D7- copya systems +D9- banpresto DA- tomy DB- ljn +DD- ncs DE- human DF- altron +E0- jaleco E1- towachiki E2- uutaka +E3- varie E5- epoch E7- athena +E8- asmik E9- natsume EA- king records +EB- atlus EC- epic/sony records EE- igs +F0- a wave F3- extreme entertainment FF- ljn + +Header Check +============ +One byte long. Not sure how this value is attained or checked. Email me if +you know, you'll get credit. + +Global Check +============ +Two bytes long. Perhaps this is a checksum of the entire rom. It might not, +since it is only a 16-bit value. Email me if you know. + +----------------------------------------------------------------------------- + +And so ends this document. If you have anything to add, or know of an error, +email me at SephirothBCH@theglobe.com. The next version of this document will +have explanations of the global and header check, and information on mappers +such as MBC1 and MBC2. Thanks for reading! + SephirothBCH + http://www.vbcop.com + +