NES 2.0 Mapper 347: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(Created page with "{{DEFAULTSORT:347}}347354 NES 2.0 Mapper 347 is used for Kaiser's cartridge conversion of the Famicom Dis...")
 
(Corrections)
Line 13: Line 13:
* CPU $D800-$FFFF: 10 KiB PRG-ROM bank, hard-wired
* CPU $D800-$FFFF: 10 KiB PRG-ROM bank, hard-wired
=Registers=
=Registers=
==Mirroring Select ($4025, write)==
==PRG-ROM Bank Select #1/Mirroring Select ($8000-$8FFF, write)==
  D~7654 3210
  A~FEDC BA98 7654 3210
   ---------
   -------------------
  .... M...
   1000 .... .... MBBB
        +---- Select nametable mirroring type
                  |+++- Select 4 KiB PRG-ROM bank at CPU $7000-$7FFF
              0: Vertical
                  +---- Select nametable mirroring type
              1: Horizontal
                        0: Vertical
This register is basically identical to the original Famicom Disk System register.
                        1: Horizontal
 
==PRG-ROM Bank Select #1 ($8000-$8FFF, write)==
D~7654 3210
  ---------
   .... .BBB
        +++- Select 4 KiB PRG-ROM bank at CPU $7000-$7FFF


==PRG-ROM Bank Select #2 ($9000-$9FFF, write)==
==PRG-ROM Bank Select #2 ($9000-$9FFF, write)==
  D~7654 3210
  A~FEDC BA98 7654 3210
   ---------
   -------------------
   .... BBBB
   1001 .... .... BBBB
        ++++- Select 4 KiB PRG-ROM bank,
                  ++++- Select 4 KiB PRG-ROM bank,
              the first 1 KiB of which mapped to CPU $6C00-$6FFF,
                        the first 1 KiB of which mapped to CPU $6C00-$6FFF,
              the second 3 KiB of which mapped to CPU $C000-$CBFF
                        the second 3 KiB of which mapped to CPU $C000-$CBFF


=Notes=
=Notes=

Revision as of 16:55, 7 October 2019

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.