INES Mapper 043: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
m (LE10 hanging on real hardware demonstration video)
(→‎IRQ Control ($8122): mask here has to include A15 so that it doesn't overlap with NES-internal RAM)
Line 32: Line 32:


==IRQ Control ($8122)==
==IRQ Control ($8122)==
  Mask: $71FF
  Mask: $F1FF
   
   
  Bit 7654 3210
  Bit 7654 3210

Revision as of 23:03, 20 April 2018

iNES Mapper 043 is used for Whirlwind Manu's second attempt (cartridge number LF36) at converting Super Mario Bros. 2 from the Famicom Disk System to a ROM cartridge. Their first attempt (cartridge number LE10, NES 2.0 Mapper 304) hangs on real hardware after completing level 4-4. Its UNIF board name is UNL-SMB2J, along with several incompatible boards annoyingly all carrying the same UNIF MAPR.

Banks

  • CPU $5000-$5FFF: 4 KiB PRG-ROM bank, fixed to #16 or #17 depending on DIP switch value (determines whether the title screen has the SMB2 logo or not)
  • CPU $6000-$7FFF: 8 KiB PRG-ROM bank, fixed to #2
  • CPU $8000-$9FFF: 8 KiB PRG-ROM bank, fixed to #1
  • CPU $A000-$BFFF: 8 KiB PRG-ROM bank, fixed to #0
  • CPU $C000-$DFFF: 8 KiB PRG-ROM bank, switchable
  • CPU $E000-$FFFF: 8 KiB PRG-ROM bank, fixed to #9
  • PPU $0000-$1FFF: unbanked 8 KiB CHR-ROM

Registers

PRG Bank Select ($4022)

Mask: $71FF

Bit 7654 3210
    ---------
    .... .CCC
          +++- Select 8 KiB PRG-ROM bank at CPU $C000-$DFFF.

The actual bank number is:

Value  Bank#
------------
0      4
1      3
2      4
3      4
4      4
5      7
6      5
7      6

IRQ Control ($8122)

Mask: $F1FF

Bit 7654 3210
    ---------
    .... ..II
           ++- 0: Acknowledge and disable IRQ, reset counter
               1-3: Enable IRQ

When enabled, the 12-bit IRQ counter increases on every M2 cycle until it overflows, upon which an IRQ is fired.