INES Mapper 187

From NESdev Wiki
Revision as of 11:47, 10 May 2019 by NewRisingSun (talk | contribs) (Garō Densetsu Special (Kǎshèng re-release) is actually INES Mapper 115, allowing the removal of an ugly heuristic from Mapper 187's definition.)
Jump to navigationJump to 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, and supports 512 KiB of CHR-ROM. 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)

Registers

NROM Override Register ($5000)

Mask: Unknown, probably $F000

D~7654 3210
  ---------
  M.NB BBb.
  | |+-+++-- Select 16 KiB PRG-ROM bank at CPU
  | |        $8000-$BFFF and $C000-$FFFF
  | +------- 0: Do not replace bit 1 (NROM-128)
  |          1: Replace bit 1 with CPU A14 (NROM-256)
  +--------- 0: Use PRG bank from MMC3; ignore $5000 bits 1-4/5
             1: Ignore PRG bank from MMC3; apply $5000 bits 1-4/5

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.

Errata

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.