NES 2.0 Mapper 289: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(Apply Krzysiobal's findings)
(Cleanup, put the outer bank register bits where they belong)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{DEFAULTSORT:289}}[[Category:Multicart mappers]][[Category:Mappers with CHR RAM]]'''NES 2.0 Mapper 289''' is used for at least three multicarts designated in UNIF as '''BMC-60311C'''.
{{DEFAULTSORT:289}}[[Category:Multicart mappers]][[Category:Mappers with CHR RAM]]'''NES 2.0 Mapper 289''' is used for at least three multicarts designated in UNIF as '''BMC-60311C'''.
*''(EW-16-1) Super HiK 17-in-1''
*''1995 Champion Cassette 1200-in-1 - 94年超值珍藏版''
*''Super 76-in-1'' (with Contra)
==Mode Register ($6000), write==
==Mode Register ($6000), write==
  Mask: $E001
  D~[.... MLPP]  Address mask: $E001
        ||++- PRG Banking Mode
7654 3210
        ||    0: NROM-128: PRG A14-A16 from Outer Bank Register
---------
        ||    1: NROM-256: PRG A15-A16 from Outer Bank Register, PRG A14=CPU A14
.... MLPP
        ||    2: UNROM: PRG A14-A16 from Data Latch when CPU A14=0, and 111b when CPU A14=1
      ||++- PRG Banking Mode
        ||    3: PRG A14-16=1 regardless of CPU A14
      ||    0: NROM-128: PRG A14-A16 from Outer Bank Register
        |+--- Protect CHR-RAM
      ||    1: NROM-256: PRG A15-A16 from Outer Bank Register, PRG A14=CPU A14
        |      0: CHR-RAM writable
      ||    2: UNROM: PRG A14-A16 from Data Latch when CPU A14=0, and 111b when CPU A14=1
        |      1: CHR-RAM write-protected
      ||    3: PRG A14-16=1 regardless of CPU A14
        +---- Select nametable mirroring type
      |+--- Protect CHR-RAM
                0: Vertical
      |      0: CHR-RAM writable
                1: Horizontal
      |      1: CHR-RAM write-protected
==Outer Bank Register ($6001), write==
      +---- Select nametable mirroring type
  D~[.QQQ QPPp]  Address mask: $E001
            0: Vertical
    ||| |||+- PRG A14 in NROM-128 PRG Banking Mode
            1: Horizontal
    ||| |++-- PRG A16..15 in NROM-128/-256 Banking Modes
 
    +++-+---- PRG A20..A17
==Outer Bank Register ($6000), write==
==Solder Pad Register ($6000, read)==
  Mask: $E001
D~[.... ..PP]  Address mask: $E000
    |||| ||++- Solder pad setting
7654 3210
    ++++-++--- Open Bus
---------
.QQQ QPPp
  ||| |||+- PRG A14 in NROM-128 PRG Banking Mode
  ||| |++-- PRG A16..15 in NROM-128/-256 Banking Modes
  +++-+---- PRG A20..A17
 
==Data Latch ($8000-$FFFF), write==
==Data Latch ($8000-$FFFF), write==
  Mask: $8000
  D~[.... .PPP]  Address mask: $8000
          +++- PRG A16..14 in UNROM PRG Banking Mode when CPU A14=0
7654 3210
---------
.... .PPP
      +++- PRG A16..14 in UNROM PRG Banking Mode when CPU A14=0

Latest revision as of 18:27, 29 December 2022

NES 2.0 Mapper 289 is used for at least three multicarts designated in UNIF as BMC-60311C.

  • (EW-16-1) Super HiK 17-in-1
  • 1995 Champion Cassette 1200-in-1 - 94年超值珍藏版
  • Super 76-in-1 (with Contra)

Mode Register ($6000), write

D~[.... MLPP]  Address mask: $E001
        ||++- PRG Banking Mode
        ||     0: NROM-128: PRG A14-A16 from Outer Bank Register
        ||     1: NROM-256: PRG A15-A16 from Outer Bank Register, PRG A14=CPU A14
        ||     2: UNROM: PRG A14-A16 from Data Latch when CPU A14=0, and 111b when CPU A14=1
        ||     3: PRG A14-16=1 regardless of CPU A14
        |+--- Protect CHR-RAM
        |      0: CHR-RAM writable
        |      1: CHR-RAM write-protected
        +---- Select nametable mirroring type
               0: Vertical
               1: Horizontal

Outer Bank Register ($6001), write

D~[.QQQ QPPp]  Address mask: $E001
    ||| |||+- PRG A14 in NROM-128 PRG Banking Mode
    ||| |++-- PRG A16..15 in NROM-128/-256 Banking Modes
    +++-+---- PRG A20..A17

Solder Pad Register ($6000, read)

D~[.... ..PP]  Address mask: $E000
   |||| ||++- Solder pad setting
   ++++-++--- Open Bus 

Data Latch ($8000-$FFFF), write

D~[.... .PPP]  Address mask: $8000
         +++- PRG A16..14 in UNROM PRG Banking Mode when CPU A14=0