INES Mapper 040

From Nesdev wiki
Jump to: navigation, search

iNES Mapper 040 denotes the NTDEC 2722 PCB and imitations, used in several cartridge conversions of the Japanese version of Super Mario Bros. 2:

  • Super Mario Bros. 2 from Whirlwind Manu (cartridge code LF36)
  • Super Mario Bros. II+ from Hey Sung
  • 1990 Super Mario Bros. 4

Several other SMB2J conversions running on other mappers reuse the cartridge label from Whirlwind Manu and therefore misleadingly also show an LF36 cartridge code. Hey Sung's version can be distinguished from Whirlwind Manu's by the fact that Whirlwind Manu's does not allow selecting the one of eight starting worlds by holding the D-Pad while pressing START.

This description was produced from the source code of FCEUX and Nestopia.

 Registers:
 ---------------------------
 Range,Mask:   $8000-FFFF, $E000

   $8000:  Disable and acknowledge IRQ
   $A000:  Enable IRQ
   $E000:  8 KiB bank mapped at $C000
 
 PRG Setup:
 ---------------------------
 
       $6000   $8000   $A000   $C000   $E000  
     +-------+-------+-------+-------+-------+
     | { 6 } | { 4 } | { 5 } | $E000 | { 7 } |
     +-------+-------+-------+-------+-------+

Like INES Mapper 050, this hardware produces an interrupt 4096 M2 cycles after the IRQ is enabled.

The corresponding hardware is a CD4020 functioning as a 13-bit counter, and if the software doesn't acknowledge the interrupt for another 4096 cycles it will self-acknowledge.

See also