User:Lidnariq/MMC3 Variants: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
m (→‎PRG: assumed typo)
 
(One intermediate revision by one other user not shown)
Line 4: Line 4:
* 16+16F - Bottom 16 KiB are bankable, top 16 KiB are fixed
* 16+16F - Bottom 16 KiB are bankable, top 16 KiB are fixed
* 16F+16 - Bottom 16 KiB are fixed, top 16 KiB are bankable
* 16F+16 - Bottom 16 KiB are fixed, top 16 KiB are bankable
* 8+24F - Bottom 8 KiB are fixed, top 24 KiB are fixed
* 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
* 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)
* 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)
Line 56: Line 56:
|[[iNES Mapper 022|22]]/[[iNES Mapper 023|23]]/[[iNES Mapper 025|25]] || [[VRC2]] || N108 || 256 || 8×1 || 256 || 1/H/V || none || serial EEPROM ||
|[[iNES Mapper 022|22]]/[[iNES Mapper 023|23]]/[[iNES Mapper 025|25]] || [[VRC2]] || N108 || 256 || 8×1 || 256 || 1/H/V || none || serial EEPROM ||
|-
|-
|[[iNES Mapper 024|24]]/[[iNES Mapper 026|26]] || [[VRC6]] || 16+8+8F || 256 || 6×1+2×3; 4×2+4×1; 4×1+4×2 || 256 (512) || arbitrary || scanline || ext || [[VRC6 audio|Expansion audio]], ROM nametables
|[[iNES Mapper 024|24]]/[[iNES Mapper 026|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 || [[VRC6 audio|Expansion audio]], ROM nametables
|-
|-
|[[iNES Mapper 027|27]] || "Pirate" VRC4 || 3×8+8F || ?256? || 8×1 || 512 || 1/H/V || ? || ? ||
|[[iNES Mapper 027|27]] || "Pirate" VRC4 || 3×8+8F || ?256? || 8×1 || 512 || 1/H/V || ? || ? ||

Latest revision as of 00:28, 17 March 2022

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