Williams Pinball CPU/Computer Board Repair





Note: I have several repaired System 9 and 11 boards for sale.  Please contact me for details if you want to purchase one.

In order to learn about how to repair the System 9 CPU board, I purchased a non-working unit from Coin Op Warehouse.  Compared to System 3  through 7 and System 11 parts, System 9 boards appear less frequently on ebay.  About 1-2 units come up per month in the price range of $75.  After several months of watching the auctions, I decided to contact Lloyd, and he had one at a reasonable price.


Photo by the seller with the original state of the CPU board.  It had a few missing parts and
it had "Strike Zone" ROMs installed (a bowler?).

I setup my initial test bench by first setting up an ESD safe work area to set the board onto, along with a wrist strap.  For the power supply, I used a benchtop supply that supplied +5, and +/-12V.  The current needed from the 5V supply is about 1.25 Amps.  For the scope, I decided to use my National Instrument's DAQScope card, which plugs into one of my laptop's PCMCIA card slot.  This allowed me to take easy snaps of the screens, and served as a means for me to pull up reference documents (datasheets, web pages, etc) without having to run to my office.


My initial testbench.  The laptop was my scope and allowed me to pull up
documents from the web using my Wi-Fi connection.  Note the playfield
setup on the rotisserie in the background.
Initial checkout:
  • I first washed the board with alcohol and a brush to remove the built-up dirt and dust.  Since there was no relay or anything like that, all parts could be washed in the fluid.  One benefit is that it removed dirt from the Molex connectors.
  • To my relief, the 7-segment display showed "0" after power up.  This means that all the CPU self-tests passed and that the core CPU functions (processor, RAM, ROM, busses, etc) are fine.  If the 12V supply is disconnected during power up, the display shows "7", which means that the CPU is halted and that the "0" was intentionally written by the CPU.
  • When I hit the CPU test button (SW1), the display showed "5".  This meant that the CPU read that the coin door was closed.  I traced this to a bad output on U41 (a 7404).  I will replace this with a socketed part.
  • Hitting the sound CPU test button (SW2) showed this subsection working fine (speaker produced a game sound).  I then plugged in a spare speech board into the CPU, and it passed all sound tests including speech.
  • After some successful initial checks, I plugged the lamp matrix from my playfield (in the rotisserie stand) into the CPU board, and all the lamps on the playfield lit up!  The kids and I were amazed to see the board on the table perform the attract mode light show just like the one in the machine.
  • For the special solenoids (pops and slings), I found that U7 was missing (a 7402).  An IC socket was soldered into this location, and a part was plugged into it.  Everything in this section checked out fine after this.
  • The K1 flipper relay was missing when I received the board. I found a socket for it, and a 4PDT power relay.
  • Two of the TIP122 solenoid driver transistors needed to be replaced due to them being missing or their installation was suspect (blobs of solder, etc).  Using Leon's test ROM, I checked out all 16 drivers.  This successfully completes the initial checkout of all the parts of the board, and all circuitry on the board appears to be operational.
Test fixture breadboard
The CPU board normally connects to a display driver board which in turn connects to the plasma displays in the machine.  The communication to this display board is a dual 4-bit bus with 16 strobes.  The 4-bit bus communicates the BCD code of the digit.  Since there are two of these busses, and 16 strobes, a total of 32 digits can be controlled.  These digits are arranged among the four player score and the ball/credit displays.

During the initial checkout above, I could tell all lines to the display driver board were toggling.  However, it is very difficult to tell what the numeric information is without some specialized hardware.  Although I have a spare display board, and plasma displays, I would also need to hookup a power supply board for the +/-100V supply.  This in turn would need a cabinet transformer.  Although I do have all these items as spares, it would quickly become unwieldy.  I decided instead to use an LED display that has an integral BCD decoder, such as the TIL308. This kind of display can interface directly to the CPU board without any additional logic.  The disadvantage is that these displays are hard to find and can be expensive.  However, it is good for easy checks to make sure the logic that controls the display board is working.  I just need to use a test clip to select which digit to show by clipping to the corresponding strobe line.

Once I had the display wired up, I could read (one digit at a time) "2535" on the Player 1 display.  This is the model number of the machine.  It showed that this circuit was correctly reading the CPU's numeric data.  Woohoo!


The initial connection of the decoded LED display to the CPU board.  Note the
MSI circuit under the encapsulation.  It decodes the BCD information and latches it between digits.  No additional logic is needed to show digits with this display,
and no high voltage is needed.

Another interface that is multiplexed is the lamp matrix.  On the playfield, at the intersection of each row and column of the matrix is a light bulb in series with a diode.  It occurred to me that a standard LED dot matrix could be a compact tester for the lamp matrix.  As a quick test, I used some quick clips to connect 1J6 and 1J7's pins to the pins of the dot matrix.  When I powered up the board and reset the CPU board, I was rewarded with the glittering attract mode light show on the dot matrix display.  Neat to see the idea actually work.


As a quick test, I used some quick clips to connect 1J6 and 1J7 to the 5x8 LED matrix. 
The CPU board can interface to this display without any additional components.


By putting the CPU board into  lamp test,
every lamp on the playfield will flash.

CPU Board Tester Project
After I built the System 9 Playfield tester, I received a few e-mails about building a tester for the CPU board.  I decided to combine the ideas explored above into a unit for testing the many types of I/O that are furnished by a pinball CPU board.


Concept photo of the Pinball CPU board tester.  The size of the background board is about 5"x7".
The tester includes:
  • 10x8 dot matrix grid to display the 8x8 lamp matrix and the 2x8 main solenoids.
  • Two dip switches and one momentary switch to select one of the 64 switches to close in the switch matrix.
  • One dip switch and LED bar graph display for the special solenoids (pops & slings).
  • A Microprocessor and 20x4 digit LCD display for all the plasma displays such as the player score and the credit/match displays.
Since the processor will be programmed to read all the score information, its code could be modified to display the data on a Desktop PC, an alternate display, or over the internet.  Another approach would have been to use an FPGA.  This would have allowed me to absorb all the I/O into a single device, and put the user display on a PC (connected via USB or serial).  In that case, I would do away with the dot matrix LEDs and the DIP switches.  All interface would have been through the PC.  It would have been slick to load the image of the backglass and playfield into the PC user interface, and have a simulated machine light up.  Sort of like a 'virtual pinball', but with a real CPU board.  However, the cost increase would have been significant (double or more).  One advantage of this approach, is that the FPGA could be reprogrammed to test a variety of CPU boards. 

Although intended for testing System 9 CPU boards, my cursory look at the other system shows that it should be able to test System 3 through 9.  It can also be made to test System 11 boards, but will require modifying the Microprocessor code and additional supporting hardware (for the alphanumeric displays).  Since the interfaces above are generic, I suspect it would also be able to test CPU boards from other manufacturers. 

I estimate the total cost to be in the low to mid $100 range.  This includes $40 for the printed circuit board (estimate; for small production run), and $30 for the 20x4 LCD display.  If the alternate display method is used (decoded LED), the cost will be about $30 less.  Please e-mail me if you have any comments.

Schematic Capture and Board Layout
After some interruptions to complete the Space Shuttle Playfield Renovation, and some other activities, I returned to the CPU tester project.  With steady work, I completed the schematic capture and the layout of the board.


Schematic drawn in ORCad.  This is one of three pages.  This page has the
Microcontroller for the score display.


Layout of the circuit board done in FreePCB.  The size is 6"x7".

Unlike the concept, the actual CPU tester board will be rearranged differently, and will not include the TIL308 display.  I decided since these are hard to find, and not as funcational as the LCD display, that I would omit this device.

Completed circuit boards and testing
The layout of the circuit board was done using a freepcb.  A great software package that generates Gerber files.  I then sent the Gerber files that were created from the layout process to Advanced Circuits.  After only three days, the finished boards arrived at our doorstep.  The online tools and the turn-around time were excellent.


Finished circuit boards for the CPU tester.  This initial run is 10 boards.


The partially assembled CPU tester.  The layout departs from the concept,
to optimize bench space when it is located next to the CPU board.


Testing on my workbench.  Note the System 9 board in the bottom right and
another in the top left.  In this setup, I could see all the lamps on the matrix work
without a rats nest of jumper wires.  It was very cool.


Scope picture of two of the 16 strobes of the display interface.
Note the period is about 15 msec, and each strobe is activated
for slightly less than 1 msec.


The display board has no latches on the BCD data.  Thus the data
is kept between strobes by persistence in the displays.  This shows
that the Microprocessor should sample the BCD data after
several hundred usec after the strobe goes low.  The
strobe line should be polled once every 100 usec.

Development of the Micro software
Once the circuit board was verified to be correct, I started on the development of the software for the Microprocessor.  This unit controls the LCD panel and implements the score/numeric display.


Power-on banner of the CPU tester display.  It shows the layout of the digits. 
Each of the four players are shown in the top two lines,
and the credit (CR) and ball (BL) display are below them.
This banner appears for one second after power-up.

In addition to the normal function of showing/testing all the numeric digits of the score displays, I added two special features: DVM and scope mode.  The microprocessor is programmed to use one of its pins as an analog input, and the fourth line of the LCD display shows the voltage on that pin.  This implements a DVM (Digital Volt Meter) and logic probe.


The display showing the numeric digits that are being sent by the CPU board. 
Note the voltage reading on the bottom line.  It implements a DVM function
right into the CPU Tester.  Voltages on the CPU board can be
measured to verify their correctness.

The CPU tester can also be placed into 'scope mode'.  This is similar to the function of the osziFOX.  This allows the user to checkout the signals along the chain for the various switch, lamp and solenoid matrices.


One additional feature is the simple oscilloscope display.  This shows the signal
on the strobe control line for the numeric display.  Compare to this image
Each pixel represents about 1 Volt  in the vertical direction. 
The horizontal resolution is still to be determined, but
can be as fast as about 100k samples/second.


Purchasing/assembling one
I have partnered with a corporation in Florida to sell these on ebay.  Please contact the
vendor for more information.



Initial round of assembly and shipment


Six of the first units to be assembled.  They are each tested by plugging them into the System 9 CPU on the right.


These are ready to ship!  I just need to fill them with foam peanuts.


A second batch being assembled and tested.  Note the LED bar graph is
of a different color.


A new batch of boards with revised artwork to correct a small mistake on the first rev.
Note the model number is now W1A, and a new date (bottom right corner).

Using the tester
Case #1
With the tester, I repaired the second (non-working board) that I purchased on ebay.  The special solenoid section had major damage and burn marks.


Original state of the special solenoids section.  Lots of burn damage.


Repaired special solenoid section.  I replaced U6 and U7 (socketed), the flipper relay
transistor, four driver transistors, and removed the baked-on carbon damage.
Case #2
This was a board that Keith Apgar sent me to repair.  It is the first board I have seen that showed a "7" on the 7-segment display on power-up.  This indicates that the CPU will not boot at all.  This makes it the most difficult to troubleshoot as the problem could lie anywhere on the board.  After a few days of troubleshooting, I concluded that the CPU's data bus was being corrupted.  By removing each chip from the data bus one at a time, I found out that U5 was bad.  This is the PIA that handles the blanking control, the plasma display and the 7-segment display.


Case #2.  This board did not boot at all.  It turns out U5 was bad.  Notice
that it has been removed (it is normally located
to the upper right of the battery bank).

After U5 was removed, the CPU board finally booted up, and ran Leon's test ROM just fine.  This was quite a victory, and represented the most challenging repair to date.  In addition to U5, I also found that U4, U6, and U7 were also bad.

Case #3
This board was a System 4 board from my Flash machine.  The CMOS RAM (5101) and a PIA (6821) was replaced.  The former resulted in the machine powering up in Audit mode, and the second caused the displays to go blank once the RAM was replaced.  For more information, see here.


Testing with a System 4 board.  Photo shot before the driver board was added.
Case #4
This was a board I bought on ebay for $10 (+$10 shipping).  It could have been a real steal, or a real dog.  When I got it, it was very dirty (see here), but a wash with alcohol and a soft long brush cleaned it up nicely.  I then hooked it up to the tester and quickly realized that the crystal oscillator was not running.  After replacing that, the main and sound CPU booted up and passed their self-tests.  Other than some missing parts such as a few transistors, the battery holder and the cover for the relay, the board is complete.


This board worked after replacing the 4 Mhz crystal oscillator.  Note the "0" on
the display showing that the CPU passed all its self-tests.  Note the rev
5 software on the ROMs (visible on the LCD display).

Case #5
This repair included the CPU board, power supply board, display board, and all five displays.  Comment by the owner below.

Ed:
 
Got the board today. Installed it, plugged it in, said a prayer and turned it on and it fired right up! I about hit the ceiling and could not believe that (most everything) worked. All I need to do is make a few adjustments and that's about it. Another Space Shuttle brought back to life---and in part directly due to you!
 
Thank You so much for your help in fixing the power board for me. Just so you do know, for whatever reason, the game would not start and/or respond to the start button prior to you fixing the board. As soon as I get the bugs out of it I'll fire you off a few pics of it.  This was the first game I ever took completely apart, fixed and reassembled so I'm really pumped up about it.
 
Thanks again Ed!

Greg Deakin

Case #6
This was a System 11 repair.  The board suffered burn damage in the area of the lamp matrix resistors.  The damaged traces were replaced with wiring, but the job was poorly done.


Original condition of the lamp matrix of Case #6, a System 11A board.

I decided that this board was a good candidate for a MOSFET upgrade.  This has many advantages: 1) the low gate current eliminates the bulky and hot resistor.  2) the whole area will run cooler and be less stressful on the board. 

I selected the "FQP17P06", a P-channel MOSFET, available from Digikey, due to the following atributes:
  • Since this is a high side driver, a P-channel device is needed.
  • The pin order is G-D-S, allowing direct insertion of the new part into the old hole pattern on the board.
  • Max current is 17 Amps.  More than enough to do the job here.
  • 94 milliOhm typical Rds on resistance.  Low enough to be negligible.
  • Vgs of 4V, which will easily turn on with the drive from the predriver.
  • At $0.66 in quantities of ten, they were a good price.
In addition to removing the old power resistors, I also replaced all the Darlington pre-driver transistors with 2N2222 PNP switching transistors in a metal can.  Some of the existing Darlingtons were damaged, and I wanted all 8 high-side drivers to match.  After repairing the burn damage to the board with epoxy, polyurethane and acrylic paint (mixed to match the color of the existing board), I replaced the missing wiring with thin black wires, and the circuit worked like a champ on the CPU tester.


The area of the board was repaired with epoxy, polyurethane and acrylic paint.  Then, the wiring was replaced.

A thread on RGP discussing MOSFET replacement.

System 11 compatibility
The display is handled very differently with a System 11 board from the previous Williams Systems.  Instead of BCD, the computer board controls the segments of the alphanumeric display directly.  To support this, Williams added a 26-pin connector on the board.  The additional number of I/O lines exceeds the capacity of the Microprocessor on the CPU board, so the display is tested one half at a time.


Development of the interface with a Big Guns System 11 board.

Although a bit awkward, the user swaps two cables to allow observation of the left and right half of the alphanumeric display.  This allows the same board to be used to test System 3 through 11.


The two halves of the display put together (left and right).
Obviously, this is for a "Big Guns" machine running Rev 8 software (System 11b).

Other CPU Testers
These three testers were sold on ebay in February 2006.  The first one was item number 6253871562, and reportedly tests the System 7-9 board.


The System 7-9 tester.  It auctioned for whopping $665+$70 shipping.  The high shipping charge is no
doubt contributed to by the heavy transformer on the right.

Although this tester is reported to test System 7-9, one can see that the displays are only 6 digits.  Also, the master display board does not look like one of the System 9 machine, but looks like an older one.  Also, note that this tester looks identical to the third one below that tests 4 through 6.  So my conclusion is that the above is NOT a System 7-9 tester.


Close-up of the control panel of the above tester.

The second unit was item number 6254290420, and looks like it was assembled by the user himself (no Williams logo, and fixture made of wood).  It is reported to test System 11 boards.


The System 11 tester.  This one looks home-made,
and auctioned for $366+70.


Close-up of the test panel.  Note lack of solenoid and lamp matrix displays.

The third tester was ebay item number "6255704954", and tests Systems 4 through 6.  It appears to be identical in appearance to the first tester above.


This tester sold for $474+shipping.  It handles System 4-6.

Closeups of the test panel.

Video of System 3-7 tester in operation.


In February 2007, a WPC test jig (item 110093911411) was auctioned for $1500.


The I/O panel looks like it includes a matrix of lamps (similar to my tester),
and a matrix of switches.  One can also see test lamps for solenoids and other
devices.

The tester includes a driver board, and the A/V board as well as the WPC-95 CPU.



In September 2007, this System 3-7 tester sold for an amazing $1200 (item 170143659660).


In March 2008, this System 3-7 tester sold for $515 (item 160213461303).  It looks highly incomplete.


In April 2008 this System 3-7 tester sold for $688 (item 130209246482).


In June 2008 this System 3-7 tester sold for $236 (item 320258934586)
It was missing its boards and the upright panel.

Links

  • Leon's System 9 test page.
  • Clay's System 11 (and 9) test page.
    • Manual for Williams Systems 3-7 tester
  • Hard to find CPU parts at GPE.
  • Okaegi's System 6 tester (scroll down "Williams part").

Log

  • October 26, 2005 - Purchased first nonworking CPU board for $40 + $10.  Previously, I had seen untested units on ebay in the range of $31 (burn damage) to $175 (clean).
  • November 7, 2005 -  Initial checkout complete.  Board is mainly working.  Only K1 still missing (on order).
  • November 10, 2005 - Completed initial breadboard concepts for CPU tester.
  • November 25, 2005 - Initial layout of circuit board complete.
  • November 26, 2005 - Purchased a second nonworking CPU board for $23+$14 on ebay.  When powered up, it passes CPU self-test, and lamp matrix works fine.  Further testing in the future.
  • December 01, 2005 - Arrival of the finished boards.
  • December 03, 2005 - Initial testing of the CPU tester complete.  Lamp matrix, switch matrix and LCD interface operational.
  • December 11, 2005 - Software development of the Microprocessor in progress.
  • December 26, 2005 - Software development mostly complete.  Kit is made available.
  • January 13, 2006 - Initial orders and parts are in.  Manual is half written.  Assembly of first round of units begins.
  • January 21, 2006 - Initial orders complete and ready to ship.
  • February 1, 2006 - First use of tester to repair a CPU board.
  • February 19, 2006 - A nice endorsement from Peter regarding the CPU tester.
  • February 20, 2006 - Auctions for two CPU testers on ebay.
  • March 14, 2006 - Due to popular demand, I built a second batch of testers.
  • March 24, 2005 - System 11 compatibility added.
  • August 7, 2006 - First unit sells with BIN on ebay for $500 (item #170016357842).
  • July 2, 2007 - Case #6 documented.  Conversion to MOSFETs for the high-side lamp matrix driver.  This board was bought on Ebay for $35 (+$15). 

Main Pinball Page

Back Home

Note: I have several repaired System 9 and 11 boards for sale.  Please contact me for details if you want to purchase one.

(c) 2005 Edward Cheung, all rights reserved.