INES Mapper 136: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(The Sachen 3011 PCB can switch PRG-ROM as well, which is used for at least one game (http://ototo2009.blog40.fc2.com/blog-entry-24.html))
(Do not commit to which version is the earlier one.)
Line 4: Line 4:
* ''蝶變'' (Diébiàn, "Incantation", original Taiwan release of ''Galactic Crusader'' with Chinese title screen, often incorrectly rendered as Japanese "Chou Hen") (TC-009)
* ''蝶變'' (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)
* ''四川麻將'' (Sìchuān Májiàng, "Mahjong Trap", original Taiwan release of ''Shisen Mahjong - Seifuku Hen'') (TC-010)
* ''Mahjong Companion'' (original version, later version uses [[INES Mapper 139]] instead.
* ''Mahjong Companion'' (alternative version, more common version uses [[INES Mapper 139]] instead.


==Banks==
==Banks==

Revision as of 20:12, 30 November 2019

INES Mapper 136 is used to denote the Sachen 3011 board, used by four early releases from Joy Van/Sachen:

  • 未来小子 (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 Companion (alternative version, more common version uses INES Mapper 139 instead.

Banks

  • CPU $8000-$FFFF: 32 KiB switchable PRG ROM bank (only used for Mahjong Companion)
  • PPU $0000-$1FFF: 8 KB switchable CHR ROM bank

Registers

Mapper 136 uses a custom IC (real number "JV001", fake marking "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, and the 32 KiB PRG ROM bank number (PRG A15) comes from Output bit 4:

8 KiB CHR ROM bank number := (Output &3);
32 KiB PRG ROM bank number := (Output >>4) &1;

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

Similar Mappers

  • Mapper 136 is almost identical to INES Mapper 132 with only 32 KiB PRG-ROM except in the value read from $4100 due to Mapper 136 having four (28-pin JV001 ASIC) versus Mapper 132 having three adder bits (24-pin 05-00002-010 ASIC).
  • INES Mapper 147 expands CHR-ROM size to 128 KiB and additionally supports 128 KiB PRG-ROM, switched in 32 KiB amounts.
  • INES Mapper 172 is similar to Mapper 136, connecting the six CPU bits in reverse order due to the JV001 ASIC being mounted upside down.

See also