User:Lidnariq/MMC3 Variants
Legend for bank style
PRG
- 32 - Banks 32 KiB at a time
- 16+16F - Bottom 16 KiB are bankable, top 16 KiB are fixed
- 16F+16 - Bottom 16 KiB are fixed, top 16 KiB are bankable
- 8+24F - Bottom 8 KiB are bankable, top 24 KiB are fixed
- 3×8+8F - Three independent 8 KiB banks at bottom, topmost 8 KiB are fixed
- N108 - The Namco 108 set the theme that many other bank styles derive from ( a.k.a. 8+8+16F = two independent 8 KiB banks at bottom, topmost 16 KiB are fixed)
- MMC3 - The MMC3 extended the banking style of the Namco 108 ( user switches between N108 and 8F+8+8+8F = bottommost and topmost 8 KiB are fixed, middle two 8 KiB banks are independently bankable)
CHR
- 8 - Banks 8 KiB at a time
- 2×4 - Two independent 4 KiB banks
- 4+4F - Bottom 4 KiB are bankable, top 4 KiB are fixed
- 4×2 - Four independent 2 KiB banks
- 8×1 - Eight independent 1 KiB banks
- N108 - Set the trend for CHR banking style also. Equivalent to 2×2+4×1 = two independent 2 KiB banks followed by four independent 1 KiB banks
- MMC3 - allows the user to swap which pattern table gets the "large" and "small" banks
Outer banks
"Outer banks" are things you find in the multicart mappers, where individual games write to the registers of the "regular" mapper and the menu writes to a separate set of registers that chooses which game will be played. For example, Nintendo World Cup appeared on two boards that extend the MMC3 in this way: one with SMB1 and Tetris and one with Super Spike V'Ball.
This same structure occasionally shows up in ordinary single-game mappers: Bandai's Oeka Kids games, Namco's Devil Man, several other Namco games, and a few HKOs that would like better corroboration.
ASIC mappers with simple banking
Also see Comparison of Nintendo mappers
PRG | CHR | ||||||||
---|---|---|---|---|---|---|---|---|---|
iNES Mapper | Short name | bank style | max (KiB) | bank style | max (KiB) | Mirroring | IRQ | WRAM | Comments |
206 | N108 | 8+8+16F | 128 | 2×2+4×1 | 64 | fixed | none | none | none |
4 | MMC3, MMC6 | N108; 8F+8+8+8F | 512 | N108; 4×1+2×2 | 256 | H/V | scanline | ext (MMC6 1024B int) | |
(none) | Famicom Disk System | 32RAM+8F | arbitrary | unbanked | 8 | H/V | cycle | none | Expansion audio |
1/155 | MMC1 | 16+16F; 16F+16; 32 | 256 (512) | 8; 2×4 | 128 | 1/H/V | none | sometimes bankable ext | |
5 | MMC5 | 32; 2×16; 16+8+8; 4×8 | 1024 | 8; 2×4; 4×2; 8×1 | 1024 | arbitrary | scanline | bankable ext + 1024B int | Expansion audio, vertical split, hardware multiplier, 8x8 attribute zones |
9 | MMC2 | 8+24F | 128 | 2×4 | 128 | H/V | none | none | tile triggered CHR banking |
10 | MMC4 | 16+16F | 256 | 2×4 | 128 | H/V | none | ext | tile triggered CHR banking |
16/159 | LZ93D50 (I²C) | 16+16F | 256 | 8×1 | 256 | 1/H/V | cycle | serial EEPROM | |
18 | Jaleco SS88006 | 3×8+8F | 256? | 8×1 | 256 | 1/H/V | cycle | ext | ADPCM expansion audio |
19 | Namco 163 | 3×8+8F | 512 | 12×1 | 256 | arbitrary | cycle | ext + 128B int | Expansion audio, ROM nametables |
21/23/25 | VRC4 | MMC3 | 256 | 8×1 | 512 | 1/H/V | scanline | ext | |
22/23/25 | VRC2 | N108 | 256 | 8×1 | 256 | 1/H/V | none | serial EEPROM | |
24/26 | VRC6 | 16+8+8F | 256 | 8×1; 6×1+2×3; 4×2+4×1; 4×1+4×2 | 256 (512) | arbitrary | scanline | ext | Expansion audio, ROM nametables |
27 | "Pirate" VRC4 | 3×8+8F | ?256? | 8×1 | 512 | 1/H/V | ? | ? | |
31 | NSF subset | 8×4 | 1024 | unbanked | 8 | fixed | none | none | |
32 | Irem G101 | MMC3 | 256 | 8×1 | 256 | H/V | none | none | |
33/48 | TC0190 | N108 | 512 | N108 | 512 | H/V | scanline(48) | ext | |
64 | RAMBO-1 | 3×8+8F | 256 | MMC3; 8×1 | 256 | H/V | scanline/cycle | none | |
65 | Irem H3001 | 3×8+8F | 512 | 8×1 | 256 | H/V | cycle | ext | |
67 | Sunsoft 3 | 16+16F | 128? | 4×2 | 128? | 1/H/V | cycle | ext | |
68 | Sunsoft 4 | 16+16F | 256 | 4×2 | 256 | 1/H/V | none | ext | ROM nametables |
69 | Sunsoft FME-7 | 4×8+8F | 256 | 8×1 | 256 | 1/H/V | cycle | ext | Expansion audio |
73 | VRC3 | 16+16F | 128 | unbanked | 8 | fixed | cycle | ext | |
74/194 | TQROM-like (2kiB) | MMC3 | 1024 | MMC3 | 254 | 1/H/V? | scanline? | ext? | CHR RAM and ROM, ?like TQROM? |
75 | VRC1 | 3×8+8F | 128 | 2×4 | 128 | H/V | none | none | |
76 | N108 (inflated CHR) | N108 | 128 | 4×2 | 128 | fixed | none | none | |
80 | X1-005 | 3×8+8F | 256 | N108 | 256 | H/V | none | 128B int | |
82 | X1-017 | 3×8+8F | 512? | MMC3 | 256 | H/V | cycle | 5120B int | |
85 | VRC7 | 3×8+8F | 512 | 8×1 | 256 | 1/H/V | scanline | ext | Expansion audio |
90 | for: Tekken 2 HKO | 8+32F; 8+16+16F; 4×8+8F; 8+32; 8+2×16; 4×8 | 2048? | 8; 2×4; 4×2; 8×1 | 2048? | 1/H/V | scanline/cycle/pixel | ? | hardware multiplier |
209/211 | for: Tekken 2 HKO | 8+32F; 8+16+16F; 4×8+8F; 8+32; 8+2×16; 4×8 | 2048? | 8+4×1; 2×4+4×1; 4×2+4×1; 12×1 | 2048? | arbitrary | scanline/cycle/pixel | ? | ROM nametables, hardware multiplier |
91 | for: Street Fighter 3 HKO | N108 | 128 | 4×2 | 512 | ? | ? | ? | |
95 | N108 (nametable) | N108 | 128 | N108 | 32 | 1/H | none | none | |
97 | Irem TAM-S1 | 16F+16 | 256 | unbanked | 8 | 1/H/V | none | none | |
105 | NES-EVENT | 16+16F; 16F+16; 32 | 256 | 1×8; 2×4 | 8 | 1/H/V | other | ext | |
112 | "chinese" N108 | N108 | 256 | N108 | 256 | H/V | ? | ? | |
118 | TLSROM, TKSROM | MMC3 | 512 | MMC3 | 128 | arbitrary | scanline | ext | |
119 | TQROM (8kiB) | MMC3 | 512 | MMC3 | 64 | H/V | scanline | ext | CHR RAM and ROM |
137 | Sachen 8259 type D | 32 | 256 | 4×1+1×4 | 32 | 1/H/V/L | none | ? | |
153 | LZ93D50 (RAM) | 16+16F | 512 | unbanked | 8 | 1/H/V | cycle | ext | |
157 | Bandai Datach | 16+16F | 256 | unbanked | 8 | 1/H/V | cycle | serial EEPROMs | barcode reader |
158 | RAMBO-1 (nametable) | 3×8+8F | 256 | MMC3; 8×1 | 128 | arbitrary | scanline/cycle | none | |
165 | MMC2 × MMC3 | MMC3 | 512 | 2×4 | 128 | ? | ? | ? | tile triggered CHR banking, CHR RAM and ROM |
182 | for: Pocahontas | MMC3 | 256 (512?) | MMC3 | 256 | H/V | scanline | ? | ? |
189 | MMC3 × BNROM | 32 | 512 | MMC3 | 256 | ? | ? | none | |
191 | TQROM-like (2kiB) | MMC3 | 256 (512?) | MMC3 | 128 | 1/H/V? | scanline? | ext? | CHR RAM and ROM, ?like TQROM? |
192 | TQROM-like (4kiB) | MMC3 | 512? | MMC3 | 252 | 1/H/V? | scanline? | ext? | CHR RAM and ROM, ?like TQROM? |
193 | NTDEC TC-112 | 8+24F | 256 | 4+2+2 | 256 | fixed | none | none | |
195 | Waixing FS303 | MMC3 | 512 | MMC3 | 256 | 1/H/V | scanline | ext | CHR RAM and ROM, like TQROM |
207 | X1-005 (nametable) | 3×8+8F | 256 | N108 | 128 | 1/H | none | 128B int | |
210 | Namco 175 | 3×8+8F | 512 | 8×1 | 256 | fixed | none | ext | |
210 | Namco 340 | 3×8+8F | 512 | 8×1 | 256 | 1/H/V | none | none | |
246 | for: Feng Shen Bang | 4×8 | 2048 | 4×2 | 512 | fixed | none | 2048B ext | |
252/253 | Waixing VRC4 CHR ROM+RAM | MMC3 | 256? | 8×1 | 254? 508? | 1/H/V | cycle | ext? | CHR RAM and ROM |
(none) | UNIF/UNL-DripGame | 16+16F | 256 | 4×2 | 32 | 1/H/V | cycle | ext | Expansion audio, 8x8 attribute zones |
Mappers with outer banks
PRG | CHR | |||||||
---|---|---|---|---|---|---|---|---|
iNES Mapper | Short name | inner | outer | max (KiB) | inner | outer | max (KiB) | Comments |
12 | for: dbz5 | MMC3 | — | 512 | MMC3 | 2×256 | 512 | ?like MMC3? |
14 | MMC3 × VRC2 | MMC3 | — | 512 | MMC3; 8×1 | 3×256 | 512 | H/V, ext WRAM, Scanline IRQ, ?like MMC3? |
28 | Action 53 | 16+16F; 16F+16; 32 | 32…256 | 8192 | 8 | — | 32RAM | 1/H/V |
37 | MMC3+'00+'161 | MMC3 | 64; 128 | 256 | MMC3 | 128 | 256 | H/V, Scanline IRQ |
44 | for: Super Big 7-in-1 | MMC3 | 128; 256 | 1024 | MMC3 | 128; 256 | 1024 | ?like MMC3? |
45 | for: Super 4-in-1 | MMC3 | 8…512 | 1024 (2048?) | MMC3 | 1…256 | 1024 (4096?) | ?like MMC3? |
47 | MMC3+'161 | MMC3 | 128 | 256 | MMC3 | 128 | 256 | H/V, Scanline IRQ |
49 | for: Super HIK 4-in-1 | MMC3; 32 | 128 | 512 | MMC3 | 128 | 512 | ?like MMC3? |
52 | for: Mario 7-in-1 | MMC3 | 128; 256 | 1024 | MMC3 | 128; 256 | 1024 | ?like MMC3? |
88/154 | N108 (pattern split) | N108 | — | 128 | 2×2/64 + 4×1/64 | 2×64 | 128 | none |
115 | for: Thunderbolt 2 (ch) | MMC3; 16+16F; 16+8+8F | — | 128 (256?) | MMC3 | 256 | 512 | ?like MMC3? |
116 | MMC1 × MMC3 × VRC2 | MMC3; 16+16F; 16F+16; 32 | — | 256 | MMC3; 2×4; 8×1 | 256 | 512 | 1/H/V, ?like MMC3? |
138 | Sachen 8259 type B | 32 | — | 256 | 4×2 | 16 | 128 | 1/H/V/L |
139 | Sachen 8259 type C | 32 | — | 256 | 4×2 | 32 | 256 | 1/H/V/L |
141 | Sachen 8259 type A | 32 | — | 256 | 4×2 | 64 | 512 | 1/H/V/L |
205 | for: 3-in-1 | MMC3 | 128; 256 | 512 | MMC3 | 128; 256 | 512 | ?like MMC3? |
245 | MMC3 × SUROM | MMC3 | 512 | 1024 | unbanked | — | 8 | ?like MMC3? |
(none) | UNIF/COOLBOY | MMC3; 16; 32 | 128…2048 | 32768 | MMC3; 8 | 128; 256 | 256RAM | like MMC3 |
Discrete logic mappers
Only the ones not made by Nintendo.
This table describes the mappers as they existed, as opposed to any obvious oversize extensions.
See also Comparison of Nintendo mappers and User:Lidnariq/Discrete Logic Table.
You probably don't actually want to use these.
iNES | Chips | Max PRG (KiB) | PRG bank style | Max CHR (KiB) | CHR bank style | Mirroring | PRG RAM? | Bus conflicts? |
---|---|---|---|---|---|---|---|---|
Color Dreams (11, 144) | 1 | 128 | 32 | 128 | 8 | V/H hardwired | No | Yes |
29 (RET-CUFROM) | 3 | 128 | 16+16F | 32 | 8 | V hardwired | Yes | No |
RET-UNROM 512 (30) | 3 or 4 | 512 | 16+16F | 32RAM | 8 | 1 or V/H hardwired | No | Optional (extra IC) |
NINA-001 (34) | 6 | 64 | 32 | 64 | 4+4 | V hardwired | Yes | No |
38 | 2 | 128 | 32 | 32 | 8 | V/H hardwired | Impossible | No |
40 / 50 (w/ IRQ) | 7-8 | 128 | 24F+8+8F | 8 | V/H hardwired | Impossible | No | |
41 | 7 | 256 | 32 | 128 | 8 inner / 32 outer | V/H switchable | Impossible | Partly |
70 | 3 | 256 | 16+16F | 128 | 8 | V/H hardwired | No | Likely |
72 | 4+speech | 256 | 16+16F | 128 | 8 | V/H hardwired | No | Yes |
77 | 4 | 512 | 32 | 32+6RAM | 2+6RAM | 4 | No | Likely |
78.1 | 3 | 128 | 16+16F | 128 | 8 | 1 | No | Likely |
78.3 | 5 | 128 | 16+16F | 128 | 8 | V/H switchable | No | Yes |
79 (146) | 2 | 64 | 32 | 64 | 8 | V/H hardwired | No | No |
86 | 3+speech | 128 | 32 | 64 | 8 | V/H hardwired | Impossible | No |
87 (101) | 2 | 32 | 32 | 8 | V/H hardwired | Impossible | No | |
89 | 2† | 128 | 16+16F | 128 | 8 | 1 | No | Yes |
92 | 5+speech | 256 | 16F+16 | 128 | 8 | V/H hardwired | No | Yes |
93 | 2† | 128 | 16+16F | 8‡ | V/H hardwired | No | Yes | |
94 | 2 | 128 | 16+16F | 8 | V/H hardwired | No | Yes | |
96 | 3 | 128 | 32 | 32RAM | 4+4F inner / 16 outer | V/H hardwired | No | Likely |
99 | 0* | 40 | 8+24F | 16 | 8 | 4 | No | No |
107 | 1? | 128 | 32 | 64 | 8 | V hardwired | No | Likely |
133 | 2? | 64 | 32 | 32 | 8 | V/H hardwired | No | No |
140 | 3 | 128 | 32 | 128 | 8 | V/H hardwired | Impossible | No |
143 | 2? | 32 | 8 | V/H hardwired | No | No | ||
145 | 2? | 32 | 16 | 8 | V/H hardwired | No | No | |
147 | 2? | 128 | 32 | 128 | 8 | V/H hardwired | No | No |
148 | 1? | 64 | 32 | 64 | 8 | V/H hardwired | No | Yes |
149 | 1? | 32 | 16 | 8 | V/H hardwired | No | Yes | |
152 | 3 | 128 | 16+16F | 128 | 8 | 1 | No | Likely |
168 (w/ IRQ) | 7 | 64 | 16+16F | 64RAM | 4F+4 | V hardwired | No | No |
174 | 3 | 128 | 16 or 32 | 64 | 8 | V/H switchable | No | No |
184 | 3† | 32 | 32 | 4+4 | V/H hardwired | Impossible | No | |
185 | 1 | 32 | 8 | V/H hardwired | No | Yes | ||
218 | -1§ | 32 | 1RAM | 1 hardwired | No | No |
† Mappers 89, 93, and 184 exist as a single IC, however their functions are trivially described using a small number of 7400-series ICs, and likely contain multiple silicon dice that were wire bonded together in the same package.
‡ Mapper 93 is technically the same 89 other than mirroring, but it only commercially existed using 8kB of CHR-RAM
* the Vs System distributed its original games as five or six 8 KiB ROMs, and decoding on its mainboard allowed banking of CHR like CNROM. It is a little disingenuous to claim that 0 ICs were necessary for banking since the same functionality is not possible on a Famicom, however, banking was incrementally free.
§ Doesn't have CHRROM, hence "-1" ICs