Tempest – PCB Repair Logs

When I picked up my Tempest cabinet – I was fortunate that it came with two sets of boards. Both in unknown working condition. At some point I picked up third set to work on and later a fourth. At the top here are some of the very first PCBs I ever repaired.. My full test bench evolved as I decided repair work was something I really enjoyed.

Board 1

My Tempest cabinet needs a fair amount of rehab work – so I removed everything to simplify the process. If I do more of these in the future – I’ll build a proper test harness. For now – The actual harness worked ok.. It’s not very good as a bench harness – not designed to allow the boards to be spread out.

Once I got things running – the board had signs of life. It was pretty flaky and it’s my first Tempest. Test mode seemed to be much more stable than game mode. In short.. pretty much anything I touched at the EPROM end of the board caused the vector engine to crash. On the scope I could see signals getting to the XY section .. but they didn’t look consistent.

At first I thought I had issues in the analog section – however after trying a few different things. I got the game to play blind.. That’s a great start! After a few minutes it died and then complained RAM5 was bad..

Just for kicks I hit it with freeze spray, hit the reset button and the game booted again and lasted a few more minutes. Could it be that easy? (answer: no)

Pretty much every time I touched this lower corner of the board.. The game crashed. I’ve had mixed results with these original sockets. I like the gold contacts, I don’t like the design. Made the call and replaced them. Afterward – The board was a bit more stable – but I could still flex it in different areas and get it to reset. I did reflow the interconnect (it looked good and had been done before) and tested the interconnect cable.

Flexing the board while holding this guy also caused a reset. Prior work – maybe a flaky connection?

There was a lot of trace damage below the LS245. While adding Kynal wire L’s to each trace – I use a toothpick to hold everything in place.

It accomplishes three things:
– Holds wire for soldering
– Solder doesn’t stick to the toothpick
– Pushes wire to the side of the hole so I can get a socket in cleanly

The green is UV solder mask. It holds the wire in place. UV light cures it in 5-10 seconds.. Without it – the heat from soldering in the socket can cause the little wires to move. Only thing I need to do in the future is clean the flux before using the mask and get a small brush to spread it a bit neater.. (Note: I’ve since found a clear UV resin used for making jewelry that is much nicer looking and very easy to work with)

Not very pretty – but it’s not on the solder side and it’s solid Next one will be cleaner. It looks a little hackier than it is and these are really close up. Practice makes perfect. *** Note – I’ve found a clear UV cure resin since that woks much nicer and creates nearly invisible repairs ***

After all that – the board would run without crashing, unless you flexed it some more. When it crashed – it called out RAM#6. I decided to swap one in. But it was still being temperamental.
Finally after running, flexing and crashing – I was able to pinch the -111 ROM and get the machine to crash on this one chip w/o flexing. Just squeezing it in the socket. These are nice dual wipe sockets.. At the bottom of my suspect list and I had messed with it prior. Replaced the socket and I can officially beat up this board without a reset.

Both RAM I replaced were likely ok – this ROM was tripping them up.

Finally – it wasn’t retaining high scores. Swapped in a known EAROM. No changes. Tested voltage and I was only getting -14v, should be -28v. Put in new Zener diode CR2. No change. Tested CR4 and it showed open out of circuit. Replaced with a 1N4148 – High scores work again!

Board works!

Board 2 – This one I had borrowed a couple chips from..

It needs a lot of cleanup work and there is prior work..

***** I need to go back and fill in a bunch of these early repairs *****

Board 6 – Board in for repair

This one has it all.. I’m essentially taking over a repair from someone else who couldn’t get the board running.

It showed up with a lot of parts removed (and missing).. At least they were neatly removed. No board damage.

Initial Inspection:

  • Missing DAC @A10
  • Missing DAC @D10
  • Missing TL082 @A11
  • Missing Analog switch @B11 (LF13201N)
  • Missing pots @R118, R119
  • Half soldered MC1495 A10
  • Missing C101, C107, C75, R174
  • Broken Q1
  • LS139 @B3 bent up
  • Plenty of prior work and some trace repairs
  • Edge connectors needed to be reflowed

I started on the digital side first. It appeared RAM was checking correctly, but the ROMs were not all reading although they were verified off the board.

It appeared at first to be this bent chip. Replacing it made no difference however. After further review… It appears this board may have been mid conversion to a single ROM MOD or something?

Jumpers W1 and W2 (set for a V3/4 board set had been moved) This is a V2 ROM configuration. Moving the jumpers to W3 and W4 got all of the ROMs reading correctly.

Once that was done – the vector generator was dead. This turned out to be a broken trace that was under the LS139@B3. It was a microscopic fracture that wasn’t visible when I replaced the chip.
Two of the missing caps were a bit obscure in that I never have to replace them. Had to wait for parts to come in to complete the repair.

Board works!

Board 7 – Board in for repair

Initial Inspection:

  • Missing DAC @B10
  • Missing state machine PROM @D7
  • PCB Reset button is missing
  • Unsoldered legs @E6

This particular board was also one where someone else had started but never finished repairing it..

It is a very early Tempest that used the MC3410 DAC vs. the AM6012 DAC. It had been “borrowed”. Searching the net, none of my usual vendors had them. I’d considered converting the board to 6012’s, but there again were a bunch of parts required to do that. I eventually found some on eBay from a vendor in Israel. It took over a week for them to get here (which is pretty good considering..) But they worked.

Replaced the missing PROM.

These repairs plus the full cleaning cycle pulling chips, cleaning legs got the board working.

Board works!

Board 8 – A friend sent me a board for repair

By far the most prior work I’ve seen on a board.

Once I got it on the bench.. I hooked it all up and ran for 12 hours without resetting. I was shocked. The reported problem was vectors not closing/distorted.

I did RAM/ROM checks and they all reported good. I went over the board under the magnifier with a meter looking for open connections and shorts and inexplicably could not find any. It appears someone shot gunned this board and someone else came in after and went over it.. There are many scratch marks between traces making sure there are no shorts, etc.

Here is what happens when you shotgun:

There are 65 socketed chips that are not EPROMS or the CPU … YES 65! In contrast – there are 42 chips that are not socketed as they would have been from the factory. How most of the original RAM survived not being socketed this is beyond me. There is a fair amount of hackery on the front and back of the board. It truly is a mess.

I was convinced I’d be chasing something in here for a while. It’s worse than these pics show.

On the screen – the crosshatch made it look like the X-BIP could not be adjusted enough (I adjusted the brightness to remove the blue vector afterward)

However this screen was the most telling:

All of the X lines are perfectly straight – but in the wrong place. I surmised a bit was missing going to the X-DAC. The scope showed all of the DVX bits active in the data shifters.. hmm.. Then I came up with an idea.. Use the FPGACatbox and draw vectors toggling each bit.

So I tested X=0, Y=200 on the scope – then X=2,4,8,16 to trigger each bit. All of them moved the beam as expected except 8. 8 moved the beam back to zero. Theory confirmed! Except the square wave signal was there on the shifter and on the DAC.

As it turns out – the X-DAC was bad. It was somehow sending -13v back down DVX6 and killing the ‘8’ bit .. I’m assuming like a pulldown resistor since I could see a perfect square wave on the shifter and the DAC? I had swapped the DACs in the beginning – but must have missed something? My plan is to replace socket the DAC was in.. just incase something is going on under it.

Inexplicably it wasn’t prior work?!

Board works!

Board 9 – Board in for repair

Initial Inspection:

  • Connected to test harness – no video output.

Went through and did full board maintenance

  • Removed all socketed chips, cleaned legs, Deoxit
  • Washed board, Deoxit all sockets
  • Clean edge connectors

Once it was all back together – determined that video was getting to the first output stage past the DAC’s. All of the original adjustment pots were pretty smashed up. Replaced all the pots with sealed Cermet pots.

Board ran for 10 hours.

Then the X-DAC failed. Replaced DAC

Board works!

Board 10 – Board in for repair

Initial Inspection: Needed a lot of work before even trying to power it on..

Here is where it started:

Sharpie writing no video, bad XOUT. The tin had been sanded off the back fingers. I can’t even figure out how the PROM socket got like this.. half of the gold fingers are inside the plastic housing and half are on the outside. Some corrosion around the ROMs. AUX board has bad cold solder joints and many of the pots in the analog section had these weird POTs hacked onto the board.

Other notable items:

  • AUX board said some sounds low
  • Found a cut trace on the back under @H6

It took a while but I worked my way through all of these initial items

  • Replaced all the POTs with sealed Cermet pots
  • Repaired cut trace
  • Replaced PROM socket
  • Removed all socketed chips, cleaned legs, Deoxit
  • Washed board, Deoxit all sockets
  • Removed all tape, tape residue and used Acetone to remove all of the Sharpie writing
  • Cleaned edge connectors

Upon first power up:

  • Bit 0 of RAM @L3 showed bad – not a common failure. I usually lose all the bits, not just 1.. I did a quick piggy back to be sure. RAM was bad. Socketed and replaced.
  • So far I’ve replaced the sockets @J1 and @R1 on the CPU board. ROM issues have seemed to settle – but more to test.

Once the RAM and ROM checked good – I was able to work on the vector generator. Got a good HALT signal, but the timing was off on all the other tests. Determined it was a bad counter LS161@C8.

With the VG running – test mode would cut in and out.. Which has me working through ROM sockets(see above).

Connecting the AUX board – ‘M’ error. I removed and verified all the PROMs and did a full swap of all the socketed chips to a known good AUX board. All were good. I’d also reflowed all of the cold solder joints. Messing with each PROM one at a time – I could get the ‘M’ to go away occasionally. In the end – I replaced all 7 PROM sockets. Problem solved. I’ve had decent success with these gold Atari sockets.. but not this time.

Last issue on the AUX board – The shooter sound is very faint. I noticed early someone had replaced what should have been a .015uf Mylar cap with a .47uf Electrolytic cap – about 31x too big. The important part is that it is directly tied to the output pin of the Pokey. Replaced and proper sound restored.

After another round of burn in testing.. The 10 ROM sockets were still being problematic.

Decapitated. Looks like ROM-X may have had a busted pin? It would have been the 3rd one that way.. Replaced the remainder of the.

While I was at it – I cleaned up the edge connector and retinned it with liquid tin. Which I’ve used a number of times now. Seals the copper and makes the edge look factory original.

*** Burn-in testing in process.

On the 4th day of testing – the high score save stopped working

  • Swapped in a new EAROM – no difference
  • Tested -28v and it was coming in at ~-9v
  • Swapped in a new Zener diode CR2 – no difference
  • Removed C20 -tested out of circuit.. no problem
  • C16 went bad at some point

New C16 restored -28V

Board works!

Board 11 – Board in for repair

Initial Inspection:

  • Both the Main and AUX boards had no prior work except the pin headers had been reflowed

I’m convinced this set failed at some point and got stored. Did a quick power up and had no output.

After a full board maintenance:

  • Bad RAM@L3
  • ROM good
  • Vector Generator good
  • Bad Y output – flat line X output on scope

Replaced bad RAM@L3

Replacing analog switch @E11 restoring Y output

Once the board was running, no Fire, no Zap and the trackball was very sluggish.

Fire and Zap are connected to the LS157@D6 – replacing this restored their function.

The other side if the LS157@D6 also got the trackball running at normal speed. However, it was only working in one direction. Replacing the 4584B (with a CD40106BE) restored the trackball in both directions.

Board Works!

Board 12 – Board in for repair

Initial Inspection:

  • Very clean board set.

After a full board maintenance:

  • Replaced all of the stand up pots in the analog section with sealed ones

Repaired trace damage under ROM0

Board works!

Board 13 – Board in for repair

Initial Inspection:

  • Board set had extensive prior work with many issues
  • Analog section missing chips
  • Missing voltage regulator
  • Mismatched ROM set
  • Power LED failed
  • Traces torn up on many of the removed chips

After a full board maintenance:

  • Bad RAM@L3
  • Both vector ROM reading as the same ROM
  • Vector Generator running very fast

The missing chips had extensive trace damage. To be fair, this particular PCB seemed very sensitive to heat. I had a few pads lift myself. Board came with this half installed broken chip – which was the wrong chip. Finally someone replaced a resistor and left the legs full length on the back? It was the correct value surprisingly.

First up was to get RAM and ROM reading correctly. Replacing the BAD RAM @L3 corrected the RAM issue. The bad ROM was only reading from @R3. It appeared to be LS139@C1..

However – the LS157@K2 was the actual problem. AM12 was not triggering properly. ROM selection fixed. Corrected the mismatched ROM set while I was here.

With RAM and ROM running – the Vector Generator was not running correctly. Pulled and checked the state PROM and it was the wrong one. After reading it – it was BAD anyway.. Replacing with a correct PROM got the VG fully operational.

At this point I had to go repair all of the trace damage and replace the missing chips

Here are the damaged traces, after cleaning .. I use Kynar wire and feed them through the board and tack solder them in place. After that I use UV cured acrylic as a sealer that holds the wires in place. The acrylic can take the heat of soldering so they do not move when adding the socket. Finally socket installed – A very secure and permanent fix with no jumper wires to snag. It took a couple hours to work through all of the bad traces.

Other items replaced – 15V+ regulator was missing, color RAM @P9 was the incorrect partially installed chip, TL082’s @D/E13, @D11 that were missing were replaced. 1495@C13 replaced. Replaced all the stand up pots with sealed pots. Replaced bad power LED.

Once the analog section was rebuild, analog switch@E11 was bad. All the interconnect pins got reflowed, many cold solder joints.

Finally got the board up and running:

Spent some time working on this one – it appeared to be the LS194 shifters. Clipping a logic comparator to LS194@H5 corrected the issue. Replaced it, no change. I did this a couple times to the other LS194’s before determining the root cause. The odd part was only certain parts of the vectors were jumpy.. Not all of them.

The LS193@C4 puts out multiple clocks. The CPU clock was not an issue. One of the other clocks off this chip feeds the VG (3MHz and 6MHz) and was creating noise and corrupting the vectors. I’m assuming effecting the latch timing?

Replaced LS193@C4 fixed the bad vectors.

Unfortunately there was also a bad Pokey. Replaced that too..

Board works!

Board 14 – Board in for repair

Initial Inspection:

  • All original EPROMS
  • Very little prior work
  • Analog section pots had been worked on, some replaced

After a full board maintenance:

  • Replaced all the POTs
  • Analog section not working

The analog section was not working. After poking around I quickly realized there was no 6.8V getting to any of the four MC1495L multipliers.

Popped in a new Zener diode CR5, no difference. Unfortunately one of the four ML1495s was pulling down the 6.8v. Pulled one, same… Pulled a second, same… Pulled the third….. third time’s the charm! Voltage restored. Replaced MC1495L@C13. Now that the analog section was fully operational.

Got jumpy vectors as the board warmed up a few minutes.

Easy to locate the chip with some freeze spray. Turned out to be the exact same clock chip as the prior repair, just different symptoms. Replaced LS193@C4.

Board works!

Board 15 – Board in for repair

Received a board – connected it up, seemed to work.

Did full board maint, replaced pots, full test cycle

Board works!

Board 16 – Board in for repair

Initial Inspection:

  • All original EPROMS
  • Very little prior work
  • Cold solder joints

After a full board maintenance:

  • Replaced all the analog section POTs with sealed ones
  • Graphics glitch
  • No controls

Both connectors had many cold solder joints. I’ve started pre-cleaning them with a Dremel and a wire wheel before reflowing them. The solder flows and sticks much better. Graphics glitch was in the analog section. TL082@A11.

Last part was the controls partially worked – but no spinner. Bad Pokey@B/C2 (ouch)

*** Update ***

During the 24 hour automated power cycle test, something failed. The board has already had 2 x 12 hour burn in tests. I’d checked a couple times during this test too and it was fine.. That’s why I run them. I rather they die on my bench.

The Tempest logo and the score table renders correctly.. Need to determine where this went wrong.. Vector ROMs maybe? I reseated the connections and it never happened again.

The last part was that it started to lose the high score table – this took a long time just to define the problem. The root cause was just as difficult to determine. 

Defining the problem: You could set a high score and run the board for 12 hours and it would be fine.. Then you could come back 2 days later, check it and it would still be there.. Then power down for 5 minutes, power on, and it would be corrupted. It took a few days of EAROM swapping and testing to determine this was a power on/off related issue vs. a bad EAROM issue. In this problem determination – I swapped in known good CPU and AUX boards to help narrow it down to a AUX board issue that corrupted the EAROM during either power up or power off.. It also didn’t happen consistently at power on/off. I couldn’t just flip the power switch on off and kill it. Generally I needed to wait 5-10 minutes.

Finding the root cause:

Here is the (pretty much) the entire circuit.

The truth table for the EAROM@C3

For data to get written: CS1=1, CS2=0, C1=0, C2=0 - I tried to see if I could capture this using the scope – but power on/off causes things to jump around and it had to be something that was triggering very fast. 

After a lot of head scratching and wasting too much time – I started swapping chips that could effect it: LS175@J3 – no change, LS244@E3 – no change, LS174@A3 – no change. I replaced LS374@F3 and LS244@H3 just because I was running out of ideas. 

At one point I was considering the RESET circuit was wonky and held the RESET line low @J3 – no difference.

Looked at the power and I was not getting -28v (getting -26.8 ish) I replaced C20 and CR2 – but it really wasn’t voltage related it turns out. Checked all the pullup resistors between A3 and C3. All good.. 

The FPGA Catbox was a big help – I was able to download and check the EAROMS to see what was getting corrupted. Initially it seemed to be a single bit in the first byte, but after a few cycles it seemed to be a bit more random and more than just the first byte. One positive side effect was I programmed all of my EAROMs so I had a good reference point and a steady supply to corrupt and test.

Going back to how the EAROM could get written – the control bits have to be getting set for a split second at power on/off.. The LS175@J3 controls that… backing up..

The LS139@B4 controls the EARCON signal and the EARWR signal. Could it be unstable at power on/off? Turns out yes… Root cause LS139@B4 – Just flakey enough to cause random writes. BTW: It was a Fujitsu chip..

Well – this worked for 40 test cycles (10 min on, 10 min off using an automated smart plug). After all that I still had an issue were it corrupted the data.

The WRITE signal goes into the LS32@C4. I replaced the LS32, ran a 30 cycle test (20 min on, 20 min off) and no corruption. Randomly powered on/off over the next few days and it still is retaining the scores. 

Board works!

Board 17 – Board in for repair

Chip cleaning is an AM activity…. It takes over an hour to get the main and aux board all cleaned up and ready to test. This set also needed all the header pins reflowed.

Initial Inspection:

  • All original EPROMS
  • Missing a RAM and a chip in the analog section
  • Cold solder joints

After a full board maintenance:

  • Replaced all the POTs
  • Missing +15V in analog section

A RAM@M3 was missing and the 1495@A/B13 was missing with trace damage. I corrected the traces on the part side before adding a socket. 

Once I got it connected, could not read RAM or ROM. Quick inspection found trace damage under the CPU.

Someone got under there with a screwdriver and hacked up AB0 and a couple other lines. Pic on the right is the repaired traces. I beeped them all out. Some are a little damaged, but not broken.

I lock in the repairs with UV Cured resin. Barely noticeable under a new CPU socket. Once that was done..

A single bit RAM error @P2. Not common – usually all 4 bits are bad. Replacing the RAM corrected it. Replacing the 7815 voltage regulator restored the vectors. 

Board works!

Board 18 – Board in for repair

Sent in by an operator friend, this one I believe is a backup board. Didn’t test it. Cleaned all the chips, replaced all the pots and reflowed the header pins.

Didn’t retain high score – replaced EAROM.

Board works!

Board 19 – Board in for repair

Similar to the prior board, did full board maintenance which takes ~2 hours including replacing the stand up pots with the sealed cermet pots.

Vector ROM – NP3 was bad – an original mask ROM.

Board works!

Board 20 – Board in for repair

Reported graphics issues

Did full board maintenance which takes ~2 hours including replacing the stand up pots with the sealed cermet pots. Reflowed all the headers.

Bad pots were the culprit on this one

Board works!

Board 21 – Board in for repair

More Tempest graphics issues – performed all the board maintenance. Bad pincushion was the reported problem.

  • Clean all chips / Deoxit
  • Reflow all headers
  • Replaced all stand up pots with sealed Cermet pots

Testing on the bench:

Before and after. That is some serious pincushion.

MC1495@A/B12 handles the pincushion correction for the WG6100. Replacing it solved the problem. The interesting part is before replacement – the top horizontal line was perfectly flat on the scope and curved on the 6100. After replacement, curved on the screen and flat on the tube. Makes perfect sense – it was just interesting to see.

Leave a comment