So recently there was discussion about whether or not one of byuu’s datapak dumps for Satellaview held up to scrutiny. Since I happened to pick up the exact same game while recently in Japan — because it looked cool, not because I thought it needed redumping — I thought why not redump it.
The Satellaview (BSX) cartridge and the Datapak cartridge are shown on the left. The Satellaview was an interesting peripheral (or rather console) in and of itself. It could download games and store them on re-writable Datapaks, but there were also read-only Datapaks like the Same Game packs, which would feature game-specific graphics that could be swapped with other games.
I thought dumping it would be a good exercise and pretty straightforward. The Datapak comes with a female socket for an edge connector with 62 pins at 1.27mm pitch. So I build an adapter cable from 2.54mm pitch using wires. For dumping I would just use a Teensy++2.0 (which uses 5V) and wire up all the address, data and control lines.
What gave a lot of trouble at first was the irregular pinout of the mask ROM. It’s a TC534003CF and it doesn’t use the JEDEC pinout. I figured out which lines were which only to later find the same info in the NESDev Wiki and even later a more complete edge connector pinout on their NESDev forums. Well, should have checked first 🙂
It didn’t help that at first I wouldn’t get any output, because the #CS line had a cold solder joint, but would magically work when I pressed down on the PCB to measure while asserting and deasserting the line. But once everything was fixed — bar a very embarrassing coding error that forced me to go only at 800 Bits/s for this dump — I got to the actual dumping:
The result can be found in DoM and the dump matches the known dump, so the internal checksum really is wrong or at least calculated differently.