Battery backup (aka alkaline acid damage)
Solid-state pinball machines have a dark secret - they forget things. To hide this, the designers introduced circuits which can cause untold damage, if you're not aware of them. I'm about to educate you, so pay attention. This might just save your machine from an expensive repair bill, or indeed from the scrap heap.
There are basically two kinds of memory chips used in earlier machines. RAM and ROM chips. RAM stands for "random access memory" whereas ROM stands for "read-only memory". RAM is what we typically think of when thinking about computer memory. It's an area where the processor (CPU) can write various pieces of information, and expect to return there later on and find that the data is still there. At least while the chip is powered up, and this is the key constraint. This differs from thinks like disk drives, where the data has to be recorded on a magnetic medium and it isn't anywhere near as accessible as RAM. However, stuff written to disk tends (for the most part) to stay written to disk. I point that out for the purposes of clarity as solid state pinball machines (up until recent times at least) did not include disk drives.
When you first power up a pinball machine, the RAM chip will be filled with random data. Binary junk. So it's useless to the CPU. This is where ROM chips come in. A ROM chip is used to save the actual pinball software. It has the advantage of never forgetting what was written to it. It also has the disadvantage that it can only be written "once" (in fact, EEPROMs and UV EPROMS can be erased and rewritten, but let's not get down into the weeds). A PROM chip is a ROM which can be programmed (once and once only). An EEPROM is a ROM chip which can be erased by using electrical circuits (electrically-erasable). An EPROM is a chip which can be erased by exposure to UV light - they are common in pinball machines and are instantly recognisable by the clear round window on the top of the chip, usually covered with some sort of label to prevent stray UV from erasing the chip.
So, if we can only read from ROM and when we write to RAM the data is lost when the machine is powered off, where do we store the settings and the high score, et cetera? Well, this is where the designers secret circuits come in. Solid-state pinballs (up until probably the year 2000 or so) included a battery backup circuit. This usually took the form of three AA (alkaline) batteries in series, providing a 4.5 volt alternative supply to the RAM chip. When the machine is powered on, the chip is powered by the main +5V power rail. When you turn off the machine, the AA batteries keep power to the chip so it doesn't lose its memory. There are some diode circuits in use to make sure you don't try and apply five volts to the batteries, and to ensure the batteries aren't trying to power everything on the +5V power rail.
So, from a code perspective, when the machine is first turned on, it will usually look for one or two "check" bytes in a known location. If that fails, the software assumes the machine is fresh off the production line, and will initialise the game to the factory defaults. When it powered on the next time, the battery backup will have kept that data intact, so it will go straight to game play. On some machines, you need to power off the game after it shows "Factory Reset" and before it will switch to "attract" mode.
Remember that the original machines were only designed for pinball routes. An operator would purchase the game, stick it in a bar or arcade somewhere, and periodically remove the quarters (or pound coins, or...). He or she would also remember to check the AA batteries, and replace them if they were poorly. In other words, pinball operators knew all about the AA batteries in the back box. Not so, the poor home use owner. I have found it quite common to come across a machine where the owner has never opened the backbox. Unfortunately, as we know from old torches and remote controls left for too long on the shelf, alkaline batteries decay. Not only that, they leak potassium hydroxide, which is corrosive. Add to the fact that most batteries were mounted on the CPU board, and the situation gets to be pretty bad. Some Williams machines mounted the batteries at the top of the CPU board, which allowed the misbehaving batteries to leak all the way down the board. The pictures in this blog posting are from a Williams controller (WPC Fliptronic). The battery acid has destroyed some of the ICs and resistors used in the switch sensors.
One sure-fire way of knowing if your machine might have a battery problem, is if it does a factory reset every time you turn it on. That indicates the RAM chip is not holding its values. On this particular game, the machine was confused about the ball in play. Luckily the processor works, and most of the code is functional. I was able to put the machine into service mode (using the buttons inside the coin door), and then ran a switch test. In order to save on wiring and to save on circuitry, pinball switches operate in a matrix configuration. No, that's not some sort of Neo/Orpheus setup, it means that every eight switches (for example) are wired together, and the system scans the rows and columns of the 8x8 matrix. This way, you can read 64 switches just using 16 wires (8 rows, 8 columns) from the CPU board. I'll save how this works, for a future article.
In this particular case, even though the ball trough switches (the game has three balls) were working properly, the CPU was unable to read the status of the switches. Looking at the switch matrix, it was obvious that rows 5, 6, and 7 were dysfunctional. That's twenty-four playfield and cabinet switches which could not be accessed by the CPU. Including the ball drain, ball trough, some of the drop targets, and the slingshot switches.
The switch returns (the rows in this case) are fed to a pair of LM339 quad op-amps and a resistor circuit for initial smoothing and processing. As you can see from the photograph, one of these quad op-amp chips (U19) is almost completely corroded. As is the decoupling capacitor, and an assortment of resistors. The first job will be to remove these components, clean away the potassium hydroxide detritus and inspect the PCB. It is extremely likely that the copper traces have been etched away, and will require jumper wires in order to breathe life back into this game. Once I have verified that the connectivity is restored, I can replace the LM339s and the resistors. If that doesn't work, then this board is for the scrap heap, unfortunately. On the positive side, it's a common board so it won't be too hard to find a replacement. If this happened on a more unique game, it is likely the machine would never work again.
The moral of the story here is to check the backbox. Look to see if there are batteries providing backup power. Remember that if you remove the batteries while the game is powered off, it will do a factory reset on power-up, and you'll lose your amazing high score, to say nothing of any custom settings. On the other hand, if you change the batteries while the machine is powered on, you run the risk of electrocution as there are often mains voltages in the backboxes of solid-state machines. You also run the risk of shorting something out, if you're not experienced. If you're not comfortable doing this, by all means ask someone to do it for you. A simple battery-swap now will be a lot cheaper than an extensive CPU board rebuild in a few months.
Some games have changed their RAM chips to use Flash technology, which provides read/write memory but without the ephemeral nature of traditional RAM. Other games have moved the AA batteries to a separate battery box away from the sensitive circuitry. It's still important to make sure those batteries are in good condition, but in the event of battery leakage, they are considerably less likely to do any lasting damage.
Also, watch for games which do a factory-reset every time they are powered up. Chances are, the battery backup solution is not working.