NES 2.0 Mapper 332: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
m (defaultsort)
(Add CNROM mode, solder pad check and high address bit.)
Line 1: Line 1:
{{DEFAULTSORT:332}}[[Category:Multicart mappers]]
{{DEFAULTSORT:332}}[[Category:Multicart mappers]]
NES 2.0 mapper 332 is used for the ''Super 40-in-1'' multicart. Its UNIF board name is '''BMC-WS'''.
'''NES 2.0 mapper 332''' is used for the ''Super 40-in-1'' and ''Super 500-in-1'' multicarts. Its UNIF board name is '''BMC-WS'''.


==PRG-ROM and Mirroring Register ($6000)==
==PRG/Mirroring Register ($6000)==
  Mask: probably $E001
  Mask: probably $E001
   
   
  D~7654 3210
  D~7654 3210
   ---------
   ---------
   ...M BPPp
   .H.M BPPp
      | |+++- Select 16 KiB PRG-ROM bank at CPU $8000-$BFFF and CPU $C000-$FFFF
    | | |+++- PRG A14..A16 for CPU $8000-$BFFF and $C000-$FFFF
      | +---- Select PRG A14 Mode
    | | +---- Select PRG A14 Mode
      |        0: PRG A14=CPU A14 (NROM-256)
    | |        0: PRG A14=CPU A14 (NROM-256)
      |        1: PRG A14=p (NROM-128)
    | |        1: PRG A14=p (NROM-128)
      +------ Select nametable mirroring mode
    | +------ Select nametable mirroring mode
              0: Vertical
    |          0: Vertical
              1: Horizontal
    |          1: Horizontal
             
    +-------- Select PRG A17 and CHR A16
==CHR-ROM Register ($6001)==
Reset value: $00
==CHR/Solder Pad Register ($6001)==
  Mask: probably $E001
  Mask: probably $E001
   
   
  D~7654 3210
  D~7654 3210
   ---------
   ---------
   .... CCCC
   DDMM .Ccc
         ++++- Select 8 KiB CHR-ROM bank at PPU $0000-$1FFF
  ||||  |++- CHR A13..A14 for PPU $0000-$1FFF if MM=11
  ||||  +--- CHR A15
  ||++------ 00: CNROM mode: CHR A13..A14 from CNROM latch
  ||         11: NROM mode: CHR A13..A14 from cc
  ++-------- Solder pad check
Reset value: $00
The solder pads connect the latch output directly to PRG-ROM /CE. The menu code, executing from RAM, sets either bit to check whether CPU $8000-$FFFF now returns open bus, and selects a menu with different game counts depending on the result.
==CNROM latch ($8000-$FFFF)==
D~7654 3210
  ---------
  .... ..CC
          ++- CHR A13..A14 for PPU $0000-$1FFF if MM=00
Reset value: $00

Revision as of 22:48, 25 November 2020

NES 2.0 mapper 332 is used for the Super 40-in-1 and Super 500-in-1 multicarts. Its UNIF board name is BMC-WS.

PRG/Mirroring Register ($6000)

Mask: probably $E001

D~7654 3210
  ---------
  .H.M BPPp
   | | |+++- PRG A14..A16 for CPU $8000-$BFFF and $C000-$FFFF
   | | +---- Select PRG A14 Mode
   | |        0: PRG A14=CPU A14 (NROM-256)
   | |        1: PRG A14=p (NROM-128)
   | +------ Select nametable mirroring mode
   |          0: Vertical
   |          1: Horizontal
   +-------- Select PRG A17 and CHR A16
Reset value: $00

CHR/Solder Pad Register ($6001)

Mask: probably $E001

D~7654 3210
  ---------
  DDMM .Ccc
  ||||  |++- CHR A13..A14 for PPU $0000-$1FFF if MM=11
  ||||  +--- CHR A15
  ||++------ 00: CNROM mode: CHR A13..A14 from CNROM latch
  ||         11: NROM mode: CHR A13..A14 from cc
  ++-------- Solder pad check
Reset value: $00

The solder pads connect the latch output directly to PRG-ROM /CE. The menu code, executing from RAM, sets either bit to check whether CPU $8000-$FFFF now returns open bus, and selects a menu with different game counts depending on the result.

CNROM latch ($8000-$FFFF)

D~7654 3210
  ---------
  .... ..CC
         ++- CHR A13..A14 for PPU $0000-$1FFF if MM=00
Reset value: $00