Another CPS1 on the bench, it’s a very unreliable hardware and it is prone to several failures over the ages. It come from the personal collection of Sasha a friend of mine, the board seems to play in the right way few days ago, but once on the test bench for a quick checkup with my surprise it perform a solid black screen.
The usual suspect in this case is the battery, a CR2032 button type, that keeps the decryption table alive on the “C” board. I picked up the multimeter and promptly tested it:
.. 0.8 volts are not enough to power up the RAM inside the CPS-B-21 custom chip on the underside of the small “C” board, so it must be replaced or removed at all. This is a clear sign that the board has been committed “suicide”.
To confirm my suspect and to be sure this is the only issue that prevent the game from running i swapped the encrypted program eproms with the proper decrypted and flashed ones and swapped the Three Wonders “C” board too with a ready-to-go one taken from a Pang3 on my personal collection. This must be done because as we can see later in this post its original “C” board needs an hardware modifcation to be able to run decrypted program code. Here we go …
Once feeded the power to the board i was greeted with the usual CPS1 startup RAM tests and then the game:
This is a good sign that the board is almost working in the right way, but sometimes the audio samples and FM music were wrong or they were missed at all. Power cycling the game bring the audio back, but after few seconds it goes away again. I’ll take care of it in the next post, because the culprit should be spotted on the main CPU board, now we must take care of our “suicide” battery.
So we can proceed by reprogramming the 4 EPROMs containing the encrypted program code, they are seated on 30, 31, 35 and 36 sockets on the “B” CPS1 game board. I gently and carefully removed the labels:
Once the UV EPROM windows have been exposed they can be cleared with an erasing cycle on my EPROM eraser:
The process will take about 20 minutes, so in the meanwhile we can take care of our “C” board and make the hardware modification required to let the CPU running the proper program code. You can find all the useful information about CPS1 de-suicide procedure in this site:
Here is the suggested procedure taken from the above site:
“To fix your game, download one of the patched sets below and take a look at the file names. Find the EPROMs on your board that correspond to the file names and burn the new data onto an EPROM that is the same size as the original. Remove the original EPROM(s) and put the freshly programmed EPROM in thier place. Now you’ll need to make some modifications to your c-board. First remove the battery. Next, locate pins 45 and 46 on the CPS-B-21 chip. You’ll notice there are tiny traces connecting these two pins to ground. Carefully cut these traces with an exact-o knife or whatever works. Don’t cut the nearby traces. After cutting, it would be a good idea to measure resistance from ground to these pins with a volt meter’s ohms setting. If there’s still a connection, you’ll get a reading of near zero ohms resistance to ground. However, once severed, the pins still won’t read open because of the CPS-B chip’s internal connections. You should read a few mega-ohms of resistance to ground. If you are working on 3 Wonders, or a similar c-board, you may think there are no traces connected to pins 45 and 46 to cut. They are still there, they are just connected to the pins from under the chip where you can’t see them. You will have to snip the bottoms off those pins, leaving enough to solder to. Do not connect +5v to these pins until you are sure they’re no longer connected to ground or you will be making a very short path from +5v to ground and smoke and fire will be sure to follow if you apply power. Once these pins are cut, add a blob of solder to the two pins and run a wire to a nearby source of +5v to pull them high. Here’s a picture. If your game works but the graphics drop out and disappear at certain points, you might want to test pin 40 to make sure it’s also being pulled high. This is the pin that formerly was supplied power by the suicide battery. It should normally be pulled high when the game is on, but you may have a bad diode or something causing it to not get pulled high.”
I removed the battery:
… and than i made the required modifications to the board, i secured the patching wire with some hot glue too:
Once the EPROMs are cleared and tested blank they have been programmed with the decrypted code, original labels were applied in place, and than i re-seated the ERPOMs on their sockets.
The modified original “C” board has been plugged in and now we must proceed with the smoke test … finger crossed as usually:
… and the board il playing fine, but now the audio is totally missed. I swapped for a known good “A” main CPU board, and with this board the audio is playing flawlessly so the “B” and “C” boards are fully working .. good news for my friend Sasha.
STAGE 1 CLEAR … stay tuned for the next “audio fixing” stage …
Get ready for next stage!
Troubleshooting issues on CPS1 A board is sometimes quite difficult because the stacked ROM board covers the CPU board, prevent accessing the chips, especially with the “short” board which is populated by SMD (surface mount) ICs.
By the way you can use special cable extensions with 64 pins IDC connectors, so you can put aside the B and C boards.
In this way the chips are exposed so you can use against them your favourite tools 🙂
Here is a close-up of the audio section of the board:
I started checking control signals on the Z80 audio CPU, pinning the probe on the clock line on pin 6 reveals a totally silent line, an healty cpu clock should be a sqare wave with rising and falling edges for each clock period like this:
this can be due by a very bad cpu, a broken trace or a bad crystal clock oscillator. It’s very rare to find a bad cpu with an internal short circuit on the clock line i think, i never found one, so i checked the trace from the oscillator to the cpu and it was good, so the coscillator should be damaged, i removed it …
… and replaced with a good one …
I powered up the game and the audio was fine! Board fixed!