NES 2.0 Mapper 538: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(Created page with "{{DEFAULTSORT:538}}538538 NES 2.0 Mapper 538 denotes the '''60-1064-16L''' PCB, used for a bootleg cartri...")
 
 
(One intermediate revision by the same user not shown)
Line 5: Line 5:
* CPU $6000-$7FFF: 8 KiB switchable PRG-ROM bank
* CPU $6000-$7FFF: 8 KiB switchable PRG-ROM bank
* CPU $8000-$9FFF: 8 KiB switchable PRG-ROM bank
* CPU $8000-$9FFF: 8 KiB switchable PRG-ROM bank
* CPU $A000-$BFFF: 8 KiB PRG ROM bank, fixed to bank #14
* CPU $A000-$BFFF: 8 KiB PRG ROM bank, fixed to bank #13
* CPU $C000-$DFFF: 8 KiB PRG ROM bank, fixed to bank #7
* CPU $C000-$DFFF: 8 KiB PRG ROM bank, fixed to bank #14
* CPU $E000-$FFFF: 8 KiB PRG ROM bank, fixed to bank #15
* CPU $E000-$FFFF: 8 KiB PRG ROM bank, fixed to bank #15
* PPU $0000-$1FFF: 8 KiB unbanked CHR-RAM
* PPU $0000-$1FFF: 8 KiB unbanked CHR-RAM
Line 12: Line 12:


=Registers=
=Registers=
==PRG-ROM Bank switch ($C000-$CFFF?, write)==
==PRG-ROM Bank switch ($C000-$DFFF, write)==
Mask: Unknown
Mask: $E000
   
   
The low nibble sets the PRG-ROM banks both for the $6000-$7FFF and $8000-$9FFF CPU address ranges according to the following table:
The low nibble sets the PRG-ROM banks both for the $6000-$7FFF and $8000-$9FFF CPU address ranges according to the following table:
Line 19: Line 19:
  Value written    0 1 2 3 4 5 6 7 8 9 A B C D E F
  Value written    0 1 2 3 4 5 6 7 8 9 A B C D E F
  ------------------------------------------------
  ------------------------------------------------
  $6000-$7FFF bank 8 8 9 9 A A B B C C D D E E F F
  $6000-$7FFF bank 1 1 3 3 5 5 7 7 9 9 B B D D F F
  $8000-$9FFF bank 0 1 2 1 3 1 4 1 5 5 1 1 6 6 7 7
  $8000-$9FFF bank 0 A 2 A 4 A 6 A 8 8 A A C C E E


Or as table-less C code:
bank6 = value |1;
bank8 = value &1 && ~value &8? 10: value &~1;
=Notes=
=Notes=
* Save data is not retained.
* Save data is not retained.
* The conversion retains all writes to the FDS sound channel registers. An emulator could provide the expansion sound channel even though the original cartridge did not.
* The conversion retains all writes to the FDS sound channel registers. An emulator could provide the expansion sound channel even though the original cartridge did not.
* [https://forums.nesdev.org/viewtopic.php?f=3&t=18723#p273223 PCB image and description]

Latest revision as of 07:46, 28 May 2021

NES 2.0 Mapper 538 denotes the 60-1064-16L PCB, used for a bootleg cartridge conversion named Super Soccer Champion of the Konami FDS game Exciting Soccer.

Banks

  • CPU $6000-$7FFF: 8 KiB switchable PRG-ROM bank
  • CPU $8000-$9FFF: 8 KiB switchable PRG-ROM bank
  • CPU $A000-$BFFF: 8 KiB PRG ROM bank, fixed to bank #13
  • CPU $C000-$DFFF: 8 KiB PRG ROM bank, fixed to bank #14
  • CPU $E000-$FFFF: 8 KiB PRG ROM bank, fixed to bank #15
  • PPU $0000-$1FFF: 8 KiB unbanked CHR-RAM

Mirroring is hard-wired to Vertical.

Registers

PRG-ROM Bank switch ($C000-$DFFF, write)

Mask: $E000

The low nibble sets the PRG-ROM banks both for the $6000-$7FFF and $8000-$9FFF CPU address ranges according to the following table:

Value written    0 1 2 3 4 5 6 7 8 9 A B C D E F
------------------------------------------------
$6000-$7FFF bank 1 1 3 3 5 5 7 7 9 9 B B D D F F
$8000-$9FFF bank 0 A 2 A 4 A 6 A 8 8 A A C C E E

Or as table-less C code:

bank6 = value |1;
bank8 = value &1 && ~value &8? 10: value &~1;

Notes

  • Save data is not retained.
  • The conversion retains all writes to the FDS sound channel registers. An emulator could provide the expansion sound channel even though the original cartridge did not.
  • PCB image and description