INES Mapper 136: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
mNo edit summary
mNo edit summary
Line 5: Line 5:
* ''四川麻將'' (Sìchuān Májiàng, "Mahjong Trap", original Taiwan release of ''Shisen Mahjong - Seifuku Hen'') (TC-010)
* ''四川麻將'' (Sìchuān Májiàng, "Mahjong Trap", original Taiwan release of ''Shisen Mahjong - Seifuku Hen'') (TC-010)
* ''麻将方块'' (Mahjong Block) (TXC re-release) (MGC-008)
* ''麻将方块'' (Mahjong Block) (TXC re-release) (MGC-008)
* ''Rad Racket'' - Deluxe Tennis II (TXC release, MGC-011)


==Banks==
==Banks==
Line 13: Line 14:


  Mask: $E103
  Mask: $E103
  Read $4100-$4103: [..RR RRRR]: Read internal register. Bits 4-5 are inverted if Invert==1. Bits 6-7 are open bus.
  Read $4100-$4103: [..RR RRRR]: Read Register. Bits 4-5 are inverted if Invert==1. Bits 6-7 are open bus.
  Write $4100: When Mode==0: Bits 0-5 of Register := Input, bits 0-3 being inverted if Invert==1.
  Write $4100: When Mode==0: Bits 0-5 of Register := Input, bits 0-3 being inverted if Invert==1.
               When Mode==1: Bits 0-3 of Register incremented by one, bits 4-5 unaffected.
               When Mode==1: Bits 0-3 of Register incremented by one, bits 4-5 unaffected.

Revision as of 22:34, 26 December 2017

INES Mapper 136 is used by three original (pre-Sachen) releases from Joy Van, and some TXC games:

  • 未来小子 (Wèilái Xiǎozi, "Joy Van Kid", original Taiwan release of Metal Fighter µ with Chinese title screen) (TC-008)
  • 蝶變 (Diébiàn, "Incantation", original Taiwan release of Galactic Crusader with Chinese title screen, often incorrectly rendered as Japanese "Chou Hen") (TC-009)
  • 四川麻將 (Sìchuān Májiàng, "Mahjong Trap", original Taiwan release of Shisen Mahjong - Seifuku Hen) (TC-010)
  • 麻将方块 (Mahjong Block) (TXC re-release) (MGC-008)
  • Rad Racket - Deluxe Tennis II (TXC release, MGC-011)

Banks

  • PPU $0000-$1FFF: 8 KB switchable CHR ROM bank

Registers

Mapper 136 uses a custom IC (marked "JV001" or "GS63030-A") serving as a latch, adder and inverter. There are five registers: Input (6 bits), Output (6 bits), Register (6 bits), Mode (1 bit) and Invert (1 bit).

Mask: $E103
Read $4100-$4103: [..RR RRRR]: Read Register. Bits 4-5 are inverted if Invert==1. Bits 6-7 are open bus.
Write $4100: When Mode==0: Bits 0-5 of Register := Input, bits 0-3 being inverted if Invert==1.
             When Mode==1: Bits 0-3 of Register incremented by one, bits 4-5 unaffected.
Write $4101: Invert := Written value bit 0.
Write $4102: Input := Written value bits 0-5.
Write $4103: Mode := Written value bit 0.
Write $8000-$FFFF: Output := Register; written value is ignored.

In Mapper 136, bits 0/1 of the 8 KiB CHR ROM bank number (CHR A13/A14) come from Output bits 0/1:

8 KiB CHR-ROM bank number := (Output &3);

Games will check the lower six bits of $4100 for the correct value after several increment and inversion operations, again as a copy-protection measure.

Errata

  • 麻将方块 (Mahjong Block) (TXC re-release, headerless CRC32 0ACFC3CD) is commonly set to INES Mapper 173, but since it expects Output bit 1 to select CHR A14, it actually uses INES Mapper 136. Note that the original Super Mega release of the game uses INES Mapper 172.

Similar Mappers

A similar custom IC was first analyzed for INES Mapper 036. The custom IC used on mapper 136 has 28 pins, while the one used on Mappers 36 and 173 only has 24 pins. Mapper 172 also uses the 28-pin JV001 custom IC, but mounts it upside down, resulting in rather round-about board topology and differently-connected pins.