First of all I want to thank JROK for providing me all the technical info and allowing its public release, without his help I would not have ever made.Let’s start with the story.
Some time ago a friend of mine sent me his Splatterhouse PCB bought as working saying it got stuck upon boot on ‘ROM TEST START!! PLEASE WAIT..’ message displayed upside down on a screen filled with red zero.So I started to investigate on the net and found that usually this kind of issues are caused by a faulty custom chip marked ’64A1′ @M4 on ROM board.This was confirmed by swapping this IC in another CPU board of Galaga88 with this missing component , in this case I got an ‘EEPROM ERROR’ message which is a further proof of the fault.
Thanks always to JROK we know that this ’64A1′ custom IC is nothing else than a HD63701 MCU with the exception of two custom opcodes not present in original part.You can go deeper into technical reading here:
So, programming a blank HD63701 MCU with the available dump from MAME won’t work due the presence of these two custom opcodes.So, patching a ROM is needed.
In the specific you have to change three bytes in the ROM “VOICE0” at a specific offset.For example : in Splatterhouse the offset is $FA8B and the new HEX values are “20 01 56”.
The string to search for in HEX is “B7 C0 00 6E 00” and the first 3 bytes must be changed to “20 01 56”
The patch seems to be needed at offset $FA8B for most games, but not all. Here’s a reference table :
Tank Force – $FA29
Blazer – $FA8B
Dragon Spirit – $FA8B
Galaga 88 – $FA8B
Marchen Maze – $FA8B
Rompers – $FA8B
Blast Off – $FA8B
World Court – $FA8B
World Stadium (and WS ’89, WS ’90) – $FA8B
Bakutotsu Kijuutei (Baraduke 2) – $FA8B
Beraboh Man – $FA4E
Dangerous Seed – $FA8B
Face Off – $FA29
Pisto Daimyo no Bouken – $FA8B
Puzzle Club – no voice ROM !
Quester – $FA1B
Souko Ban Deluxe / Boxy Boy – $FA8B
Yokai Douchuuki (Shadowland) – $FA8B
So, it was only matter to find some real blank HD63701.My first attempt failed since I bought as new some ICs that they turned out to be already programmed and, since they were the plastic HD637B01VOP one-time-progfammable version, they were unusable for my purpose.But then I was luck and found some HD63701VOC UV erasable ones:
So, it was only matter to program one of these MCU with MAME dump using my Hi-Lo Systems ALL-11C EPROM programmer and, at the same time, replace the ROM ‘VOICE0’ with the properly patched one.Once done, I had confirmation of what the good JROK said about. Operation ‘NAMCO custom 64A1 replacement’ accomplished.