I Hear That Asteroids Machine Calling My Name
I still remember the first time I ever touched an Asteroids machine. It was in a dark arcade in Vallejo, one of those ones that had popped up in an empty storefront in a shopping center. The machine was different than all the others in the arcade, it was a lone cocktail cabinet amid the uprights that were packed anywhere they could fit them. I dropped in a quarter to see if I could make sense of the game, and was amazed at how fun it was controlling the ship. Of course I died quickly because I was more interested in flying the ship than shooting or dodging asteroids. I dropped in quarter after quarter having a good time messing with the physics of piloting the primitive space craft, and soon my pockets were empty.
Right after moving into my current house I picked up an Asteroids game that wasn't working for cheap. It was missing the coin door and the cabinet is a little rough, but the monitor, the power supply, the audio board, the control panel, and the Asteroids board were all there. I figured I'd get it working, fix up the easier cosmetic things, play it a bit, and then sell it as soon as I got bored with it. But things happened and it just sat and sat, waiting for me to work on it.
Last week was CRT Week on RetroBattlestations and it inspired me to pull the board out of the cabinet and see if I could power it up on my bench using my Tektronix 453 as a screen for it, similar to what I did with Tempest a long time ago. One of the things that had made me put off working on the Asteroids was that it uses 36VAC to power some of the circutiry. Every so often I would consider getting a transformer that could produce the required AC voltage but they have always been expensive and I didn't want to spend that kind of money just to bench test an Asteroids board.
When I was working on the TRS-80 Model I on my workbench it also was designed to use some weird AC voltages, but I was able to power it off my DC bench supply after seeing that the AC voltages are immediately rectified. The Asteroids does the same thing and so I was able to use the same trick. I set the two variable outputs to 18V and tied them together and made the center of them the common ground for the fixed 5V output.
There's test points on the board to clip ground and 5V onto, but none for the AC so I just clipped them in on the diodes in the bridge rectifier. It's a little tricky since there is a large ground plane around the diodes and if your clip touches them it will short to ground. I recommend using a bench supply with short circuit/over current protection.
Over the last 10 years there have been a lot of Asteroids repair logs posted, so I was really hoping that getting this board working would be an easy fix of just looking up the symptoms and replacing some parts. Nope, of course not.
While Asteroids would play and sounds worked, there were a lot of strange graphics glitches. All the text was flattened, the large asteroids were invisible, and some of the regular and small ones were missing lines. In self test mode the cross hatch and dip switches didn't display at all. Since the game was playable, the problem had to be somewhere in the Vector State Machine (VSM). It seems like there's a lot of things that can go wrong in there and no repair logs had the exact same symptoms as mine.
I spent the weekend going over the schematics and poring over every repair log or bit of theory I could find, trying to see if I could understand the VSM. There's just so many things going on in the VSM that I found it impossible to really get my head around, at least in such a short time.
Going around with the logic probe on what seemed like a stuck line didn't really help. Same thing with using my logic analyzer. It was hard to know which chip might be the problem, and even though it's fairly easy for me to yank out a chip with my Hakko 808, pop it into the TL866CS and test it, I didn't want to end up ripping out every chip just to see that they're still good.
Monday morning I started thinking that maybe the text and invisible asteroids were a scale problem. Skimming the schematics I didn't see anything describing how scaling is done, but I was sure I had seen something talking about scaling chips somewhere. Back to one of the repair logs I had read earlier, and this entry stuck out at me:
Symptom: The large asteroids (before they're shot and get smaller), are OK. Any smaller asteroid, or your ship, or enemy ship, are too small. Other than that, test, diagonal crosshatch, game play, all OK. Problem was 74LS175 chip location M7 pin 2 was stuck low. This chip latches the scaling factor to inputs on the adder. Replacing this chip corrects the problem.
The symptoms didn't really match mine, but it talked about a chip that was involved in the scaling calculations. With that knowledge I was able to go back to the schematic and start looking around and see what other chips were involved. Logic probe in hand I powered up the board to see if I could find anything stuck. Sure enough, I found pin 9, SCALE3, on the 74LS273 at K7 was stuck high. Instead of ripping out the chip I tried piggybacking another '273 on top of it and the output wasn't stuck anymore. But it didn't fix anything, the graphics were still messed up. I traced the line up to the 74LS175 at M7 and found its outputs were also stuck. Piggybacking a '175 on top of it and that did it! Graphics seemed to be working correctly! I pulled the piggybacked '273 off and graphics were still working. Removed the piggybacked '175 and the graphics stopped working. M7 was it.
I quickly desoldered M7 and tossed it in the TL866CS just for kicks. The TL866CS said it was good! How can that be? I just verified it was bad!
I soldered in a socket and put the original '175 from M7 in it and fired up the board. Sure enough, it was working now! What the heck? Several people have suggested that it might have been a cold solder joint, but I don't know. The input pin on the '175 was stuck high, which seemed to be holding the output pin on the '273 high, although I was able to override it with a piggybacked '273. And after piggybacking the '273 I could see the input to the '175 was no longer stuck yet the output was still stuck, but piggybacking a '175 fixed the output.
I don't know, it works now. And I didn't have to order any parts. If the '175 fails again there's a socket in there now and I'll just swap it out with the spare I had used for testing.
Now I can get back to piloting that ship and I don't have to worry about running out of quarters!