Support this Pinball Repair Website & PHoF. Please purchase the Marvin3m.com/top

Systematic Gottlieb System 80
CPU Board Repair

by cfh@provide.net, 08/20/08.
Copyright 2002-2008, all rights reserved.

Scope: Includes Gottlieb pinball System 80, 80a, 80b games from Spiderman (1/80) to Bone Busters (8/89). The most popular System 80 games that this information particularly applies to are Black Hole (10/81) and Haunted House (2/82).

Internet Availability of this Document.
Updates of this document are available for no cost at http://marvin3m.com/fix.htm if you have Internet access.

IMPORTANT: Before Starting!
IF YOU HAVE NO EXPERIENCE IN CIRCUIT BOARD REPAIR, YOU SHOULD NOT TRY TO FIX YOUR OWN PINBALL GAME! Before you start any pinball circuit board repair, review the document at http://marvin3m.com/begin, which goes over the basics of circuit board repair. Since these pinball repair documents have been available, repair facilities are reporting a dramatic increase in the number of ruined ("hacked") circuit boards sent in for repair. Most repair facilities will NOT repair your circuit board after it has been unsuccessfully repaired ("hacked") by you. If you aren't up to repairing your circuit boards yourself, I highly recommend finding someone to do the repair instead. Check out the parts & repair sources web page.

Table of Contents

Bibliography.
In the creation of this document, some information came from the following sources:

More System80 Repair Info.
My site deals mostly with modifications needed to make a system80 game reliable. There is some repair covered here, but that is not the main focus of this document. For addition repair info, Kirb has developed a nice site on system80 repair:


1. CPU Board Repair.
    To many, Gottlieb System80 CPU boards are regarded as a repair "challenge". This notion exists largely because of the lack of a power-on LED test system (as 1977-1985 Bally CPUs have). With a Bally CPU board, the "seven flashes" pretty much tells the user what is wrong on the board at power-on. Since Gottlieb's System80 does not have this power-on LED test system, it is slightly more difficult to diagnose problems (apparently Bally's convenient test system makes Gottlieb repair look "difficult"). But once the user knows the "systematic approach", most System80 CPU boards can be diagnosed quickly and easily.

Assumptions.
    The following relates to fixing just the CPU board on System80 and System80A and System80B (there are some slight variances with sys80B). It assumes the power supply is good, and is outputing +5, +8, 42 and 60 volts (or that the CPU board is being tested on a work bench with an external +5 volt power supply). Also it assumes the original Gottlieb power supply trim pot is adjusted so the CPU board is getting 5.0 to 5.2 volts (the only voltage needed for the CPU board is +5 volts; the other voltages are used for the score displays). And finally that the big 6800 mfd capacitor in the bottom of the cabinet should was replaced with a new 10,000 mfd cap (or higher, up to 15,000 mfd). If this cap is the original, go and replace it now!

    Also for testing purposes, all CPU board connectors should be removed except A1J1 (+5 volt power and ground to the CPU board), A1J2 and A1J3 (these two connectors go to the score displays, and are on the right side of the CPU board). Connector A1J5 (slam and tilt, test, credit and replay/start switches) may also be needed. The rest of the CPU connectors should be removed (disconnected).

    The last assumption is that the slam switch modification is made to the CPU board. The normally closed slam switch is located at the coin door of the game. If this switch is open (or the switch's wires are cut/damaged, or the A1J5 connector is bad), the CPU board will never boot. For those reasons, this modification should always be performed. A picture of this modification is shown below. If this modification is made, connector A1J5 should be removed when testing the CPU board.

    If the slam mod as outline at the link above is not done, at minimum CPU connector A1J5 pin 10 must be grounded. This does the same thing as the slam switch modification, but in a non-permanent manner.

When working on any CPU board, this modification
should be made. Otherwise the CPU board will never
boot, unless CPU connector A1J5 is connected, and the
slam switch is closed. Alternatively A1J5 pin 10
can be shorted to ground.

    If the slam switch modification is not made, and the slam switch is open (or connector A1J5 removed), the score displays will "strobe" immediately at power-on. That is, when the System80 or System80A CPU board is powered on, immediately (no five second delay!) the displays will show zeros and strobe. On System80b CPU's, a message will display saying the slam switch is open.

    For later diagnostics, connector A1J6 (the switch matrix) can be attached. This will enable the playfield switches.

    In addition, for System80a and System80b CPU boards, the Reset board should be disconnected from the CPU board. (Games Haunted House and earlier do not have a reset board). More about the reset board is documented below. But this Reset board can cause a CPU board to not boot.

The Sys80a and Sys80b Reset Board

    Gottlieb made a Reset board that was added to all games starting with System 80a (Devil's Dare and later). This board prevented game damage when the CPU stopped running and left some things "turned on". Without the reset board, early System 80 games (Haunted House and before) would sometimes lock on and burn out parts like display tubes, coils, driver transistors, and even burn circuit boards.

    The CPU could stop running for a variety of reasons; static electricity, line voltage dip, a defective coil diode (allowing coil voltage spikes back to the driver board and CPU), bad 5 volt power supply, ground level disparities (hence the reason the ground mods are important), etc.

    For home use, this isn't a big problem as most people only leave their games on while they play them. If the game locks up, they are there to turn it off, wait a moment, and turn it back on. But this was a big problem on operated games that were left on for many hours, every day, unattended.

    To fix this problem, Gottlieb made a Reset board mounted directly above the CPU board. This board connected to the CPU board via a 40 pin socket. This socket is on all System 80 CPU boards. On Haunted House and prior, this socket is empty (since the board is not installed).

    To install the reset board, just plug it into the empty 40 pin socket on the top of the CPU board. Also attach a jumper from the reset board to the CPU board, so the reset board can monitor the displays.

    When the reset board is installed, it automatically resets the game if a lock-up occurs. The reset board detects the absence of the IRQ signal and/or the display digit strobe. If either is missing, the reset board generates a pulse which resets the 6502.

    Reset Board Causing CPU to Lockup.
    Gottlieb implemented the Reset board to prevent system80 games from locking up and bring things. So it's a bit ironic that the Reset board can also cause the CPU board to not boot and run! In the case of a game that just won't boot, try disconnecting the Reset board and see if things change. If the game boots with the Reset board disconnected (this is fairly common), then you have obviously found a problem.

    The problem with the Reset board is this: the electrolytic capacitors on the Reset board dry up. This in turn makes the Reset board's CPU monitoring interval gets shorter and shorter. This in turn makes the Reset board continually force the CPU board to reset continually due to the bad Reset board.

    So what is the solution? Well you can keep the Reset board disconnected. But a better idea is to just replace the electrolytic caps on the Reset board.

    • C1 = 47 mfd at 10 volts
    • C2 = 4.7 mfd at 10 volts
    • C3 = 470 mfd at 16 volts
    • C4 = 470 mfd at 16 volts


    Using an External Power Supply for CPU board Bench Testing.

      If the entire game is not available, or it is just easier to work on the CPU board on a work bench, an external power supply can be used to power the CPU board. This won't test every aspect of the system80, sys80a or sys80b CPU board, but most things can be tested in this manner. Note the slam switch should be performed for this testing method too. If the slam mod as outline above is not dones, at minimum CPU connector A1J5 pin 10 must be grounded. This does the same thing as the slam switch modification, but in a non-permanent manner.

    On the left is a video game switching power supply.
    On the right is a used computer power supply. Either
    will work fine for a test power supply. Note the computer
    power supply connector on top of the box is the one
    that will supply our +5, GND and +12 volts. This plug
    was used to power drives (hard drive, CD rom, etc).
    Red is +5, black is GND, and yellow is +12.

      Using alligator clip leads, jump the +5 volts from the power supply (computer power supply red wires) to the CPU board connector A1J1 pin 1 and/or pin 2 (the two pins on connector A1J1 closest to the bottom edge of the CPU board). Then jump ground from the power supply (computer power supply black wires) to the CPU board connector A1J1 pin 4 and/or pin 5 (the two ground on connector A1J1 closest to the top edge of the CPU board). Now the external power supply is ready to be used with the system80 CPU board (don't forget to do the slam switch mod).


    A. Prelimary Work.

      Battery Corrosion.
      All Gottlieb System 80 boards use a recharagable "DataSentry" nicad 3.6 volt battery. When these batteries don't get used regularly and get old, they can leak the alkaline potassium hydroxide and volatile gases that destroy the CPU board components and connectors. Battery leakage causes more CPU board problems than anything else! Remove the old battery from the CPU board immediately, and throw it away.

      Until the battery corrosion on the CPU board is fixed, all bets are off!
      It is really not even worth trying to fix a CPU board until the battery is removed and all the battery corrosion is neutralized and removed. Of course this means also replacing all the effected parts too. The problem with battery corrosion is this: intermittent behavior! Some times the board will work, some times it will not. This intermitten behavior is almost always attributable to battery corrosion.

    The Gottlieb DataSentry battery. This battery
    has leaked only slightly (note the corrosion to the
    crystal). This board was lucky. Also shown below the
    battery are the Z3 (7404) and Z2 (7474) chips.
    These are often affected by battery leakage.

      Battery Corrosion and the CPU Board's Reset/Clock Circuits.
      Battery corrosion can do nasty things to the left side of the CPU board. This is the "reset" section of the CPU board (and below the crystal Y1 is the "clock" section). See index1.htm Battery Corrosion1 section for info on fixing this. Fortunately Great Plains Electronics (GPE) sells a kit that includes all the parts needed to fix the reset section. For less than $10, this kit is a bargain and makes fixing battery corrosion in the reset area a lot easier.

      Using a Dallas/Maxim DS1811 in the Reset Section.
      There is also another way to fix the reset section with just a four parts (that replaces nearly 25 parts!) This involves using the new Dallas/Maxim Semiconductor D1811 reset chip (TO-92 package). This inexpensive device looks like a transistor, but is really a three leg chip in a TO-92 transistor package. See the index1.htm Dallas section for more details.

      Removing the Old Battery and Fixing Corrosion.
      See the index1.htm Battery Corrosion2 repair section for help with that.

      The HOT Chip Feel Test.
      Any TTL (74xx chip) that is hot to the touch should be suspected and tested. Sometimes this is a quick and dirty way to find a problem chip. Note the 6532 RIOT chips at U4,U5,U6 do run quite warm. But the other 20 pin and less CPU chips should not be hot to the touch.


    B. Testing the Reset Section.
      Now that the battery corrosion is handled, we can actually start testing the CPU board. When the CPU board is first powered-on, the Reset pin 40 on the U1 CPU chip (6502) is held low. This allows the board voltages to come up smoothly to +5 volts. After this, the Reset pin 40 should go high to about 4.5 volts.

      With this in mind, the first thing to test is U1 pin 40. Using a DMM (Digital Multi-Meter) put the red lead on pin 40 of U1, and black lead on ground. Turn the CPU power on, and the DMM should go from 0 to about 4.5 volts DC, in about one second. If anything else happens (like Reset staying at zero, or only going to 2.5 volts), the reset section of the board is bad! Of course the reset section was rebuilt in the above section, so pin 40 should go to 4.5 volts, right?

      The most common culprits in the reset section are transistors Q1 to Q4, and the resistors (which can go open) and diodes around these transistors. If the reset section was rebuilt in the above steps, all these components should be new. So the only thing left is the wrong part was installed, or a part was installed "backwards". Occassionally the Z4 CMOS 4081 chip can die (which is included in GPE's system80 reset kit), but this is rare. Again the GPE reset kit is very useful here, as it contains all the parts needed to fix the reset section.

      Also check for a broken trace (common, especially on boards with battery corrosion). For example, the ground trace goes around the negative battery solder pad before going to the areas at the bottom left of the board (the clock circuit). Often battery corrosion can cause a loss of continuity to this area.

      Often I will scrape the whole reset section of the CPU board and go with the Dallas DS1811 reset transistor. This will fix the reset section with just a four parts (that replaces nearly 25 parts, which can be removed). The advantage to the Dallas DS1811 is great: if a system80 CPU board has had some battery corrosion and perhaps some circuit board traces are questionable, the new Dallas part will not utilize most of that. So even a board with lots of corrosion can have 25 reset parts cut out, and just the Dallas installed. So most of the questionable traces on the component side of the circuit board are eliminated too, making battery corrosion less of an issue.

      Here are the installation steps for this Dallas DS1811 chip:

      • Remove reset parts: chip Z1, trans Q1-Q4, diodes CR33, CR35, VR1, resistors R8, R9, R43-R50, caps C2, C25, C36.
      • Install a jumper from Z1 pin 5 to Z1 pin 9.
      • Install a jumper from Z1 pin 11 to Z1 pin 13. Be careful not to accidentally connect pin 12 to the jumper, as it will cause the reset modification to not work.
      • Install a jumper where R45 was installed.
      • Install a jumper between the two top holes of Q3 (the Emitter and Base).
      • Install the Dallas DS1811 (TO-92 package) into the top pads of R50, R44, R49 (pin 1=R50, pin 2=R44, pin 3=R49). Note the flat edge of the DS1811 faces downward away from Z1, toward the dip switches.
      • Retain reset parts CR34, R7 and C3.
      • Note R10 and C14 can be remove or left installed. Since Z1 has been removed, R10 and C14 are no longer used, and can be removed (or left installed).

    Picture of the Dallas DS1811 installed in the Sys80 CPU board.

      After the reset is tested successfully at the CPU chip pin 40, repeat the test on the RIOT chips U4,U5,U6 pin 34. If the reset is not behaving as on the CPU chip (going low for just a moment, and then staying high), look for a broken trace. The reset signal on the CPU chip pin 40 should have continuity with all the RIOT chips' reset pin 34.


    C. Testing the Clock Circuit.
      After the Reset section is tested and working, and the board still does not work, next test the Clock circuit. The clock is required for CPU timing, and is handled by the Y1 crystal, chips Z2/Z3, and resistors R3-R5. If the reset section was rebuilt with GPE's kit, a new crystal, chips Z2,Z3 and the resistors should have been installed (yet another reason for GPE's kit).

The Radio Shack logic probe showing the Clock signal on the CPU chip U1 pin 37.

      Here are the steps for testing the clock section:
      • Get a logic probe and connect it to power. A DMM can be alternatively used, but really a logic probe is better.
      • Put the logic probe on U1 pin 37. This is the CPU's clock signal (also known as "phase 1 clock").
      • Turn the power to the CPU on. About one second after power is applied, the clock signal should appear. It should be a pulse signal. If using a DMM, about 2 volts DC should be seen (but again, a logic probe should be used). If this signal is missing, there is a problem in the clock circuit at chips Z3/Z2 which supplies the CPU. Skip to the next section.
      • Next put the logic probe on U1 pin 39. This is the "shifted" clock signal (also known as "phase 2 clock") from the CPU (if both pin 37 and pin 39 were put on an oscilloscope, the time shift can be seen between the two signals). If no phase 2 clock signal at pin 39, the CPU chip U1 (6502) is bad.
      • Put the logic probe on Z3 input pin 11. The same shifted clock signal as seen in the previous step. Then check Z3 output pin 10, which then feeds to Z3 input pin 13. Finally the check Z3 output pin 12 (which feeds the shifted clock to the rest of the CPU board). If any output signals at Z3 are missing, this chip is bad.
      • Check the shifted clock signal at the RIOT chips U4, U5, U6. The shifted clock should be present on these chips at pin 39. If the signal is missing, there is probably a broken trace.

The Radio Shack logic probe showing the Clock signal on Z3 pin 1
(looks about the same for the leads of the crystal, chip Z3 pins 2-6,
and Z2 pins 3,11).

      Because of battery corrosion, there are a number of Z2/Z3 traces that should be tested with a DMM set to continuity. I would suggest doing this before proceeding with any other repair ideas. Broken traces are easy to overlook, and the following continuity buzzes will help prevent hair pulling in regards to a bad clock signal:

      • Z2 pin 1,4,10,13,14 to Z3 pin 14
      • Z2 pin 2 to pin 8
      • Z2 pin 3,11 to Z3 pin 6
      • Z2 pin 5 to pin 12
      • Z2 pin 7 to Z3 pin 7 and to the battery negative trace
      • Z2 pin 9 to U1 pin 37 (clock return)

      • Z3 pin 1 to upper crystal leg
      • Z3 pin 2,3 to upper two resistor legs closest to crystal
      • Z3 pin 4,5 to lower crystal leg
      • Z3 pin 6 to Z2 pin 3,11
      • Z3 pin 7 to Z2 pin 7
      • Z3 pin 10 to pin 13
      • Z3 pin 11 to U1 pin 39 (clock return)
      • Z3 pin 12 to TC1 pin 15
      • Z3 pin 14 to Z2 pin 1

      Also check around the crystal resistors R3-R5 (2k,2k,5.6k from left to right). There's a via directly under the right most of these three resistor that goes to J6 pin 17. Often corrosion eats this via. And the resistors themselves often go open or don't connect to their traces.

      Next check U1 pin 37 for a pulsing clock signal. If there is none, try these tests:

      • Put the logic probe on either lead of the crystal Y1. A tight pulsing clock signal should be seen. Check both leads of the crystal. No signal, replace the crystal and/or check resistors R3,R4,R5.
      • If there is still no clock signal at either/both legs of the crystal (and the crystal/resistors R3-R5 are good), try this: connect a 10pf or 20pf capacitor from each leg of the crystal to ground. If it solves the problem, leave the capacitors installed. If it does not, remove the capacitors.
      • Make sure chip Z3 is a 7404, and not a 74LS04 or 74S04 or 74HCT04.
      • Check chip Z3 pins 1,2,3,4,5,6. If the clock is missing on any of those pins, Z3 is bad.
      • Check chip Z2 pins 3,11. The same clock signal as the previous step should be seen, as this is the clock input from chip Z3 to Z2.
      • Check chip Z2 pins 2,5,8,9,12. A more square clock signal should be seen. If missing, chip Z2 is bad. Note chip Z2 pin 9 goes directly to the CPU U1 pin 37.

The Radio Shack logic probe showing the Clock signal on Z2 pin 12 (looks about the
same for Z2 pin 2,5,8,9, and CPU U1 pin 37).


    D. Test the RDY and IRQ.
      Now that the Reset and Clock are tested and working, it is time to test the RDY and IRQ signals.

      The RDY (Ready) is easy to test. Put a DMM set to DC volts on CPU chip U1 pin 2. Power-on the CPU board. The DMM should show +5 volts, and stay at +5 volts. There is not much to fix here. RDY is connect directly to +5 volts through a 4.7k ohm resistor at R2.

      Next test the IRQ signal. For system80, put a DMM set to DC volts on CPU chip U1 pin 4. Power-on the CPU board. The DMM should show +5 volts DC (IRQ high) for the initial five seconds, and then change to about 3 volts (pulse) when the score displays turn on (and the CPU board is fully initialized). If using a logic probe, again the IRQ will be high for the first five seconds, and then pulse when the displays come on.

      On system80A and 80b, the IRQ should go straight to about 3 volts DC upon power-on. There is no 5 second delay, as there is with the earlier System 80 CPUs.

      If the IRQ is low, then chances are one of the 6532 RIOT chips is damaged. The most likely RIOT culprit is U4 (switch matrix), or one of the TTL chips that feeds it (Z11, Z12, Z13, Z14, Z15). Also note IRQ is connected to +5 volts through resistor R1 (3k ohms); verify that resistor is not damaged. If the IRQ is stuck high and never starts to pulse, this can often mean the U2/U3 game rule ROMs are damaged.

    E. Test the Address/Data Lines.
      If the CPU board is still not booting, the next step is to check the address and data lines. Each of the following chips have the address and data lines: U1 (CPU), U2/U3 (2332 game rule ROMs), U4/U5/U6 (RIOT chips), and PROM1 (the 2716 EPROM). Also the address lines and some data lines will be at chip Z5 (the 5101 RAM chip).

      There are twelve address lines, labeled A0 to A11. And there are eight data lines, labeled D0 to D7. The above chips' address and data lines are all tied together. Therefore if the A0 address line is pulsing at the U1 CPU, it should also be pulsing on U2/U3, U4/U5/U6, and PROM1. If it is missing on one of these chips, that means there is a broken circuit board trace.

      Test for address and data lines is done with a logic probe. Start with address line A0, and have the probe on that pin of the chip to test. Turn the CPU board power on, and watch the logic probe. The CPU board often can not just be left on. Sometimes an address or data line will start to pulse, and then stop. This often happens if the U2/U3 ROMs or PROM1 (game EPROM) is bad. So powering the CPU board off and on between address/data line tests may be required.

      What if *none* of the address or data lines are pulsing? (That is, they are either high or low.) This usually means the program in the ROM chips at U2/U3 and PROM1 could not be selected and read (hence the program is not running). The ROMs chips at U2,U3 or PROM1 could be bad, or the chips that select the ROMs (Z7, Z10, Z12) could be bad. Finally Z1 in the "up/down memory protect logic" circuit could be bad too.

    F. The RIOT Chips.
      Chip U4, U5 and U6 are 6532 RIOT chips. These are large 40 pin chips, and often they fail. If any one of the RIOT chips fails, that can lock up the CPU board. RIOT U4 handles the switch matrix, and this chip is particularly troublesome. If any of RIOT U4's input TTL chips at Z11/Z12 (7404 switch strobes/row) and Z13/Z14 (7400 switch returns/columns) fail, this can lock the CPU board. Also the Z15 switch returns enable chip (7432) can cause switch matrix problems too:

      For example, if Z12 is missing or failed, the CPU board will not boot. Also if chip Z14 is missing or failed, the CPU board comes up immediately with "000000" in the displays (like the slam switch is open). Note row chip Z11 and column chip Z13 can be missing and the CPU board will still boot (because it doesn't handle the slam switch).

      Switch matrix chips Z13, Z14 (7400 returns/columns) input pins 1,2,4,5,9,10,12,13 can be viewed with a logic probe. They should be strobing, as they are the switch returns, and connect directly to the playfield switches. None of these should be stuck low! If one is stuck low, the CPU board may not boot (by forcing the IRQ low). Then test the Z13, Z14 output pins 3,6,8,11. If these outputs are all strobing, but an input is not, replace the chip (7400). If neither the input or outputs are strobing, then the U4 RIOT chip is probably bad. Also note that Z15 (7432) switch enable chip could be causing problems here too (and this also uses one gate from Z12, pins 12/13).

Strobe/RowConnectorChip InChip Outto RIOT
S0A1J5-2/A1J6-1Z12 pin 2Z12 pin 1U4 pin 24
S1A1J5-3/A1J6-2Z12 pin 4Z12 pin 3U4 pin 23
S2A1J5-4/A1J6-3Z11 pin 12Z11 pin 13U4 pin 22
S3A1J5-5/A1J6-4Z11 pin 10Z11 pin 11U4 pin 21
S4A1J5-6/A1J6-5Z11 pin 6Z11 pin 5U4 pin 19
S5A1J5-7/A1J6-6Z11 pin 4Z11 pin 3U4 pin 18
S6A1J6-7Z11 pin 2Z11 pin 1U4 pin 17
S7A1J5-9/A1J6-8Z11 pin 8Z11 pin 9U4 pin 16

      The switch matrix strobes/rows should also be tested. This is mostly chip Z11, with two gates on Z12 also used. Check Z11's input pins 2,4,6,8,10,12 (these go directly to the playfield switches). Then check Z11's output pins 1,3,5,9,11,13. Also Z12's input pins 2,4 and output pins 1,3 should be checked.

      In my opinion many offending CPU board issues can be attributed to a failed U4 RIOT chip. It seems to cause more problems than it should. And often the fail is not black and white. That is, the game will sometimes boot, but other times may not. This situation can get worse and worse with time, until finally the game won't boot at all. It's like the U4 RIOT internally desolves, but at a slow rate. I have seen this many times, and it's rather odd compared to other manufacturer's games (where they work one day, and the next day they don't, with no "sometimes it works" factor).

      RIOT U5 (score display control) and RIOT U6 (lamp and solenoid control) are slightly less troublesome. But they can still cause problems. A bad U5 score display RIOT can lock on the CPU board and destroy a score display.

      Also test the CS1 and CS2 lines on the RIOT chips U4,U5,U6, pin 38 (CS1) and pin 37 (CS2). If CS1 (pin 38) is not pulsing, chips Z7 and Z8 handle this (the schematic has an "input/output device selection").

    G. Chips Needed (or Not Needed!) for CPU to Boot.
      Chip Z5 (5101 RAM) can be removed, and the System80 board will still boot. Sometimes a bad 5101 will stop the CPU board from booting, so temporary removal can help diagnose this. Unfortunately, all the RIOT chips (U4,U5,U6) must be installed for the CPU board to boot.

      There is a trick to get a system80 or system80a CPU board to boot without the Game ROM installed - there's enough code in U2/U3 to make the board boot. This involves holding down the red reset button inside the coin door. But this trick really isn't a real good one if you are running the CPU board on the bench.

      Fortunately, Leon Borre has developed a test program for the RIOT chips. The procedure for this testing follows. Also GPE has a test board, and there is a NOP test that can be run.

    Add a Pull-up Resistor to the Read/Write line.
    Staring with Ice Fever, Gottlieb added a 3K ohm resistor between pins 7 and 11 of TC1 (empty 40 pin socket) on the solder side of the board. Some CPU boards are picky and want this resistor. For 5 cents you might as well add the part. Gottlieb did this addition to the reset board connector that plugs into the 40 pin empty socket (TC1). So if you are using a reset board, the pull-up resistor is already part of that and does not need to be added.


The GPE Test Board QuickScan80 (QS80).
    Great Plains Electronics has a very nice test board for System80 CPUs, and is selling it for about $55. It basically encorporates the ideas of the Leon test EPROM (including the LED flashing) in a simple "plug and play" board via the empty 40 pin socket across the top of any system80 CPU board. If you don't want to do any soldering or EPROM chip programming, this may be a good alternative. The board is available from Great Plains Electronics (www.greatplainselectronics.com) and is called thier QuickScan80. I highly recommend this product for those not interested in making a similar item themselves.

    Connecting the QS80.
    Make sure the QS80 has its DIP switch set correctly: For system80 or sys80A use these settings:

    • DIP1=off
    • DIP1=off
    • DIP1=off
    • DIP1=on

    For a sys80B uses these settings:

    • DIP1=on
    • DIP1=off
    • DIP1=off
    • DIP1=off

    The unboard jumper on the QS80 is used to control the watchdog timer. This should be disabled and set to the OFF position. Connect the ribbon cable connector to the empty TC1 socket at the top edge of the system80 CPU board.

    The QS80 has a "CP2" jumper wire that is necessary for the QS80 to work. This jumper disables the U2/U3 ROMs on the system80 and sys80A CPU boards, so the board will use the ROM space on the QS80. Connect the jumper to the top side of resistor R42 (this resistor is in the upper left corner of the CPU board near the main power connector and near chips Z9, Z10). On sys80B CPU boards the jumper is not needed, but the 2764 u2/u3 EPROM must be removed from the CPU board.

    Make sure you have a good +5 volts going to the CPU board. Never connect/disconnect the QS80 with the power on. Never change any DIP settings, jumpers or connectors with the power on.

    Important! If you connect the Quickscan board "one pin off" on the 40 pin ribbon cable, you will blow up the PAL chip on the GPE board!

    Running the QS80.
    Before the QS80 will work, the CPU board must have good Reset and Clock signals. This is easy to identify as the QS80 has two LEDs - if either Clock or Reset LEDs are red, the QS80 won't work. IF the IRQ LED is red there is no IRQ activity (green means IRQ is active, meaning the ROM firmware is running).

    If Reset and Clock are good, the self test will begin. Here are the tests, THOUGH YOU WILL NOT SEE THESE TESTS, the are indeed happening (unless otherwise noted):

    • Test 1: Make sure U4 is alive and responsive.
    • Test 2: Make sure U5 is alive and responsive.
    • Test 3: Make sure U6 is alive and responsive.

    • Test 4: Interupt test. Disable all RIOT interupts and turn on CPU interupt enable. If this test fails the QS80 reports a "0" "F" (IRQ Error).
    • Test 5: U4 hex 55 memory test.
    • Test 6: U4 hex AA5 memory test.
    • Test 7: U4 random memory test.
    • Test 8: U4 port B I/O test.
    • Test 9: U4 timer test.

    • Test 10: U5 hex 55 memory test.
    • Test 11: U5 hex AA5 memory test.
    • Test 12: U5 random memory test.
    • Test 13: U5 port A I/O test.
    • Test 14: U5 port B I/O test.
    • Test 15: U5 timer test.

    • Test 16: U6 hex 55 memory test.
    • Test 17: U6 hex AA5 memory test.
    • Test 18: U6 random memory test.
    • Test 19: U6 port A I/O test.
    • Test 20: U6 port B I/O test.
    • Test 21: U6 timer test.

    • Test 22: Z5 5101 RAM hex 5 test.
    • Test 23: Z5 5101 RAM hex A test.
    • Test 24: Z5 5101 RAM random test.
    After completion of the Z5 5101 test the RAM memory is clear (high scores, configurations, credits, etc).

    If any of the above tests fail, the following number is reported on the numeric LED display along with a "F" (for fail):

    • 4 = U4 6532 RIOT bad. "4" and "F" will flash repeatedly if bad.
    • 5 = U5 6532 RIOT bad. "5" and "F" will flash repeatedly if bad.
    • 6 = U6 6532 RIOT bad. "6" and "F" will flash repeatedly if bad.
    • 1 = Z5 RAM 5101 bad. "1" and "F" will flash repeatedly if bad.

    Important! If you get an error that U4 and another PIA have "F"ailed, replace the higher order PIA chip FIRST. For example on a System80b board I was testing, the U5 and U4 chips both showed "F"ailed. But in reality, only the U5 chip was bad. Because how U4 chip is tested, sometimes the QS will report U4 as "F"ailed, because U5 or U6 is tainting the Quickscan test results for U4.

    If the clock, IRQ and reset are good and the QuickScan can boot properly, the Quickscan80 will test the U4/U5/U6 RIOT chips and the Z5 5101 RAM. A good way to use the QuickScan80 is to pull all three RIOT chips and the 5101 RAM and boot the CPU with the QuickScan80 installed. The QuickScan80 should sit in a continuous loop saying all three RIOTs and 5101 are bad (via it's numeric LED display), and should never jump out of this test mode. If this does not happen, there's a good chance the QuickScan80 is not running correctly, perhaps because of a broken address or data line trace on the board or a bad 6502 chip. But if the QuickScan80 is stuck saying all three RIOTs and the 5101 are bad, power off and then replace each pulled chip back into its socket one at a time, and re-boot with the QuickScan80. As the chips are replaced, the QuickScan80 test should not report the replaced chip as bad. If it does, obviously that chip has a problem. Start with the RIOT U4, then U5, then U6, and finally end by replacing the Z5 5101 RAM last. If the QuickScan80 no longer reports any of the RIOTs or 5101 as bad, the system80 CPU board is probably in pretty good shape.

    There are some other QuickScan80 tests that can be run after ther RIOT chips and 5101 RAM are tested. These tests are run using the start button. This includes Continuous retest (good for burn-in testing), Lamp testing, Solenoid testing, Sound testing, Switch testing, and Score display testing (For System 80 and 80A only). After completely testing the MPU board, the QuickScan80 allows the user to enter one of several modes:

    • 1 -- Continuous retest (good for burn-in testing)
    • 2 -- Lamp testing
    • 3 -- Solenoid testing
    • 4 -- Sound testing
    • 5 -- Switch testing
    • 6 -- Score display testing (For System 80 and 80A only)

The Leon Gottlieb Test EPROM.

    This information was originally developed from Leon's web page. The following instructions are my version of this web page (Leon is French, so his version is a French-to-English translation). To use this procedure, a 2732 (or 2764) test EPROM will need to be downloaded, burned and plugged into the system80 CPU board at chip location U3. Unfortunately, system80 and system80a CPU boards are not able to use an EPROM directly at this location. To modify a CPU board for a single 2764 EPROM to replace the U2/U3 masked 9332 ROMs, see the system80 repair guide part two here. System80 games do not have a socket at U2/U3, so sockets need to be added and the CPU board modified to accept an EPROMs at U2/U3 (the stock ROMs are 9332 masked ROMs). The large 40 pin TC1 socket across the top of the CPU board can also be used, but that involves a bit of tricky wiring. Details of using TC1 are at the link above on Leon's web page.

    EPROM Test File Images.
    The Leon system80 Test EPROM test files can be downloaded by clicking here. This file is in ZIP format.

    Introduction.
    The basic idea was to create the same test-program for Gottlieb System80 as was done for the other pinball CPUs including Bally and Williams. That is, an output test on the RIOT chips so these ICs could be tested, and included a way to deal with the other basic elements, such as the CPU and select lines needed to start up the CPU-board. I made such a program but than came the question from the marvin3m.com site to add a visual control to this test. Because Gottlieb has no LED indicator or display to give any hint when the CPU is booting on your work-bench. As that was a very good idea I added the LED, and finished the whole thing that way. We tested the program and everything was OK, but as the whole thing was looking more and more like the 1977-1985 Bally CPU self test. Hence marvin3m.com suggested to make a Bally-like test program with the classic "LED flashes". An easy question but not an easy thing to do. As I already put a lot of time in this project, why not make a 100% job of it? So again I did some testing and found out how to do the "flash" test and how to avoid the inconveniences of the Bally test, because the Bally test has some weak points (for example, on the Bally CPU, the test LED is connected to PIA U10, and when one PIA output is dragged down or failed, the whole test may not work as the outputs of the PIAs are not really tested). The big advantage though to the Bally CPU is that the CPU and PIA chips are socketed, where on Gottlieb's CPUs this is not normally the case. So there's one more reason to have a good diagnosis before unsoldering a lot of parts on a Gottlieb CPU board.

    A company has also made a similar device to this System80 test ROM, and is selling it for about $55. It basically encorporates the ideas of this test EPROM (including the LED flashing) in a simple "plug and play" board. If you don't want to do any soldering or EPROM chip programming, this may be a good alternative. The board is available from Great Plains Electronics (www.greatplainselectronics.com) and is called thier QuickScan80. I highly recommend this product for those not interested in make one themselves. Also below there are instructions for an alternative to a test EPROM (the NOP Generator). This is an useful alterative too.

    Fitting the Test EPROM:
    The test is in an EPROM, which can be fitted to the Gottlieb board in different ways. Because the Gottlieb SYS80 come with 3 different CPU boards: SYS80, SYS80A and SYS80B. I have an "universal" solution, with more preliminary work and soldering (but will easily adapt to any of the three System80 CPU board types), and a "simple" solution which can be impliemented for those who repair only an occasional System80 pinball or perhaps are confronted only with only SYS80A or SYS80B boards (because the original SYS80 CPU board does not have chip U3 socketed, which is needed to implement the "simple" solution). But the choice is yours which method to use.

    The Tests:
    The test works as follows. The test EPROM controls the 6502 CPU, then the 5101 RAM, and then the select lines of the three RIOT chips (remember the RIOT chips are the I/O chips which interface the 6502 CPU to the game's peripheral coils, switches and lamps). If each of the components tests good, a flash is seen on a connected LED for each device (except for the inital test of the 6502 CPU). After the first four LED flashes, the test goes on and will continuously test the outputs of the three RIOT chips by pulsing them between 5 volts and 0 volts, on and off. This last part of the test is non-blocking; this means that when one or more RIOT outputs are dead, the test continues to run. It's up to you to measure the outputs of the RIOTs to see if they "dance" (pulse/move) between 5 and 0 volts (a logic probe works best for this, but a DMM can often be used). But keep in mind when the initial tests find a CPU/RAM/RIOT select fault at power-on, it will continue the failed test on the bad component, until the fault is repaired (much like the stock 1977-1985 Bally boot-up test). Then after the first four flashes (tests), the test program will continue checking the RIOT outputs. This means that only a failed RIOT output would be broken if the test gets to the continual LED flashing faze (as the 6502 CPU, 5101 RAM, and the select lines of the three RIOT chips have already been tested). This works better than the Bally test EPROM, because it avoids using an indicator LED connected directly to the address A6 line.

    The tests are contained in its own EPROM, and are not depended of the game ROMs or PROMs. The outputs of the RIOTs are controlled in the second part of the test, and I added a special trick which allows you to skip the initial 5101 RAM test. This is convenient because the 5101 RAM often fails, and are expensive/hard to find. Note the Gottlieb system80 CPU does not require the 5101 RAM to be present to boot (it only saves the game's audits and high scores). So if you would like to keep working on the CPU board after a one flash diagnosis (a failed 5101 RAM), and continue and test the RIOT chips, it can be easily done.

    Important Note:
    When applying the 5 volts to the board there is always a automatic reset, which puts the internal CPU and RIOT registers in their start (reset) position. During this brief moment the state of the address bus A6 is not stable and the control LED connected to it can flash. This is an uncontrolled "flash", and can mix-up our LED flash counting. To avoid this, the test program gives the first MEANINGFUL "flash" only after about 5 seconds (which we should all be used to on Gottlieb CPUs because all System80 {not 80a/80b} CPU boards have a five second boot-up delay anyway). So if you see a LED flash immediately after power-up, do not count that one!! At power-up count to yourself "1,2,3,4,5", and then start counting the meaningful LED flashes. Be sure the uncontrolled power-on flash (if present) is not counted.

    A "flash" means the LED lights up and then turns off, and is counted as a sucessful "flash". If the LED lights up and stay on, this is NOT counted as a "good flash".

    After several days of corresponding with Marvin3m.com, I came up with an universal solution which works fine with ALL system80 CPU boards (SYS80, SYS80A, SYS80B). There is a more simple solution, but the Test EPROM works a little different for the three board types, and you have to put a socket at CPU board location U3 on the SYS80 CPU board (this essentially allows the SYS80 CPU board to be treated as a SYS80A board). Lets take a look at both solutions.

    Simple version:

      Here we use a free logic port on one unused CPU board TTL chip to invert and combine the two selection signals BAB12 and BAB13. We also make a provision for a "easy to come-by" A11 signal. After this modification the three signals are always available for our test EPROM. We must combine and invert the two BAB12 and BAB13 signals on a SYS80 board because the board expects a ROM and not an EPROM at board location U3 (which have slightly different pin-outs). Hence there are three signals that are slightly modified and used on the U3 chip at pins 18,20,21.

      Implementing the Simple Solution.
      Do the following:

      • If working on a SYS80 CPU board with no socket at position U3: the chip at U3 will need to be removed, and a 24 pin socket soldered to the board. NOTE: U3 is the game rules ROM - be careful to NOT damage the original U3 ROM. If the original U3 ROM is damaged, the board will require more work (and another EPROM) to fix it.
      • Take a 24 pin socket and bend pins 18,20,21 upwards.
      • Solder a wire with a yellow grip-pin on the bent-up pin 21 of the socket.
      • Solder a second wire with a blue grip-pin to the socket pins 20,18 (tied together).

      On the solder side of the CPU board. Note these two steps are a "one time" job, as these wires can stay on the CPU board forever, and have no influence on the normal working of the CPU board.

      • Run two wires from the 6502 CPU chip U1 pins 22/23, to the chip Z9 pins 9/10.
      • Solder the wire on U3 pin 18 and connect it to the the "star-like" solder-pad found at the the top right side from the CPU board. Passes the stripped wire through the hole in the middle of the little star, this way you can put a grip-pin on the bare wire sticking through the CPU board at the star later from the parts side of the CPU board.


Here you see the three wires, and these can stay on the CPU board forever.

      • Now Insert the modified socket in the CPU board socket at U3.
      • Burn the Test EPROM code into a blank 2732 EPROM.
      • Put the Test EPROM in the modified socket.
      • On the parts side of the board, hook the yellow grip-pin to the "little star".
      • On the parts side of the board, hook the blue grip-pin to Z9 pin 8.


Here you see the completed and working installation on a SYS80A CPU board. To do this on a SYS80 you have to place a socket at U3.

        Last the control LED needs to be tested and installed.

        • Solder a 1000 ohm resistor directly to one lead of a LED.
        • Connect the other lead of the 1000 ohm resistor to the +5 volt line on the CPU board using a red grip-on pin (C1 on the left of the board works well for the +5 volt source).
        • For a first-time test to make sure the LED is oriented properly, turn the +5 volts on and connect the second LED lead temporarily to ground. The LED should light up. If not, reverse the two LED leads.
        • Connect the second lead of the LED to a green grip-on pin, and connect this grip-on to U1 pin 15.


A test mounted simple version sys80 (a socket at U3 is necessary) or SYS80A board, with the LED connected via red and green grips, and the adapter inserted in U3 and connected with the yellow and blue grip. In the middle of the board you see a little red temporally jumper necessary to test the outputs of the U4 RIOT (more on that later).


The test EPROM mounted on a SYS80B board. Plug in the Test EPROM (2764) into the piggy board, and connect the LED.

    The Universal Solution:

      For those who want to use the test EPROM without changing anything on the CPU boards or installing a socket at U3. Also the test EPROM implemented in this style can be used on ALL the system80 CPU board types, as we use the empty TC1 connector present on ALL system80 cpu types. Unfortunately some soldering work is required. But once done, it can be re-used on other system80 CPU boards. But because of the amount of work involved, and a similar version is available for $55 from Great Plains Electronics, I don't really suggest using this version of the test EPROM. In addition, there is an alternative version (the NOP Generator) available which does not even need an EPROM (see below). But the instructions are listed here for those so inclined to go this route.

      Parts Needed:

      • (1) Perforated circuit board
      • (1) LED
      • (1) 1.2k ohms resistor
      • (1) 47 nF capacitor
      • (2) strip pins, 20 pins each (do not use wire wrap or large header pins, as these will destroy the mating socket at TC1 on the CPU board).
      • (1) 24 pin chip socket
      • (1) 14 pin chip socket
      • (1) 7404 IC chip


      All pieces mounted on the board.

      The two 2x20 pins strips are mounted on the component side of the board, when the board will be fitted on the cpu it will be reversed. Before you start soldering it is a good idea to mark on the corners of the connector and sockets with their respective pin numbers, as it helps counting for the right pin while soldering.


      Here are the 32 connections required, and a few hours of soldering! You can see the pin numbers on the corners of the TC1 connector.


      This is the interconnections of the two ICs (2732 and 7404), and the LED.

      Now connect the TC1 pins to the 2732 as stated in the list below:
      TC1 to 2732
      pin 1
      to
      pin 17
      pin 2
      to
      pin 16
      pin 3
      to
      pin 9
      pin 4
      to
      pin 10
      pin 5
      to
      pin 11
      pin 6
      to
      pin 12
      pin 7
      to
      pin 24
      pin 8
      to
      pin 15
      pin 9
      to
      pin 14
      pin 10
      to
      pin 13
      pin 25
      to
      pin 21
      pin 26
      to
      pin 19
      pin 27
      to
      pin 22
      pin 28
      to
      pin 23
      pin 29
      to
      pin 1
      pin 30
      to
      pin 2
      pin 31
      to
      pin 3
      pin 36
      to
      pin 8
      pin 37
      to
      pin 7
      pin 38
      to
      pin 6
      pin 39
      to
      pin 5
      pin 40
      to
      pin 4
      pin 32
      to 7404
      pin 9
      pin 33
      to 7404
      pin 11

      This tool will require a few hours of work. But once finished you have a very good repair tools that will always serve you!


      The test-board fixed on the cpu and working, the led is pointed "upwards" to see it better. While testing, U2 and PROM1 can stay mounted on the board.

      Manual:

        Simple solution:

        • For a SYS80A (or a SYS80 with socket at U3), place the test EPROM in the CPU socket at U3.
        • For a SYS80B CPU board place the 2764 test-eprom in the piggy board socket.
        • Connect the control LED's red grip on +5 volt and the green on pin 15 of U1.
        • Connect 5 volt to CPU board connector J1 pin 1.
        • Connect Ground to CPU board connector J1 pin 5.

        Universal solution:

        • Place the test-board on the TC1 connector
        • Remove U3 in case of a SYS80A. On a SYS80B CPU board remove the game eprom (2764 on the daughter board). In case of a SYS80 with a soldered U3, you have to make one temporally connection in order to eliminate the selection of on-board U2 and U3 ROM. Ground signal BAB13 temporally by connecting Z10 pin 6 to pin 7.
        • Connect 5 volt to CPU board connector J1 pin 1.
        • Connect Ground to CPU board connector J1 pin 5.


      Although this is an SYS80A board, I mounted the universal solution it like a SYS80 (as an example) with all chips are still on the board (U3,U2,PROM1: the selection of the on-board program chips is eliminated by the Z10 pin 6 to pin 7 connection in the left upper corner). The second little red wire you see in the middle is a temporally connection to test outputs of the U4 (RIOT, as explained above). This test was performed when I had the replacement RIOT for U4, while was dead when I received this board. I used this dead RIOT to do my research and testing, that is why on the other photographs the U4 socket is empty.

    Start:
    When you power-on the 5 volts, count to five and then start counting the LED flashes. Remember to ignore any immediate power-on flash (which may or may not be present).

      NO Flashes.
      We start with the worst case of NO flashes. The lack of any flash means there is a problem with either the reset or clock circuits, or the CPU chip itself. I assume you have reviewed the document at www.marvin3m.com/sys80/index3.htm and addressed any problems with the reset and clock circuits. That only leaves the U1 6502 CPU processsor chip.

      Simple solution: On SYS80A remove all ROMs, PROM1 and the Test EPROM. On SYS80B remove the test EPROM and do not replace the game EPROM.
      Universal solution: Remove the test-board from TC1. On SYS80 temporarily connection must stay on Z10. On SYS80A remove U3 and U2. On SYS80B leave the game EPROM out, and remove the PROM1 too.

      As always we will look first at the processor and the selection circuitry. Again as for the other repair methods, we work without any program present. That way we force the cpu to pass through all its addresses in a very fast manner. We look at the basic signals the CPU chip needs to run.

      First Check the CPU chip U1 itself. Check the following:

      • pin 8 for +5 volts (main +5 volt feed)
      • pin 1 for Ground (main ground feed)
      • pin 40 for about +4 volts (reset pin)
      • pin 4 for +5 volts (pull up from +5 volts)
      • pin 2 for +5 volts (pull up from +5 volts)
      • pin 37 for about +2 volts (clock signal)
      • pin 34 for about +2 volts (R/W signal)

      If something is missing, take out the schematic and follow the missing voltage back to its origin. Both signals on pin 2/4 are only a pull-up resistor tied to +5 volts. Reset on pin 40 is the reset circuit which uses only two chips. Pin 37 brings the clock-signal, again two chips. Pin 34 is the R/W signal, and if missing the CPU chip itself is bad or the signal is shorted. Bend or cut CPU U1 pin 34 from the board, and recheck it. When pin 34 is free and there is still no signal, the CPU chip is dead. When pin 34 is free and there is a signal, there is a short somewhere on the CPU board pulling pin 34 down.

      When these basic signals are present, it's time to look at the address and data bus signals. They must all be present, and between 0.5 and 3 volts. When measuring them with the DMM voltmeter, the load on the signals sometimes causes the processor to a halt (it is better to use a logic probe to check for signals). So if one signal is missing, switch the CPU board on and off and check again or look at another good signal and then return to the missing signal. If it will not "dance" the processor is broken or the signal is shorted. As always release (cut or bend) the pin of the missing signal. If the pin is free yet the signal is still missing, it's for sure a bad CPU chip. If the signal is present when the pin is bent/cut, look for a short on the board in the manner described above.

      The Selection of U3:
      The program may not work because the processor does not find the program chip. In the simple solution there is only one signal to select the program chip at U3. The signal coming at U3 pins 18/20 must be about 1 volt. The rest of the selection is by the other address signals and these are already controlled on the processor and chip Z7. In case of the universal solution the selection signal is formed on the test board itself so no control is needed (I need to verify this).

      With a SYS80B simple solution control of the selection of the 2764 should show pin 21 at 3 volts, pin 23 at 4 volts, and pin 24 at 1 volt. On the 7404 mounted on the piggy board measure pin 1 at 4 volts and pin 2 at 0 volts. If not OK these signals are easy to follow with the schematic.

      One Flash:
      The processor is OK but the 5101 RAM at Z5 is suspect. To skip this test after the first flash, momentarily ground, for just a brief moment, U1 pin 6. This causes an interrupt and the program jumps directly to the RIOT test. As there is no reset involved the flashing LED will occur immediately (assuming the RIOT is OK) and you can continue your testing until Z5 is fixed.

      In most cases it will be the RAM itself. But to be 100% sure we will control the selection signals of this RAM. Restart the test and after the first flash the program will continuously test the RAM, and we measure the selection signals:

      • Z5 pin 20 = 3.5 volts
      • Z5 pin 19 = 3.5 volts
      • Z5 pin 17 = 0.2 volts
      • Z5 pin 18 = 0.2 volts
      Also look at the data signals at Z5 pin 9 to pin 16, which should be around 0.2 volts. Are these signals OK? If not replace the RAM.

      Two flashes:
      The second flash tests the U4 RIOT chip selection signal.

      Three flashes:
      The second flash tests the U6 RIOT chip selection signal.

      Four flashes:
      The second flash tests the U5 RIOT chip selection signal.

        Selection Signal of the RIOT chips U4, U5, U6.
        If the test is failing at flash 2,3 or 4, there is a RIOT chip selection signal problem. The RIOT chip selection signal is SEL2 (pin 37), which should show 3.5 volts. Follow this to chips Z7 or Z9 or sometimes Z8 pin 38 (see schematic). To be completely sure look at the RIOT chips' pin 34 (Reset) and make sure it is +5 volt and pin 39 is +4 volt. As there are only a few signals that look at the RIOT chip selection signals, examine all three RIOT chips and if again these signals are Ok, replace the RIOT chip in question.

      Continuous flashing:
      This means that all the initial tests passed, and the test program is controlling the outputs of the RIOT chips.

      With the voltmeter controls the outputs of all the RIOTS, they must pulse from 0 to 5 volts. These chips include U4,U5,U6 pins 8-19 and 21-24. A few pins may *not* move between 0 and 5 volts, as they are connected as inputs. For example, U5 pin 15 will only move if connector J5 pin 10 is shorted to ground. Other RIOT pins which do not move are U4 pins 8-15. To test these outputs there are two things you must do. First set the CPU board DIP switches 1-8 to ON. Second, temporarily connect Z15 pin 3 and 7 together. This will make RIOT U4 pins 8 to 15 "dance" between 2 and 4 volts.

      Now that every output has been controlled, it is easy to see if any RIOT pins 8-19 and 21-24 do not "dance" (using a Logic probe, or even a DMM). If one pin is "dead", there is a trick that can be used to see if it is the RIOT chip itself, or a short on the board that is disabling this pin. For example, say RIOT U6 pin 10 is not pulsing. Temporarily shorted pin 10 to pin 9 using an aligator clip. This will cause one of two things to happen: if both pins move than the RIOT is certainly dead at the output (pin 10 in this example), and the entire RIOT should be replaced. But if both pins no longer move, than there is probably a short somewhere on the first output line (pin 10 in this example) somewhere on the CPU board.

      To verify the short, free this RIOT output (again pin 10 in this example) by bending the RIOT pin out of its socket or cleanly cut the RIOT's pin 10 (if the chip is soldered to the board). If the RIOT output pin still does not move when freed, the RIOT chip has failed. If the RIOT output moves when freed, than there is a short on the board connecting to this RIOT output line. Follow the line using the schematics and check those connecting components. Eliminate a component by temporarily cutting the suspect shorted component. If all connecting components have been checked and temporarily removed from the circuit, and the RIOT output still does not move, the RIOT chip itself may still be the cause.

    Other Test EPROM tips.
    When you decide to use this test program, I think it's a good idea to use it first on a good working CPU board. This will allow you to check all the RIOT outputs to verify your procedures. The test EPROM can simulate problems on a working CPU board by bending up a leg of the RAM or RIOT chip you choose. Bend up a data line arrival or a selection pin. If the chips are soldered you can ground a selection pin (but not a data pin because the test will never start up as the data lines are also used on the CPU itself, and the whole data line is interconnected!)

    For example, try grounding Z5 pin 17, causing the Test EPROM to fail before the first flash. Or try grounding RIOT chip U5 or U6 pin 38 and see where the test program stops the LED flashing. Always ground the pin BEFORE starting the test, when the test is already running and in the "continuous" flashing mode, the test will not go back and re-test the RAM or RIOT select lines. Of course the outputs of the RIOT chips can be shorted "on the fly", but that really doesn't demonstrate much compared to the initial four LED test flashes.


Alternative to the test EPROM - the NOP Generator.

    Larry Hammer (LHammerpin at verizon.net) came up with this neat idea that applies to the 6502 system80 CPU board. This test method has the advantage that it does not require a custom EPROM to be burned. It also does not require any modifications to the CPU board itself.

    A very handy thing to have for debugging 6502-based system is a NOP generator. As long as the processor has power and a clock, this should work. The 6502 processor has an instruction set called NOP (No Operation). The NOP tells the processor to cycle through every one of the 65536 addresses. The end result is that the address bus will count in binary – each address line being the square wave at half the frequency of the previous address line (i.e. A0 will have the highest frequency, A1 will be half that, etc. all the way up to A15, the lowest frequency). These are best tested with a scope, but a digital probe can be used in a pinch. With a scope, all should be nice square waves.

    Building the NOP generator is easy, as long as the board has an EPROM socket at PROM1 (all system80 CPU boards should have this). First, get a 24-pin solder tail socket to plug into the PROM1 socket. Next, get stiff, fine-gauge wire (cut off resistor leads work great). Push one wire into the new socket at pin 12 – this will be the ground wire. Push another wire into your new socket at pin 24, this will be the +5 volt wire. Push a wire into the new socket at each data line pins 9,10,11,13,14,15,16,17. This will be eight wires and the +5 and ground wires.

    The NOP instruction is EA in Hex. That means you are going to solder the wires from D7, D6, D5, D3 and D1 to the +5 volt wire. Then solder the wires from D4, D2 and D0 to the ground wire. This means that pins 14,11,9 will be grounded to pin 12. And pins 17,16,15,13,10 will be hooked to +5 volts at pin 24 at the PROM1 socket.

    Note that it is possible to assemble the NOP generator directly into the CPU board's EPROM socket at PROM1 after the EPROM is removed. But do not do this! The insertion of these wires into the EPROM socket will cause it to loose spring tension and ruin the socket. Plus, if this is assembled into a spare EPROM socket, it can be used over and over again on different CPU boards.

    After this is assembled, remove the PROM1 EPROM and insert your NOP generator into the PROM1 CPU board socket. Insure that it is properly oriented and that none of the +5 wires are touching the ground wires. Disconnect all plugs to the CPU board except for J1 (the main power plug). Power up the machine. Alternative, do this on a work bench with +5 volts and ground hooked up to the CPU board's J1 plug.

    If you are using a digital probe, the following pins on U1 (the 6502 processor) should be tested as pulsing:
    U1 Pin - Address
    25 A15
    24 A14
    23 A13
    22 A12
    19 A10
    18 A9
    17 A8
    16 A7
    15 A6
    14 A5
    13 A4
    12 A3
    11 A2
    10 A1
    9 A0

    The pulsing at pin 25 may be so slow that the individual pulses can be heard. If all the addresses are pulsing, then check the other chips, U2,U3,U4,U5,U6 to insure that the addresses at those chips are also pulsing. If the addresses are pulsing at the U1 CPU, but not at one of these chips, then there is a broken trace.

    Also check the address lines at Z10, Z12 and Z7 to insure they are not broken. If one or more of these addresses are not pulsing, then either the CPU is defective, or one of the chips that are hooked up to the address are pulling it down. If you are lucky, your CPU is socketed. Then you could remove the CPU and bend the one lead out of the socket. But since these boards were manufactured with the CPU soldered in place, you are most likely out of luck.

    The next best way to proceed is to take a sharp razor blade and temporarily cut the trace in such a way that it is easily repairable with solder. Check with a voltmeter to insure that the trace is cut and reinstall in the machine with all plugs removed except J1. Use the digital probe and see if the address at the CPU is now pulsing. If the CPU is now pulsing, then the CPU is good and one of the other chips is pulling down the line. If the CPU is not pulsing at this address, then it is likely defective and needs to be replaced.

    If this address is not pulsing at the CPU, check the same address at one of the other chips. If you are using a digital probe, it may now appear to be pulsing, but that is likely a false reading. Take a 3.3k resistor and connect one side to the +5 volt supply, and the other to the address at one of the chips that now appears to be pulsing. The line as checked with a digital probe should now appear as high.

    If after cutting the trace, the CPU is pulsing, then it will be necessary to determine which chip is at fault. This can best be done by repairing the trace previously cut at the CPU with solder. Then follow the trace from this address at the CPU and find where it splits. Cut one side of the trace and test again. Using this technique, it should be possible to narrow it down to the defective chip.


Finishing Up.

    New Battery
    To replace the original battery, add a remote three "AA" battery pack and a 1N4002 diode (banded diode end first connected to the pcb "+" pin, and the non-banded end connected to the positive lead of the battery pack). The diode is used so the recharging circuit doesn't try to charge the AA batteries. Also the game will work fine with no battery. Not having a battery means that the high scores and operating audits won't be saved. Personally, I find this acceptable.

An installed memory back-up capacitor. After
the battery is removed, the traces are sanded
shiny. The negative lead of the cap is put in the
negative battery hole. The positive lead is bent,
and soldered directly to the trace leading to the
positive battery hole (since the positive battery
hole was too far away).

    Memory Back-Up Capacitors.
    If one insists on having a battery (can't live without those high scores!), I would recommend installing a memory back-up capacitor instead. These capacitors will charge when the game is on, and slowly discharge to keep the memory alive when the game is off. The advantage to these capacitors is they never wear out, and they won't leak corrosive materials. The best of all worlds in my opinion. The down side is the game must be on for about one hour every month to maintain their charge. Also, the game must be on for about eight hours continuously to initially charge the capacitor.

    Note that some CPU boards will work better with a memory cap than others. This has to do with the exact memory on the board, its age, and its exact manufacturing specs. Some memory chips have different power consumption rates, hence varying results can be seen with memory backup caps. Some CPU boards will maintain their memory well with a backup cap, and others may not. "Your mileage may vary" is probably a good statement about memory backup capacitors.

    When I installed my back-up capacitors, the minus and positive leads were not labeled on the cap. There was only a black line on the cap to designate the negative lead (the CPU board is labeled; the positive hole has a "+" next to it). Jameco (800-831-4242) sells 1 Farad memory caps, part# 142957, $3.95 each, $3.49 for ten or more.



* Go to System 80 Repair, Part Two
* Return to the Pin Fix-It Index
* Return to Marvin's Marvelous Mechanical Museum