NES 2.0 Mapper 538: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
NewRisingSun (talk | contribs) (Created page with "{{DEFAULTSORT:538}}538538 NES 2.0 Mapper 538 denotes the '''60-1064-16L''' PCB, used for a bootleg cartri...") |
NewRisingSun (talk | contribs) (→Notes) |
||
(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 # | * CPU $A000-$BFFF: 8 KiB PRG ROM bank, fixed to bank #13 | ||
* CPU $C000-$DFFF: 8 KiB PRG ROM bank, fixed to bank # | * 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-$ | ==PRG-ROM Bank switch ($C000-$DFFF, write)== | ||
Mask: | 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 | $6000-$7FFF bank 1 1 3 3 5 5 7 7 9 9 B B D D F F | ||
$8000-$9FFF bank 0 | $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