The MMC2 mapper was used only in Punch-Out!!.

It had an automatic bankswitching function that could change which bank sprites used halfway down the screen. (Later games would use either sprite 0 (see NES PPU) or a scanline timer (see MMC3) to time when to switch banks manually.) If a sprite or background tile is drawn with index $FD (PPU $0FD0-$0FDF or $1FD0-$1FDF), then the internal latch is set to 'D' for all following scanlines. Likewise, if a sprite or background tile is drawn with index $FE (PPU $0FD0-$0FDF or $1FD0-$1FDF), then the internal latch is set to 'E' for all following scanlines.

76543210  $A000-$AFFF
||||||||
++++++++- Select 8 KB bank in CPU $8000-$9FFF
          ($A000-$FFFF is hardwired to last 3 banks)

76543210  $B000-$CFFF
||||||||
++++++++- Select 4 KB bank in PPU $0000-$0FFF

76543210  $D000-$DFFF
||||||||
++++++++- Select 4 KB bank in PPU $1000-$1FFF
          to be used when latch is set to 'D'

76543210  $E000-$EFFF
||||||||
++++++++- Select 4 KB bank in PPU $1000-$1FFF
          to be used when latch is set to 'E'

76543210  $F000-$FFFF
       |
       +- 0: Vertical mirroring;
          1: Horizontal mirroring

I found this in a public source; because I haven't verified the information in an emulator, I don't know if this is right or not.

(return to) iNES Mappers

Log in or register to write something here or to contact authors.