User:Lidnariq/MMC3 Variants: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(→‎Discrete logic mappers: add all the various things we've incorporated into the wiki over the past several months)
(weave MMC3 and non-MMC3 ASIC tables together. add legend. A few other recommendations from koitsu)
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 fixed, 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×2 - Four independent 2 KiB banks
* 8×1 - Eight independent 1 KiB banks
* N108 - repeated many times; 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
 
== 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 !! bank style !! max !! Comments
!iNES Mapper !! Short name !! bank style !! max (KiB) !! bank style !! max (KiB) !! Comments
|-
|-
|[[iNES Mapper 206|206]] || N108 || 8+8+16F || 128 || 2×2+4×1 || 64 || none
|[[iNES Mapper 206|206]] || N108 || 8+8+16F || 128 || 2×2+4×1 || 64 || none
|-
|-
|[[iNES Mapper 004|4]] || [[MMC3]], [[MMC6]] || N108; 8F+8+8+8F || 512 || N108; 4×1+2×2 || 256 || H/V, ext WRAM, Scanline IRQ, MMC6 has 1024b int WRAM
|[[iNES Mapper 004|4]] || [[MMC3]], [[MMC6]] || N108; 8F+8+8+8F || 512 || N108; 4×1+2×2 || 256 || H/V, ext WRAM, Scanline IRQ, MMC6 has 1024b int WRAM
|-
|(none) || [[Family Computer Disk System|Famicom Disk System]] || 32+8F || arbitrary || 8KiB RAM only || 0 || [[FDS audio|Expansion audio]], H/V, Cycle IRQ
|-
|[[iNES Mapper 001|1]]/[[iNES Mapper 155|155]] || [[MMC1]] || 16+16F; 16F+16; 32 || 256 (512) || 1×8; 2×4 || 128 || 1/H/V, [[SxROM|sometimes bankable]] ext WRAM
|-
|[[iNES Mapper 005|5]] || [[MMC5]] || 32; 2×16; 16+8+8; 4×8 || 1024 || 1×8; 2×4; 4×2; 8×1 || 1024 || [[MMC5 audio|Expansion audio]], bankable ext WRAM, 1024b int WRAM, arbitrary mirroring, vertical split, Scanline IRQ, hardware multiplier
|-
|[[iNES Mapper 009|9]] || [[MMC2]] || 8+24F || 128 || 2×4 || 128 || H/V, tile triggered CHR banking
|-
|[[iNES Mapper 010|10]] || [[MMC4]] || 16+16F || 256 || 2×4 || 128 || H/V, ext WRAM, 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, serial EEPROM, Cycle IRQ
|-
|[[iNES Mapper 018|18]] || Jaleco SS88006 || 3×8+8F || 256? || 8×1 || 256 || 1/H/V, Cycle IRQ, ADPCM playback
|-
|[[iNES Mapper 019|19]] || [[Namco 163]] || 3×8+8F || 512 || 12×1 || 256 || [[Namco 163 audio|Expansion audio]], ROM nametables, arbitrary mirroring, Cycle IRQ, ext WRAM
|-
|[[iNES Mapper 021|21]]/[[iNES Mapper 023|23]]/[[iNES Mapper 025|25]] || [[VRC4]] || MMC3 || 256 || 8×1 || 512 || 1/H/V, ext WRAM, Scanline IRQ
|-
|[[iNES Mapper 022|22]]/[[iNES Mapper 023|23]]/[[iNES Mapper 025|25]] || [[VRC2]] || N108 || 256 || 8×1 || 256 || 1/H/V, 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) || [[VRC6 audio|Expansion audio]], ROM nametables, arbitrary mirroring, Scanline IRQ, ext WRAM
|-
|[[iNES Mapper 027|27]] || "Pirate" VRC4 || 3×8+8F || ?256? || 8×1 || 512 || 1/H/V, ?? IRQ, ?
|-
|[[iNES Mapper 028|28]] || [[User:Tepples/Multi-discrete mapper|Tepples's]] || 16+16F; 16F+16; 32 || 32…256 inner / 8192 outer || 1×8 || 32RAM || 1/H/V
|-
|[[iNES Mapper 032|32]] || Irem G101 || MMC3 || 256 || 8×1 || 256 || H/V
|-
|-
|[[iNES Mapper 033|33]]/[[iNES Mapper 048|48]] || TC0190 || N108 || 512 || N108 || 512 || H/V, ext WRAM, 48 has Scanline IRQ
|[[iNES Mapper 033|33]]/[[iNES Mapper 048|48]] || TC0190 || N108 || 512 || N108 || 512 || H/V, ext WRAM, 48 has Scanline IRQ
|-
|-
|[[iNES Mapper 064|64]] || [[RAMBO-1]] || 3×8+8F || 256 || MMC3; 8×1 || 256 || H/V, Scanline/Cycle IRQ
|[[iNES Mapper 064|64]] || [[RAMBO-1]] || 3×8+8F || 256 || MMC3; 8×1 || 256 || H/V, Scanline/Cycle IRQ
|-
|[[iNES Mapper 065|65]] || Irem H3001 || 3×8+8F || 256 (512?) || 8×1 || 256 || H/V, Cycle IRQ, ?
|-
|[[iNES Mapper 067|67]] || Sunsoft 3 || 16+16F || 128? || 4×2 || 128? || 1/H/V, Cycle IRQ, ?WRAM?
|-
|[[iNES Mapper 068|68]] || Sunsoft 4 || 16+16F || 256 || 4×2 || 256 || ROM nametables, 1/H/V, WRAM
|-
|[[iNES Mapper 069|69]] || [[Sunsoft FME-7]] || 4×8+8F || 256 || 8×1 || 256 || [[Sunsoft 5B audio|Expansion audio]], 1/H/V, Cycle IRQ, ext WRAM
|-
|[[iNES Mapper 073|73]] || [[VRC3]] || 16+16F || 128 || 8KiB RAM only || 0 || Cycle IRQ, ext WRAM
|-
|-
|[[iNES Mapper 074|74]]/[[iNES Mapper 194|194]] || TQROM-like (2kiB) || MMC3 || 1024 || MMC3 || 254 || ?like TQROM?
|[[iNES Mapper 074|74]]/[[iNES Mapper 194|194]] || TQROM-like (2kiB) || MMC3 || 1024 || MMC3 || 254 || ?like TQROM?
|-
|[[iNES Mapper 075|75]] || [[VRC1]] || 3×8+8F || 128 || 2×4 || 128 || H/V
|-
|-
|[[iNES Mapper 076|76]] || N108 (inflated CHR) || N108 || 128 || 4×2 || 128 || none
|[[iNES Mapper 076|76]] || N108 (inflated CHR) || N108 || 128 || 4×2 || 128 || none
Line 21: Line 81:
|-
|-
|[[iNES Mapper 082|82]] || X1-017 || 3×8+8F || 512? || MMC3 || 256 || H/V, 5120b int WRAM, ?IRQ?
|[[iNES Mapper 082|82]] || X1-017 || 3×8+8F || 512? || MMC3 || 256 || H/V, 5120b int WRAM, ?IRQ?
|-
|[[iNES Mapper 085|85]] || [[VRC7]] || 3×8+8F || 512 || 8×1 || 256 || [[VRC7 audio|Expansion audio]], 1/H/V, Scanline IRQ
|-
|[[iNES Mapper 090|90]]/[[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 || 1024 || 1×8; 2×4; 4×2; 8×1 || 256 || ROM nametables(209,211), 1/H/V(90) or arbitrary Mirroring(209,211), Scanline/Cycle/Pixel IRQ, hardware multiplier
|-
|-
|[[iNES Mapper 091|91]] || for: Street Fighter 3 HKO || N108 || 128 || 4×2 || 512 || IRQ, ?
|[[iNES Mapper 091|91]] || for: Street Fighter 3 HKO || N108 || 128 || 4×2 || 512 || IRQ, ?
|-
|-
|[[iNES Mapper 095|95]] || N108 (nametable) || N108 || 128 || N108 || 32 || 1/H
|[[iNES Mapper 095|95]] || N108 (nametable) || N108 || 128 || N108 || 32 || 1/H
|-
|[[iNES Mapper 097|97]] || Irem TAM-S1 || 16F+16 || 256 || 8KiB RAM only || 0 || 1/H/V
|-
|[[iNES Mapper 105|105]] || [[NES-EVENT]] || 16+16F; 16F+16; 32 || 256 || 8KiB RAM only || 0 || 1/H/V, ext WRAM, IRQ
|-
|-
|[[iNES Mapper 112|112]] || "chinese" N108 || N108 || 256 || N108 || 256 || H/V
|[[iNES Mapper 112|112]] || "chinese" N108 || N108 || 256 || N108 || 256 || H/V
|-
|-
|[[iNES Mapper 118|118]] || [[TLSROM]],[[TKSROM]] || MMC3 || 512 || MMC3 || 128 || Arbitrary mirroring, ext WRAM, Scanline IRQ
|[[iNES Mapper 118|118]] || [[TLSROM]], [[TKSROM]] || MMC3 || 512 || MMC3 || 128 || Arbitrary mirroring, ext WRAM, Scanline IRQ
|-
|-
|[[iNES Mapper 119|119]] || TQROM (8kiB) || MMC3 || 512 || MMC3 || 64 || H/V, ext WRAM, Scanline IRQ, CHR RAM and ROM
|[[iNES Mapper 119|119]] || TQROM (8kiB) || MMC3 || 512 || MMC3 || 64 || H/V, ext WRAM, Scanline IRQ, CHR RAM and ROM
|-
|[[iNES Mapper 153|153]] || [[Bandai FCG board|LZ93D50]] (RAM) || 16+16F || 512 || 8KiB RAM only || 0 || 1/H/V, Cycle IRQ, ext WRAM
|-
|[[iNES Mapper 157|157]] || [[Bandai FCG board|Bandai Datach]] || 16+16F || 256 || 8KiB RAM only || 0 || 1/H/V, Cycle IRQ, serial EEPROMs, barcode reader
|-
|-
|[[iNES Mapper 158|158]] || RAMBO-1 (nametable) || 3×8+8F || 256 || MMC3; 8×1 || 128 || Arbitrary mirroring, Scanline/Cycle IRQ
|[[iNES Mapper 158|158]] || RAMBO-1 (nametable) || 3×8+8F || 256 || MMC3; 8×1 || 128 || Arbitrary mirroring, Scanline/Cycle IRQ
Line 43: Line 115:
|-
|-
|[[iNES Mapper 192|192]]/[[iNES Mapper 195|195]] || TQROM-like (4kiB) || MMC3 || 512? || MMC3 || 252 || ?like TQROM?
|[[iNES Mapper 192|192]]/[[iNES Mapper 195|195]] || TQROM-like (4kiB) || MMC3 || 512? || MMC3 || 252 || ?like TQROM?
|-
|[[iNES Mapper 193|193]] || NTDEC TC-112 || 8+24F || 256 || 4+2+2 || 256 || none
|-
|-
|[[iNES Mapper 207|207]] || X1-005 (nametable) || 3×8+8F || 256 || N108 || 128 || 1/H, 128b int WRAM
|[[iNES Mapper 207|207]] || X1-005 (nametable) || 3×8+8F || 256 || N108 || 128 || 1/H, 128b int WRAM
|-
|[[iNES Mapper 210|210]] || [[Namco 163|Namco 175 and 340]] || 3×8+8F || 512 || 8×1 || 256 || 1/H/V(N340), ext WRAM(N175)
|-
|[[iNES Mapper 246|246]] || for: Fong Shen Bang - Zhu Lu Zhi Zhan || 4×8 || 512? || 4×2 || 512? || none?
|-
|[[iNES Mapper 252|252]] || for: San Guo Zhi || N108 || 256? || 8×1 || 128? || Scanline IRQ, ?
|}
|}


== MMC3-like mappers with outer banks ==
== Mappers with outer banks ==
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
! colspan=2|  !! colspan=3|PRG !! colspan=3|CHR !!
! colspan=2|  !! colspan=3|PRG !! colspan=3|CHR !!
|-
|-
!iNES Mapper !! Short name !! inner !! outer !! max !! inner !! outer !! max !! Comments
!iNES Mapper !! Short name !! inner !! outer !! max (KiB) !! inner !! outer !! max (KiB) !! Comments
|-
|-
|[[iNES Mapper 012|12]] || for: dbz5 || MMC3 || — || 512 || MMC3 || 2×256 || 512 || ?like MMC3?
|[[iNES Mapper 012|12]] || for: dbz5 || MMC3 || — || 512 || MMC3 || 2×256 || 512 || ?like MMC3?
Line 79: Line 159:
|-
|-
|[[iNES Mapper 245|245]] || MMC3 × [[SxROM#Higher_CHR_lines|SUROM]] || MMC3 || 512 || 1024 || 8kiB RAM only || — || 0 || ?like MMC3?
|[[iNES Mapper 245|245]] || MMC3 × [[SxROM#Higher_CHR_lines|SUROM]] || MMC3 || 512 || 1024 || 8kiB RAM only || — || 0 || ?like MMC3?
|}
== Not-particularly-MMC3-like ASIC mappers ==
Also see [[Comparison of Nintendo mappers]]
{| class="wikitable sortable"
! colspan=2|  !! colspan=2|PRG !! colspan=2|CHR !!
|-
!iNES Mapper !! Short name !! bank style !! max !! bank style !! max !! Comments
|-
|(none) || [[Family Computer Disk System|Famicom Disk System]] || 32+8F || arbitrary || 8KiB RAM only || 0 || [[FDS audio|Expansion audio]], H/V, Cycle IRQ
|-
|[[iNES Mapper 001|1]]/[[iNES Mapper 155|155]] || [[MMC1]] || 16+16F; 16F+16; 32 || 256 (512) || 1×8; 2×4 || 128 || 1/H/V, [[SxROM|sometimes bankable]] ext WRAM
|-
|[[iNES Mapper 005|5]] || [[MMC5]] || 32; 2×16; 16+8+8; 4×8 || 1024 || 1×8; 2×4; 4×2; 8×1 || 1024 || [[MMC5 audio|Expansion audio]], bankable ext WRAM, 1024b int WRAM, arbitrary mirroring, vertical split, Scanline IRQ, hardware multiplier
|-
|[[iNES Mapper 009|9]] || [[MMC2]] || 8+24F || 128 || 2×4 || 128 || H/V, tile triggered CHR banking
|-
|[[iNES Mapper 010|10]] || [[MMC4]] || 16+16F || 256 || 2×4 || 128 || H/V, ext WRAM, 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, serial EEPROM, Cycle IRQ
|-
|[[iNES Mapper 018|18]] || Jaleco SS88006 || 3×8+8F || 256? || 8×1 || 256 || 1/H/V, Cycle IRQ, ADPCM playback
|-
|[[iNES Mapper 019|19]] || [[Namco 163]] || 3×8+8F || 512 || 12×1 || 256 || [[Namco 163 audio|Expansion audio]], ROM nametables, arbitrary mirroring, Cycle IRQ, ext WRAM
|-
|[[iNES Mapper 021|21]]/[[iNES Mapper 023|23]]/[[iNES Mapper 025|25]] || [[VRC4]] || MMC3 || 256 || 8×1 || 512 || 1/H/V, ext WRAM, Scanline IRQ
|-
|[[iNES Mapper 022|22]]/[[iNES Mapper 023|23]]/[[iNES Mapper 025|25]] || [[VRC2]] || N108 || 256 || 8×1 || 256 || 1/H/V, 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) || [[VRC6 audio|Expansion audio]], ROM nametables, arbitrary mirroring, Scanline IRQ, ext WRAM
|-
|[[iNES Mapper 027|27]] || "Pirate" VRC4 || 3×8+8F || ?256? || 8×1 || 512 || 1/H/V, ?? IRQ, ?
|-
|[[iNES Mapper 028|28]] || [[User:Tepples/Multi-discrete mapper|Tepples's]] || 16+16F; 16F+16; 32 || 32…256 inner / 8192 outer || 1×8 || 32RAM || 1/H/V
|-
|[[iNES Mapper 032|32]] || Irem G101 || MMC3 || 256 || 8×1 || 256 || H/V
|-
|[[iNES Mapper 065|65]] || Irem H3001 || 3×8+8F || 256 (512?) || 8×1 || 256 || H/V, Cycle IRQ, ?
|-
|[[iNES Mapper 067|67]] || Sunsoft 3 || 16+16F || 128? || 4×2 || 128? || 1/H/V, Cycle IRQ, ?WRAM?
|-
|[[iNES Mapper 068|68]] || Sunsoft 4 || 16+16F || 256 || 4×2 || 256 || ROM nametables, 1/H/V, WRAM
|-
|[[iNES Mapper 069|69]] || [[Sunsoft FME-7]] || 4×8+8F || 256 || 8×1 || 256 || [[Sunsoft 5B audio|Expansion audio]], 1/H/V, Cycle IRQ, ext WRAM
|-
|[[iNES Mapper 073|73]] || [[VRC3]] || 16+16F || 128 || 8KiB RAM only || 0 || Cycle IRQ, ext WRAM
|-
|[[iNES Mapper 075|75]] || [[VRC1]] || 3×8+8F || 128 || 2×4 || 128 || H/V
|-
|[[iNES Mapper 085|85]] || [[VRC7]] || 3×8+8F || 512 || 8×1 || 256 || [[VRC7 audio|Expansion audio]], 1/H/V, Scanline IRQ
|-
|[[iNES Mapper 090|90]]/[[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 || 1024 || 1×8; 2×4; 4×2; 8×1 || 256 || ROM nametables(209,211), 1/H/V(90) or arbitrary Mirroring(209,211), Scanline/Cycle/Pixel IRQ, hardware multiplier
|-
|[[iNES Mapper 097|97]] || Irem TAM-S1 || 16F+16 || 256 || 8KiB RAM only || 0 || 1/H/V
|-
|[[iNES Mapper 105|105]] || [[NES-EVENT]] || 16+16F; 16F+16; 32 || 256 || 8KiB RAM only || 0 || 1/H/V, ext WRAM, IRQ
|-
|[[iNES Mapper 153|153]] || [[Bandai FCG board|LZ93D50]] (RAM) || 16+16F || 512 || 8KiB RAM only || 0 || 1/H/V, Cycle IRQ, ext WRAM
|-
|[[iNES Mapper 157|157]] || [[Bandai FCG board|Bandai Datach]] || 16+16F || 256 || 8KiB RAM only || 0 || 1/H/V, Cycle IRQ, serial EEPROMs, barcode reader
|-
|[[iNES Mapper 193|193]] || NTDEC TC-112 || 8+24F || 256 || 4+2+2 || 256 || none
|-
|[[iNES Mapper 210|210]] || [[Namco 163|Namco 175 and 340]] || 3×8+8F || 512 || 8×1 || 256 || 1/H/V(N340), ext WRAM(N175)
|-
|[[iNES Mapper 246|246]] || for: Fong Shen Bang - Zhu Lu Zhi Zhan || 4×8 || 512? || 4×2 || 512? || none?
|-
|[[iNES Mapper 252|252]] || for: San Guo Zhi || N108 || 256? || 8×1 || 128? || Scanline IRQ, ?
|}
|}


Line 158: Line 170:
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 size || Max CHR || CHR bank size || Mirroring || PRG RAM? || Bus conflicts?
! 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
| [[Color Dreams]] (11, [[iNES Mapper 144|144]]) || 1 || 128 || 32 || 128 || 8 || V/H hardwired || No || Yes
Line 166: Line 178:
| RET-[[UNROM 512]] (30) || 3 or 4 || 512 || 16+16F || 32RAM || 8 || 1 or V/H hardwired || No || Optional (extra IC)
| RET-[[UNROM 512]] (30) || 3 or 4 || 512 || 16+16F || 32RAM || 8 || 1 or V/H hardwired || No || Optional (extra IC)
|-
|-
| [[NINA-001]] ([[iNES Mapper 034|34]]) || 6 || 64 || 32 || 64 || 4 + 4 || V hardwired || Yes || No
| [[NINA-001]] ([[iNES Mapper 034|34]]) || 6 || 64 || 32 || 64 || 4+4 || V hardwired || Yes || No
|-
|-
| [[iNES Mapper 036|36]] || ? || 128 || 32 || 128 || 8 || V hardwired || Unlikely || Likely
| [[iNES Mapper 036|36]] || ? || 128 || 32 || 128 || 8 || V hardwired || Unlikely || Likely
Line 174: Line 186:
| [[iNES Mapper 041|41]] || 7 || 256 || 32 || 128 || 8 / 32 || V/H switchable || Impossible || Partly
| [[iNES Mapper 041|41]] || 7 || 256 || 32 || 128 || 8 / 32 || 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 || 4 || No || Likely
|-
|-
| [[iNES Mapper 078|78.1]] || 3 || 128 || 16 + 16F || 128 || 8 || 1 || No || Likely
| [[iNES Mapper 078|78.1]] || 3 || 128 || 16+16F || 128 || 8 || 1 || No || Likely
|-
|-
| [[iNES Mapper 078|78.3]] || 5 || 128 || 16 + 16F || 128 || 8 || V/H switchable || No || Yes
| [[iNES Mapper 078|78.3]] || 5 || 128 || 16+16F || 128 || 8 || V/H switchable || No || Yes
|-
|-
| [[iNES Mapper 079|79]] ([[iNES Mapper 146|146]]) || 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
Line 190: Line 202:
| [[iNES Mapper 087|87]] ([[iNES Mapper 101|101]]) || 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]] || (2)† || 128 || 16 + 16F || 128 || 8 || 1 || No || Yes
| [[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]] || (2)† || 128 || 16 + 16F || 8‡ || || V/H hardwired || No || Yes
| [[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 / 16 || 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 107|107]] || 1? || 128 || 32 || 64 || 8 || V hardwired || No || Likely
| [[iNES Mapper 107|107]] || 1? || 128 || 32 || 64 || 8 || V hardwired || No || Likely
Line 218: Line 230:
| [[iNES Mapper 149|149]] || 1? || 32 || || 16 || 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 152|152]] || 3 || 128 || 16+16F || 128 || 8 || 1 || No || Likely
|-
|-
| [[iNES Mapper 168|168]] || 7 || 64 || 16 + 16F || 64RAM || 4F + 4 || V hardwired || No || No
| [[iNES Mapper 168|168]] || 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]] || (3)† || 32 || || 32 || 4 + 4 || V/H hardwired || Impossible || No
| [[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 185|185]] || 1 || 32 || || 8 || || V/H hardwired || No || Yes

Revision as of 23:04, 2 July 2014

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 fixed, 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×2 - Four independent 2 KiB banks
  • 8×1 - Eight independent 1 KiB banks
  • N108 - repeated many times; 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

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) Comments
206 N108 8+8+16F 128 2×2+4×1 64 none
4 MMC3, MMC6 N108; 8F+8+8+8F 512 N108; 4×1+2×2 256 H/V, ext WRAM, Scanline IRQ, MMC6 has 1024b int WRAM
(none) Famicom Disk System 32+8F arbitrary 8KiB RAM only 0 Expansion audio, H/V, Cycle IRQ
1/155 MMC1 16+16F; 16F+16; 32 256 (512) 1×8; 2×4 128 1/H/V, sometimes bankable ext WRAM
5 MMC5 32; 2×16; 16+8+8; 4×8 1024 1×8; 2×4; 4×2; 8×1 1024 Expansion audio, bankable ext WRAM, 1024b int WRAM, arbitrary mirroring, vertical split, Scanline IRQ, hardware multiplier
9 MMC2 8+24F 128 2×4 128 H/V, tile triggered CHR banking
10 MMC4 16+16F 256 2×4 128 H/V, ext WRAM, tile triggered CHR banking
16/159 LZ93D50 (I²C) 16+16F 256 8×1 256 1/H/V, serial EEPROM, Cycle IRQ
18 Jaleco SS88006 3×8+8F 256? 8×1 256 1/H/V, Cycle IRQ, ADPCM playback
19 Namco 163 3×8+8F 512 12×1 256 Expansion audio, ROM nametables, arbitrary mirroring, Cycle IRQ, ext WRAM
21/23/25 VRC4 MMC3 256 8×1 512 1/H/V, ext WRAM, Scanline IRQ
22/23/25 VRC2 N108 256 8×1 256 1/H/V, serial EEPROM
24/26 VRC6 16+8+8F 256 6×1+2×3; 4×2+4×1; 4×1+4×2 256 (512) Expansion audio, ROM nametables, arbitrary mirroring, Scanline IRQ, ext WRAM
27 "Pirate" VRC4 3×8+8F ?256? 8×1 512 1/H/V, ?? IRQ, ?
28 Tepples's 16+16F; 16F+16; 32 32…256 inner / 8192 outer 1×8 32RAM 1/H/V
32 Irem G101 MMC3 256 8×1 256 H/V
33/48 TC0190 N108 512 N108 512 H/V, ext WRAM, 48 has Scanline IRQ
64 RAMBO-1 3×8+8F 256 MMC3; 8×1 256 H/V, Scanline/Cycle IRQ
65 Irem H3001 3×8+8F 256 (512?) 8×1 256 H/V, Cycle IRQ, ?
67 Sunsoft 3 16+16F 128? 4×2 128? 1/H/V, Cycle IRQ, ?WRAM?
68 Sunsoft 4 16+16F 256 4×2 256 ROM nametables, 1/H/V, WRAM
69 Sunsoft FME-7 4×8+8F 256 8×1 256 Expansion audio, 1/H/V, Cycle IRQ, ext WRAM
73 VRC3 16+16F 128 8KiB RAM only 0 Cycle IRQ, ext WRAM
74/194 TQROM-like (2kiB) MMC3 1024 MMC3 254 ?like TQROM?
75 VRC1 3×8+8F 128 2×4 128 H/V
76 N108 (inflated CHR) N108 128 4×2 128 none
80 X1-005 3×8+8F 256 N108 256 H/V, 128b int WRAM
82 X1-017 3×8+8F 512? MMC3 256 H/V, 5120b int WRAM, ?IRQ?
85 VRC7 3×8+8F 512 8×1 256 Expansion audio, 1/H/V, Scanline IRQ
90/209/211 for: Tekken 2 HKO 8+32F; 8+16+16F; 4×8+8F; 8+32; 8+2×16; 4×8 1024 1×8; 2×4; 4×2; 8×1 256 ROM nametables(209,211), 1/H/V(90) or arbitrary Mirroring(209,211), Scanline/Cycle/Pixel IRQ, hardware multiplier
91 for: Street Fighter 3 HKO N108 128 4×2 512 IRQ, ?
95 N108 (nametable) N108 128 N108 32 1/H
97 Irem TAM-S1 16F+16 256 8KiB RAM only 0 1/H/V
105 NES-EVENT 16+16F; 16F+16; 32 256 8KiB RAM only 0 1/H/V, ext WRAM, IRQ
112 "chinese" N108 N108 256 N108 256 H/V
118 TLSROM, TKSROM MMC3 512 MMC3 128 Arbitrary mirroring, ext WRAM, Scanline IRQ
119 TQROM (8kiB) MMC3 512 MMC3 64 H/V, ext WRAM, Scanline IRQ, CHR RAM and ROM
153 LZ93D50 (RAM) 16+16F 512 8KiB RAM only 0 1/H/V, Cycle IRQ, ext WRAM
157 Bandai Datach 16+16F 256 8KiB RAM only 0 1/H/V, Cycle IRQ, serial EEPROMs, barcode reader
158 RAMBO-1 (nametable) 3×8+8F 256 MMC3; 8×1 128 Arbitrary mirroring, Scanline/Cycle IRQ
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 IRQ, ?
189 MMC3 × BNROM 32 512 MMC3 256 ?
191 TQROM-like (2kiB) MMC3 256 (512?) MMC3 128 ?like TQROM?
192/195 TQROM-like (4kiB) MMC3 512? MMC3 252 ?like TQROM?
193 NTDEC TC-112 8+24F 256 4+2+2 256 none
207 X1-005 (nametable) 3×8+8F 256 N108 128 1/H, 128b int WRAM
210 Namco 175 and 340 3×8+8F 512 8×1 256 1/H/V(N340), ext WRAM(N175)
246 for: Fong Shen Bang - Zhu Lu Zhi Zhan 4×8 512? 4×2 512? none?
252 for: San Guo Zhi N108 256? 8×1 128? Scanline IRQ, ?

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 for: Samurai Spirits MMC3 512 MMC3; 8×1 3×256 512 H/V, ext WRAM, Scanline IRQ, ?like MMC3?
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?
205 for: 3-in-1 MMC3 128; 256 512 MMC3 128; 256 512 ?like MMC3?
245 MMC3 × SUROM MMC3 512 1024 8kiB RAM only 0 ?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
36 ? 128 32 128 8 V hardwired Unlikely Likely
38 2 128 32 32 8 V/H hardwired Impossible No
41 7 256 32 128 8 / 32 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 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 / 16 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 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