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