INES Mapper 136: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
mNo edit summary
m (Correction and amendment)
Line 10: Line 10:


==Registers==
==Registers==
Mapper 136 uses a custom IC (marked "JV001") 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).
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
  Mask: $E103
  Read $4100-$4103: [..RR RRRR]: Read internal register. Bits 3-5 are inverted if Invert==1. Bits 6-7 are open bus.
  Read $4100-$4103: [..RR RRRR]: Read internal 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-2 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-2 of Register incremented by one, bits 3-5 unaffected.
               When Mode==1: Bits 0-3 of Register incremented by one, bits 4-5 unaffected.
  Write $4101: Invert := Written value bit 0.
  Write $4101: Invert := Written value bit 0.
  Write $4102: Input := Written value bits 0-5.
  Write $4102: Input := Written value bits 0-5.
Line 30: Line 30:


==Similar Mappers==
==Similar Mappers==
The custom IC was first analyzed for [[INES Mapper 036]]. [[INES Mapper 173]] is similar to Mapper 136 except that CHR A14 used the inverted Invert register instead.
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 136 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

Revision as of 08:32, 24 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)

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 internal 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 136 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