INES Mapper 187

From Nesdev wiki
Revision as of 12:01, 24 April 2019 by Lidnariq (Talk | contribs) (defaultsort)

Jump to: navigation, search

iNES Mapper 187 is used for the 卡聖 (Kǎshèng) A98402 and similar boards, an MMC3-clone-bearing board with an NROM-like PRG-ROM register that can override the MMC3 clone's PRG-ROM bank. Used by:

  • Street Fighter Zero 2 (Kǎshèng/Hummer Team, not Street Fighter Zero 2 '97)
  • The King of Fighters '96 (Kǎshèng/Hummer Team)
  • 餓狼伝説 Special (Garō Densetsu Special, Kǎshèng re-release, originally released by 哥德 (Gouder) on INES Mapper 116)


NROM Override Register ($5000, $6000)

Mask: Unknown; FCEUX basically uses $FFFF

D~7654 3210
  |||  ++++- Select 16 KiB PRG-ROM bank at CPU
  |||        $8000-$BFFF and $C000-$FFFF
  ||+------- 0: Do not replace bit 0 (NROM-128)
  ||         1: Replace bit 0 with CPU A14 (NROM-256)
  |+-------- 0: Do not shift BBBb to the right by one bit
  |          1: Shift BBBb to the right by one bit (*)
  +--------- 0: Use PRG bank from MMC3; ignore $6000 bits 0-3/5
             1: Ignore PRG bank from MMC3; apply $6000 bits 0-3/5

(*) This seems to be more of a heuristic by FCEUX to differentiate two different boards rather than actual hardware behavior.

Protection Read ($5000-$5FFF)

Mask: Unknown

The actual values that are returned are unknown; The King of Fighters '96 reads from here and only expects bit 7 of the value being returned to be set.

CHR A18 Control ($8000-$9FFF, even)

Mask: $E001

D~7654 3210
  M... ....
  +--------- Select CHR A18 Mode
              0: CHR A18=inverted PPU A12
              1: CHR A18=PPU A12

Basically, either sprites or background tiles will come from the the second 256 KiB of CHR-ROM. Note that setting bit 7 will still also activate the MMC3 clone's CHR A12 inversion.

MMC3-compatible registers ($8000-$FFFF)

Mask: $E001, see MMC3.


Similar Mappers

  • iNES Mappers 115 and 123 have similar NROM override registers, with Mapper 123's bits arranged a bit differently.
  • iNES Mapper 121 has the same CHR A18 behavior, drops the NROM override register, and adds more complex protection.