INES Mapper 187: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(Address mask)
(Remove similar wording as mapper 121's.)
 
(One intermediate revision by one other user not shown)
Line 3: Line 3:
* ''Street Fighter Zero 2'' (Kǎshèng/Hummer Team, not ''Street Fighter Zero 2 '97'')
* ''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)
* ''The King of Fighters '96'' (Kǎshèng/Hummer Team)
Only King of Fighters '96 has 512 KiB of CHR-ROM; CHR A18 (the second half of CHR-ROM) is directly selected by PPU A12, regardless of what the MMC3 is set to do. This means that the "left" pattern table always uses the first and the "right" pattern table always uses the second 256 KiB half of CHR-ROM.


=Registers=
=Registers=
Line 22: Line 24:


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.
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)==
==MMC3-compatible registers ($8000-$FFFF)==

Latest revision as of 22:29, 29 December 2024

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)

Only King of Fighters '96 has 512 KiB of CHR-ROM; CHR A18 (the second half of CHR-ROM) is directly selected by PPU A12, regardless of what the MMC3 is set to do. This means that the "left" pattern table always uses the first and the "right" pattern table always uses the second 256 KiB half of CHR-ROM.

Registers

NROM Override Register ($5000)

Mask: $F001

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.

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.