INES Mapper 060: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
m (spelling)
(After doing some archeology in NESten's mapper DLL sources, cleared up the confusion between Mapper 059 (for which no ROM image could be found, for now-obvious reasons) and 060.)
 
Line 1: Line 1:
[[Category:iNES Mappers|060]][[Category:Multicart mappers|060]]
[[Category:iNES Mappers|060]][[Category:Multicart mappers|060]]
iNES Mapper 60 is used for two very different multicarts. In the absence of a submapper proposal, the PRG-ROM size can be used to differentiate between the Reset-based 4-in-1 (PRG-ROM size up to 64 KiB) and D1038/VT5201 (PRG_ROM size 128 KiB and more).
iNES Mapper 60 is used for a ''Reset-based NROM-128 4-in-1'' multicart.
 
=Reset-based NROM-128 4-in-1=
   Here are Disch's original notes:   
   Here are Disch's original notes:   
   ========================
   ========================
Line 22: Line 20:
    
    
   I would assume the register is 2 bits wide?  Don't know for sure.
   I would assume the register is 2 bits wide?  Don't know for sure.
=D1038/VT5201=
==Errata==
FCEUX and several other emulators emulate a completely unrelated multicart with the UNIF board name '''BMC-D1038''' under Mapper 060:
NESten's Mapper DLL v1.0 contained an incorrect implementation of T3H53 as iNES mapper 059 and UNIF mapper BMC-T3H53. The UNIF implementation was improved in NESten's Mapper DLL v1.2 while the iNES implementation was not, causing confusion about what kind of cartridge the unimproved mapper 59 was supposed to be. As Nintendulator's mapper DLL is based on NESten's mapper DLL, this was carried over to Nintendulator. Presumably as a result of this confusion, FCEUX and others put the correct implementation of T3H53 at [[INES Mapper 060]], displacing the "Reset-based NROM-128 4-in-1" in the process.
 
==Address Latch ($8000-$FFFF, write)==
Mask: $8000
A~FEDC BA98 7654 3210
---------------------
  1... ...D SPPp MCCC
          | |||| |+++- Select 8 KiB CHR-ROM bank at PPU $0000-$1FFF
          | |||| +---- Select nametable mirroring type
          | ||||        0: Vertical
          | ||||        1: Horizontal
          | |+++------ Select 16 KiB PRG-ROM bank at CPU $8000-$BFFF/$C000-$FFFF
          | +--------- Select PRG A14 behavior
          |            0: Substitute p with CPU A14 (NROM-256, 32 KiB PRG-ROM)
          |            1: Leave p unchanged (NROM-128, 16 KiB PRG-ROM)
          +----------- Jumper Read Control
                        0: CPU $8000-$FFFF returns PRG-ROM content
                        1: CPU $8000-$FFFF returns Jumper/DIP switch value
 
==Jumper Value ($8000-$FFFF, read)==
Mask: $8000
D~7654 3210
  ---------
  OOOO OOJJ
  |||| ||++- Current jumper value, selecting menu variants with different game counts
  ++++-++--- Open bus
 
==Similar Mappers==
[[INES Mapper 059]] is almost identical to D1038/VT5201 right down to the Jumper Read Control, the only difference being that the PRG-ROM size is always 32 KiB, and the 32 KiB PRG-ROM bank is directly selected via CPU A4-A6 instead of A5-A6.

Latest revision as of 01:37, 3 July 2018

iNES Mapper 60 is used for a Reset-based NROM-128 4-in-1 multicart.

 Here are Disch's original notes:  
 ========================
 =  Mapper 060          =
 ========================
 
 Example Game:
 --------------------------
 Reset Based 4-in-1
 
 
 Notes:
 ---------------------------
 This mapper is very, very unique.
 
 It's a multicart that consists of four NROM games, each with 16k PRG (put at $8000 and $C000) and 8k CHR.
 The current block that is selected is determined by an internal register that can only be incremented by a
 soft reset!
 
 I would assume the register is 2 bits wide?  Don't know for sure.

Errata

NESten's Mapper DLL v1.0 contained an incorrect implementation of T3H53 as iNES mapper 059 and UNIF mapper BMC-T3H53. The UNIF implementation was improved in NESten's Mapper DLL v1.2 while the iNES implementation was not, causing confusion about what kind of cartridge the unimproved mapper 59 was supposed to be. As Nintendulator's mapper DLL is based on NESten's mapper DLL, this was carried over to Nintendulator. Presumably as a result of this confusion, FCEUX and others put the correct implementation of T3H53 at INES Mapper 060, displacing the "Reset-based NROM-128 4-in-1" in the process.