I'm currently in the process of fixing an Asteroids PCB so I can get a restored Asteroids cabinet I bought awhile ago up and running. The cabinet restore was virtually done, just some minor wiring to be finished and installing a monitor and pcb that was included in the package.
I was given a pcb that was supposedly working along with three parts boards.
When I fired up the game with the board installed it appeared dead- nothing on the screen, no sounds, and the player 1 and 2 lights steadily lit.
I recently bought a 5004a Signature Analyzer and built an edge connector to supply +5v and GND to the board for testing. This allows me to sit comfortably at my bench for troubleshooting. I was looking forward to testing the board with this new tool. However the nature of the initial set of problems were such that the Signature Analyzer couldn't be used. The connector, however, has been very useful and is much easier than diagnosing from the back of the cabinet.
This board had a number of problems that I've repaired and detailed below. These problems were diagnosed with a logic probe and digital multimeter.
First, I noticed that the 4016 @ M9 was getting very hot and smelled like burning plastic. It had previously been socketed so it was easy to pull and replace it. New chip seems to run at a normal temperature.
I pulled the game's 6502A and, after installing in a known working pcb, found it was bad. Replaced it as well.
Pressing the reset button had no effect. Socketing and replacing the following chips fixed the reset button:
Output pin 10 of the 74ls14 @ B6 stuck low.
Output pin 8 of the 74ls74 @ D4 stuck low.
After socketing and replacing both of these chips, I realized that the board's RESET line was shorted to ground, holding the RESET input to the 6502A low and not allowing it to run (it should normally be high). When I took a continuity measurement on the new socket (no chip installed) @ D4 between pins 7(GND) and 8(output to RESET), I found I had continuity. I verified that on my Asteroids parts boards, none of them had continuity between these pins.
Finding the shorted chip turned out to be more difficult. After cutting each leg connected to the RESET line from every chip on the board. I've found, socketed and replaced a number of chips that were internally shorting RESET to ground:
74ls174 @ N7
74ls174 @ P7
74ls174 @ P10
74ls174 @ D8
74ls08 @ E6
There were four chips in this circuit that weren't shorted:
74ls109 @ A9
74ls259 @ M10
74ls08 @ K6
74ls164 @ K9
Now that the board's reset line was working, the watchdog would constantly reset in game mode. Self test ran fine with beeps when controls were pressed. I didn't have a picture up as my two monitors still have issues and I'm just trying to get the game to run blind.
Now I could use my Signature Analyser! Ran all the tests in the Signature Analysis Guide and all the signatures are correct. The Signature Analysis Guide includes signatures for about half of the board (the vector generator is not included). So it helped confirm what was working, but didn't help much in this case to find the problem.
Just to be sure, I pulled and verified the roms. All were ok, but the pins were rusty and about to fall off of one of the roms. Burnt and installed a new set of roms.
The signature Analysis shold have found a problem here, but just to be sure, checked for shorted pins in the rom sockets - all ok.
I cut pin 1 of L6 (DMAGO) which isolates the Vector Generator. Game quit resetting and I was able to play a game blind. So the problem was in the VGM - which can be difficult to diagnose.
After following the schematics around with the logic probe, I found and fixed the problem with the board resetting. Turns out the problem was in the Vector Generator Program Counter.
Pin 6 of the LS74 @ D4 was low when it should have been high (the opposite of pin 5). This was a chip I had socketed and replaced previously. When I pulled the chip, I found the output was not dead, but low. Turns out the LS32 @ B9 pin 10 (input from the LS74) was shorted to ground. When I cut the leg to pin 10, the game stopped resetting. I socketed and replaced the chip and was able to play a game blind with DMAGO connected.
Finally, I tested the X and Y outputs from the board with a multimeter. I found that one was +14v and the other was 0v. All the chips except the DACs had been previously socketed, so after some chip swapping, found that one of the TL081 chips was bad. Swapping this chip between the outputs would also swap which output was +0v. Pulled a couple TL081s from my Asteroids parts boards and found they were bad also - so I've got to order a new replacement...
Hopefully this will finally fix this board...