INES Mapper 114: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
NewRisingSun (talk | contribs) (Created page with "iNES Mapper 114 is used for an MMC3-clone-bearing board with scrambled register addresses and indices, a 256 KiB outer CHR-ROM bank register, and an NROM-like PRG-ROM regi...") |
m (→Submapper 1: typo) |
||
(5 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
[[Category:MMC3-like mappers|114]][[Category:Mappers with scanline IRQs|114]][[Category:NES 2.0 mappers with submappers|114]] | |||
iNES Mapper 114 is used for an [[MMC3]]-clone-bearing board with scrambled register addresses and indices, a 256 KiB outer CHR-ROM bank register, | iNES Mapper 114 is used for an [[MMC3]]-clone-bearing board with scrambled register addresses and indices, a 256 KiB outer CHR-ROM bank register, | ||
and an NROM-like PRG-ROM register that can override the MMC3 clone's PRG-ROM bank. | and an NROM-like PRG-ROM register that can override the MMC3 clone's PRG-ROM bank. | ||
* '' | |||
* ''Aladdin'' (SuperGame, not ''Super Aladdin'', and not to be confused with ''Aladdin'' from SuperGame) | * '''Submapper 0''': | ||
* ''Pocohontos'' (Hosenkan, not to be confused with ''Pocahontas Part 2'' from SuperGame) | ** ''Aladdin'' (SuperGame, not ''Super Aladdin'', and not to be confused with ''Aladdin'' from J.Y. Company) | ||
* ''Super Donkey Kong'' (Hosenkan) | ** ''The Lion King'' (SuperGame) | ||
** ''Pocohontos'' (Hosenkan, not to be confused with ''Pocahontas Part 2'' from SuperGame) | |||
** ''Super Donkey Kong'' (Hosenkan) | |||
* '''Submapper 1''' (different scrambling pattern): | |||
** ''Boogerman'' (SuperGame, not to be confused with ''Boogerman II'' by Rex Soft) | |||
=Registers= | =Registers= | ||
==MMC3-compatible registers== | ==NROM Override Register ($6000)== | ||
Mask: Probably $E001 | |||
D~7654 3210 | |||
--------- | |||
M.S. BBBb | |||
| | ++++- Select 16 KiB PRG-ROM bank at CPU | |||
| | $8000-$BFFF and $C000-$FFFF | |||
| +------- 0: Do not replace bit 0 (NROM-128) | |||
| 1: Replace bit 0 with CPU A14 (NROM-256) | |||
+--------- 0: Use PRG bank from MMC3; ignore $6000 bits 0-3/5 | |||
1: Ignore PRG bank from MMC3; apply $6000 bits 0-3/5 | |||
==Outer CHR-ROM Bank Register ($6001)== | |||
Mask: Probably $E001 | |||
D~7654 3210 | |||
--------- | |||
.... ...+- Select 256 KiB CHR-ROM bank at PPU $0000-$1FFF | |||
==MMC3-compatible registers ($8000-$FFFF)== | |||
===Submapper 0=== | |||
Address written MMC3 register meant | Address written MMC3 register meant | ||
--------------- ------------------- | --------------- ------------------- | ||
Line 29: | Line 55: | ||
6 2 | 6 2 | ||
7 4 | 7 4 | ||
===Submapper 1=== | |||
Address written MMC3 register meant | |||
--------------- ------------------- | |||
$8000 $A001 | |||
$8001 $8001 | |||
$A000 $8000 | |||
$A001 $C001 | |||
$C000 $A000 | |||
$C001 $C000 | |||
$E000 $E000 | |||
$E001 $E001 | |||
$8000 index written MMC3 register meant | |||
------------------- ------------------- | |||
0 0 | |||
1 2 | |||
2 5 | |||
3 3 | |||
4 6 | |||
5 1 | |||
6 7 | |||
7 4 | |||
Bits 6 and 7 of the value written to $8000 are unchanged. See [[MMC3]] for further details. | |||
=Notes= | =Notes= | ||
Line 56: | Line 86: | ||
=Similar Mappers= | =Similar Mappers= | ||
* [[INES Mapper 115]] has the same $6000 and $6001 registers, but does not scramble MMC3 register addresses and indices. Also, Mapper 115's IRQ behavior resembles that of the MMC3C, i.e. a latch value of zero causes an IRQ on every scanline, on which the Chinese version of ''幽☆遊☆白書 Final'' (Yuu Yuu Hakusho Final) depends. | |||
* [[INES Mapper 123]] moves the $6000 register to $5800 while rearranging its bits and drops the outer CHR-ROM bank register at $6001 as well as register address scrambling while retaining index register scrambling (using the same pattern). | |||
* [[INES Mapper 182]] is a duplicate of Mapper 114. In fact, FCEUX explicitly reassigns Hosenkan's Mapper 182 ROMs to Mapper 114. Because Hosenkan's games make no use of the $6000-$6001 registers, other than writing zero to both of them on startup, some implementations (such as the EverDrive N8's) do not emulate the $600x registers. | * [[INES Mapper 182]] is a duplicate of Mapper 114. In fact, FCEUX explicitly reassigns Hosenkan's Mapper 182 ROMs to Mapper 114. Because Hosenkan's games make no use of the $6000-$6001 registers, other than writing zero to both of them on startup, some implementations (such as the EverDrive N8's) do not emulate the $600x registers. | ||
* [[INES Mapper 215]] extends and moves $6000/$6001 to $5000/$5001, and makes the MMC3 register address and index scrambling pattern selectable via $5007. | * [[INES Mapper 215]] extends and moves $6000/$6001 to $5000/$5001, and makes the MMC3 register address and index scrambling pattern selectable via $5007. |
Latest revision as of 18:39, 10 May 2019
iNES Mapper 114 is used for an MMC3-clone-bearing board with scrambled register addresses and indices, a 256 KiB outer CHR-ROM bank register, and an NROM-like PRG-ROM register that can override the MMC3 clone's PRG-ROM bank.
- Submapper 0:
- Aladdin (SuperGame, not Super Aladdin, and not to be confused with Aladdin from J.Y. Company)
- The Lion King (SuperGame)
- Pocohontos (Hosenkan, not to be confused with Pocahontas Part 2 from SuperGame)
- Super Donkey Kong (Hosenkan)
- Submapper 1 (different scrambling pattern):
- Boogerman (SuperGame, not to be confused with Boogerman II by Rex Soft)
Registers
NROM Override Register ($6000)
Mask: Probably $E001 D~7654 3210 --------- M.S. BBBb | | ++++- Select 16 KiB PRG-ROM bank at CPU | | $8000-$BFFF and $C000-$FFFF | +------- 0: Do not replace bit 0 (NROM-128) | 1: Replace bit 0 with CPU A14 (NROM-256) +--------- 0: Use PRG bank from MMC3; ignore $6000 bits 0-3/5 1: Ignore PRG bank from MMC3; apply $6000 bits 0-3/5
Outer CHR-ROM Bank Register ($6001)
Mask: Probably $E001 D~7654 3210 --------- .... ...+- Select 256 KiB CHR-ROM bank at PPU $0000-$1FFF
MMC3-compatible registers ($8000-$FFFF)
Submapper 0
Address written MMC3 register meant --------------- ------------------- $8000 $A001 $8001 $A000 $A000 $8000 $A001 $C000 $C000 $8001 $C001 $C001 $E000 $E000 $E001 $E001
$8000 index written MMC3 register meant ------------------- ------------------- 0 0 1 3 2 1 3 5 4 6 5 7 6 2 7 4
Submapper 1
Address written MMC3 register meant --------------- ------------------- $8000 $A001 $8001 $8001 $A000 $8000 $A001 $C001 $C000 $A000 $C001 $C000 $E000 $E000 $E001 $E001
$8000 index written MMC3 register meant ------------------- ------------------- 0 0 1 2 2 5 3 3 4 6 5 1 6 7 7 4
Bits 6 and 7 of the value written to $8000 are unchanged. See MMC3 for further details.
Notes
- Unlike many similar mappers, the $600x registers are not connected to the MMC3 clone's WRAM interface and thus function regardless of whether WRAM is enabled or not.
- IRQ behavior resembles that of the MMC3A, i.e. a latch value of zero disables the IRQ, on which Aladdin depends.
- Previous descriptions of Mapper 114/182 claim that a write to address $C001 is equivalent to writing both to an MMC3's $C000 and $C001 registers, and that writing to $A001 has no effect. A comparison of Aladdin (Mapper 114) and the Super Aladdin (Mapper 4, by the same developer) however indicates a one-to-one mapping, provided that MMC3A-like IRQ behavior is enforced.
Similar Mappers
- INES Mapper 115 has the same $6000 and $6001 registers, but does not scramble MMC3 register addresses and indices. Also, Mapper 115's IRQ behavior resembles that of the MMC3C, i.e. a latch value of zero causes an IRQ on every scanline, on which the Chinese version of 幽☆遊☆白書 Final (Yuu Yuu Hakusho Final) depends.
- INES Mapper 123 moves the $6000 register to $5800 while rearranging its bits and drops the outer CHR-ROM bank register at $6001 as well as register address scrambling while retaining index register scrambling (using the same pattern).
- INES Mapper 182 is a duplicate of Mapper 114. In fact, FCEUX explicitly reassigns Hosenkan's Mapper 182 ROMs to Mapper 114. Because Hosenkan's games make no use of the $6000-$6001 registers, other than writing zero to both of them on startup, some implementations (such as the EverDrive N8's) do not emulate the $600x registers.
- INES Mapper 215 extends and moves $6000/$6001 to $5000/$5001, and makes the MMC3 register address and index scrambling pattern selectable via $5007.