Leon Borre Zaccaria 2nd Generation CPU Repair
Zaccaria CPU type 1B 1365/1165 repair.
Second generation; Farfalla, Time Machine, Magic Castle, Soccer King, Pinball Champ, Devil Riders
I'd like to start thanking D.Gersic from the U.S.A. who has provided me with several datasheets, also his website and documents about Zaccaria were a good approach to these Italian pinballs. David did try out the repair method and apported positive remarks and corrected a lot of sentences...You should visit his site , as a lot of technical information about Zaccaria is collected, and it was the only website on which I found some technical information. David's website is here...
The test program consists of three parts. At startup all outputs will go up and down in rhythm, between 5 and 0 volt. Next you switch over to the memory test. If something is wrong then the test will continue to run the memory test. If both memory chips are ok, the test will automatically continue the "input test". Here we shall connect the input pins at connectorsCN11 ( there are 8) and CN8 (there are 4) one by one to ground, and every time the cpu led should light. The same if we switch "on" the DIP switches on the cpu board. It was necessary to test the inputs, as this board does not use PIAs for in- and output, and several chips are involved in the input. One last remark, the memory chip IC23 is not included in the memory test, this is impossible, as the data is being written through the databus, but reading does not happen through here. So the test program can write but not read IC23. Read-out is going directly towards the output pins, so we test this memory in the output section of the test.
Zaccaria uses a Signetics 2650 CPU. This IC is one of the very first generation of CPU's. Back then it was "very good" to have CPU's with many and versatile instruction sets. This unfortunately made CPU's very complicated. Later things have changed and it became better to use simpler ICs like RISC processors (Reduced Instruction set) which means less instructions but faster processors. The complicated Zaccaria processor also means that it was hard for me to create a "simple" test program, as I always want to keep this as simple as possible, it should just indicate which major parts have a problem. The selftests on modern pinball machines are very nice, but they assume that the cpu works perfectly, or you won't be able to start it.. So this introduction explain that a test program by my hand, will make use of simple things like LED's and most signals can be checked with a universal voltmeter , so everyone can use it.. A more complicated test which uses the displays I'd never make as it requires the cpu to work, and if it does, it wouldn't be on the test-bench.....
This is the Zaccaria cpu board.... You can find schematics here....
Connecting the CPU.
We use two LEDs, the LED on the cpu board and a control LED which we connect at pin 40 of the cpu chip (IC9). Also create a temporary connection of 5 volt to pin 8 of CN11. Take care, this connection should be easy to remove from one side, so it's best to use mini-hooks or something similar. The control LED is as in my other tests, a LED in series with a resistor of 470 ohm with 2 mini hooks....
This is how the control LED looks like, the flat side is the - side of the LED. Create two of these because we need one to be permanently attached to pin40 and one to test all outputs.
To control the outputs , you can make a ledstrip with appropriated connector that fits on the output connectors of the cpu board , That way you can control directly all outputs of one connector, fast and easy. Every connector pin is connected to one of the led'd who has a 470 ohm resistor in series to the common. During the test the common is connected to 12 volts.
Here is the connected cpu board, ready to be tested.
Power is connected to CN9. From the 5volt runs a wire to CN11 pin 8 (the black mini-hook) The control LED is connected to pin 40 of the cpu, and the side to 5volt , taken from the diode (D4) ( underside).
Start.
You can find the test program here, it should be burnt in an eprom type 2764, or 2532.
Download test program type 2764 .... type 2532 .........
Both test programs are identical. Zaccaria uses both eproms in its machines. You can use any eprom on any machine, but then you'll have to adapt the strappings as described in the Zaccaria manual. I think the 2764 is easiest to get and can be written by most eprom burners.
Here you find a better image as PDF.... If you adapt the jumpers only for the test-eprom then only change these for IC1, so J1, J2, J3 and J4. During the tests you remove the other game eproms from their sockets...
We only need one voltage, 5 volts. This is connected to CN9: 5 volts to pin 4, and - on pin 2. The control LED goes to pin 40 IC9 and the side to 5 volts. Finally connect 5 volts to pin 8 CN11. (see picture above )
Apply the 5 volts, and start with a manual reset. Do this by removing 5 volts on pin 8 of CN 11 and connect it back again. The control LED which was lit should go out, and if the program starts 3 seconds later the control LED on pin 40 should start to blink. If output IC12 is ok then the LED on the cpu board will start blinking in rythm too. If the LED does not light then go to the last part of this document. ( test does not start)
The manual reset is necessary because the "normal" reset signal is created by pulling " low" pin 3 CN 9 = pin 8 CN11 until the power has stabilized..This timing is enought to give a good reset, but as we have no connection to the power board , and no timing , we are forced to create an artifical reset . So if you have a cpu board which works on the test bench but not in the pinball machine, remember to check if you have 5 at pin 3 CN9 or pin 8 CN11...
Now check the outputs which you find on connector CN 11 pins 2,3,4,5,6,7,9. On CN 10 pins 6,7,5 , on CN 12 pins 1,2,5,6,7, 8,9,10,11,12,13,14,15,16 WARNING the signals on CN12 are much weaker then the previous outputs, altough the test led will light it'll be more dim , this is because the outputs are multiplexed and the output-pulse gets "divided" between the several output pins. The next outputs to check are on CN14 pins 1,3,4,6,7,8,9,10,11,12,13,14,16 , here you find weak signals on pin 9,11, 12 13,14 and 16. You can also measure the outputs at the pins of the output ICs themselves, these are IC 34,26,40,39,7,12,38. (see schematics) I repeat that it is needed to contol the outputs using a test-led you cannot measure the outputs using a voltmeter. The output IC's 3801 have " open collectors" and to have valueble readings some current has to flow. The last to check are the outputs at CN8 here you find outputs at pins, 1,2,4,6,8,10,11,12,14,15,16 , the LED on pin 13 will be constantly "on"
Should there be a signal missing then suspect the output IC first. Are all outputs of the same IC missing then continue on the schematics. IC 39 gets its signals from IC 35, IC 40 from IC36, IC 26 from IC 27. Is this whole group bad, then trace back to IC 32. Here you have to use a logic probe to check if the signals of pins 15, 13 and 12 are present. This way you get to the left side of the schematics. IC21 gets a flow of pulses on pin 10, and all outputs ( underside ) should give pulses. Further it's possible you miss outputs on CN 14 pins 6,4,3 and 1. These are connected to IC23, first check if the address drivers of IC23 you must find pulses at pins 4,7,9 and 12 . If there are pulses there , then IC23 should be bad.
Are you missing outputs on ICs 38 , 12 and 7 then we're busy in the top half of the schematics. First check all inputs of ICs 38, 12 and 7 coming from IC 6,10,11,33 and 41. Only on this last one it's useful to check inputs on pins 10, 12 and 13, the others are connected directly to the data bus which is not relevant. BUT check if these ICs have their select signal, check on pin 6 of all four: IC 10,6,11,33 (with a logic probe). Should selection signals WRTD or WRTC be missing, go to IC32, check its inputs.. ( WRTD and WRTC must be pulses!!)
Now we have checked all possibilities and the error in the outputs should have been found. We continue with the memory test.
Memory test.
To start this, connect during the output test pin 1 of the CPU IC to ground. Do this while the test LED is "on" until it goes off.. Take care that all 4 dip switches on the cpu board are "off". If something is wrong with the memory chips then both LEDs will stay lit, and won't go out after 5 to 6 seconds. Did the test LED go off then you can remove the connection to ground on pin 1 because it means the memory chips are ok and the test eprom has started the input test. So if you have a blinking LED again , skip the next paragraphs.. (the LED on the cpu board does not matter now, only the test LED)
Are both LEDs lit and stays lit, then you have a problem with one of the memory chips..disconnect the ground from pin 1. The test program is now running in the memory test mode. You can check this on pin 8 of IC 4 or 5 (the memory chips) you should find a selection signal (3 volt). The other signals you should find are:
Pins 1 to 7 16 and 17 = address lines pulsing signals ( use logic probe)
Pins 8 and 10 = select and R/W =pulsing signals ( use logic probe)
pins 11 to 14 = input /output data = pulsing signals ( use logic probe)
Pin 15, o volt.
If you don't have the selection (pin 8) or R/W signal (pin 10) then use the schematics ; we are looking in the group of IC 8, 6,10,11,37, 31 , verify the input signals and where they do not pass..... Evantually also CS3 via IC17.
If the signals are good, then one or both memory chips is bad. The test can't determine which one, so you'll have to replace them one by one...
Two remarks. The selection signal and the R/W signal on pin 8 and 10 must be pulses, ( pulses between 5 and 0 =3 volts) ) a steady 5 does not mean you have a selection on the contrairy!! And secondly , during my try out tests, I found that somethimes ( not often) when touching the memory pins with the logic probe, scope probe , or even a finger can make the CPU go off track. So when the memory test is testing the chips " bad" change the control LED from pin 40 (IC9) to pin 10 IC4, and as s long as the LED is "on" you are shure the test is "valid" and not "off track"... Whenever the test goes " off track" restart it ...
Here you can find pictures of the signals at the memory chip during a memory test ....
Input test.
Ok now you've passed the memory test and the test led should light in rhythm. It's possible that the led on the cpu board is also lighting, this means somewhere an input has been detected. The test checks all input pins and when one is connected to ground, it'll light the led on the cpu board too. If everything is normal and only the test led lights, set to "on" one by one the dip switches on the cpu board. Every time you switch one on, the led on the cpu board should light too. ( afther 4 seconds) This way you can check them one by one. Same for the other inputs which you find all on CN 10 pins 10,11,12,13,14,15,17,18, connect them one by one to ground and the led on the cpu board should light to indicate the input has been found. There are 4 other input pins to check on CN 8 pins 17,18,19,20. The input all have only one IC between the connector and data bus (ICs 18,24,25) so if an input does not react you immediately see which input IC you have to replace..
This is the end of the test program. If everything tests well, it's sure the board will start without errors, but remember the power board voltages and also test the driver board with the test you can find here on my site. If you have more questions about the test program then email me..
The test does not start.
The test does not need a lot to light the test LED. Only 7 ICs have to be ok. These are the cpu chip, your program eprom and the selection of the test eprom, which is ICs 17 and 8, the cpu itself needs the clock signal from ICs 13, 14 and 20. These 7 ICs are enough to start. Most of the time you'll find a short on a data or address bus which is caused by a problem in another connected IC, but that can be a lot of ICs.. First check the signals on the cpu chip, if these are ok, then measure the resistance on the data and address bus, if this is too low or somewhere 0 then look for the short or partial short there... You'll have to trace this using the layout on the board, and cutting data or address lines until you can detect from which part exactly the short comes. If the cpu is working and you see one or more address lines moving, then the error will be in the selection (only 2 ICs)..
What do we find on the processor...
First check if you have the clock signals on pin 38 (1,5 volt). If not, go to the source of this clock, IC 13 pin 13 and follow through IC 14 and IC 20. One of these three should have a good input and no output. Are clock signals present then check power supply, 5 on pin 39, and 0 volt on pin 16, try a manual reset to see that the 0volt goes to 5 volt.. Again there can be only one suspect: IC13. With both signals present then the cpu should do something. Check if there address or bus signals present, if there are none then the cpu chip may be bad, if there are then there is probably a short in an address or data bus or a connected IC.
Stop the (badly running) test, remove the cpu from its socket, and measure the address and data lines with an ohm meter, negative lead at ground!! .. You should find these values:
Address lines of pins 2,3 and 19 = 10Kohm up to 16Kohm
Address lines of pins 5,6 and 7 = 4Kohm up to 6 Kohm
Address lines of pins 4, 8,9,10,11,12,13 and 14 very high more than 1 megaohm....
Databus lines = all 8 = 4kohm up to 6 Kohm
Is this ok then there's only the selection circuit of the test eprom chip left. These are ICs 17 and 8. First check pin 8, 9 and 10 of IC8 if there are signals present (logic probe) pin 8 is output.. Further there's only IC17 with signals on pins 1,3, 13 you should find something on 4,5,6,or 7 , if not IC17 is bad... This concludes our test and you should have found something which stopped the cpu.. Success !!
Addition: Somethimes one can still be misleaded... I had a CPU board that had a non working "sense" pin, it behaved if there was always a "0 volt" on his input. EFFECT; At start-up the test got into one cyclus of output test ( 1 blink) and started immediatly with the memory test , as there was a bad memory chip, the tests LED and the onboard LED did stay "ON" all the time; just as foreseen in the test procedure. Of couse for me as i did not know the memory test was already started by the "sense" pin1 at "0" it seemed like afther one blink the testprogram got "stuck".. Just this example to say one must always be aware of misleading "sympthons" of a simple defect..By the way you can have this effect if IC12 is bad and gives a steady 0 volt at ouput pin 7 pin forcing the "sense"pin at 0 volt..
Final Thoughts..
I have made a very in dept study of this CPU board. I have discovered that Zaccaria made a very good and simple board. Intentionally they used the 2650 IC by Signetics, taking advantage of the input and output instructions and didn't have to use the then "expensive" special input and output ICs like PIA or RIOTS.. There's a protection when the game program stops, the cpu will automatic do a reset after a few milliseconden, (Gottlieb had implemented this later using a special reset board) to prevent coils burning.. Memory was used sparingly (it was also expensive) and interrupts are used a lot, which make it very difficult to analyse the existing programs, but makes it possible to work very flexible. A disadvantage is the almost straight coupling of the input circuits with the data bus, an error on this will almost always result in a blocked cpu. This has been prevented by "inverting" the signals, you need a 0 to signal an input instead of a 1 as it done in most cases.. if input pins are shorted to ground ,, no harm done" , it looks like a permanent closure of a switch. Also the selection circuits are simple and effective with a minimum of parts. Disadvantage are the output line drivers (type 3081) and their "open collector" technology. Be very careful with the output pins, never put 5 volts at anu output pin !!On the other hand a short to ground is harmless.The copper runs on the Zaccaria boards tend to come off at desoldering !!! Be VERY carefull when you desolder things!! Cut off the bad part and desolder the remains of the pins or wires .
Extra deluxe user panel.
For those who might repair Zaccaria CPU board several times,( should be easy now !) I created a board containing all we need to perform the test , Here you see it.
A red push button ( n.c. type ) for reset, a green push button ( n.o. type) to start the memory test, the green led is the program control led an will always blink if the test program is running, the red led is a control led next to it the green plug where we can connect a meter lead to test the output pins, if you put the meter lead in the black plug you have the right tool to test the input pins.Remark the pins sitcking out of the board , these are the pins of CN10 and CN11 that are outputs or inputs , so those are easely accescible now..Of couse there are the leads to connect at 5 volt and a 4 pins connector to feed the CPU board. At the underside there is a connector strip that fits into CN10 and CN11. And last there are two minihooks to connect pin 1 and 40 of the cpu chip.
Construction.
What do you need.
Two minihooks, two leds and the 470 ohm resistors, connection lead,a 4 pins connector, connectorstrip fitting to CN10 and CN11, two female connector plugs ( green and black not on photo) And a small piece of universal mounting board.
First thing to do is solder the connector strip at the underside of the panel.
Some pins of CN10 and CN11 must be accesable to measure output and control input , these are brought to the upper side of the panel.
Drilling the holes.
Don't forget the red push button is a normally closed type and the green a normally open type!
The panel mounted on the CPU ready to pass the test, and repair the board.No wires hanging about!!
Extra memory test.
When executing the memory test the memory is tested only once ,if ok we go directly to the input test.
During repairs we had a few cases when putting the working board back in the machine , afther a while there where memory failures..Therefore and on demand of David Gersic, i made an extra memory test eprom.
This test will run continously the memory test and during the test the test led connected at pin 40 will blink, if there is a memory failure the led will stop blinking and stay "on". We can start the test by putting this extra test eprom in socket 1 and power up the CPU board , we can leave the board now if we want for hours to see if when warming up the memory chip stays ok.
Find the extra memory test eprom image here ... Burn it in a 2764 ...or in a 2532 ... ]
Extra hints
During repairs i had several cases where the cpu board was running fine using the test eprom on the bench, but once in the machine it did not work at all or properly.. Several reasons are possible , i would like to give some of the main reasons to avoid some extended searching...
REMEMBER.
1) A Zaccaria board will run badly or behave starnge , not allowing credits to register, blocking when a coin is introduced and so on if you do not re- introduce the completre settings . So ALWAYS start by the settings of ALL the features , if the setting is what it should be when looking it up, change it anyway and reset it at the value you want, when you see 19 as setting that can be 519 as you see only the two last digits on the credit display!! . How to do it ,look at the operators handbook, you will find about all of them on the IPD or Tilt.it
2) During test the only game rom socket used was the first one !! There can be bad connections in the other sockets, so use a meter to se if all pins of all game roms are well connected in their socket !
3) Always test ALL input and output signals as forseen in the test description..
I did have some "easy" repairs, the start test was passing ok, only the memory test was not , just plug in a new RAM and there it was both test where ok.. I did not bader to test the in/outputs ....( WRONG!!) A bad input prevented the use of the test button in the coin door , i could not start any test and as the settings where completely wrong the machine was not working at all...
4) Now we did connect the driver board and the displays , if there is something seriously wrong on one of these boards, this can disturb the CPU.
Try to pass in test mode ( pushing the button at the inside of the coin door) with the the display connector disconnected, you will still see the "all lamps " and " coil test", if the displays where the cpu preventing working, Or try disconnecting the driver board , you will stil see the test on the display's , disconnect CN8 and CN11 you still can enter the test phase by the test button. This way you can get around a bad driver board display board or other external causing the CPU failior .
5 )Check the game rom images.
6) Check the jumper settings.
7) Have a battery installed on the board , otherwise the " settings "will be bad every time you switch "on " the machine.!.. You can use also a 1uF 5 volts condenser, , tha will hold the settings for several months.
Althought it is possible to work without a battery, afther the last setting is done, and you set the cpu switch 4 again to normal, the machine will come automaticly in play mode. But when the machine is switched off the settings are gone , and you need to repeat the settings every time the machine is switched on again.. Without a battery and if the settings where set for a first time, the machine will return on " factory settings " = among others 3 ball game and no credits are saved.
8) The board passes all test ok but does nothing at all in the machine. Measure pin3 at CN9 you need 5 volts there . This is the output coming from the control cirquitry of the power board. Sometimes all voltages are correct but the control cirquitry fails wich bring 0 volt to pin 3 of CN9 and prevent de CPU to start up!! If you mesure 0 volt there cut the wire to see if that helps .
9) Read these " Extra hints" every time you have a repair , probably i will add some more points in the future.