Pokemon Mini ROM conventions

The game rom is extremely simple. Very few things are required (just the IRQ jump points, 'NINTENDO' mark and the 'MN' mark), but most are supplied by convention.

Cartridge memory map

Address Size Value Description
0x00000 0x2100 User This is where hardware is mapped, so the values are inaccessable
0x02100 0x0002 .db "MN" the MiNi mark. Signifies a pokemon mini rom
0x02102 6 Code Branch point for Cart IRQ 0
0x02108 6 Code Branch point for Cart IRQ 1 (IRQ 0x03)
0x0210E 6 Code Branch point for Cart IRQ 2 (IRQ 0x04)
0x02114 6 Code Branch point for Cart IRQ 3 (IRQ 0x05)
0x0211A 6 Code Branch point for Cart IRQ 4 (IRQ 0x06)
0x02120 6 Code Branch point for Cart IRQ 5 (IRQ 0x07)
0x02126 6 Code Branch point for Cart IRQ 6 (IRQ 0x08)
0x0212C 6 Code Branch point for Cart IRQ 7 (IRQ 0x09)
0x02132 6 Code Branch point for Cart IRQ 8 (IRQ 0x0A)
0x02138 6 Code Branch point for Cart IRQ 9 (IRQ 0x0B)
0x0213E 6 Code Branch point for Cart IRQ 10 (IRQ 0x0C)
0x02144 6 Code Branch point for Cart IRQ 11 (IRQ 0x0D)
0x0214A 6 Code Branch point for Cart IRQ 12 (IRQ 0x0E)
0x02150 6 Code Branch point for Cart IRQ 13 (IRQ 0x0F)
0x02156 6 Code Branch point for Cart IRQ 14 (IRQ 0x10)
0x0215C 6 Code Branch point for Cart IRQ 15 (IRQ 0x15)
0x02162 6 Code Branch point for Cart IRQ 16 (IRQ 0x16)
0x02168 6 Code Branch point for Cart IRQ 17 (IRQ 0x17)
0x0216E 6 Code Branch point for Cart IRQ 18 (IRQ 0x18)
0x02174 6 Code Branch point for Cart IRQ 19 (IRQ 0x19)
0x0217A 6 Code Branch point for Cart IRQ 20 (IRQ 0x1A)
0x02180 6 Code Branch point for Cart IRQ 21 (IRQ 0x1B)
0x02186 6 Code Branch point for Cart IRQ 22 (IRQ 0x1C)
0x0218C 6 Code Branch point for Cart IRQ 23 (IRQ 0x1D)
0x02192 6 Code Branch point for Cart IRQ 24 (IRQ 0x1E)
0x02198 6 Code Branch point for Cart IRQ 25 (IRQ 0x1F)
0x0219E 6 Code Branch point for Cart IRQ 26 (IRQ 0x14)
0x021A4 8 .db "NINTENDO" Case-sensitive, used for boot check
0x021AC 4 User Game Code, may actually be game code + company code
0x021B0 12 User Game name, 12 bytes ASCII, zero padded (but not terminated)
0x021BC 2 .db '2P' There really is no telling here. Maybe a hardware number, maybe 2 players
0x021BE 12 0 Padding, not really used, but there by convention.
0x21D0 0xFDE30 User This is usually the entry point for code. Everything here on is user data


Cartridge IRQ table

Cpu IRQ Cart IRQ Description
00 0 Reset
03 1 Video Flipped
04 2 VPU Done
05 3 Timer 1 Overflow
06 4 Timer 1 Trigger
07 5 Timer 0 Overflow
08 6 Timer 0 Trigger
09 7 Timer 2 Overflow
0A 8 Timer 2 Trigger
0B 9 Unknown
0C 10 Unknown
0D 11 Unknown
0E 12 Unknown
0F 13 Shake Sensor
10 14 Unknown
15 15 Power Pressed
16 16 Right Pressed
17 17 Left Pressed
18 18 Down Pressed
19 19 Up Pressed
1A 20 C Pressed
1B 21 B Pressed
1C 22 A Pressed
1D 23 Unknown
1E 24 Unknown
1F 25 Unknown
14 26 Unknown


Return to Pokemon Mini