NINA Header Version 1.01 ======================== Overview -------- * The format may consist of a number of data blocks. * Each data block begins with an identifier and size field (4,4). * The header is recognised by the existance of the Primary Data Block. * Information stored in the header describes hardware requirement. Primary Data Block ------------------ Identifier "NINA" Size size(PRG) + size(CHR) + 48 Bytes Block Information 0x000000 Word Maker Code 0x000002 Byte Game Code [4] 0x00000E Byte Special Version 0x00000F Byte Sub-Number 0x000010 Byte Game Title [21] 0x000025 Byte Map Mode 0x000026 Byte Catridge Type 0x000027 Byte ROM Size 0x000028 Byte RAM Size 0x000029 Byte Destination Code 0x00002A Byte Licensee Code 0x00002B Byte Mask ROM Version 0x00002C Word Check Sum (PRG) 0x00002E Word Check Sum (CHR) End Block The Program ROM and Character ROM (if present) follow the Primary Data Block. 1. Maker Code 2-digit ASCII code assigned by Nintendo. 2. Game Code 4-digit Game Code assigned by Nintendo. If the game program was assigned a 2-digit code, the code will be followed by 2 "Space" codes. 3. Special Version Assigned when necessary to distinguish between original and non-original mapping. 4. Sub-Number Assigned when necessary to distinguish between the same cartridge type or identify a custom mapper. 5. Game Title The game title using ASCII code. 6. Map Mode Background selection. 00H - Horizontal VRAM A10 = PPU A10 01H - Vertical VRAM A10 = PPU A11 02H - Single-Screen VRAM A10 = GND 03H - Single-Screen VRAM A10 = +5V 8*H - Mapper Control The high-order bit should specify whether VRAM is hard-wired or controlled by a memory manager (mapper). 7. Cartridge Type The cartridge configuration. *0H - ROM *1H - ROM + RAM *2H - ROM + RAM + Battery *3H - ROM + Battery 1*H - C*ROM 2*H - U*ROM 3*H - B*ROM 4*H - G*ROM 5*H - A*ROM 6*H - D*ROM (Namcot 108) 7*H - S*ROM (MMC1) 8*H - P*ROM (MMC2) 9*H - T*ROM (MMC3) A*H - F*ROM (MMC4) B*H - E*ROM (MMC5) C*H - H*ROM (MMC6) D*H - J*ROM (Sunsoft FME-7) E*H - Custom (see mappers) F*H - Other 8. ROM Size The Program and Character ROM size. PRG Size CHR Size *3H - 64K Bit 3*H - 64K Bit *4H - 128K Bit 4*H - 128K Bit *5H - 256K Bit 5*H - 256K Bit *6H - 512K Bit 6*H - 512K Bit *7H - 1M Bit 7*H - 1M Bit *8H - 2M Bit 8*H - 2M Bit *9H - 4M Bit 9*H - 4M Bit 0*H - CHRRAM 9. RAM Size The RAM size as described by the table below. If RAM is not installed, store 00H WRAM-0 WRAM-1 *0H - No RAM 0*H - No RAM *1H - 16K Bit 1*H - 16K Bit *3H - 64K Bit 3*H - 64K Bit *5H - 256K Bit 5*H - 256K Bit 10. Destination Code The region code as described by the table below. PRG CHR Destination Code *0H 0*H Japan (see licensee codes) *1H 1*H North America NES *2H 2*H Europe PAL *3H 3*H Scandinavia SCN *4H 4*H Sweden SWE *6H 6*H France FRA *7H 7*H Holland HOL *8H 8*H Spain ESP *9H 9*H Germany FRG *AH A*H Italy ITA 11. Licensee Code The Licensee code as assigned by Nintendo. If Licensee code 33H is used Maker Code and Game Code should contain valid data. 12. Mask ROM Version The version number of the Program and Character mask ROM. 15. Check sum (PRG) The Program ROM check sum. 16. Check Sum (CHR) The Character ROM check sum. Production Board ----------------- This information is valid for boards produced by Nintendo. Sub-Number is used in conjunction with Cartridge Type to identify the production board. The 5 low-order bits are used to identify the second character (sub-Char). The 3 high-order bits the third character (special-Char). If sub-Char is 00H, special-Char should be ignored. sub-Char special-Char 00H N/A N/A 01H 'A' '1' 02H 'B' '2' 03H 'C' '3' 04H 'D' 'S' 05H 'E' ... ... ... 18H 'X' 19H 'Y' 1AH 'Z' Example 1: Cartridge Type = 92H (T*ROM) Sub-Number = 0BH ('K') Board = TKROM Example 2: Cartridge Type = 20H (U*ROM) Sub-Number = 2EH ('N', '1') Board = UN1ROM Licensee Codes -------------- 01H HVC - Nintendo 08H CAP - Capcom 09H GAM - Hot-B 0AH - Jaleco 0BH CDS - Coconuts 18H HFC - Hudson Soft 21H TEC - Tokai Engineering (Sunsoft) 28H KTB - Kotobuki System 29H KKS - SETA 35H HCT - Hector 49H TIX - Tamtex (Irem) 4AH GAT - Gakken 85H GOI - GO.1 86H TIM - Tokuma Shoten Intermedia 8BH BPS - Bullet-Proof Software 8CH VIC - Vic Tokai 8EH CTS - Character Soft 8FH IMX - I'Max 95H VAR - Varie 96H YZW - Yonezawa 99H PAC - Pack-in-video 9AH NBF - Nichibutsu 9BH TCF - Tecmo 9CH IMA - Imagineer 9EH FAC - Face A2H SCO - Scorpion Soft A4H KDS - Konami A5H KAC - KAC A6H KWD - Kawada A7H TFC - Takara A8H ROY - Royal A9H TJC - Technos AAH VFR - Victor ABH HSS - Hi-Score Software ACH TDF - Toei ADH THF - Toho AEH TSS - TSS AFH - Namco B1H HSP - ASCII B2H BAN - Bandai B3H SFC - Soft Pro B4H EFC - Enix B6H HAL - HAL B7H SFX - SNK B9H PHF - Pony Canyon BAH CBF - Culture Brain BBH - Sunsoft BCH TFS - Toemiland (Toshiba EMI) BDH CBS - CBS/Sony Group BFH SAC - Sammy C0H - Taito C2H KSC - Kemco-Seika C3H SQF - SQUARE C4H GTS - Tokuma Soft C5H DFC - Data East C6H TKS - Tokyo Shoseki/Tonkin House C7H ECF - East Cube C8H KOE - KOEI C9H UPL - UPL CAH KDS - Konami (Ultra Games/Palcom) CBH VAP - Vap CCH USE - USE CDH MDC - Meldac CEH PNF - Pony Canyon CFH ANG - Angel D0H DTF - Disco/Taito D1H SFL - Sofel D2H BTC - Bothtec (Quest) D3H SEI - Sigma Enterprises D4H ASK - ASK Kodansha D5H KYG - Kyugo Boueki D6H NAX - Naxat Soft D8H STE - Status (Capcom) D9H BAP - Banpresto DAH TOM - Tomy DBH HIR - Hiro DDH NCS - NCS DEH HUM - Human DFH ALT - Altron E0H DCE - K.K.DCE E1H TCC - Towa Chiki E2H SHI - Shinsei/Yutaka E3H VRE - Varie E5H EPO - Epoch E7H ATH - Athena E8H ASM - Asmik E9H NAT - Natsume EAH KIN - King Records EBH ATL - Atlus ECH ESF - Epic/Sony Records EDH PIX - Pixel EEH IGS - IGS EFH FMI - Fujimic F0H WAV - A-Wave ??? DBF - dB-SOFT ??? TOA - ToaPlan ??? NMK - NMK (Nihon Micom Kaihatsu) ??? RES - Rix Soft ??? VIS - Visco ??? MAM - M&M ??? TKR - Takeru ??? SAN - Sanritsu ??? IPC - Jingukan ??? NFC - Nihon Game Custom Mappers -------------- The following memory mappers are defined by Cartridge Type Sub-Number. 10H Namcot 108 11H Namcot 163 12H Namcot 175 13H Namcot 340 20H Jaleco JF-11 21H Jaleco JF-13 22H Jaleco JF-16 23H Jaleco JF-17 24H Jaleco JF-19 25H Jaleco SS88006 30H Taito X1-005 31H Taito TC0190 32H Taito X1-017 33H Taito TC0350 34H Taito TC0690 40H Konami VRC 41H Konami VRC II 42H Konami VRC III 43H Konami VRC IV 45H Konami VRC VI 46H Konami VRC VII 50H Irem TAM-S1 51H Irem IF-09 52H Irem IF-12 53H Irem G-101 54H Irem H3001 60H Sunsoft-1 (C) 61H Sunsoft-1 (P) 62H Sunsoft-2 63H Sunsoft-3 64H Sunsoft-4 65H Sunsoft-5 66H Sunsoft FME-7 70H Bandai FCG-X 71H Bandai LZ93D50 72H Bandai LZ93D50 (Jump-2) 73H Bandai Datach 74H Bandai OekaKids 80H Color Dreams 81H Tengen Rambo-1 82H Camerica BF9093 83H Camerica BF9096 84H Camerica BF9097 F0H 74*139/74 F1H 74*161/32 F2H 74*161/138 F3H 74*161/161/32 F4H 74*174/138 Special Version is used to differentiate between mapping variations. For Standard mapping store 00H. Namcot 108 ---------- 01H - Dragon Buster 02H - Megami Tensei 03H - Gauntlet 04H - Devil Man / Dragon Spirit / Mahjong 3 / Quinty Konami VRC II ------------- 00H - Mapping A (A1:A0) 01H - Mapping B (A0:A1) 02H - Mapping A (A0:A1) Konami VRC IV ------------- 00H - A0:A1 01H - A3:A2 02H - A2:A3 03H - A2:A1 04H - A7:A6 Konami VRC VI ------------- 00H - A1=A1, A0=A0 01H - A1=A0, A0=A1 Konami VRC VII -------------- 00H - A0=A4 01H - A0=A3 Taito TC0190 ------------ Special Version: 00H ----_---- CPU D0 <> |01 40| -- VCC CPU D1 <> |02 39| <- CPU R/W CPU D2 <> |03 38| <- CPU /CE CPU D3 <> |04 37| <- M2 CPU D4 <> |05 36| -- NC CPU D5 <> |06 35| -- NC CPU D6 <> |07 34| <- PPU A10 CPU D7 <> |08 33| <- PPU A11 PRG A13 <- |09 32| <- PPU A12 PRG A14 <- |10 31| -- GND PRG A15 <- |11 30| -> VRAM A10 PRG A16 <- |12 29| -> CHR A10 PRG A17 <- |13 28| -> CHR A11 PRG A18 <- |14 27| -> CHR A12 CPU A0 -> |15 26| -> CHR A13 CPU A1 -> |16 25| -> CHR A14 CPU A13 -> |17 24| -> CHR A15 CPU A14 -> |18 23| -> CHR A16 PRG /CE <- |19 22| -> CHR A17 GND -- |20 21| -- NC --------- Special Version: 01H (PAL16R4) PRG A14 <- |10 31| -- GND PRG A15 <- |11 30| -- NC PRG A16 <- |12 29| -> CHR A10 Taito TC0350 ------------ Special Version: 00H ----_---- GND -- |01 48| -- VCC PRG A18 <- |02 47| <- M2 PRG A16 <- |03 46| -> PRG A14 PRG A17 <- |04 45| -> PRG A13 PRG A15 <- |05 44| -> PRG /CE CPU A13 -> |06 43| <> CPU D7 CPU A14 -> |07 42| <> CPU D6 CPU A1 -> |08 41| <> CPU D5 CPU A0 -> |09 40| <> CPU D4 CPU D0 <> |10 39| <> CPU D3 CPU D1 <> |11 38| -> CHR /OE CPU D2 <> |12 37| -> CHR A17 CPU /CE -> |13 36| -> CHR A14 CPU R/W -> |14 35| -> CHR A13 IRQ <- |15 34| <- PPU A8 PPU /RD -> |16 33| <- PPU A9 CHR A16 <- |17 32| <- PPU A10 CHR A15 <- |18 31| -> CHR A11 CHR A12 <- |19 30| <- PPU A11 PPU A7 -> |20 29| -> CHR A10* PPU A6 -> |21 28| <- PPU A12 PPU A5 -> |22 27| -> CHR /RD PPU A4 -> |23 26| <- PPU A13 GND -- |24 25| -- NC --------- * Pin 29 is also connected to VRAM A10. Taito TC0690 ------------ Special Version: 00H 01 -- NC 20 -- NC 33 -- NC 52 -- NC 02 -- NC 21 -> IRQ 34 -- NC 53 <> CPU D5 03 -> CHR A15 22 <- CPU /CE 35 -> PRG A14 54 <> CPU D1 04 <- PPU /RD 23 -> PRG /CE 36 -- NC 55 <> CPU D4 05 -- NC 24 <- CPU R/W 37 <- CPU A13 56 <> CPU D2 06 -> CHR A10 25 -- Vcc 38 -> PRG A17 57 -- Vcc 07 <- PPU A12* 26 -> PRG A15 39 -- NC 58 <> CPU D3 08 <- PPU A11 27 -- GND 40 <- M2 59 -- GND 09 -- Vcc 28 -> PRG A13 41 -- Vcc 60 -- NC 10 <- PPU A10 29 <- CPU A14 42 -> CHR /OE 61 -> CHR A11 11 -- GND 30 -> PRG A16 43 -- GND 62 -> CHR A16 12 -> CHR A13 31 -- NC 44 <> CPU D7 63 -- NC 13 <- PPU A13* 32 -- NC 45 <- CPU A0 64 -- NC 14 -> CHR A14 46 <> CPU D6 15 -> CHR A12 47 <- CPU A1 16 -> VRAM A10 48 <> CPU D0 17 -> CHR A17 49 -- NC 18 -- NC 50 -- NC 19 -- NC 51 -- NC * Latched (74LS157) Taito X1-005 ------------ Special Version: 00H ----_---- NC -- |01 48| -- VCC M2 -> |02 47| -> PRG A17 CPU A12 -> |03 46| -> PRG A15 CPU A13 -> |04 45| -> PRG A14 CPU A14 -> |05 44| -> PRG A13 CPU A6 -> |06 43| <- CPU A8 CPU A5 -> |07 42| <- CPU A9 CPU A4 -> |08 41| <- CPU A11 CPU A3 -> |09 40| -> PRG A16 CPU A2 -> |10 39| <- CPU A10 CPU A1 -> |11 38| <- CPU /CE CPU A0 -> |12 37| <> CPU D7 CPU D0 <> |13 36| <> CPU D6 CPU D1 <> |14 35| <> CPU D5 CPU D2 <> |15 34| <> CPU D4 CPU R/W -> |16 33| <> CPU D3 CHR A17 <- |17 32| -- NC GND -- |18 31| -> VRAM A10 CHR A15 <- |19 30| -> CHR A14 CHR A12 <- |20 29| -> CHR A13 PPU A10 -> |21 28| -> CHR A11 PPU A11 -> |22 27| -> CHR A16 PPU A12 -> |23 26| -> CHR A10 GND -- |24 25| -- NC --------- Special Version: 01H CPU R/W -> |16 33| <> CPU D3 VRAM A10 <- |17 32| -- NC GND -- |18 31| -- NC CHR A15 <- |19 30| -> CHR A14 Bandai LZ93D50 -------------- Special Version: 01H (X24C01P) Special Version: 02H (X24C02P) Sunsoft 3 --------- Special Version: 00H ----_---- GND -- |01 42| -- VCC M2 -> |02 41| -- NC CPU A11 -> |03 40| <> CPU D7 CPU A12 -> |04 39| <> CPU D6 CPU A13 -> |05 38| <> CPU D5 CPU A14 -> |06 37| <> CPU D4 CPU /CE -> |07 36| <> CPU D3 CPU R/W -> |08 35| <> CPU D2 PRG /CE <- |09 34| <> CPU D1 VRAM A10 <- |10 33| <> CPU D0 CHR /RD <- |11 32| -- NC CHR A10 <- |12 31| -- NC PPU A11 -> |13 30| <- PPU A13 PPU A12 -> |14 29| <- PPU /RD CHR A16 <- |15 28| -> IRQ CHR A15 <- |16 27| -> PRG A14 CHR A14 <- |17 26| -> PRG A15 CHR A13 <- |18 25| -> PRG A16 CHR A12 <- |19 24| -> PRG A17 CHR A11 <- |20 23| -> PRG /A17 GND -- |21 22| -> PRG A18 --------- Last updated 12th January 2014