NES 2.0 Mapper 319: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(Created page with "Category:Multicart mappers NES 2.0 Mapper 319 is used for the ''Prima Soft 9999999-in-1'' multicart. Its UNIF board name is '''BMC-HP898F'''. =Banks= * CPU $8000-$BFFF: 1...")
 
(Mention which file we are talking about)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:Multicart mappers]]
[[Category:Multicart mappers]]
NES 2.0 Mapper 319 is used for the ''Prima Soft 9999999-in-1'' multicart. Its UNIF board name is '''BMC-HP898F'''.
NES 2.0 Mapper 319 denotes the '''HP-898F''' and '''KD-7/9-E''' circuit boards. Its UNIF board name is '''BMC-HP898F''' ([[#UNIF_bank_order|with a different bank order]]). Used for:
* ''Prima Soft 9999999-in-1''
* ''Olympic 2000 1000000-in-1''
* ''4-in-1 (0207)''
* ''4-in-1 (0210)''
* ''4-in-1 (KG-443)''
* ''9999999-in-1 (KD-6037-B)''


=Banks=
=Banks=
Line 8: Line 14:


=Registers=
=Registers=
==PRG-ROM Bank and Mirroring ($6000)==
==PRG-ROM Bank and Mirroring ($6004)==
  Mask: $6004
  Mask: $6004
   
   
  D~7654 3210
  D~7654 3210
   ---------
   ---------  
   MDPP P...
   MDaB C...
   ||++-+---- Select Inner 16 KiB PRG-ROM bank at
   |||| +---- PRG A15
   ||         CPU $8000-$BFFF and CPU $C000-$FFFF
   |||+------ PRG A16
   ||         (subject to modification by bit 6)
   ||+------- PRG A14 if D=0
   |+-------- PRG A16 mode
   |+-------- PRG A14 mode
   |          0: Do not change PRG A16
   |          0: PRG A14=p (NROM-128)
   |          1: A16=0 for CPU $8000-$BFFF,
   |          1: PRG A14=CPU A14 (NROM-256)
  |              A17=1 for CPU $C000-$FFFF
   +--------- Select nametable mirroring type
   +--------- Select nametable mirroring type
               0: Horizontal
               0: Horizontal
               1: Vertical
               1: Vertical


==CHR-ROM Bank ($6004)==
==CHR-ROM Bank ($6000)==
  Mask: $6004
  Mask: $6004
   
   
  D~7654 3210
  D~7654 3210
   ---------
   ---------
   .CCC ..12
   CCCC ....
    |||   |+- 0=Keep CHR A15, 1=Force CHR A15 to zero
  ||||
    |||   +-- 0=Keep CHR A14, 1=Force CHR A14 zo zero
  ||||
    +++------ Select 8 KiB CHR-ROM bank at PPU $0000-$1FFF
  ++++------ Select 8 KiB CHR-ROM bank at PPU $0000-$1FFF
              (subject to modificatino by bits 0-1)
 
==Solder Pad Register ($5FF0)==
Mask: probably $F000
D~7654 3210
  ---------
  .P.. ....
    +-------- Solder pad value
 
=UNIF bank order=
The publicly-available UNIF ROM file of ''Prima Soft 9999999-in-1'' has the order of the 16 KiB PRG-ROM banks slightly mixed up, so that the PRG A14 mode bit operates on A16 instead of A14. To obtain the correct bank order, use UNIF 16 KiB PRG banks 0, 4, 1, 5, 2, 6, 3, 7.

Latest revision as of 11:25, 31 December 2020

NES 2.0 Mapper 319 denotes the HP-898F and KD-7/9-E circuit boards. Its UNIF board name is BMC-HP898F (with a different bank order). Used for:

  • Prima Soft 9999999-in-1
  • Olympic 2000 1000000-in-1
  • 4-in-1 (0207)
  • 4-in-1 (0210)
  • 4-in-1 (KG-443)
  • 9999999-in-1 (KD-6037-B)

Banks

  • CPU $8000-$BFFF: 16 KiB switchable PRG-ROM bank
  • CPU $C000-$FFFF: 16 KiB switchable PRG-ROM bank
  • PPU $0000-$1FFF: 8 KiB switchable CHR-ROM bank

Registers

PRG-ROM Bank and Mirroring ($6004)

Mask: $6004

D~7654 3210
  ---------   
  MDaB C...
  |||| +---- PRG A15
  |||+------ PRG A16
  ||+------- PRG A14 if D=0
  |+-------- PRG A14 mode
  |           0: PRG A14=p (NROM-128)
  |           1: PRG A14=CPU A14 (NROM-256)
  +--------- Select nametable mirroring type
              0: Horizontal
              1: Vertical

CHR-ROM Bank ($6000)

Mask: $6004

D~7654 3210
  ---------
  CCCC ....
  ||||
  ||||
  ++++------ Select 8 KiB CHR-ROM bank at PPU $0000-$1FFF

Solder Pad Register ($5FF0)

Mask: probably $F000

D~7654 3210
  ---------
  .P.. ....
   +-------- Solder pad value

UNIF bank order

The publicly-available UNIF ROM file of Prima Soft 9999999-in-1 has the order of the 16 KiB PRG-ROM banks slightly mixed up, so that the PRG A14 mode bit operates on A16 instead of A14. To obtain the correct bank order, use UNIF 16 KiB PRG banks 0, 4, 1, 5, 2, 6, 3, 7.