Anyway, the first problem I had was that the LED (light emitting diode) on the ZPU-1000 board would stay on. Checking the reset circuit, I found that it was stuck low (grounded). Of course the battery that someone left on the board had leaked acid onto and destroyed the power-on reset circuit - most of which is shown below albeit slewed (click to view larger size):
The first thing I did was to get as much of the acid off the board as I could. To do this I mixed up a strong concoction of 50% white vinegar, 50% water as suggested to me by someone on RGVAC. With a toothbrush and a small screwdriver, I was able to clean up the board a fair amount.
After my back got soar of crouching down in front of the cab (that sliding front door is great though!), I unplugged the ZPU-1000, took it to my bench, and made a power adapter for it.
With my DMM (digital multi-meter) set to the audible resistance setting, I started ohming out all of the traces. Of course it helps to have the schematics and you can get a complete set for just $25 from my favorite schematics supplier Marco Specialties. Anyway, I found that the acid had eaten away a lot of the traces. If that wasn't enough, I found out that it is a bitch to try to solder to components that have been eaten away by acid. There's just not much left to solder to after the acid gets through and it is very difficult to desolder anything. After a few hours and many jumpers later, I managed to replace all of the destroyed traces.
Despite the fact that all the traces had been restored, the game's reset line was still stuck low so I began to test the components on the board with my DMM. There were a few transistors that looked suspicious but everything else looked OK. At this point, if I forced the reset high, by jumpering the reset test point to 5V, then the game would boot up. Some people do it this way and forget about it but that's not good enough for me.
In the end, it turned out to be Q3 (transistor 3). And you know what? Q3 was the culprit on both boards. It looked OK in circuit but once I had narrowed everything down it was just a matter of going back and removing the transistors and testing them. You really can't test a transistor in-circuit. If you try you will get a false reading most of the time. However, when one of them is a dead short, then you will be able to see it in-circuit. In my case, Q3 was not shorted so it appeared OK. Well it wasn't obvious anyway.
There is generally some bad acid damage is in the area of ICs(integrated circuits) 7G and 8G. Nearly all of their traces were gone on both of my dead Berzerk boards. They are at the bottom of the reset circuit, below the battery and are a vital part to the reset circuit. If your board does not even light up, then you may have a problem in this area.
Once I got the game to boot up it was time for a test so I put it the ZPU-1000 back into the cab and powered it up. To my dismay I got annoying continual beeping. Refering to Dennis' page on which he was nice enough to type in the entire self test explanation, I was directed to check the ram and Q2 on the ZPU-1000. I powered down, reseated the ram and then it came up. Later on it did the same thing and I tapped Q2 and it came up so I must have a bad solder joint.
Well I guess that is enough Berzerk technical talk for now. If you have a problem with a Berzerk, feel free to drop me a line. I hope this helps somebody. The Berzerk boards, due to their acid damage are hard to come by. Hopefully people will attempt to repair them or at least give them to someone who will before just throwing them away.
Watch me as I troubleshoot a Berzerk ZPU-1000 reset circuit. I sure wish I had this when I started!
These are Quicktime movies, about three minutes each.
ZPU-1000 Part 1
ZPU-1000 Part 2
ZPU-1000 Part 3
8690 people have learned how to fix Berzerk.