Editors Note: The original article, which is available on this website has been modified here to apply specifically to early Bally & Stern pinball machines. Much of this material has been imported from the original.
Reproduced with permission from terryb.
Written by terryb
The purpose of the switch matrix is to reduce the number of driver circuits from 64 to 16 and minimize playfield wiring. This is achieved by pulsing each column sequentially while monitoring all of the rows. This is why the column is called the strobe, or send side, and the row is called the return side.
For a list of common problems and troubleshooting, you can jump to this section of the document.
Switch Matrix Theory
Note: The following is a bit of a simplification. After going through the schematics and consulting with people who are smarter than us, we boiled it down to this:
Image 1 is the switch matrix from a Bally -17 MPU. The columns are connected to J2, pins 1 – 5. These are the strobes for the switch matrix. The rows (switch returns) are connected to J2, pins 8 – 15.
A careful look at the schematic indicates that the switch matrix is also connected to J3. Two columns, 1 and 2 are connected to J3, pins 2 – 3. Switch matrix rows are connected to J3, pins 9 – 16. J3 is connected to the cabinet at the coin door.
This switch matrix is not displayed in the manual in the manner that we are used to seeing in later pinball machines such as WPC. In fact, the manual has two schematics that outline the switch matrix as it is laid out in the pinball machine: 1) the playfield and 2) the cabinet. The playfield and cabinet switch diagrams are listed on separate pages. It is easy to overlook that they are connected together at the MPU.
Note that both the playfield and cabinet connections for the Bally Eight Ball Deluxe are displayed here. We then recreated the the layout into more of a traditional switch matrix style (below). Also note that while later games have 8 columns and 8 rows, for a switch matrix of 8×8 = 64 positions, these early Bally & Stern MPUs have only 5 columns, making the switch capacity of 5×8 = 40.
The switch number, which is displayed during the switch tests and on the Switch Locations page in the manual, is calculated in order. The first column has eight switches numbered 1 – 8, the second column has switches 9 – 16, etc. So the first switch in the fourth column, ‘D Target’ is switch 25 (8 + 8 + 8 + 1 = 25).
Note that this switch numbering system is not as easy to follow as the more logical switch number system used in later games where the first number is the column number and the second number is the row number. In that system, there is no number 19 (column 1 and row 9 is impossible). Here, the switches are numbered in order and the first number is not the column, nor the second number the row.
In the MPU schematic, the columns have a number associated with them. They progress from ST0 to ST4. They, confusingly, are associated with columns 1 – 5 in the switch matrix.
Also in the MPU schematic, the columns have numbers from I0 to I7. They are associated with rows 1 – 8 in the switch matrix.
For the purposes of the discussion here, we have created a traditional switch matrix table using the information from the Bally Eight Ball Deluxe schematic. Those in italics are in the cabinet. Other switches are in the playfield. When testing, only the number of the active switch is displayed, so it will be necessary to find the switch in the second table and reference the switch number in the first table.
Note that the DIP switches, shown in Image 1, are also part of the switch matrix. They are connected to the ‘missing’ columns 6, 7 & 8. Since these are housed on the MPU board, they will be working if the switch matrix is working.
Note: Switch columns and rows are not necessarily wired in the same order as they are shown on the switch matrix. Also note that we are re-using existing diagrams from the Williams WPC switch matrix. In the Bally / Stern switch matrix, the diodes are oriented in the opposite direction and current flows from the column (ST#) to the row (I#).
Each column and row is connected with a specific color. This color can be determined by looking at the schematic and the wire number associated with that row or column.
Each switch has an associated blocking diode as shown in the playfield or cabinet schematic. Since current can flow in only one direction through the diode, the result is isolation of the switch when it’s closed. If this isolation is lost the switch matrix will exhibit bizarre behavior. The root cause will be a reversed diode, shorted diode, switch improperly wired or diode lead touching one of the other switch lugs (this is common on switches where the pinball can hit them).
Note that Bally left off a few diodes on the coin door switches. This was a rather odd way to save a few pennies, but it was thought that since those coin switches should never be closed during game play, they were not needed. Perhaps this was done to increase reliability (?) or simplify assembly. But, today, with many coin mechanisms removed, this can cause switch matrix issues if those leafs or wires are mangled and shorted.
Editor’s note: If performing a diode test on a leaf switch, the switch must be open. It also is recommended to unplug J3 and J2 from the MPU.
In some games there is also a capacitor across the switch. The purpose of the capacitor is to “stretch” the closure of the switch (extend the pulse width) so the CPU can reliably determine the switch has been closed. Typically, the switches that experience a short closure time, such as a stationary target, must have this capacitor or the computer will not ‘read’ the switch. These capacitors can short which would cause a ‘stuck’ closed switch.
The inactive state of each column is high, thanks to the +5 volt 3.3K pull-up resistor R31 – R38 on the output of the 6820 / 6821 PIA. There is a second set of resistors, R108 – R111 & R132, that are located on the other side of diodes that pull down the signal. These are identical to the 56K pull-down resistors on the rows (switch returns). Since R31 – 38 are 3.3K connected to +5V while the grounded R108 – R111 & R132 are 56K, the inactive state will be high until the PIA IC pulls it low.
The inactive state of the row (switch return) is low because of the grounded pull-down resistor (R39 – R46) on the input of the same 6820 / 6821 PIA.
The 6820 / 6821 is a versatile chip. It can receive signals from the 6800 CPU or send signals to the CPU. It has two halves and one half can send while the other receives. In this case, the half labelled PA# runs the columns and ‘sends’ the signal while the PB# receives the signal and sends it back to the CPU.
It appears to us that the PIA pulls the column low. The ‘pulse’ occurs when the PIA briefly turns off, then returns low when the PIA turns on again.
When the system strobes the columns in this manner, if a switch is closed, then the row side of the diode will be pulsed in the same way. The PIA 6820 / 6821 passes on the pulse to the CPU senses a switch is closed.
The matrix strobes each column in sequence, pulling down column 1 and checking all of the rows, then strobes column 2 while checking all of the rows, and so on.
Image 3 shows a pulsed signal alternating across the 8 columns (5 on the playfield / cabinet switches, and 3 on the DIP switches).
In Image 3, switch 43 is closed (column 4, row 3). The system will read a low on row 3 when column 4 is pulsed (the blue line shows the current path) and determine the switch in column 4 and row 3 is closed.
By cycling through each column sequentially, the system can differentiate between the switches in each column while the rows are separated by the blocking diodes. If a diode is shorted, or has been installed incorrectly, the system will get confused since the isolation between switches no longer exists.
In Image 4 switch 27 (8+8+8+3=27) is pulsed low then switch 51 (a DIP Switch),(8+8+8+8+8+8+3=51), goes low afterwards so even though they are in the same row, the system knows two different switches have been closed.
Note: The digital logic probe nor the oscilloscope seem to work when testing this switch matrix and we don’t understand why. This switch matrix does not use separate circuitry for the columns vs. the rows, but a single PIA U10. Perhaps there is enough noise to trigger the logic probe, but there also seem to be pulses on the rows as indicated on an oscilloscope. That does not matter as we can use the jumper method to test the board.
All testing should be done using the switch test, all switches open and all pinballs removed from the game.
Troubleshooting the Switch Matrix
There are a few common problems you will come across with the switch matrix.
- I recently worked on the game or it’s new to me and has matrix problems.
- All of the switches in a column are not working.
- All of the switches in a row are not working.
- Two or more consecutive, but not all switches, in a column or row are not working.
- Row or column of switches all show closed.
- Closing any switch in a row, or column, causes a switch in another row, or column, to indicate closed.
- Random switch indications.
The Bally / Stern Switch Test
The Bally / Stern switch test is terrible. If more than one switch is closed, during the switch test, only the lowest number switch closed will be displayed. For example, if switch 15 and 33 are closed, only the number 15 will be displayed. If more than one switched is closed due to a shorted diode, grounded wire, etc., it will be impossible to detect this via the service menu switch test. The only way to know this is happening is if scoring is inaccurate. Or multiple solenoids are reliably activated from a single switch.
When initiating switch testing, it is important that all switches be open. The pinball must be removed and all drop targets must be reset up. Then enter the service menu and go to the switch test (see the manual). If all switches are open, a zero will be displayed. If any switch number is displayed, this must be fixed prior to proceeding. If all switches appear to be open, unplug J2 and J3 and see if the switch closure goes away. If it does not, then there is an error on the MPU board. If the switch closure goes away, then plug in J3 (the cabinet), then J2 (the playfield) to narrow down where the problem is. Note that the old caps on some of the switches can short and cause a switch to appear closed.
Human Error
Before troubleshooting any problem, the first question to ask yourself is if you have recently done any work on the game. Or if the game is new to you and has problems, never rule out mis-wiring by the previous owner.
If after replacing a diode/switch you have switches indicating closed when they shouldn’t be the diode or the wiring is reversed. Check your setup and make sure the band on the diode is oriented towards the switch and then the column wire (see schematic).
Unlike WPC switch matrixes, the column driver is is not as vulnerable to a short from GI lighting, the lamp matrix and flasher/solenoid power because of the presence of a blocking diode. Conversely, the row is far more able to be damaged in these Bally / Stern games because of a lack of a blocking diode.
If one of these voltages does contact a switch, then the row is liable to be fried. Flasher/solenoid voltages and above can blow through the PIA U10. Hopefully it stops there and does not destroy the other ICs.
And as always check all connectors and then check them again.
Column Failure
First we’ll cover a column of switches not working, and the first question we need to answer is whether the problem is on the playfield or the circuit board. There are a couple of ways you can check this out. The following method works fine or you can use the jumper method explained at the end of this document or the Siegcraft switch matrix tester.
The quickest approach is to test continuity between the column wire under the playfield (with the game off) and where the column connector is soldered to the circuit board (on the back side of the circuit board). It is important to test to the board, not just to the connector, since you could have a bad connector.
For example on this EBD, to test column 1, check the wire on any of the 2X – 5X drop targets, the credit reset, or tilt in the cabinet on the diode non-banded side, to the back of J2 pin 1 on the MPU board.
While you’re at it, also test from this strobe (column) wire to ground just to make sure there’s not a short to ground.
If both tests read good, you’ve likely got a board problem. If you want to confirm this you can use the jumper method at the end of this article.
If there is no continuity from the playfield to the board, check the connector and the last section of wire that runs from the playfield to the connector. If you read a short to ground start tracing the wire from beginning to end looking for a short to ground.
If your problem is on the CPU board, it’s a fairly simple circuit. J2-1 through J2-5 (row) and J2-8 through J2-15 (column drives) are the connectors in question.
Note: It might be possible to use your digital logic probe and start at the connector work back through each test point to find where the pulse is getting lost. However, in our experience, the logic probe is useless here. The only way to confirm continuity is to turn the power off, set your voltmeter to the lowest (most sensitive) resistance and check to insure you have continuity.
If you have continuity from J3 to the leg on U10, it maybe that U10 has failed. It maybe possible to switch U11 and U10 to see if that fixes the switch matrix issue (turn the power off prior to doing this). Keep in mind that U11 controls the solenoids. In order to prevent a possibly bad chip from U10 put into U11 from causing a locked on solenoid, remove all the plugs except J3 from the Solenoid Driver Voltage Regulator board. J3 supplies the +5 and +12V DC to the MPU board. It is also not necessary to remove J4.
Row Failure
The first part of troubleshooting the return circuit is the same as above; use your ohmmeter to test to the circuit board and ground or use the jumper method at the end of this article or the Siegcraft switch matrix tester. If the problem is on the playfield, troubleshoot as above.
If the problem is on the CPU board get your logic probe out and starting at the connector work back through each test point to find where the pulse is getting lost. The row you are testing needs to be jumpered to a column as described at the end of the article.
Sometimes the probe may not work, so you may have to turn the power off and set your voltmeter to the lowest (most sensitive) resistance and check to insure continuity from J2 to the leg on U10.
Partial Row or Column Failure
The only way you can get a partial row or column failure is a wiring problem under the playfield. The switches before the problem will work and the switches after the problem will not work since they’re daisy-chained. Use switch diagnostics while following the wire downstream and closing each switch (remember the manual will give you the wire color) until you find the point where the switches quit working.
Somewhere between the non-working switch and the last working switch the wire is broken or there’s a bad connection. The usual problem is a wire has become broken at the solder joint on the switch, which can often look like it’s still connected so you should gently tug any suspect wires.
Row or Column, All Switches Show Closed, or Random Results
This problem is different than random switch indications in that triggering one switch will cause an entire row or column of switches to indicate closed. This can be rather exciting when you hit one target and eight different things all happen at once. You can verify the problem by going into switch diagnostics and manually closing the switch that causes the problem.
Note: Normally closed switches, or some types of board failures, can cause this problem to occur as soon as you start a game.
If the problem is with a column check the associated column wire for a short to ground.
Note that many times the issue is either caused by a coin mechanism switch being stuck closed, since there isn’t a diode on these switches, or a wire to the coin door being shorted to ground. The wire to the coin door is frequently an issue because those wires are being stressed every time the coin door is opened or closed.
Column or Row Short
A column short is indicated by the following symptoms. When any switch in a column is closed, another switch in the same row, but different column, will also indicate closed. But with this Bally / Stern switch test, the symptom maybe subtle (weird scoring) or more obvious (multiple solenoids firing).
This will also happen in reverse and for every switch in that column. For example, ‘D’ Rollover will set off the Slam switch and end the game.
This indicates a short involving the column 2 wire. The best way to find the problem is with a visual inspection. Commonly, this can be because of a mangled and stuck closed coin switch.
A row short is indicated by the following symptoms. When any switch in a row is closed, another switch in the same column, but different row , will also indicate closed. This will also happen in reverse and indicates a short between the two row wires.
Random Switch Indications
Random switch indications occur when one switch is closed and another switch erroneously thinks it has also been closed. For example, A ball hits the left sling and one of the pop bumpers fires. This is typically caused by a reversed diode, a shorted diode, the switch improperly wired or diode lead touching one of the other switch lugs or a short to ground. Any of these issues allows current to flow backwards and take a row low that shouldn’t be low at that time.
While this is often a one to one relationship (one switch closes and one switch thinks it’s closed when it isn’t) there can be multiple one to one relationships.
Note: We have added a video at the bottom which briefly covers the switch matrix theory of operation and provides detailed information on troubleshooting shorted switch diodes.
Also note that in these images the diodes are in the opposite direction of that in the Bally / Stern switch matrix.
In Image 6 you can see a shorted diode at column 3 row 4. Note the switch at column 6 row 4 is closed and nothing bad is happening. Everything will work as expected because although the diode is shorted its associated switch is open.
In Image 7, the switch at column 6 row 4 is closed and the switch with the shorted diode is now closed. Again, nothing bad will happen because all of the other switches in that column are open. But when one of the other column switches is closed…
In Image 8, the switch at column 3 row 2 is closed in addition to the previous switches. Now bad things start to happen. The shorted diode and the closed switch allow row 2 to be taken low when column 6 is pulsed low. So the system falsely thinks the switch at column 6 row 2 is closed (see yellow circle).
In summary, the following must all happen for the problem to show up: the switch with the shorted diode must be closed, another switch in the same row must be closed and another switch in the same column must be closed.
The combination of three closed switches is not as unlikely as you think when you consider multiball, NC switches and commonly closed switches (ball locks or ball trough).
If you map out the three switches on the switch matrix you will have three corners of a rectangle and the fourth corner of the rectangle provides us with a fourth switch. The shorted, or reversed, diode will be on one of these four switches.
The Bally / Stern switch test is almost useless for troubleshooting random switch indications as it will show only the lowest number switch closed. The only way to use it is to close upper number switches and see if lower number switches appear. Otherwise you will be reduced to manually tracking issues where random or incorrect switch closures and noticeable – like the wrong solenoid firing. Or the slam tilt being activated.
If the problem occurs all of the time, the following technique will often quickly identify the problem.
Remove all the balls from the game and hold open (use a business card) any normally closed switches. If that solves the problem then add the balls back, or open the switches, one by one to identify the specific switch.
Create a switch diagram like we did for Eight Ball Deluxe. Then use the switch matrix diagram to map out your problem using the three switches (the one you just identified, the falsely indicating switch and the switch that causes the problem to show up).
If the problem occurs randomly during a game, you need to identify the pattern. For example, when switch A is closed and switch B is closed and switch C is closed, the system thinks switch D is closed (keep in mind any NC or commonly closed switches).
Unless you’re lucky and two switches you identify are opposite corners on the rectangle, you will need to identify three switches.
If you are able to identify the pattern, finding the shorted diode is then easy using the previously described rectangle approach.
Note that many times the issue is either caused by a coin mechanism switch being stuck closed, since there isn’t a diode on these switches, or a wire to the coin door being shorted to ground. The wire to the coin door is frequently an issue because those wires are being stressed every time the coin door is opened or closed.
Testing Columns and Rows
Caution
Be careful here. We are going to be using a jumper from one pin to another on J2. Keep that jumper away from any other voltages or damage to this board will occur.
[Editor’s note: This procedure cannot be used for testing the lamp matrix. It would result in a short and potentially damage the circuit.]
For the jumper cable we recommend either a mini-grabber (also called mini-clip) or a .1″ female to female jumper. You can get the latter at most electronics stores in a variety of lengths, but 6″ works well. If you need to jumper more than one row/column at a time you will need a 1N4004 diode installed in the jumper. This is not necessary for the procedure below, but is required for more advanced testing. The end of the jumper with the banded side of the diode should be placed on the column side when testing.
Use the following procedure to test each column. Consult the photo of the switch numbers.
- Turn on the game and enter switch test.
- Remove J2 (playfield connector) and J3 (cabinet).
- Take a photo of your DIP switch settings or write them down. Turn all DIP switches Off (to the right).
[Note: We are not certain that this step is strictly necessary.] -
Put one end of your jumper on pin 1 of J2 (column 1). - Place the other end of your jumper on pin 8 of J2 (row 1)
- Switch 1 (column 1, row 1) should indicate closed on the display.
- Move the jumper on pin 1 of J2 to pin 2 (column 2).
- Switch 9 (column 2, row 1) should indicate closed.
- Continue testing each column by moving the jumper.
Use the following procedure to test each row.
-
Turn on the game and enter switch test. - Remove J2 (playfield connector) and J3 (cabinet).
- Take a photo of your DIP switch settings or write them down. Turn all DIP switches Off (to the right).
[Note: We are not certain that this step is strictly necessary.] - Put one end of your jumper on pin 1 of J2 (column 1).
- Place the other end of your jumper on pin 8 of J2 (row 1)
- Switch 1 (column 1, row 1) should indicate closed on the display.
-
Move the jumper on pin 8 of J2 to pin 9 (row 2). - Switch 2 (column 1, row 2) should indicate closed.
- Continue testing each row by moving the jumper.
Conclusion
When troubleshooting a switch or lamp matrix problem, the biggest waste of time is to stop and look at all the switches. Following this systematic procedure, print out the matrix and then test each one in the menu, will cut troubleshooting time dramatically, making complex problems seem simple.
Editor’s Notes and Comments
We reproduced the original page from TerryB and (late, lamented) PinballRehab.com because we found it amazingly useful and have referred to it over and over again over the years.
Comments, including suggestions, improvements, errors, etc. are welcome (see below).
If you have a specific question about your game that does not directly apply to matrix troubleshooting, please see our FAQ section.