NES 2.0 Mapper 344: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(Rewrite based on correct ROM image, add other PCB name (and the mixed-up UNIF name))
(Describe known solder pads. Have to think about how to apply this to submappers given that only some combinations make sense.)
Line 2: Line 2:
'''NES 2.0 Mapper 344''' denotes the '''GN-26''' and '''NC7000M''' multicart circuit boards. Its UNIF board names are '''BMC-GN-26''' (with incorrect PRG bank order) and '''BMC-BS-110''' (which is the name of a different PCB whose name was mixed-up).
'''NES 2.0 Mapper 344''' denotes the '''GN-26''' and '''NC7000M''' multicart circuit boards. Its UNIF board names are '''BMC-GN-26''' (with incorrect PRG bank order) and '''BMC-BS-110''' (which is the name of a different PCB whose name was mixed-up).


* ''快打金卡终极挑战 (Kuàidǎ Jīnkǎ Zhōngjí Tiǎozhàn) 3/6-in-1'', GN-26 PCB
The circuit board has three solder pads with bankswitching-relevant functionality (plus several others):
* ''14/400/8000/3000000-in-1'', NC7000M PCB
* S0: Connect MMC3 CHR A17 to CHR-ROM A17 or not
* S1: Connect $6000.0 to CHR-ROM A17 or not
* S2: Connect $6000.4 or $6000.1 to CHR A18
 
Known cartridges:
* ''快打金卡终极挑战 (Kuàidǎ Jīnkǎ Zhōngjí Tiǎozhàn) 3/6-in-1''
** S0: MMC3 CHR A17 connected to CHR-ROM A17
** S1: $6000.0 connected to CHR-ROM A17
** S2: $6000.1 connected to CHR-ROM A18
* ''14/400/8000/3000000-in-1''
** S0: MMC3 CHR A17 not connected to CHR-ROM A17
** S1: $6000.0 connected to CHR-ROM A17
** S2: $6000.1 connected to CHR-ROM A18
* ''7000-in-1'' (CA-004)
** S0: MMC3 CHR A17 connected to CHR-ROM A17
** S1: $6000.0 not connected to CHR-ROM A17
** S2: $6000.4 connected to CHR-ROM A18


==Outer Bank and Mode Register ($6000-$7FFF, write)==
==Outer Bank and Mode Register ($6000-$7FFF, write)==
Line 10: Line 26:
  A~FEDC BA98 7654 3210
  A~FEDC BA98 7654 3210
   -------------------
   -------------------
   .... .... .... DSBb
   .... .... ...C DSBA
                  ++++- =$04: CHR A17=MMC3 A17 (256 KiB inner CHR)
                | ++++- =$08: CPU $8000-$FFFF D0/D1: menu-selecting solder pads
                  |||| !=$04: CHR A17=b        (128 KiB inner CHR)
                | |||| !=$08: CPU $8000-$FFFF D0/D1: normal data
                  ||||  =$08: CPU $8000-$FFFF exposes solder pad setting
                | ||++- PRG A18..17
                  |||| !=$08: CPU $8000-$FFFF exposes PRG-ROM
                | |||+- CHR A17 if solder pad S1=1
                  ||++- PRG/CHR A17..A18
                | ||+-- CHR A18 if solder pad S2=1
                  |+--- Select PRG-ROM mode
                | |+--- Select PRG-ROM mode
                  |      0: MMC3 mode
                | |      0: MMC3 mode
                  |      1: NROM mode (see below)
                | |      1: NROM mode (see below)
                  +---- PRG A14 mode when S=1
                | +---- PRG A14 mode when S=1
                        0: PRG A14=CPU A14          (NROM-256)
                |        0: PRG A14=CPU A14          (NROM-256)
                        1: PRG A14=MMC3 reg 6 bit 1 (NROM-128)
                |        1: PRG A14=MMC3 reg 6 bit 1 (NROM-128)
                +------ CHR A18 if solder pad S2=0
* WRAM must be enabled in $A001.7 before writing to this register.
* WRAM must be enabled in $A001.7 before writing to this register.
* The inner PRG bank is restricted to 128 KiB.
* The inner PRG bank is restricted to 128 KiB.
* NROM mode forces MMC3's CPU A13 and A14 inputs to GND and replaces MMC3's PRG A13 output with CPU A13. This means that MMC3 bank register 6 bits 1-3 provides PRG A14..A16 for the entire CPU $8000-$FFFF range.
* NROM mode forces MMC3's CPU A13 and A14 inputs to GND and replaces MMC3's PRG A13 output with CPU A13. This means that MMC3 bank register 6 bits 1-3 provides PRG A14..A16 for the entire CPU $8000-$FFFF range.
* The common dump of ''快打金卡终极挑战 (Kuàidǎ Jīnkǎ Zhōngjí Tiǎozhàn) 3/6-in-1'' has the 128 KiB PRG-ROM banks mixed-up, correct would be in the order 0, 3, 1, 2. The 128 KiB CHR-ROM banks were in the correct order all along, making the mapper seem more complicated than it actually is.
* The common dump of ''快打金卡终极挑战 (Kuàidǎ Jīnkǎ Zhōngjí Tiǎozhàn) 3/6-in-1'' has the 128 KiB PRG-ROM banks mixed-up, correct would be in the order 0, 3, 1, 2.
==MMC3-compatible registers==
==MMC3-compatible registers==
Mask: $E001
Mask: $E001


See [[MMC3]].
See [[MMC3]].

Revision as of 22:49, 18 May 2021

NES 2.0 Mapper 344 denotes the GN-26 and NC7000M multicart circuit boards. Its UNIF board names are BMC-GN-26 (with incorrect PRG bank order) and BMC-BS-110 (which is the name of a different PCB whose name was mixed-up).

The circuit board has three solder pads with bankswitching-relevant functionality (plus several others):

  • S0: Connect MMC3 CHR A17 to CHR-ROM A17 or not
  • S1: Connect $6000.0 to CHR-ROM A17 or not
  • S2: Connect $6000.4 or $6000.1 to CHR A18

Known cartridges:

  • 快打金卡终极挑战 (Kuàidǎ Jīnkǎ Zhōngjí Tiǎozhàn) 3/6-in-1
    • S0: MMC3 CHR A17 connected to CHR-ROM A17
    • S1: $6000.0 connected to CHR-ROM A17
    • S2: $6000.1 connected to CHR-ROM A18
  • 14/400/8000/3000000-in-1
    • S0: MMC3 CHR A17 not connected to CHR-ROM A17
    • S1: $6000.0 connected to CHR-ROM A17
    • S2: $6000.1 connected to CHR-ROM A18
  • 7000-in-1 (CA-004)
    • S0: MMC3 CHR A17 connected to CHR-ROM A17
    • S1: $6000.0 not connected to CHR-ROM A17
    • S2: $6000.4 connected to CHR-ROM A18

Outer Bank and Mode Register ($6000-$7FFF, write)

Mask: $E000

A~FEDC BA98 7654 3210
  -------------------
  .... .... ...C DSBA
               | ++++- =$08: CPU $8000-$FFFF D0/D1: menu-selecting solder pads
               | |||| !=$08: CPU $8000-$FFFF D0/D1: normal data
               | ||++- PRG A18..17
               | |||+- CHR A17 if solder pad S1=1
               | ||+-- CHR A18 if solder pad S2=1
               | |+--- Select PRG-ROM mode
               | |      0: MMC3 mode
               | |      1: NROM mode (see below)
               | +---- PRG A14 mode when S=1
               |        0: PRG A14=CPU A14          (NROM-256)
               |        1: PRG A14=MMC3 reg 6 bit 1 (NROM-128)
               +------ CHR A18 if solder pad S2=0
  • WRAM must be enabled in $A001.7 before writing to this register.
  • The inner PRG bank is restricted to 128 KiB.
  • NROM mode forces MMC3's CPU A13 and A14 inputs to GND and replaces MMC3's PRG A13 output with CPU A13. This means that MMC3 bank register 6 bits 1-3 provides PRG A14..A16 for the entire CPU $8000-$FFFF range.
  • The common dump of 快打金卡终极挑战 (Kuàidǎ Jīnkǎ Zhōngjí Tiǎozhàn) 3/6-in-1 has the 128 KiB PRG-ROM banks mixed-up, correct would be in the order 0, 3, 1, 2.

MMC3-compatible registers

Mask: $E001

See MMC3.