2000000 in 1
Type | multi | Mapper | 935 | Original mapper | 0+4 | PCB marks | BS007 BS-007 | Tags: | | Uploaded: | 2021-08-10 12:01:04 |
| |
Elements:
Chip signature:
AX5202P(MMC3)+27F080+27F080+74273+74153+7402+7400
PCB top:
PCB bottom:
Shell top:
Shell bottom:
Screenshoots:
Extra info:
One of those few cartridgs with MMC3 and NROM games.
MMC3 alone cannot run NROM games because it has fixed bank at $c000/$e000 so extra logic is needed to fool it's CPU-A14 line to 0 (and extra register at $6000-$7fff to extend PRG to 1MB)
fedcba9876543210
[011.....ECCPPaxb] $6000-$7fff (writable only when $a001 = $80)
|||||+-+-- PRG mode
||||| +--- PRG A14 (see bellow)
||||+----- PRG A18 (always)
|||+------ PRG A19 (always)
||+------- CHR A17 (always)
|+-------- CHR A18 (always)
+--------- PRG enabled: 0=yes, 1=no (without that feature, menu is 1000000 in 1, not 2000000 in 1)
[.S......] - MMC3's PRG sel register ($8000
[...ppppp] - MMC3's PRG REG 0 (accessed via $8001 when $8000=6)
[...qqqqq] - MMC3's PRG REG 1 (accessed via $8001 when $8000=6)
Sba | $8000 | $a000 | $c000 | $e000 | note:
----+---------+---------+---------+---------+
00* | PPppppp | PPqqqqq | PP11110 | PP11111 | used for up to four different 128k MMC3 games
010 | PP0ppxp | PP0qqxq | PP0ppxp | PP0qqxq | used for 16k NROM
011 | PP1pp0p | PP1qq0q | PP1pp1p | PP1qq1q | used for 32k UNROM
10* | PP11110 | PPqqqqq | PPppppp | PP11111 | used for up to four different 128k MMC3 games
110 | PP011x0 | PP0qqxq | PP011x0 | PP0qqxq | nonsense
111 | PP11101 | PP1qq0q | PP11110 | PP1qq1q | nonsense
//dumping script - M2 toggling must be ON
cpuWrite(0xa001, 0x80);
cpuWrite(0x8000, 6);
for (int i = 0; i < 1024 / 8; ++i) {
cpuWrite(0x6000 | shi(i, 6, 4) | shi(i, 5, 3), 0);
cpuWrite(0x8001, (byte)(i & 0x1f));
cpuRead(0x8000, 0x9fff);
}
cpuWrite(0x8000, 2);
for (int i = 0; i < 512 / 1; ++i) {
cpuWrite(0x6000 | shi(i, 8, 6) | shi(i, 7, 5), 0);
cpuWrite(0x8001, i & 0x7f);
ppuRead(0x1000, 0x13ff);
}
----------------
The cartridge has two quirks:
* First one is that Mario, when started, can't be controlled, you need to press start again (this behaves same on real hardware and emu)
* Second, the first game (Captain Tsubasa 2 in Arabic) hangs after start (there is music but black background). This happens on real cart, but when dumped and played on emu - it works correctly!
This game is infamous for writing to CHR registers values > $7F (while it has 128kB CHR RAM).
The ROM, floating around internet, called "Captain Tsubasa Vol. II - Super Striker (Arabic) (Unl) [!].nes" has all those writes (tens of it) corrected by replacing
STA $8001
with
JSR $FFC0
and adding this little stub:
0F:FFC0: 29 7F AND #$7F
0F:FFC2: 8D 01 80 STA $8001
0F:FFC5: 60 RTS
(the game on this 2000000 in 1 cartridge does not have this correction).
It should not matter because MMC CHR A17 is not routed to anything.
The second difference is that
Comments:
Stefan: | 2023-12-18 19:46:09 |
i want 1994 2000000 in 1 dump |
Want to leave a comment?