Gottlieb Universal Test Board Tester Overview The Gottlieb Universal Test Board is a design original created by Leon Borre to help diagnose Gottlieb System 80 MPU boards. It connects to the TC1 connector at the top center of the Gottlieb System 80 MPU board. It uses a special test eprom that Leon created and performs some simple tests on the 6502 cpu, 5101 ram and 3 RIOTs on the board. Status of the tests are indicated by flashes on the test board's led. Instructions have been loosely transcribed from Leon's original article (viewable at the link at the bottom of this document) & have been rewritten or added to as needed to add clarity to the test procedures and results. A circuit board design was created from Leon's original schematics and it's planned to make this design available for anyone to order via the Oshpark PCB service (you pay for just the boards, you source & assemble the remaining components). See the bottom of this document for more information. CAUTION: ALL TESTS SHOULD BE PERFORMED WITH THE MPU AT THE BENCH USING A BENCH SUPPLY OR IF TESTING INSIDE A MACHINE, DISCONNECT ALL CONNECTORS FROM THE MPU EXCEPT THE HARNESS COMING FROM THE POWER SUPPLY AT J1 ON THE MPU. FAILURE TO DISCONNECT THE OTHER HARNESSES ON THE BOARD WILL RESULT IN COILS, LAMPS AND OTHER DEVICES BEING PULSED ON AND OFF OR LOCKED ON DURING THE TESTS IF USED INSIDE A MACHINE. NOTE ON INSTALLATION/REMOVAL OF TESTER: When installing the tester into the 40-pin TC1 socket at the top center of the MPU board, make sure pins are lined up and the silkscreen notch on the tester board is on the left (silkscreen text is also rightside up and legible). When removing the tester (with power off), it is best to use a plastic mechanical pencil or pen with a graduated tip (narrower at tip than the body) and gently slide the tip of the pen or pencil under one side of the test board, then the other side. This will help loosen the test board from the TC1 socket. If you use a flat blade screwdriver, rest a quarter on the socket to pry against to avoid any damage to the socket on the System 80 MPU. Avoid prying or pulling up only on one side of the tester board, as this will most likely bend the pins that are still seated firmly in the socket. Tests Performed 1. CPU Test (flash #1) 2. 5101 RAM Test (flash #2) 3. RIOT U4 Test (flash #3) 4. RIOT U6 Test (flash #4) 5. RIOT U5 Test (flash #5) 6. Non-blocking continuous test on RIOTs (RIOT output pins pulse high/low)
Note on Counting Flashes Directly at power-on there is an automatic reset and the 6502 CPU and RIOT internal registers are put into their start position. This can cause a false flicker on the LED. Please wait 4-5 seconds before counting flashes. A flash indicates the test passed. If the led stays lit, the test did not pass. Setting Up Your Gottlieb MPU Board There are a few things that must be done prior to using this tester. Please follow the instructions below depending upon which Gottlieb System 80 board you have. System 80 Since U3 is soldered directly to the board a temporary connection must be made to ground the BAB13 signal to disable U3. This is done by connecting Z10 pin 6 to pin 7. System 80A Remove the U3 eprom from its socket System 80B Remove the 2764 game eprom from the piggyback board Instructions 1. Connect the tester to TC1 making sure the silkscreen notch indicator on tester is on the left 2. Remove or disable any game eproms per Setting Up Your Gottlieb MPU Board above 3. Apply power on the MPU board using a bench power supply 4. Wait 3-4 seconds then begin counting any flashes **IMPORTANT INFORMATION ABOUT COUNTING FLASHES** When you first power the mpu board on, count one...two...three..by that time the initial flicker of the led (when the cpu/riot registers are initialized) will have occurred and you can begin counting flashes. Remember, a flash occurs at the end of each test to indicate the test passed. So for example if only one flash occurs, the CPU test passed, but the RAM test was not successful. What SHOULD happen is the led will flash 5 times and then will continue to flash on and off. If you see continuous flashing, skip below to the CONTINUOUS FLASHING section for further testing of the RIOT outputs. What if it flashes less than 5 times and stops? See below.. NO FLASH (cpu issue) Remove the tester from TC1, additional tests will need to be made without any program running so that the cpu passes through all its addresses quickly. We can then look at the basic signals the cpu needs to run.
Setup the mpu board as follows: System 80: Leave temporary connection at Z10 pin 6 and pin 7. Nothing else to do. System 80A: Remove U2 from its socket in addition to U3 being removed System 80B: Remove PROM1 from its socket (upper right eprom on mpu board) 1. Verify 5v to the cpu by checking pin 8 (VCC) of the 6502 cpu. 2. Check additional pins on the 6502. pin2 (RDY) = 5v pin4 (/IRQ) = 5v pin 34 (R/W) = 2v (pulsing with logic probe) pin37 (CLOCK IN) = 2v (pulsing with logic probe) pin39 (CLOCK OUT) = 2v (pulsing with logic probe) pin40 (/RESET) = 4v (with logic probe, signal should start low when mpu is first powered on and flip high after about ½ second and remain high) If any of these voltages are missing, follow the missing voltage back to its origin using the schematics. If pin2 and pin4 voltages are missing, check voltages on each side of the pull-up resistors for those pins. If voltage is 5v on one side, but near 0v on the other side then there is likely a short on the signal. For the IRQ signal, the short could be at either the cpu chip or any of the RIOT chips (pin25 on the RIOTs). pin34 (R/W) is the read/write signal from the CPU. If missing the cpu chip is bad or R/W is shorted. This pin can be cut to free it to check for a short. Free and no signal = dead cpu. Free and an present signal = short. pin37 (CLOCK IN) components involved in creating the clock signal are Z3 (7404) and Z2 (7474) ICs, a few resistors and crystal oscillator pin40 (RESET) components involved in creating the RESET signal are Z1 (4528), Z4 (4081). Also the Up/Down Memory Protect Logic components play a part. 3. Next verify data signals (pins 26-33) and address signals (pins 9-20 and pins 22-25). A logic probe works best here and will show pulsing on each pin, but a meter should show voltages between 0.5-3v depending on the pin being tested. Sometimes when measuring these signals with a multimeter the additional load can cause the cpu to halt. The power to the mpu may need to be turned off/on if a halt occurs and it would be wise to verify the signal several times by powering off/on the mpu and checking it again. If a signal is still missing, there is likely a short on that signal at the 6502 cpu or possibly at another IC if the signal goes to multiple ICs. Unfortunately to isolate the short you will likely have to free the pin of that signal until the culprit is found. This would involve cutting the pin at the cpu, being sure to cut in a way that it can be resoldered.. or cutting a trace on the board, again where it can be repaired easily. If the signal is still missing then the cpu is likely bad, but if the signal is present then there is a short at another IC on the board and you will have to continue narrowing it down in this manner. NOTE: The program will eventually stop working because the cpu will not be able to find a chip at U3 chip (since the tester board is still removed).
With the tester re-installed, if you are still not getting any flashes, you can check the chip selection signals at U3 (pin20 & pin21). If these signals are not correct then the test ROM is not able to run. These should be pulsing when testing with a logic probe, or will be around 2v if using a multimeter. Chips involved are Z7 and Z10. ONE FLASH (RAM may be bad) The processor is okay but the 5101 static RAM at Z5 may be faulty. To temporarily skip this test you can ground pin6 of U1. This will cause an interrupt and the program will jump directly to the RIOT test. As there is no reset involved the flash will occur directly (if the RIOT is ok) and you can temporarily continue your testing. In most cases when getting one flash the RAM itself will be bad. To be 100% sure we can control the selection signals of this RAM. Restart the test and after the first flash the program will continuously test the RAM. Measure the selection signals on the 5101 RAM: pin20 (R/W) = 3.5v (pulsing with logic probe) pin19 (CS1) = 3.5v (pulsing with logic probe) pin17 (CS2) = 0.2v (pulsing with logic probe) pin18 (OD) =0.2v (pulsing with logic probe) With a logic probe check for high/low pulsing on pins 9-16 (data lines) or check for around 0.2v on these pins with your meter. If any of these signals don't check out then replace the RAM. TWO FLASHES (U4 BAD) THREE FLASHES (U6 BAD) FOUR FLASHES (U5 BAD) If two, three or four flashes occur then one or more RIOTs are bad depending on how many flashes were received. Verification should be done on the selection signals of the RIOTs. pin37 (/CE) = 3.5v (pulsing with logic probe) if missing could be due to Z7 or Z9 pin38 (CE) = 3.5v (pulsing with logic probe) if missing could be due to Z8 pin34 (/RESET) = 5v pin39 (CLOCK) = 4v CONTINUOUS FLASHING After the first 5 tests occur (5 flashes), the led will continue to flash on and off. At this point the outputs of the RIOTs can be checked for pulsing high/low signals using a logic probe. A meter could also be used to see the signal is varying from 0 to 5v. U4 Check for slow high/low pulsing on pins 16-19 and 21-24 using a logic probe The pins 8-15 are connected as inputs and in order to see them pulse two things must be done. DIP Switches 1 to 8 must be set ON. Second, a temporary connection between Z15 pin 3 and pin 7 must be made. After this there should be activity on pins 8-15. U5, U6 Check for slow high/low pulsing on pins 8-19 and 21-24 using a logic probe
Every output of the RIOTs can be checked now. If one or more outputs do not move, you can connect the pin with its neighbor and either they will both pulse (RIOT dead at the output that was initially missing) or neither will pulse (may indicate a short on the failed output). If there is a suspected short, the pin on the missing output can be cut to free the signal from the board & again checked for a signal. If there's a signal once the pin is freed then there is a short on the board (follow back from this pin on the schematic to diagnose further). If however the signal is still missing once the pin has been freed then the RIOT is likely bad. Simulating Faults (with a working MPU) To simulate faults on a working board, Leon suggests the following: Grounding pin 17 of Z5 should indicate faulty RAM (ie. 2 nd flash will not occur) Grounding pin 38 of the U5 or U6 RIOT will cause the tester to indicate a fault on the RIOT and no pulsing should occur at the RIOT's outputs *Note: Always ground the pin BEFORE launching the test, as when the test is already running and continuously flashing it's already passed the initial tests of CPU, RAM & RIOTs. About the TEST Program The test program resides in different sections of the eprom at addresses where A6 (address 6) is not involved (low) since A6 is used to blink the led on/off. The program was coded in hexadecimal assembler instructions of the processor itself, directly written into the eprom. This was a time consuming way to program, but Leon found it necessary to have complete control over where the code resided in the eprom so that A6 could be isolated for the purpose of flashing the led. Interconnected jump (JMP) instructions were used to achieve this. No source code exists. Leon coded the test program entirely in hexadecimal assembler instructions within the allowable space of a 2732 eprom. Leon's original article on creation and use of this tester: http://www.pinwiki.com/wiki/index.php?title=leon_borre_gottlieb_system_80_cpu_board_repair Where to get the Gottlieb Universal Test Board? Right now only a limited number of boards are being created & assembled for testing. Eventually, it's planned for boards to be available via the Oshpark PCB service so anyone can order just the bare board & then source the remaining components themselves and assemble the board. For more information please visit http://www.pinitech.com/free_designs.php Assembled boards may also be available for purchase through Pinitech. Document Change Log 01/17/14 Wayne Eggert Initial document creation