User:Lidnariq/MMC3 Variants: Difference between revisions
m (→MMC3-like mappers with simple banking: TC0190 has enough address pins for 512KiB PRG) |
m (→PRG: assumed typo) |
||
(36 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
== MMC3-like mappers with simple banking == | == 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 [[iNES Mapper 037|''SMB1'' and ''Tetris'']] and one with [[iNES Mapper 047|''Super Spike V'Ball'']]. <!-- thanks tepples --> | |||
This same structure occasionally shows up in ordinary single-game mappers: [[iNES Mapper 096|Bandai's ''Oeka Kids'' games]], [[iNES Mapper 154|Namco's ''Devil Man'']], [[iNES Mapper 088|several other Namco games]], and a [[iNES Mapper 012|few]] HKOs [[iNES Mapper 014|that]] would like better corroboration. | |||
== ASIC mappers with simple banking == | |||
Also see [[Comparison of Nintendo mappers]] | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
! colspan=2| !! colspan=2|PRG !! colspan=2|CHR !! | ! colspan=2| !! colspan=2|PRG !! colspan=2|CHR | ||
|- | |||
!iNES Mapper !! Short name !! bank style !! max (KiB) !! bank style !! max (KiB) !! Mirroring !! IRQ !! WRAM !! Comments | |||
|- | |||
|[[iNES Mapper 206|206]] || N108 || 8+8+16F || 128 || 2×2+4×1 || 64 || fixed || none || none || none | |||
|- | |||
|[[iNES Mapper 004|4]] || [[MMC3]], [[MMC6]] || N108; 8F+8+8+8F || 512 || N108; 4×1+2×2 || 256 || H/V || scanline || ext (MMC6 1024B int) || | |||
|- | |||
|(none) || [[Family Computer Disk System|Famicom Disk System]] || 32RAM+8F || arbitrary || unbanked || 8 || H/V || cycle || none || [[FDS audio|Expansion audio]] | |||
|- | |||
|[[iNES Mapper 001|1]]/[[iNES Mapper 155|155]] || [[MMC1]] || 16+16F; 16F+16; 32 || 256 (512) || 8; 2×4 || 128 || 1/H/V || none || [[SxROM|sometimes bankable]] ext || | |||
|- | |||
|[[iNES Mapper 005|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 || [[MMC5 audio|Expansion audio]], vertical split, hardware multiplier, 8x8 attribute zones | |||
|- | |||
|[[iNES Mapper 009|9]] || [[MMC2]] || 8+24F || 128 || 2×4 || 128 || H/V || none || none || tile triggered CHR banking | |||
|- | |||
|[[iNES Mapper 010|10]] || [[MMC4]] || 16+16F || 256 || 2×4 || 128 || H/V || none || ext || tile triggered CHR banking | |||
|- | |||
|[[iNES Mapper 016|16]]/[[iNES Mapper 159|159]] || [[Bandai FCG board|LZ93D50]] (I²C) || 16+16F || 256 || 8×1 || 256 || 1/H/V || cycle || serial EEPROM || | |||
|- | |- | ||
|[[iNES Mapper 018|18]] || Jaleco SS88006 || 3×8+8F || 256? || 8×1 || 256 || 1/H/V || cycle || ext || ADPCM expansion audio | |||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 019|19]] || [[Namco 163]] || 3×8+8F || 512 || 12×1 || 256 || arbitrary || cycle || ext + 128B int || [[Namco 163 audio|Expansion audio]], ROM nametables | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 021|21]]/[[iNES Mapper 023|23]]/[[iNES Mapper 025|25]] || [[VRC4]] || MMC3 || 256 || 8×1 || 512 || 1/H/V || scanline || ext || | ||
|- | |- | ||
|[[iNES Mapper | |[[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 | |[[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 | |[[iNES Mapper 027|27]] || "Pirate" VRC4 || 3×8+8F || ?256? || 8×1 || 512 || 1/H/V || ? || ? || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 031|31]] || [[NSF]] subset || 8×4 || 1024 || unbanked || 8 || fixed || none || none || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 032|32]] || Irem G101 || MMC3 || 256 || 8×1 || 256 || H/V || none || none || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 033|33]]/[[iNES Mapper 048|48]] || TC0190 || N108 || 512 || N108 || 512 || H/V || scanline(48) || ext || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 064|64]] || [[RAMBO-1]] || 3×8+8F || 256 || MMC3; 8×1 || 256 || H/V || scanline/cycle || none || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 065|65]] || Irem H3001 || 3×8+8F || 512 || 8×1 || 256 || H/V || cycle || ext || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 067|67]] || Sunsoft 3 || 16+16F || 128? || 4×2 || 128? || 1/H/V || cycle || ext || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 068|68]] || Sunsoft 4 || 16+16F || 256 || 4×2 || 256 || 1/H/V || none || ext || ROM nametables | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 069|69]] || [[Sunsoft FME-7]] || 4×8+8F || 256 || 8×1 || 256 || 1/H/V || cycle || ext || [[Sunsoft 5B audio|Expansion audio]] | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 073|73]] || [[VRC3]] || 16+16F || 128 || unbanked || 8 || fixed || cycle || ext || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 074|74]]/[[iNES Mapper 194|194]] || TQROM-like (2kiB) || MMC3 || 1024 || MMC3 || 254 || 1/H/V? || scanline? || ext? || CHR RAM and ROM, ?like TQROM? | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 075|75]] || [[VRC1]] || 3×8+8F || 128 || 2×4 || 128 || H/V || none || none || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 076|76]] || N108 (inflated CHR) || N108 || 128 || 4×2 || 128 || fixed || none || none || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 080|80]] || X1-005 || 3×8+8F || 256 || N108 || 256 || H/V || none || 128B int || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 082|82]] || X1-017 || 3×8+8F || 512? || MMC3 || 256 || H/V || cycle || 5120B int || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 085|85]] || [[VRC7]] || 3×8+8F || 512 || 8×1 || 256 || 1/H/V || scanline || ext || [[VRC7 audio|Expansion audio]] | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 090|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 | ||
| | |- | ||
|[[iNES Mapper 209|209]]/[[iNES Mapper 211|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 | |||
|- | |||
|[[iNES Mapper 091|91]] || for: Street Fighter 3 HKO || N108 || 128 || 4×2 || 512 || ? || ? || ? || | |||
|- | |- | ||
|[[iNES Mapper 095|95]] || N108 (nametable) || N108 || 128 || N108 || 32 || 1/H || none || none || | |||
|- | |- | ||
|[[iNES Mapper 097|97]] || Irem TAM-S1 || 16F+16 || 256 || unbanked || 8 || 1/H/V || none || none || | |||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 105|105]] || [[NES-EVENT]] || 16+16F; 16F+16; 32 || 256 || 1×8; 2×4 || 8 || 1/H/V || other || ext || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 112|112]] || "chinese" N108 || N108 || 256 || N108 || 256 || H/V || ? || ? || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 118|118]] || [[TLSROM]], [[TKSROM]] || MMC3 || 512 || MMC3 || 128 || arbitrary || scanline || ext || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 119|119]] || TQROM (8kiB) || MMC3 || 512 || MMC3 || 64 || H/V || scanline || ext || CHR RAM and ROM | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 137|137]] || Sachen 8259 type D || 32 || 256 || 4×1+1×4 || 32 || 1/H/V/L || none || ? || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 153|153]] || [[Bandai FCG board|LZ93D50]] (RAM) || 16+16F || 512 || unbanked || 8 || 1/H/V || cycle || ext || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 157|157]] || [[Bandai FCG board|Bandai Datach]] || 16+16F || 256 || unbanked || 8 || 1/H/V || cycle || serial EEPROMs || barcode reader | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 158|158]] || RAMBO-1 (nametable) || 3×8+8F || 256 || MMC3; 8×1 || 128 || arbitrary || scanline/cycle || none || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 165|165]] || MMC2 × MMC3 || MMC3 || 512 || 2×4 || 128 || ? || ? || ? || tile triggered CHR banking, CHR RAM and ROM | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 182|182]] || for: Pocahontas || MMC3 || 256 (512?) || MMC3 || 256 || H/V || scanline || ? || ? | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 189|189]] || MMC3 × [[BNROM]] || 32 || 512 || MMC3 || 256 || ? || ? || none || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 191|191]] || TQROM-like (2kiB) || MMC3 || 256 (512?) || MMC3 || 128 || 1/H/V? || scanline? || ext? || CHR RAM and ROM, ?like TQROM? | ||
|- | |- | ||
|[[iNES Mapper 192|192]] || TQROM-like (4kiB) || MMC3 || 512? || MMC3 || 252 || 1/H/V? || scanline? || ext? || CHR RAM and ROM, ?like TQROM? | |||
|- | |- | ||
|[[iNES Mapper 193|193]] || NTDEC TC-112 || 8+24F || 256 || 4+2+2 || 256 || fixed || none || none || | |||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 195|195]] || Waixing FS303 || MMC3 || 512 || MMC3 || 256 || 1/H/V || scanline || ext || CHR RAM and ROM, like TQROM | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 207|207]] || X1-005 (nametable) || 3×8+8F || 256 || N108 || 128 || 1/H || none || 128B int || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 210|210]] || [[Namco 163|Namco 175]] || 3×8+8F || 512 || 8×1 || 256 || fixed || none || ext || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 210|210]] || [[Namco 163|Namco 340]] || 3×8+8F || 512 || 8×1 || 256 || 1/H/V || none || none || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 246|246]] || for: Feng Shen Bang || 4×8 || 2048 || 4×2 || 512 || fixed || none || 2048B ext || | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 252|252]]/[[iNES Mapper 253|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 == | |||
{| class="wikitable sortable" | |||
|- | |- | ||
| | ! colspan=2| !! colspan=3|PRG !! colspan=3|CHR !! | ||
|- | |- | ||
!iNES Mapper !! Short name !! inner !! outer !! max (KiB) !! inner !! outer !! max (KiB) !! Comments | |||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 012|12]] || for: dbz5 || MMC3 || — || 512 || MMC3 || 2×256 || 512 || ?like MMC3? | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 014|14]] || MMC3 × VRC2 || MMC3 || — || 512 || MMC3; 8×1 || 3×256 || 512 || H/V, ext WRAM, Scanline IRQ, ?like MMC3? | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 028|28]] || [[Action 53 mapper|Action 53]] || 16+16F; 16F+16; 32 || 32…256 || 8192 || 8 || — || 32RAM || 1/H/V | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 037|37]] || MMC3+'00+'161 || MMC3 || 64; 128 || 256 || MMC3 || 128 || 256 || H/V, Scanline IRQ | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 044|44]] || for: Super Big 7-in-1 || MMC3 || 128; 256 || 1024 || MMC3 || 128; 256 || 1024 || ?like MMC3? | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 045|45]] || for: Super 4-in-1 || MMC3 || 8…512 || 1024 (2048?) || MMC3 || 1…256 || 1024 (4096?) || ?like MMC3? | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 047|47]] || MMC3+'161 || MMC3 || 128 || 256 || MMC3 || 128 || 256 || H/V, Scanline IRQ | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 049|49]] || for: Super HIK 4-in-1 || MMC3; 32 || 128 || 512 || MMC3 || 128 || 512 || ?like MMC3? | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 052|52]] || for: Mario 7-in-1 || MMC3 || 128; 256 || 1024 || MMC3 || 128; 256 || 1024 || ?like MMC3? | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 088|88]]/[[iNES Mapper 154|154]] || N108 (pattern split) || N108 || — || 128 || 2×2/64 + 4×1/64 || 2×64 || 128 || none | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 115|115]] || for: Thunderbolt 2 (ch) || MMC3; 16+16F; 16+8+8F || — || 128 (256?) || MMC3 || 256 || 512 || ?like MMC3? | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 116|116]] || MMC1 × MMC3 × VRC2 || MMC3; 16+16F; 16F+16; 32 || — || 256 || MMC3; 2×4; 8×1 || 256 || 512 || 1/H/V, ?like MMC3? | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 138|138]] || [[Sachen 8259]] type B || 32 || — || 256 || 4×2 || 16 || 128 || 1/H/V/L | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 139|139]] || [[Sachen 8259]] type C || 32 || — || 256 || 4×2 || 32 || 256 || 1/H/V/L | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 141|141]] || [[Sachen 8259]] type A || 32 || — || 256 || 4×2 || 64 || 512 || 1/H/V/L | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 205|205]] || for: 3-in-1 || MMC3 || 128; 256 || 512 || MMC3 || 128; 256 || 512 || ?like MMC3? | ||
|- | |- | ||
|[[iNES Mapper | |[[iNES Mapper 245|245]] || MMC3 × [[SxROM#Higher_CHR_lines|SUROM]] || MMC3 || 512 || 1024 || unbanked || — || 8 || ?like MMC3? | ||
|- | |- | ||
|[[ | |(none) || [[UNIF/COOLBOY]] || MMC3; 16; 32 || 128…2048 || 32768 || MMC3; 8 || 128; 256 || 256RAM || like MMC3 | ||
|} | |} | ||
Line 154: | Line 196: | ||
You probably don't actually want to use these. | You probably don't actually want to use these. | ||
{| class="tabular sortable" | {| class="tabular sortable" | ||
! iNES || Chips || Max PRG || PRG bank | ! iNES || Chips || Max PRG (KiB) || PRG bank style || Max CHR (KiB) || CHR bank style || Mirroring || PRG RAM? || Bus conflicts? | ||
|- | |||
| [[Color Dreams]] (11, [[iNES Mapper 144|144]]) || 1 || 128 || 32 || 128 || 8 || V/H hardwired || No || Yes | |||
|- | |- | ||
| [[iNES Mapper | | [[iNES Mapper 029|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) | ||
|- | |- | ||
| [[iNES Mapper | | [[NINA-001]] ([[iNES Mapper 034|34]]) || 6 || 64 || 32 || 64 || 4+4 || V hardwired || Yes || No | ||
|- | |- | ||
| [[iNES Mapper 038|38]] || 2 || 128 || 32 || 32 || 8 || V/H hardwired || Impossible || No | | [[iNES Mapper 038|38]] || 2 || 128 || 32 || 32 || 8 || V/H hardwired || Impossible || No | ||
|- | |- | ||
| [[iNES Mapper 041|41]] || 7 || 256 || 32 || 128 || 8 / 32 || V/H switchable || Impossible || Partly | | [[iNES Mapper 040|40]] / [[iNES Mapper 050|50]] (w/ IRQ) || 7-8 || 128 || 24F+8+8F || 8 || || V/H hardwired || Impossible || No | ||
|- | |||
| [[iNES Mapper 041|41]] || 7 || 256 || 32 || 128 || 8 inner / 32 outer || V/H switchable || Impossible || Partly | |||
|- | |- | ||
| [[iNES Mapper 070|70]] || 3 || 256 || 16 + 16F || 128 || 8 || V/H hardwired || No || Likely | | [[iNES Mapper 070|70]] || 3 || 256 || 16+16F || 128 || 8 || V/H hardwired || No || Likely | ||
|- | |- | ||
| [[iNES Mapper 072|72]] || 4+speech || 256 || 16 + 16F || 128 || 8 || V/H hardwired || No || Yes | | [[iNES Mapper 072|72]] || 4+speech || 256 || 16+16F || 128 || 8 || V/H hardwired || No || Yes | ||
|- | |- | ||
| [[iNES Mapper 077|77]] || 4 || 512 || 32 || 32 + 6RAM || 2 || 4 || No || Likely | | [[iNES Mapper 077|77]] || 4 || 512 || 32 || 32+6RAM || 2+6RAM || 4 || No || Likely | ||
|- | |- | ||
| [[iNES Mapper 078| | | [[iNES Mapper 078|78.1]] || 3 || 128 || 16+16F || 128 || 8 || 1 || No || Likely | ||
|- | |- | ||
| [[iNES Mapper 078| | | [[iNES Mapper 078|78.3]] || 5 || 128 || 16+16F || 128 || 8 || V/H switchable || No || Yes | ||
|- | |- | ||
| [[iNES Mapper 079|79]] || 2 || 64 || 32 || 64 || 8 || V/H hardwired || No || No | | [[iNES Mapper 079|79]] ([[iNES Mapper 146|146]]) || 2 || 64 || 32 || 64 || 8 || V/H hardwired || No || No | ||
|- | |- | ||
| [[iNES Mapper 086|86]] || 3+speech || 128 || 32 || 64 || 8 || V/H hardwired || Impossible || No | | [[iNES Mapper 086|86]] || 3+speech || 128 || 32 || 64 || 8 || V/H hardwired || Impossible || No | ||
|- | |- | ||
| [[iNES Mapper 087|87]] || 2 || 32 || || 32 || 8 || V/H hardwired || Impossible || No | | [[iNES Mapper 087|87]] ([[iNES Mapper 101|101]]) || 2 || 32 || || 32 || 8 || V/H hardwired || Impossible || No | ||
|- | |- | ||
| [[iNES Mapper 089|89]] || | | [[iNES Mapper 089|89]] || 2† || 128 || 16+16F || 128 || 8 || 1 || No || Yes | ||
|- | |- | ||
| [[iNES Mapper 092|92]] || 5+speech || 256 || 16F + 16 || 128 || 8 || V/H hardwired || No || Yes | | [[iNES Mapper 092|92]] || 5+speech || 256 || 16F+16 || 128 || 8 || V/H hardwired || No || Yes | ||
|- | |- | ||
| [[iNES Mapper 093|93]] || | | [[iNES Mapper 093|93]] || 2† || 128 || 16+16F || 8‡ || || V/H hardwired || No || Yes | ||
|- | |- | ||
| [[iNES Mapper 094|94]] || 2 || 128 || 16 + 16F || 8 || || V/H hardwired || No || Yes | | [[iNES Mapper 094|94]] || 2 || 128 || 16+16F || 8 || || V/H hardwired || No || Yes | ||
|- | |- | ||
| [[iNES Mapper 096|96]] || 3 || 128 || 32 || 32RAM || 4 + 4F / 16 || V/H hardwired || No || Likely | | [[iNES Mapper 096|96]] || 3 || 128 || 32 || 32RAM || 4+4F inner / 16 outer || V/H hardwired || No || Likely | ||
|- | |- | ||
| [[iNES Mapper 099|99]] || 0* || 40 || 8 + 24F || 16 || 8 || 4 || No || No | | [[iNES Mapper 099|99]] || 0* || 40 || 8+24F || 16 || 8 || 4 || No || No | ||
|- | |- | ||
| [[iNES Mapper | | [[iNES Mapper 107|107]] || 1? || 128 || 32 || 64 || 8 || V hardwired || No || Likely | ||
|- | |- | ||
| [[iNES Mapper | | [[iNES Mapper 133|133]] || 2? || 64 || 32 || 32 || 8 || V/H hardwired || No || No | ||
|- | |- | ||
| [[iNES Mapper 140|140]] || 3 || 128 || 32 || 128 || 8 || V/H hardwired || Impossible || No | | [[iNES Mapper 140|140]] || 3 || 128 || 32 || 128 || 8 || V/H hardwired || Impossible || No | ||
|- | |- | ||
| [[iNES Mapper | | [[iNES Mapper 143|143]] || 2? || 32 || || 8 || || V/H hardwired || No || No | ||
|- | |- | ||
| [[iNES Mapper 168|168]] || 7 || 64 || 16 + 16F || 64RAM || 4F + 4 || V hardwired || No || No | | [[iNES Mapper 145|145]] || 2? || 32 || || 16 || 8 || V/H hardwired || No || No | ||
|- | |||
| [[iNES Mapper 147|147]] || 2? || 128 || 32 || 128 || 8 || V/H hardwired || No || No | |||
|- | |||
| [[iNES Mapper 148|148]] || 1? || 64 || 32 || 64 || 8 || V/H hardwired || No || Yes | |||
|- | |||
| [[iNES Mapper 149|149]] || 1? || 32 || || 16 || 8 || V/H hardwired || No || Yes | |||
|- | |||
| [[iNES Mapper 152|152]] || 3 || 128 || 16+16F || 128 || 8 || 1 || No || Likely | |||
|- | |||
| [[iNES Mapper 168|168]] (w/ IRQ) || 7 || 64 || 16+16F || 64RAM || 4F+4 || V hardwired || No || No | |||
|- | |- | ||
| [[iNES Mapper 174|174]] || 3 || 128 || 16 or 32 || 64 || 8 || V/H switchable || No || No | | [[iNES Mapper 174|174]] || 3 || 128 || 16 or 32 || 64 || 8 || V/H switchable || No || No | ||
|- | |- | ||
| [[iNES Mapper 184|184]] || | | [[iNES Mapper 184|184]] || 3† || 32 || || 32 || 4+4 || V/H hardwired || Impossible || No | ||
|- | |||
| [[iNES Mapper 185|185]] || 1 || 32 || || 8 || || V/H hardwired || No || Yes | |||
|- | |||
| [[iNES Mapper 218|218]] || -1§ || 32 || || 1RAM || || 1 hardwired || No || No | |||
|} | |} | ||
Line 214: | Line 274: | ||
<nowiki>*</nowiki> 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. | <nowiki>*</nowiki> 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 |
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