INES Mapper 136: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(There are *two* other versions, not one.)
(Update link to PCB picture)
 
(2 intermediate revisions by the same user not shown)
Line 22: Line 22:
  Write $8000-$FFFF: Output := Register; written value is ignored.
  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:
In Mapper 136, bits 0/2 of the 8 KiB CHR ROM bank number (CHR A13..A15) come from Output bits 0-2, and the 32 KiB PRG ROM bank number (PRG A15) comes from Output bit 4:
  8 KiB CHR ROM bank number := (Output &3);
  8 KiB CHR ROM bank number := (Output &7);
  32 KiB PRG ROM bank number := (Output >>4) &1;
  32 KiB PRG ROM bank number := (Output >>4) &1;
Sachen's original '''3011''' circuit board only supported CHR ROM switching. The connection to switch 32 KiB PRG ROM was obtained by [https://datomatic.no-intro.org/attachments%20-%20sources/Nintendo%20-%20Nintendo%20Entertainment%20System/20210330_144245_3138_pcb_back.jpg soldering an additional wire/resistor].


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.
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.

Latest revision as of 09:07, 16 February 2024

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 use mappers 79 or 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/2 of the 8 KiB CHR ROM bank number (CHR A13..A15) come from Output bits 0-2, and the 32 KiB PRG ROM bank number (PRG A15) comes from Output bit 4:

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

Sachen's original 3011 circuit board only supported CHR ROM switching. The connection to switch 32 KiB PRG ROM was obtained by soldering an additional wire/resistor.

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