NES 2.0 Mapper 347

From Nesdev wiki
Jump to: navigation, search

NES 2.0 Mapper 347 is used for Kaiser's cartridge conversion of the Famicom Disk System game Yume Koujou: Doki Doki Panic. Its UNIF board name is UNL-KS7030.

Banks

A typical example of a board designed to accomodate a single (converted) FDS game while using only 8 KiB of PRG-RAM, its memory map is quite complicated.

  • CPU $6000-$6BFF: 3 KiB PRG-RAM bank
  • CPU $6C00-$6FFF: 1 KiB PRG-ROM bank, selected by register at $9000
  • CPU $7000-$7FFF: 4 KiB PRG-ROM bank, selected by register at $8000
  • CPU $8000-$B7FF: 14 KiB PRG-ROM bank, hard-wired
  • CPU $B800-$BFFF: 2 KiB PRG-RAM bank
  • CPU $C000-$CBFF: 3 KiB PRG-ROM bank, selected by register at $9000
  • CPU $CC00-$D7FF: 3 KiB PRG-RAM bank
  • CPU $D800-$FFFF: 10 KiB PRG-ROM bank, hard-wired

Registers

PRG-ROM Bank Select #1/Mirroring Select ($8000-$8FFF, write)

A~FEDC BA98 7654 3210
  -------------------
  1000 .... .... MBBB
                 |+++- Select 4 KiB PRG-ROM bank at CPU $7000-$7FFF
                 +---- Select nametable mirroring type
                        0: Vertical
                        1: Horizontal

PRG-ROM Bank Select #2 ($9000-$9FFF, write)

A~FEDC BA98 7654 3210
  -------------------
  1001 .... .... BBBB
                 ++++- Select 4 KiB PRG-ROM bank,
                       the first 1 KiB of which mapped to CPU $6C00-$6FFF,
                       the second 3 KiB of which mapped to CPU $C000-$CBFF

Notes

  • As the FCEUX source code comment indicates, the actual bank order in the 128 KiB mask ROM is unknown. Current emulators expect the ROM image to be laid out like this:
    • the first 32 KiB to contain the eight banks selected by register $8000 mapped to $7000-$7FFF,
    • the next 64 KiB to contain the sixteen banks selected by register $9000, with the first 1 KiB mapped to CPU $6C00-$6FFF and the second 3 KiB mapped to CPU $C000-$CBFF;
    • the final 32 KiB mapped to CPU $8000-$FFFF except where replaced by RAM and the switchable PRG-ROM bank.
  • The conversion retains all writes to the FDS sound channel registers, so an emulator could provide the expansion sound channel even though the original Kaiser cartridge did not.
  • A different cartridge conversion of the same game is described by INES Mapper 103. Its memory map is simpler, at the cost of requiring 16 KiB of WRAM instead of just 8 KiB.