Leon Borre Atari Second Generation Repair

From PinWiki
Jump to navigation Jump to search

Atari pinball test program

Swash4.gif

I do not own any Atari pinball machines myself. As a matter of fact, I have never seen an Atari pinball. But due to demand from a few German pinball fans, I made this test program. Because of the different electronic design of Atari pinballs, they seemed to be more difficult to repair. Thanks to Frank Oeffelken who sent me the schematics as well as a complete CPU and I/O board used to perform this study and the preliminary testing. Only a few models of this style Atari pinball were made. The test program and the CPU board that this test program will run on is only used in HERCULES and SUPERMAN. Perhaps the same CPU is used in 4X4, Road Runner, and Neutron Star, but these games were only prototypes, and the production runs were very, very low. The other models, Time 2000, Middle Earth, Airborne, Space Riders and Atarians, have another type of "all-in-one" board. Atari, like pinballs made by Bally and Williams from the same period, use the 6800 CPU chip. However, Atari does not use the common I/O (input / output) peripheral chip 6820 / 6821, which was specially designed by Motorola to go with the 6800 to provide a versatile and simple I/O instrument. Because of the lack of this chip, the Atari pinballs have a more complicated way of dealing I/O matters. All I/O is specified selections and latches which maintain the selection. The test program I developed will control these selection signals, and make them go high (5 volt) and low (0 volt) in rhythm. This is the same process I did with the output signals of the classic 6820/6821 on a Bally or Williams CPU boards. Furthermore, I test the memory chips and some specific circuits as there are the "watchdog" and hardware "interrupt" circuitry.

On an Atari CPU board there are 4 LEDs. I use these to differentiate the results of each of the tests performed, so we do not have to count the number of "flashes" to determine which RAM or circuit is faulty. I still use a simple LED to control the good working part of the test program. The LED is to be connected to address line 14 instead of the usual address line 6. To control the “dancing” selection signals, it will be necessary to use a logic probe. For those who do not have a logic probe, a simple and good working DIY example can be found on this site. It is also possible to check the different selection signals with a voltmeter. However, the voltmeter must have a scale from 0 to 1 volt (full scale), because the pulse trains are very small. The deviation of the voltmeter needle is a very good visual aid.

Swash1.gif

The test program

The first section of the test program will test the selection signals. These signals will be activated 128 time. Then, a period when they are not activated. Then, they will be reactivated, and so on, and so on. This results in a pulse train, and this pulse train is easier to observe and follow than a single selection pulse every few microseconds. At the same time, the data is constantly changing along with the selection. In doing this, all possible values are sent to the latches, and the resulting outputs can be followed over to the I/O board. If all of the selections are found to be ok, the tests continue with the memory test, the interrupt test, and the "watchdog" test. For each test that is determined to be all right, one of the LEDs (L1 - L4) on the CPU board will be activated. All of these things and how to proceed are explained below in the user guide, as well as what to do if you find some things that don’t work at all.

Swash1.gif

The CPU Board

Cpu.jpg

On the lower left of the CPU board is the power connector. Three wires need to be connected for us to use the test ROM. The red wire is +5vdc, yellow is +12vdc, and black is ground. The test EPROM is located on the right (with the white label). The red arrow points to the test point marked "Watchdogkill". This test point is needed during tests. Above and to the right, is a round grayish button. This is the reset button. To the right of this button are the 4 CPU LEDs. These LEDs will display information during the "memory test".

The board is to connected at 5 volt and 12 volt. You find the connector at the left side of the board. The male pins on which you need to connect these tensions are the same as the male pins of a power connection from a hard disk used in a PC (personal computer). So if you have an old PC on hand, you can find the right female pin there. Ground comes on pin 1, +5 volt on pin 2, and +12 volt on pin 3. Use colored leads to differentiate between the different voltages!!! Connect a control LED between address line 14 (pin 24 of chip N6) and ground. As always, the control LED consists of a standard LED in series with a 1.2Kohm resistor. First use figure out which side goes to address line 14 and which side goes to ground. To start the test just place the 2716 test EPROM in position J7.

ConnAta2.jpg




The classic connector found in old PCs. Use the female pins (less the housing) to connect the different tensions to the CPU board's connector. They fit perfectly! (ed. note: The power and ground connections can be attached via alligator clips to the marked "loop" test points on the CPU board instead of using the CPU power connector. +5v, +12v, and ground are all plainly marked on the board. DO NOT connect anything to the +9v test point.)

The test program is available for download herePinaqua.gifYou can burn it onto a 2716 EPROM. In case you don't have an EPROM programmer, ask a friend or other pinball fan.

Swash1.gif

User Guide

With the test EPROM in place, and the tensions applied, the control LED should blink in rhythm. This rhythm is rather slow - "off” for 2 seconds and “on” for 6 seconds. If the 4 LEDs on the board also blink, there is no great problem with your CPU board! We now can control the different selection signals. These signals are on the chips H4 and E4. On the output pins of chip H4 (pin 1, pin 2, pin 3, pin 4, pin 5, pin 6 and pin 7), you will find “dancing” signals. You need a logic probe to see these signals. ATTENTION: if you use a voltmeter, you should connect the positive lead to 5 volt and use the negative lead to check the selection outputs!!! The needle will move about 1/10th on the 0 to 1 volt scale, except for pin 4 of H4 and pin 7 of E4, where you should see 1 volt. Pin 9 of H4 is the selection of the test EPROM, so it will be selected on all the time. The same selection signal results should be seen on chip E4 (pin 1, pin 2, pin 3, pin 4, pin 5, pin 6 and pin 7). Pin 9 is the exception here. It will be “intack” (ed. note: not certain how to translate this), and controlled during the memory test. It is the interrupt selection, and cannot be activated during this general test.

If one or more of these selection signals are not ok, you have found a problem. The first thing to do is to ‘liberate’, (ed. note: again, not certain how to translate this other than possibly 'isolate'), the missing output temporarily. To do this, lift the output pin or sever the trace connected to it. If the output is still missing, the chip (E4 or H4) is the cause. If the output is now present, then the output is grounded somewhere. The process of elimination by cutting traces or lifting chip legs will help you easily find and replace the chip which is causing the grounding.

In the case where the output "IOWR” is missing at H4 pin 4, all outputs at chip E4 will be missing too. So if this happening, first repair the missing IOWR before continuing onto chip E4 outputs. In another instance where the control LED is blinking, but you do not find any outputs on E4 or H4, the only possibility left is the input ports of H4. These are L5 and P5. The worst case is when the control LED doesn’t blink at all. In that case, we have to repair some fundamental circuitry of the CPU chip and buffers. Some fundamental circuitry is needed to make the test program work.

No Control LED Blinking

The first thing to look at is the 6800 CPU chip and its signals. To do this remove all ROMs or EPROMs including the test eprom, so sockets J7, K/L7 and M7 are unpopulated. We will first look at some of the pins at N6 (CPU chip). Pin 2 = 5 volts, pin 3 = 2 volts, pin 4 = 0.8 volts, and when the reset button is pushed (the round grayish button just to the left of the 4 LEDs), your voltmeter needle will jump up to 2.5 volts, pin 5 = 4 volts, pin 6 = 5 volts, pin 7 = 0 volt, pin 36/37 = 3 volts, and pin 40 = 5 volts. If there is something wrong, look at the circuit where the missing signal originates. This is always only one or two chips in the clock circuit, the reset circuit, or the power reset. In case you don't see pin 40 at a stable 5 volts, it has a "changing" signal instead, then connect the TP "watchdogkill" temporarily to ground. If this helps, leave the jumper connected and continue. We will handle this "watchdog" reset with another test listed under the "memory test" section below. If the signals are ok, then control the address and data lines. On the data lines (pin 26 to 33), you find ~1.5 volts, on the address lines (9 to 25, except 21 is ground), you find ~3 volts. Also look at the buffers for these signals. L6 is for the data, and N7 for the address lines (A0 to A7). Generally if any signals are missing, it will be the signals after the buffer. This however does not mean the buffer chip is bad. It can be a grounding of the signal after the buffer. So again, free the buffer output to see if the buffer is ok or not. Missing or bad value of a data or address value is caused by a grounding or a bad chip connected to that line. Again, the process of elimination by the lifting of chip legs, or by temporarily cutting of traces will bring you to a solution. After this, the LEDs on your CPU board will all blink in rhythm. Let's proceed to the memory test.

Swash1.gif

Memory Test

The LEDs on your CPU are blinking now. To start the memory test, we have to ground the TP "watchdogkill" temporarily. We start up the memory test via the NMI (pin 6) on the CPU (N6). Use a grounded lead, and touch pin 6 of N6 for a brief moment. The 4 LEDs on the CPU board will go off. If all is well, the LEDs will turn on again after a short moment. The first LED indicates that the “battery RAM” (5101, H6) is ok. The second LED indicates that the set of two “normal” RAM chips (2101s, J6 and K6) are good. These two RAM chips are tested as one. So, if anything is wrong with one or the other, swap them one by one with the “battery ram” (5101, H6) to find out which is causing the fault. LED 3 indicates that the interrupt circuit is ok. LED 4 indicates that the “watchdog” circuit is ok. The 4 LEDs should remain lit constantly. If they start blinking again, the “watchdog” reset circuit is not ok.

Cpukill.jpg

The CPU prepared for "memory test" - the temporary connection between "watchdogkill" and ground is made.

So if something is wrong, none, one, two, or three LEDs will light.

What to do if no LEDs turn on

This means that the ram in H6 is not working. First, swap this ram with a 2101 chip, which can be found at J6 or K6. These are pin compatible and suited for testing purposes. Otherwise you need use a 5101, because the 2101 has higher power consumption, and will drain your battery in three days. After the change, restart the memory test (ground pin 6 of N6 again a brief moment). One good thing about this test is that as long as the test reads “RAM not ok”, it will continue to test that same RAM. This gives us plenty of time to check these signals on the RAM . I did this for you, and you have to find the results.

As the test is repeating again on the bad RAM, the signals you find are stable, about 50% of the working voltage and easy to measure with a voltmeter.

Pin 1, 2, 3, 4, 5, all these are 2.5 volts

Pin 6 and 7 about 3 to 3.5 volts

Pin 17, 19, 20 = 4 volts

Pin 18 and 21 = 2 volts

Pin 8 is ground and pin 22 is 5 volts

If only one LED is ‘on’, the fault is with the RAM chips at J6 or K6. Try them one by one in socket H6, to see which is the bad one. If both are found to be ‘good’, test the signals on these chips. You have to find the same values as the "battery backed ram" (H6).

If only two LEDs are ‘on’, the interrupt circuit is faulty. In this case, the CPU will go into a ‘wait’ state, and all activity will stop. To solve this problem, it is necessary to repair the interrupt circuit. This circuit is built around 3 chips. The first is E4 (output “intack” pin 9) as we have already controlled ALL of its outputs, it is probably not this chip that will cause trouble. Number two and three are L5 and M1. The only thing we can do in a first stage is to control the connections between the three chips, and look for cuts or shorts on the traces. The signal “intack” starts at pin 9 of E4 to pin 1 of L5 comes out of L5 at pin 3 to pin 13 of M1 and comes out again at pin 8. You cannot follow the signal dynamically because the CPU is “halted”. That is why I indicate the way the signal flows, and advise to look at the connections. If you don’t find anything there, you have to replace L5 and / or M1 and lastly E4.

Test Watchdog Reset.

Together with LED 3, LED 4 will go ‘on’. This is the control of the "watchdog" circuit. Now we MUST remove the temporary connection between TP "watchdogkill" and ground. The 4 LEDs have to stay "on". Watchdog is dynamically reset by the program (instead of by an external connection). This is the end of the test. If the 4 LEDs start blinking again, there is something wrong. The watchdog circuit created a reset, and the test program has restarted with its normal first stage. This now gives us the opportunity to test the watchdog circuit. First, we connect the “watchdog kill“ test point temporarily to ground. Now, the normal test routine will run, as the “watchdog” is taken out of service. We then follow the signal. The circuit is made of E4, L5, F6, N5, and M2. Using a logic probe, we start at pin 9 of L5. From there, check pin 8 of L5. The signal now goes to pin 13 of F6, pin 12 of F6, pin 3 of M5, pin 1 of M5, pin 1 of N5, pin2 of N5, and pin 12 of M2. If the signal flow is interrupted somewhere in this path, the chip where it comes “in” but not comes “out" is faulty.

Test Watchdog Set

The last thing to control is the "watchdog set" signal. Undo the connection between TP "watchdogkill" and ground. Start the memory test in the normal manner. The 4 LEDs MUST blink. If they stay permanently "on", the watchdog set circuit is bad. To repair this follow this procedure.

Remove ram chip K6. Start the memory test WITHOUT the "watchdogkill" TP connected to ground. The "watchdog set" signal will appear on pin 14 of R2. Follow this signal with the logic probe along the following points: L2 pin 1, L2 pin 8, M2 pin 1, M2 pin 6, and M2 pin 13. There it resets M2, which will cause a complete reset. If the signal is missing somewhere, the chip where it goes "in" and does not come "out" is bad. Whenever it reaches M2 at pin 13, and the LEDs are not blinking, M2 itself is broken.

If all testing is now ok, the CPU board will work fine, and we can follow the signals to the I/O board.

Swash1.gif

The I/O board

If you have some doubts about your I/O board, we can check that using the test EPROM too. All signals going to the I/O board use connector J4. But, before the signals leave the CPU, they pass through extra chips to give them more power. If the signals have the right strength, it is good to check J4 as they leave the CPU board. We check the signals on J4, and put the I/O board on the bench after this final check.

If there are missing or weak signals, look at the schematic for which of the 4 chips signal originates, and replace that chip.

To repair of I/O board Atari…………….. Pinaqua.gif