Repair of cpu-board Gottlieb type SYS 80 all models.
I would like to thank the tree guy's how help me with information and advise; Pascal Janin and Didier Fruleux of France and Clay from the U.S.
Many times I got a request by email to write my test-program for Gottlieb pinballs. By coincidence I have no Gottlieb pinball in my collection, that is why this method is the last of the series...As I was looking into Gottlieb , I understood quickly that for the first electronic pinballs ( system 1) it was no longer necessary to make a test-program. The cpu is no longer available and the same is truth for a lot of other ic's .I think Rockwell, the maker, no longer knows that they ever made these ic's...
For this type of pinballs new cpu-boards are availeble ...information you will find here.....
Tecnical information about System1 can be found here ...........
About the newer Gottlieb pinballs there is ,as always, good information on the site of marvin3m.com. You read a lot about problems with , ground, connectors and certain problems of spare parts, I think it is a good idea to read first the manual and hints at the Marvin3.com site here ................
The basic idea was to create the same test-program for Gottlieb as I did for the other pinballs , Bally ... Williams....An output test on the RIOT's so these elements could be tested , and included in the manual the way how to deal with the other basic elements , such as the cpu and selections needed to start up the cpu-board and that way the pinball. I made such a program but than came the question from Clay of marvin3m.com site to add a visual control to this test ..Because Gottlieb has no led indicator or display to give you any hint when the cpu is connected and on your work-bench...As that was a very good idea I added the led, and finished the whole thing that way....Clay tested the program and every thing was ok , but as the whole thing was looking more and more like a bally cpu self test. Clay suggested to make a Bally like test-program with the classic " flashes" . An easy question but not an easy thing to do..But as I already put a lot of time in this project why not make an 100% job of it...So again I did some testing and tri-outs and found out how to do this " flash" test and how to avoid the inconvenient of the Bally test.... Because the Bally test has some weak points...The test-led is connected to the PIA U10 when this one is out of order the whole test is out... The outputs of the PIA's arent not tested... And the test is within the game proms ( eproms) who can be bad or have doubtful selections....The big advantage is that the CPU and PIA chips are socketed , where in a Gottlieb this is not the case so one reason more to have a good diagnose before unsoldering a lot of things.....
The test mounting:
The test is in a classic eprom, and this eprom can be fixed on 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 premolar work and soldering to do, and an ' simple' solution who can be interesting for those who repair only their own pinball and perhaps are confronted only with a SYS80b ...The choice is yours...
The test works as follows, by starting up the test controls first the cpu, than the RAM 5101, and then the 3 RIOT's for each ok test he delivers ONE flash on a connected led.. After the first 5 flashes the test continues and will test the outputs of the RIOT's by pulsing them between 5 volt and 0 volt on and on . This last part of the test is non-blocking this means that when one or more outputs are out of order the test continues to run ,and it is up to you , to measure the outputs of the RIOT"s an see if they ' dance' between 5 and 0 volt. Of course when the test find a fault in the beginning , it will continue to test on the bad component, until the first fault is repaired.( So it can stop on the first 5 flashes , after that he will continue and this means also that ONLY a output of a RIOT can be wrong now) The weak points of the Bally test are avoided by using a indicator led connected directly to the address 6 line , so from the moment processor runs the visual control is on.
The test is in his own eprom not depended of the game roms or prom . The outputs of the RIOT's are controlled in the second faze of the test, and I added a special trick which allows you to skip the RAM 5101 test .This because the RAM 5101 is always by the first candidates to break-down...and if you would like to control after a stop on one blink ( RAM 5101 broken) the RIOTS , well it can be done in a very simple manner...
When applying the 5 volt to the board there is always a automatic reset, this puts cpu and RIOT internal registers in their start position..
During this brief moment the state of the address bus 6 is not stable and the control-led connected to it can light-up .This uncontrolled flash could mix-up our counting To avoid this the program gives his first MEANINGFULL flash only after about 5 seconds.. So if you see a flash immediately after power up do not count that one!! At power up count slowly 1,2,3,four and then the flashes are meaningful.. Be sure the uncontrolled flash (if present) comes ALWAYS directly after power up
One flash means the led lighting up and going out , if it lights up and stay lighted this is not a flash
After several days of trying and corresponding with Clay of Marvin3m.com. I came up with an universal solution how works fine with ALL cpu-boards. Also there is a more simple solution, but this works a little different for all tree board types and you have to put a socket in the location of U3 at the SYS80 board....Than you can treat the SYS80 board as a SYS80A board. Lets take a look at both solutions.
How to place the test eprom ( 2732 ) in the cpu-board Gottlieb Type 80A, at the emplacement of U3 a 2332 .
There are 3 signals that are not o.k. or at the right place , these are on pins 18, 20 and 21.
Simple version; Here we use a free logical port on the cpu-board to invert and combine the two selection signals BAB12 and BAB13. And in the second place we make a provision for a " easy to come-by" A11 signal. Afther this modification the tree signals are always available for our test eprom. How?
This is what you need for the simple version...
Take the socket and bend pins 18,20 and 21 90° upwards, solder a lead with a yellow grip-pin on pin 21, and a second lead with the blue grip-pin goes to pin 20 and 18 ( together)
Next...on the back side of the cpu-board....
Run two wires from pins 22 and 23 of the cpu-chip (6502) U1 to the pins 9 and 10 of the chip Z9 , this is a "one time job" this leads can stay on forever, it has no influence on the normal working of the cpu board. The last lead is for the signal A11, solder the wire on pin 18 of U3 and bring him to the "star-like " solder-island you find on the top right side from the cpu-board ...passes the wire trough the hole in the middle of the little star ( a few millimetres ) , this way you can put a grip-pin on from the front side , later.
Here you see the tree leads , these can stay on the cpu-board " forever"
That's all ... Insert the socket with the two leads in U3 and then place the test-eprom in it.Hooks the yellow grip-pin to the " little star" , and the blue grip-pin to pin 8 of Z9 ( easy it is the outer pin..).
Here you see the completed and working installation on a SYS80A cpu .To do this on a SYS80 you have to place a socket at U3...
At last the control-led something easy
One side of the led is connected via a resistor of 1000 ohm to +5 volt ( the underside of C1 left of the board , red grip ), the second lead of the led to pin 15 of U1. The first time test the led for o.k. connection put the + 5volt on and the other connector ( green grip-pin) to ground, the led should light up , if not change the two led leads.
A test mounted simple version sys80 ( socket U3 necessary) or SYS80A board , the led connected with his red and green grips, the adapter inserted in U3 and connected with the yellow and bleu grip, in the middle of the board you see a little red temporally jumper necessary to test the outputs of U4 RIOT ( see late in the users guide..)
The test mounted SYS80B board , only plug in the test eprom ( 2764 type) in the piggy board , and connect the led.
The universal solution:
For those how want to use the test without changing anything on the cpu boards of ALL the types, we use the TC1 connector present on, ALL cpu types..
Here to you need not a lot of material, but a lot of soldering to perform!!
1 Mounting board, 1 led, 1resistor ( 1,2 kohm) , 1 condo ( 47 nF), 2 ic sockets, two straps of 20 pins how fit into the TC1 connector, and an extra 7404 ic.
All pieces mounted on the board.
The two 2x 20 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 the pin numbers, it helps counting for the right pin while soldering..
Here the 32 connections are made, a few hours of soldering ! You can see the numbering on the corners of the TC1 connector.
This are the interconnections of the two IC's 2732 and 7404, and the led connection, now you connect the TC1 pins to the 2732 as stated in the list below:
TC1 to 2732
pin1 pin 17
pin2 pin 16
pin3 pin 9
pin4 pin 10
pin6 pin 12
pin7 pin 24
pin8 pin 15
pin9 pin 14
pin10 pin 13
pin25 pin 21
pin26 pin 19
pin27 pin 22
pin28 pin 23
pin29 pin 1
pin30 pin 2
pin31 pin 3
pin36 pin 8
pin37 pin 7
pin38 pin 6
pin39 pin 5
pin40 pin 4
pin 32 to 7404 pin 9
pin 33 to 7404 pin 11
With this you have a few hours work... But once finished you have a very good repair tools that will serve you for always !
The test-board fixed on the cpu and working, the led is pointed " upwards" to see it better. While testing ,U2 and the PROM1 can stay on the board.
The test eprom ( 2732 ) can be downloaded here ...... = simple solution for Sys80 and Sys80A + universal solution
The download for SYS80B is a 2764 ( zip.file )... = simple solution ,only for SYS80B
For a SYS80A (or a SYS80 with socket in U3).Place de test-eprom in U3, do not forget the control led , the red grip on +5 volt and the green on pin 15 of U1, then connect 5 volt.on pins 1and 5 of connector J1 5volt on pin 1 and 0 or ground to pin 5.For a SYS80B place the 2764 test-eprom in the piggy board socket.
Place the test-board on the TC1 connector, and remove U3 in case of a SYS80A. In case of a SYS80 with a soldered U3, you have to make one temporally connection in order to eliminate the selection of U2 and U3. Ground signal BAB13 temporally by connecting Z10 pin 6 to pin 7. In case you have a SYS80B remove the game eprom ( 2764 on piggy board) .Nothing else to do . Now connect to 5 volt.
Although this is an SYS80A I mounted it like a SYS80..( as an example )All program IC's are still on the board..U3, U2 and PROM1, the selection of this program-chips is eliminated by the Z10 pin 6 to pin7 connection ( see left upper corner),The second little red wire you see in the middle is a temporally connection to test outputs of the U4 ( riot, explained in the manual ).This test was performed when I had the replacement riot for U4, how was "dead" when I received this board to do my research and testing, that is why on the other photograph the U4 socket is empty.....
When you connect the 5 volt slowly count to 4 and from then start counting the flashes.
We starts with the worst case NO flash
First we look at the processor: U1
Simple solution: On SYS 80A remove all roms and the test-eprom. On SYS80B remove the test-eprom and do not replace the game-eprom, also remove the prom1.
Universal solution: Remove the test-board from TC1 . On SYS80 de temporally connection must stay on Z10. On SYS80A remove U3 and U2. On SYS80B leave the game-eprom out, and remove the prom1 to.
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 trough all his addresses in a very fast way. We look at the basic signals the cpu-chip needs to run. Sure you have 5 volt on the processor? Measure it at pin 1 (ground) and pin 8 ( 5volt) . The next thing to do is : pin 40 = + 4 volt; pin 4 = + 5volt ; pin 2 = + 5 volt ; pin 37 = + 2 volt : pin 34 = + 2volt. Something missing? Take the schematic and follow the missing voltage back to his origin. Both signals on pin 2 and 4 it is only a pull-up resistor. RES on pin 40 brings you to the reset circuit, only two chips. Pin 37 brings us to the clock-signal, again two chips , and the last one pin34 this is R/W signal in fact a processor signal if it is missing the cpu-chip is bad or the signal is shorted, release the pin to control it. Free and no signal = dead cpu chip, free and present = short. 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 volt. When you measure them with the universal voltmeter, the load on the signals sometimes causes the processor to a halt.. So if one is missing, switch the cpu on and off and look again or look at a signal that was measured and ok and then returns to the missing signal, if it will not come on the processor is broken or the signal is shorted. As always release the pin of the missing signal and if it is free and missing it's for sure the cpu-chip is dead.. If it's back again look for the short in the usual manner..
The selection of U3:
The program will eventually 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 U3 , the signal coming on the pins 18/20 it must be approximately 1 volt . the rest of the selection is by the other address signals and these are already controlled on the processor... The only chip involved is Z7. In case of the universal solution the selection signal is formed on the test-board itself so no control is needed.( It is at this moment not present...remember..)
With a SYS80B simple solution you have to control the selection of the 2764, on pins 21 = 3 volt , pin 23 = 4 volt , pin 24 = 1 volt , and on the 7404 mounted on the piggy board measure pin 1 = 4 volt , pin 2 = 0 volt. If not ok look up these signals it are address-signals passed trough a logical port .Easy to follow with the schematic.
Do not forget to consult the Gottlieb repair aid at marvin3m.com !!
The processor is ok but the RAM at Z5 is doubtful. To skip temporally this test you can use this solution; Take the ground a brief moment at pin 6 of U1 , this causes an interrupt and the program jumps directly to the RIOT test. As there is no reset involved the flash will occur directly ( if the RIOT is o.k.) and you can temporally continue your testing.
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 on, pin 20 = 3,5volt, pin 19 = 3,5volt , pin 17 = 0,2volt , pin 18 = 0,2volt . Look at the arrival of the data signals at pin 9 to 16 ( included) 0,2volt. Are these signals o.k ? Then replace the RAM1.
Two flashes: = U4 , idem for 3 = U6 and 4 flashes = U5
Selection of the Riot's U4, U5 and U6
If you have this case look at the selection signals of the RIOT's . These are SEL2 pin 37 = 3,5 volt ( Z7 en Z9) or sometimes Z8 is missing pin 38 see schematic. To be completely sure look at pin 34 RES +5 volt and 39 +4 volt. As it are only a few signals look at them at all tree RIOTS in the same time if again these signals are o.k. Replace the RIOT.
Continuous flashing: This means that all is o.k. but we have to control the outputs of the RIOTs .
With the voltmeter controls the outputs of all the RIOTS, they must gently vary from 0 to 5 volt; These are:, U4, U5 en U6 pins 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23 and 24 . A few pins will not move..they are connected as inputs , although we can control them . Pin 15 of U5 will move when you connect pin 10 of J5 to ground. Other pins who do not move are pins 8 to 15 (included) of U4, to test these outputs there are two things you must do; first , put the "dip-switches" 1 to 8 (included) at " on " . Second; force one signal , at Z15 make a temporally connection between pin 3 and 7, this way the outputs will 'dance' and this between 2 and 4 volt..
Now every output has been controlled. Is there one or more that do not move, than you connect it with his neighbour, two possibilities; they both move than the riot is certainly dead at the output that did not move in the first place, the both do not longer move, than there is short on the first output? to be sure it will be necessary to free this output by bending the pin upwards or to cut the run that is connected to it...If the output moves when released, than its sure there is a sort on his load..., follow the run to whatever it is connected and find by elimination or temporally cutting the element causing the short. When the released and free the output does not move than the riot is the cause.
If you had a cpu that was completely out, than for sure (90%) you found something a long the way...And I hope you could repair it ! Now your pinball will start-up again !!
About the test program.
The test program resides in different sections of the eprom at addresses where address 6 is not involved (low) . Excepted for the part where the led is on = o.k. that part resides in a address 6 present zone When one write a computer program it is always the computer itself how give the address location for the program instructions and smart as he is he put them one after the other so no place in memory is lost I know some people will ask me how comes the instructions are no one after the other ? Well this is because I use NO programming language at all ( mostly assembler for 6502) ,but I uses the basic hexadecimal instructions of the processor itself , directly written into the eprom, at the places I want, and interconnected by jumps ..It is a very time consuming way to program, but the solution I found to make the led indication directly dependent from the evolution of the test program and not of some extra hardware . ( except for the simple led and his resistor!!) So do not ask me for a source program or a compiled program ( these are two in-between steps at normal programming..)because they doesnt exist !
When you decide to use this test program , I think it is a good idea to use it first on a good working cpu board. So you are sure every connection you have to make is o.k. The test to stop on one or more flashes can be simulated by bending up a leg of the Ram or the RIOT you choose . Bend up a data line arrival or a selection pin. If the ics are still soldered you can ground a selection pin, not a data pin because the test will never start up as the data lines are also used on the cpu himself and the whole data line is interconnected . Example ; ground pin 17 of Z5 for the RAM-halt ; ground pin 38 of the RIOT at U5 or U6 you choose to stop on Always ground the pin BEFORE launching the test, when the test is already running and in the continuously flashing faze the test will no more stop Of course the outputs of that RIOT will not dance any more, just as foreseen in the test programm
Good luck !
New universal test board.
In 2005 I made a new test board, I made a printed circuit , and at the same time added some extra LED's. One on the reset signal, two on the clock signal and one on the IRQ signal .That way at start up I can see if these three basic signals for the CPU are present.
Look much better compared with the old and first universal board..!!
Back to home-page .....