INES Mapper 142: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(→‎See also: link back to mapper 56)
(→‎Bank select ($E000-$EFFF): Existing games don't seem to write to R0, but m56 does write to R6 and expects no effect)
 
Line 27: Line 27:
       |||
       |||
       +++- Specify which bank register to update on next write to Bank Data register
       +++- Specify which bank register to update on next write to Bank Data register
            0: Writes to $F000 have no effect
             1: Select 8 KB PRG bank at CPU $8000-$9FFF
             1: Select 8 KB PRG bank at CPU $8000-$9FFF
             2: Select 8 KB PRG bank at CPU $A000-$BFFF
             2: Select 8 KB PRG bank at CPU $A000-$BFFF
             3: Select 8 KB PRG bank at CPU $C000-$DFFF
             3: Select 8 KB PRG bank at CPU $C000-$DFFF
             4: Select 8 KB PRG bank at CPU $6000-$7FFF
             4: Select 8 KB PRG bank at CPU $6000-$7FFF
             5-7: unknown
             6: Writes to $F000 have no effect
            0,5,7: unknown


=== Bank data ($F000-$FFFF) ===
=== Bank data ($F000-$FFFF) ===

Latest revision as of 20:19, 2 October 2019

iNES Mapper 142 represents a PCB used for several of Kaiser's unlicensed ports of FDS games. Its UNIF board name is UNL-KS7032, and it features the KS202 ASIC, which is an upgrade to Konami's VRC3.

Banks

  • CPU $6000-$7FFF: 8 KB switchable PRG ROM bank
  • CPU $8000-$9FFF: 8 KB switchable PRG ROM bank
  • CPU $A000-$BFFF: 8 KB switchable PRG ROM bank
  • CPU $C000-$DFFF: 8 KB switchable PRG ROM bank
  • CPU $E000-$FFFF: 8 KB PRG ROM bank, fixed to the last bank.
  • PPU $0000-$1FFF: 8 KB CHR RAM, unbanked

Registers

IRQ Reload value ($8000-$BFFF)

Writes set IRQ reload value, in four four-bit words, same as VRC3

IRQ Enable ($C000-$CFFF)

Kaiser's SMB2J writes $02 or $05 to enable, and $00 to disable, indicating that bits 1 and 2 may function similarly to the VRC3.

IRQ Acknowledge ($D000-$DFFF)

Any write to this register will acknowledge the pending IRQ, like VRC3. Unlike a VRC3, $C000 bit 0 must not be moved to bit 1, otherwise SMB2J will freeze.

Bank select ($E000-$EFFF)

Select one of four bank registers to update on next write to $F000.

7  bit  0
---- ----
.... .RRR
      |||
      +++- Specify which bank register to update on next write to Bank Data register
           1: Select 8 KB PRG bank at CPU $8000-$9FFF
           2: Select 8 KB PRG bank at CPU $A000-$BFFF
           3: Select 8 KB PRG bank at CPU $C000-$DFFF
           4: Select 8 KB PRG bank at CPU $6000-$7FFF
           6: Writes to $F000 have no effect
           0,5,7: unknown

Bank data ($F000-$FFFF)

7  bit  0
---- ----
.... DDDD
     ||||
     ++++- New bank value, based on last value written to Bank select register (mentioned above)

See also