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...
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 ................
Introduction:
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:
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...
Important notice:
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
Practice:
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
pin5 pin11
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
Manual:
Simple
solution:
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.
Universal
solution:
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.....
Start:
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 !!
One
Flash:
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..!!