INES Mapper 136: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
NewRisingSun (talk | contribs) (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)) |
NewRisingSun (talk | contribs) (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'' ( | * ''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.