Bally/Stern

From PinWiki
Jump to navigation Jump to search
ExclamationPoint.jpg
Note: This page is a work in progress. Please help get it to a completed state by adding any useful information to it.


1 Introduction

Put system info here

2 Games

A list of solid state games by system and manufacturer (including those that aren't necessarily pinball). Source: http://www.ipdb.org

2.1 Bally

Game Title MPU Power Supply Lamp driver Sound Add'l boards
Freedom AS2517-17 AS2518-18 AS-2518-14 Chimes
Night Rider AS2517-17 AS2518-18 AS-2518-14 Chimes
Black Jack AS2517-17 AS2518-18 AS-2518-14 Chimes
Evel Kenievel AS2517-17 AS2518-18 AS-2518-14 Chimes
Eight Ball AS2517-17 AS2518-18 AS-2518-14 Chimes
Power Play AS2517-17 AS2518-18 AS-2518-14 Chimes
Mata Hari AS2517-17 AS2518-18 AS-2518-23 Chimes
Strikes & Spares AS2517-17 AS2518-18 AS-2518-23 Chimes
Black Jack AS2517-17 AS2518-18 AS-2518-23 Chimes
Lost World AS2517-35 AS2518-18 AS-2518-23 AS2518-32
The Six Million Dollar Man AS2517-35 AS2518-18 AS-2518-23 AS2518-32
Playboy AS2517-35 AS2518-18 AS-2518-23 AS2518-32
Voltan AS2517-35 AS2518-18 AS-2518-23 AS2518-32
SuperSonic AS2517-35 AS2518-18 AS-2518-23 AS2518-32
Star Trek AS2517-35 AS2518-18 AS-2518-23 AS2518-50
Game Title MPU Power Supply Lamp driver Sound Add'l boards
Paragon AS2517-35 AS2518-18 AS-2518-23 AS2518-50
Harlem Globetrotters AS2517-35 AS2518-18 AS-2518-23 AS2518-50
Dolly Parton AS2517-35 AS2518-18 AS-2518-23 AS2518-50
Kiss AS2517-35 AS2518-49 AS-2518-23 AS2518-50 Auxiliary Lamp Driver AS-2518-43
Future Spa AS2517-35 AS2518-49 AS-2518-23 AS2518-50 Auxiliary Lamp Driver AS-2518-43
Space Invaders AS2517-35 AS2518-49 AS-2518-23 AS2518-51 Auxiliary Lamp Driver AS-2518-52
Nitro Groundshaker AS2517-35 AS2518-18 AS-2518-23 AS2518-51
Silverball Mania AS2517-35 AS2518-18 AS-2518-23 AS2518-51
Rolling Stones AS2517-35 AS2518-18 AS-2518-23 AS2518-51
Mystic AS2517-35 AS2518-18 AS-2518-23 AS2518-51
Hotdoggin AS2517-35 AS2518-18 AS-2518-23 AS2518-51
Viking AS2517-35 AS2518-18 AS-2518-23 AS2518-51
Skateball AS2517-35 AS2518-18 AS-2518-23 AS2518-51
Frontier AS2517-35 AS2518-18 AS-2518-23 AS2518-51
Xenon AS2517-35 AS2518-54 AS-2518-23 AS-2518-56 volcalizer module AS-2518-58
Game Title MPU Power Supply Lamp driver Sound Add'l boards
Flash Gordon AS2517-35 AS2518-54 AS-2518-23 AS2518-61
Eight Ball Deluxe AS2517-35 AS2518-54 AS-2518-23 AS2518-61
Fireball II AS2517-35 AS2518-54 AS-2518-23 AS2518-61
Embryon AS-2517-35 AS-2518-54 AS-2518-23 AS-2518-61
Fathom AS-2517-35 AS-2518-54 AS-2518-23 AS-2518-61
Medusa AS-2517-35 AS-2518-54 AS-2518-23 AS-2518-61
Centaur AS-2517-35 AS-2518-54 AS-2518-23 AS-2518-61 Reverb AS2518-81
Elektra AS-2517-35 AS-2518-54 AS-2518-23 AS-2518-61
Spectrum AS-2517-35 AS-2518-54 AS-2518-23 AS-2518-61
Speakeasy AS-2517-35 AS-2518-54 AS-2518-23 AS-2518-51
Rapid Fire AS-2517-35 AS-2518-54 AS-2518-23 AS-2518-61
Granny and the Gators AS-2518-133 AS-2518-132 AS-2518-107 (combo lamp and solenoid driver) Vidiot AS-2518-121
Mr. & Mrs. Pacman AS-2517-35 AS-2518-54 AS-2518-23 AS-2518-61
Baby Pac-Man AS-2518-133 AS-2518-132 AS-2518-107 (combo lamp and solenoid driver) Vidiot AS-2518-121
Eight Ball Deluxe Limited Edition AS-2517-35 AS-2518-54 AS-2518-23 AS-2518-61
Game Title MPU Power Supply Lamp driver Sound Add'l boards
BMX AS-2517-35 AS-2518-54 AS-2518-23 AS-2518-51
Centaur II AS-2517-35 AS-2518-54 AS-2518-23 AS-2518-61 Reverb AS2518-81
Goldball AS-2517-35 AS-2518-54 ?? AS-2518-51
X's & O's AS-2517-35 AS-2518-54 AS-2518-23 M-051-00114-B045
Kings of Steel AS-2517-35 AS-2518-54 AS-2518-23 M-051-00114-B045
Black Pyramid AS-2517-35 AS-2518-54 AS-2518-23 M-051-00114-B045
Eight Ball Deluxe Classic AS-2517-35 AS-2518-54 AS-2518-23 AS-2518-61
Fireball Classic AS-2517-35 AS-2518-54 AS-2518-23 M-051-00114-B045
Cybernaut AS-2517-35 AS-2518-54 AS-2518-23 M-051-00114-B045

2.2 Stern

Game Title MPU Power Supply Lamp driver Sound Add'l boards
Pinball M-100 Chimes
Stingray M-100 Chimes
Stars M-100 Chimes
Memory Lane M-100 Chimes
Lectronamo M-100 SB-100
WildFyre M-100 SB-100
Nugent M-100 SB-100
Dracula M-100 SB-100
Trident M-100 SB-100
Hot Hand M-100 SB-100
Magic M-100 SB-100
Cosmic Princess M-100 SB-100
Meteor M-200 SB-300
Galaxy M-200 SB-300
Ali M-200 SB-300
Game Title MPU Power Supply Lamp driver Sound Add'l boards
Big Game M-200 SB-300
Seawitch M-200 SB-300
Cheetah M-200 SB-300
Quicksilver M-200 SB-300
Stargazer M-200 SB-300
Nineball M-200 SB-300
Iron Maiden M-200 SB-300
Viper M-200 SB-300
Dragonfist M-200 SB-300
Flight 2000 M-200 SB-300 Voice module VS-100
Free Fall M-200 SB-300 Voice module VS-100
Lightning M-200 SB-300 Voice module VS-100
Split Second M-200 SB-300 Voice module VS-100
Catacomb M-200 SB-300 Voice module VS-100
Orbitor One M-200 SB-300 Voice module VS-100

3 Technical Info

3.1 Bally/Stern MPU Board LED Flash Sequence

Bally and stern boards on startup have an LED that flashes to tell you the results of tests of various parts of their system. This section explains what is being tested and how, according to information from the Bally "FO-561-2 Theory of Operation rev. 5-1982" manual, and the Stern manual "Theory of Operation, Stern's Microprocessor Controlled Solid-State Games".

When power is first applied to the mpu board, the led by default is ON. The very first set of valid instructions in every bally/stern game is to turn the led off. This is more of a flicker than a flash, so is not counted as a flash in the 7 flash sequence.

3.1.1 Quick summary

Flicker: MPU reset good, program booted.
1st Flash: ROM Checksums OK
2nd Flash: U7 6810 ram OK
3rd Flash: U8 5101 ram OK (U8 & U13 on mpu-200)
4th Flash: U10 PIA OK (see details for caveats)
5th Flash: U11 PIA OK (see details for caveats)
6th Flash: U12 555 Display interrupt timer OK
7th Flash: Zero crossing interrupt detector OK (solenoid voltage present)

3.1.2 First flash:

After the program is running (led flicker tells you the cpu chip was able to start a valid program stored in the eproms) the program performs a checksum of all program chips u1-u6. Most Bally games' programming is split between an operating system chip U6 and a game rom chip U2; Stern's games were a little looser - the operating system and game code are freely interspersed.

Bally checksums are calculated by summing each byte, discarding any carries. Most games check their code in $0400 blocks, so it would be possible to determine down to the chip which chip failed this checksum. (A 2716/9316 chip has hex $0800 space available in it - 2732 sized images are $1000 in size. The smallest chip used was a 474 PROM which has $0200 bytes available) However, to do so would require a way to read the X register from the 6800 cpu chip at the time of checksum failure, so if you do not get the first flash, it is best to replace the U6 chip first, then move onto the other chips U5, U2, and U1 (if present).

Stern checksums are calculated similarly, but not in chunks - the entire program space is summed and must equal $00 for the first flash to occur.

Regardless of the manufacturer being Bally or Stern, after the checksum is passed, the first flash occurs.

3.1.3 Second flash:

Next, the program tests the 6810 RAM chip at U7, by writing the data $00 to each memory location contained in the ram ($00-$7F). It then reads back each location to ensure that $00 is returned. It increments the data to $01 and repeats this test; this continues until the data read back is $FF (256), the maximum value any one byte can store in the RAM. It then increments the memory location being tested, and repeats the $00-$FF data storage test. If any of the tested locations returns an unexpected result, the program stops, alerting you to a problem with U7 (since you got the first rom checksum flash, but not the 2nd U7 OK flash)

3.1.4 Third flash:

Now, the program tests the 5101 Non-volatile RAM chip at U8 (U8 AND U13 on Stern mpu-200 boards). The 5101 stores bookkeeping data, game parameters, high scores, replay levels, etc. The program tests this ram ($200-$2FF) by reading the original nibble/byte (see sidebar) and saving it in a temporary location, then storing a test pattern in the location similar to the U7 test. After the byte successfully passes the test, the original data is returned to the location, and the program loops onto the next byte.

LEARN MORE: How does a 128 byte 5101 RAM occupy 256 memory locations?

If you look at a pinout of the 5101 memory, you will notice it is a 128 byte device. Yet, it is addressed by the mpu via 256 memory locations ($200-$2FF). This is because the 5101 is actually a 256 nibble device - a nibble is a half-byte (4 bits). So data stored to a 5101 in a pinball machine actually only stores half of the data byte being sent to it. Which half depends on the board design - Bally and Stern use the upper nibble for storage, and Williams used the lower nibble. Stern mpu-200 boards have an additional 5101 at U13 - this stores the lower nibble in conjunction with U8 storing the upper nibble of a byte saved to $200-$2FF, allowing mpu-200 games to store more data and avoid doing some fancy processing in getting the data in and out of the non-volatile ram area.

For example, here's some pseudo-machine code for what happens: LOAD #$24 (the data you want to store is 24); STORE $231 (you want to store the data 24 at memory location $231); READ $231 (you want to read back the data you just stored). The data returned is not #$24 as expected, but rather #$2F. The lower nibble was never stored, as the 5101 memory does not store data as bytes but rather as nibbles. To store #$24 properly would require splitting the byte into its nibbles '2' and '4', storing the 2 in one memory location, doing some shifting to the 4, and storing it in another memory location.

Showing the byte as binary might be helpful to visualize what's involved. The hex #$24 in binary is %00100100 - split into nibbles is %0010 (the 2) and %0100 (the 4). The upper nibble is the one the 5101 is able to store directly, but the position in the byte of the lower nibble prevents it from being stored. A shift operation is performed 4 times on the byte to reposition the lower nibble as the upper nibble, enabling it to be stored to the 5101. (Each shift moves the binary pattern to the left one bit - here's the full sequence: Start=%00100100, shift left=%0100100x, shift left=%100100xx, shift left=%00100xxx, shift left=%0100xxxx, giving you the #$4 in the high nibble) All byte data has to be split this way to be saved, and recombined on reading from the single 5101 ram boards (bally -17 and -35, stern mpu-100). You can see why Stern added the second 5101 ram to their boards, to make programming much easier!

3.1.5 Fourth and Fifth flashes:

Next, the program tests each of the 2 6820/6821 PIA's (peripheral interface adapters) at U10 and U11, starting with U10. The PIAs are set to a known state, then data is stored and read back from them to verify their registers are functioning properly. It is important to note that it is not possible for the PIA to be 100% tested with this test as external data would have to be fed in to do so, but the test will at least test the internal registers. (So it would be possible for a PIA to pass the self-test, but still not work properly with external inputs)

Assuming the PIAs pass, the fourth (U10) and fifth (U11) LED flashes occur. (The LED itself is connected to the U11 PIA - so if the LED is locked on, U11 might be bad. It's worth letting a locked on LED board 'sit' for a minute or so to see if the game boots all the way up without flashing each test step. This is an example of how a PIA can pass self test but still be bad, as the LED control pin has no feedback as to if the LED is in fact flashing)

3.1.6 Sixth flash:

The sixth flash waits for an external input on U11 pin 40 from the display interrupt generator circuit - this occurs 300 times a second. If you're missing the sixth flash, there may be a problem with either the U12 circuit, OR the input pin on the PIA. A logic probe, oscilloscope, or a multimeter on pin 40 can help you determine which. A logic probe will pulse if the display circuit is operating, the scope will show you the signal's waveform, and the multimeter should settle on a voltage somewhat between 0-5 volts. With no sixth flash but good results from the measurement, it's a safe bet that U11 is bad and needs to be replaced.

Note that the sixth flash does NOT check for the PROPER frequency of operation of the display generation circuitry. As long as there is a pulsing signal (technically, ONE state change), the test is marked good and the program allowed to continue.

3.1.7 Seventh flash:

The last flash waits for an external input on U10 pin 18 from the zero crossing detector circuit - this occurs 120 times a second (as the AC waveform passes or "crosses" 0 volts). Diagnosis of issues with the 7th flash are similar to the 6th flash; you can measure the input to pin 18 to determine if the signal is present or not. Signal present but no flash could mean a bad U10 PIA. Signal missing usually points to missing solenoid voltage (the source of the zero crossing signal is derived from this voltage delivered from the rectifier board) or if present, an issue with the zero crossing detection circuit itself.

Note again that the seventh flash does NOT check for the PROPER frequency from the zero crossing detector, it simply checks for a pulsing signal, and it only checks for ONE transition.


After the 7th flash, the program does some background setup, reads dip switches, enables the displays, attract modes, switch scanning etc. in a 'game over' mode, waiting for player input. The LED will sometimes be dimly glowing or even pulse as this happens, which is not a cause for alarm - you can rebuild the LED circuit around Q2 if this worries you, but it is harmless.

3.2 Bally Solenoid Driver for Dummies

First off, take a look at the picture below:

http://stevekulpa.net/pinball/ballycoil1.jpg

This is a typical Bally coil from a Mata Hari machine. Notice 3 things: The two big fat yellow wires going to one lug, the small skinny wire going to the other lug, and the diode connected to the two lugs.

One lug on every coil is visited by these fat wires, in what's called a daisy-chain. This is the wire that supplies each coil with positive 43 volts DC (+43VDC). So each coil is connected to the +43VDC bus. Most have two fat wires, but some may have one. Flipper coils have these wires too, but they are connected a little differently, and are discussed elsewhere. For now, just assume we're talking about regular solenoids here.

Next, you'll notice each coil has a small skinny wire on the other lug. This wire goes to the control circuits on the solenoid/regulator board. In order to energize the coil, there must be a path to ground for the +43VDC. Normally, there is not so the coil is relaxed. When the small skinny wire gets connected to ground, the path is complete and current will flow. This current flow turns the coil into an electro-magnet and then pulls the plunger into the coil. When the wire is disconnected from ground, current flow stops, the electro-magnet is turned off, and the plunger returns to it's normal position, with help from either a spring, or gravity.

Finally, the diode. When the current is quickly turned off on an energized coil, the magnetic field around the coil collapses quickly and causes the coil to generate a huge voltage spike. The job of this diode is to prevent the majority of this spike from reaching the solenoid driver circuity. If the diode is bad, or installed backwards, you'll pop the driver transistor the first time the coil is energized, then released. It's like the ignition in older cars - when the points open, the 12 volts is removed from the car's coil quickly, which causes another coil to generate a huge voltage spike, to the spark plug. The computer program that runs the machine also tries to limit this spike by turning off the coil near the zero crossing of the line AC. This helps because the DC that drives the coils is rectified, but not filtered, so it's not smooth DC, but "humpy", like in this picture. By energizing the coils just after the zero crossing, the in-rush of current caused by a coil is limited, and by turning them off just after the zero crossing, the voltage spike caused by the collapsing field is also kept to a minimum.

So, in the simplest form, the solenoid driver circuits in your Bally look like this:

http://stevekulpa.net/pinball/bsoledraw1.jpg

Look at it as a bunch of coils all connected to the +43VDC bus, and the other lugs going to switches which are also connected to ground. Then, if you were to close a switch, that would connect the circuit from +43VDC to ground, and the coil would energize as long as the switch is closed.

http://stevekulpa.net/pinball/bsoledraw2.jpg

Now see how the circuit is complete due to the switch being closed, and the coil is energized. Then you open the switch and the coil turns off and you're back to the first picture. If the diode were not there, when you opened the switch, there's be a big arc across the switch contacts at the moment they opened up.

Finally, take this one step further and replace the manual switches with transistors. Transistors are normally used as amplifiers, but you can also use them as switches too. There are 3 leads on a transistor, the base, the emitter, and the collector. For NPN transistors like the ones on your Bally solenoid driver, you can used the emitter and collector like a switch. With no current supplied to the base, there is no current flow between the collector and emitter, so the transistor switch is open, or OFF. If you supply a current to the base, current will then flow between the collector and emitter, so now the switch is closed, or ON.

http://stevekulpa.net/pinball/bsoledraw3.jpg

Without getting into too much detail - what happens is a current is applied to the base which is high enough to 'saturate' the transistor. This means the collector-to-emitter current will be amplified as high as it can, and the transistor will then conduct a large amount of current from COLLECTOR to EMITTER, in relation to the current flow from the BASE to the EMITTER. This is how it acts like a switch. The base goes high to turn it on, and low to turn it off. Since the collector is connected to the wire that goes to the coil (the small single wire), and the emitter is connected to ground, turning the transistor as the effect of connecting the collector to ground. This completes the circuit to the coil and it fires.

You may have heard that you can test a coil by grounding the tab on the coil's driver transistor. For the TIP-102 transistors used in the Bally solenoid driver, the metal tab is connected to the collector. Knowing this, and what you've just learned, you can now see that grounding the tab is the same as grounding the collector, which will complete the circuit to ground and fire the coil. Note that this test only tests the wiring from the solenoid driver to the coil. It DOES NOT test the transistor, or any circuitry before the transistor.

So, you can now replace the transistor and "control signal" in the simplified drawing above, with the actual circuit and more details found in the following section.

--Stevekulpa 21:06, 22 April 2011 (BST)

3.3 Bally Solenoid Driver

First off, everything mentioned on this page is in reference to the Bally AS-2518-22 model solenoid driver board, found in most Bally pins from 1977 through 1985. Since it is very silmilar to the AS-2518-16 board and is identical as far as the operation of the solenoid driver circuits, you can assume it is applicable for these boards as well.

Second, if all this is Greek to you and you have no idea how Decoder ICs work, or what a Transistor is, take a look at the Bally Solenoid Driver for Dummies article above first to learn the basics of how this stuff works.

Thirdly, this model of solenoid driver board actually has three functions: The first obviously is to drive the solenoid and relay coils of your pin, the second is a 5-volt regulator which provides a nice and steady 5 VDC to the other boards for their various logic circuits, and third is the high voltage regulator (190 VDC) for the display driver boards. I won't be discussing the voltage regulator stuff here, just the solenoid driver parts.

Finally, Don't forget that the Solenoid Driver board contains the high voltage circuitry for the displays. There is 190 volts DC here and if you're not careful, you'll get knocked on your ass. A shock from 190 volts DC will hurt. If you don't know what you're doing, then keep away from it and have a professional fix it instead. In addition to high voltages, there are static sensitive parts on this board, so if you're going to work on it, be sure to properly ground yourself before touching the board, and always work in a static-free workspace.

3.3.1 Overview

We'll be discussing things from two circuit boards: The MPU board (AS-2517-17 or -35) and the Solenoid Driver board (AS-2518-22 or -16). The solenoid driver gets signals from the MPU board. These signals tell the solenoid driver which solenoid to fire. Up to 15 momentary and 4 continuous solenoids can be controlled by the solenoid driver. The flipper solenoids are enabled or disabled from the solenoid driver too, but are not controlled like the other solenoids.

3.3.2 How the Solenoid Driver Works

The solenoid driver is responsible for energizing the solenoid coils of your pinball machine. Four signals from the U11 PIA integrated circuit on the MPU board travel out from the J4 to the J4 connector on the Solenoid Driver board. These four signals tell the Solenoid Driver which solenoid to fire. This is accomplished by using a decoder chip that takes the binary pattern of the four signals (16 different patterns) and decodes (or demultiplexes) them into one of sixteen different outputs. The four signals are applied to the decoder then the decoder is strobed. Normally, all sixteen of the decoder output lines are held high (+5 vdc). When strobed, the decoder lowers one of it's sixteen output lines, depending on the pattern of the four input signals. You can learn more about the 74LS154 decoder chip from here.

Take a look at the schematic below, which shows one typical output line and the associated circuitry to drive a single solenoid coil:

With no input supplied (strobe is high), the output lines of the decoder are high (+5 vdc). This puts a voltage at the base of Q1 (this transistor is one of 7 in the CA3081 chip). This turns Q1 "on" and the voltage supplied to it's collector via resistor R1 passes through the transistor to ground. At this point, little or no voltage is present at the base of Q2, and Q2 is "off". With Q2 off, the 40 vdc at the coil has no place to go, and the coil remains deenergized.

When the MPU board supplies the proper input signals (A-B-C-D) to the decoder, and the decoder is strobed (signal drops to low), the proper output signal will go low, which turns Q1 "off" (notice one of the two strobe lines goes to ground, so it's always low). This allows the +5 vdc at Q1's collector to flow through the diode instead of Q1 on it's way to ground via resistor R3. This also puts a voltage at the base of Q2 and turns this transistor "on". When Q2 turns on, the 40 vdc at the solenoid now has a path to ground through Q1 and current flows through the coil, thereby energizing it. Then the strobe to the decoder is released, the decoder output goes high again, Q1 turns on, Q2 turns off, and everything is back to normal.

http://stevekulpa.net/pinball/b_solenoid1.jpg

Diode D1, resistor R3 and capacitor C1 work to slow the speed at which Q2 and the solenoid are able to turn off. This is important to prevent the "inductive kick" voltage that builds up when you try to turn off a solenoid quickly. A solenoid coil can build up hundreds of volts if it is switched off too quickly. For example, the spark in the sparkplug of a car is generated from this inductive kick when the ignition coil is turned off quickly. In this case, D1 allows Q2 and the solenoid to turn ON quickly (which is OK) because the current that used to be flowing through Q1 can now flow forward through D1 and turn on Q2 quickly. However, when the decoder output goes back to high and Q1 turns back on, D1 prevents the charge from the base of Q2 from being sucked down Q1. The charge on C1 must drain off (slowly) through R3 and the base of Q2. This takes awhile and slows the turn-off of Q2 and the solenoid COIL, thus reducing the kick. Also, as the solenoid turns off and the voltage on the collector of Q2 starts to rise, this voltage is "fed back" by C1 to the base of Q2 and tends to keep Q2 on a little longer, slowing the turn-off of the solenoid even more. The OTHER diode (D2, across the solenoid) works to absorb the solenoid's turn-off kick by conducting when the voltage on the collector of Q2 is greater than about 40 volts.

--Stevekulpa 21:07, 22 April 2011 (BST)

3.4 Bally 6-Digit Displays

This section will help you understand and repair your Bally 6-digit displays. The information is focused on the AS-2518-21 display. Since the AS-2518-15 display is interchangeable with the "-21" display, everything mentioned here will apply to both displays. 7-digit displays behave the same too, so this information will be helpful for those too. The only real difference is an additional digit enable signal, and some more electronics on the board to drive the 7th digit.

If you could care less how they work, but are looking for information on how to repair them, then look for the Repairing Bally Displays article below. We'll also show you some ideas on how to keep your displays working properly.

Below is a healthy Bally 6-Digit Display:

B-disp6.jpg

Examples off a Bally AS-2518-21 6-digit display, and a Bally AS-258-15 6-digit display:

B-disp15.jpg
B-disp21.jpg

You can see that the two displays are a little different in the way the components are laid out. Regardless of the differences in appearance, they both perform the same function and are interchangeable with each other The original display (at least the one mentioned in my Power Play Owner's Manual) is the "-21". The two shown here were upgraded with 1/2 watt 100K ohm resistors. A modification that you should do on all your displays too.

Here are some Stern displays that will work in place of the two above:

B-disps1.jpg
B-disps2.jpg


3.4.1 How the displays work

The way the display circuitry works is really quite interesting. Although the human eye can not detect it, at any given moment, each display is only showing one digit at a time. The program that runs on the machine's computer is changing the digits so fast that you can not tell. If you were to film the displays and play the film back in slow motion, you'd see all the displays showing the same digit, and it cycles through all six, from left to right. It just cycles so fast that your brain thinks the whole display is lit all the time.

As you can see, each display has six digits, and if you look closely, you can see that each digit consists of seven segments. This is important stuff to know in order to understand how these displays work, and most important, how to fix them cheaply!

If you study the display's schematic, you can see that there are 4 main "parts" of a display assembly: The glass display itself, and the display driver consisting of the input decoder, six digit driver circuits, and seven segment driver circuits. There is one digit driver circuit for each of the six digits, and one segment driver circuit for each segment of a digit. How the actual glass display does what it does in order to light various digits and segments is beyond the scope of this tutorial, so we'll ignore that. The decoder takes a number from 0 - 9 as input and determines which segments need to be energized in order to represent this number. The digit drivers are responsible for applying the proper voltages to the proper pins of the display to tell it which digit to light. The segment drivers are responsible for applying the proper voltage to the proper pins of the display to tell it which segments of the digit to light. It is the MPU's job to supply the proper signals to the display driver to make it do all this stuff.

The decoder is a small integrated circuit (MC14543LE) called a "BCD To Seven Segment Decoder". This decoder happens to be a "latching" decoder, which means it latches on to it's inputs and keeps them, even if they are no longer applied, until the decoder is told to release them (blanked). The decoder also has an input called a strobe. When strobed, the decoder will read it's four inputs and latch on to them. A strobe signal is usually a quick off/on/off pulse. There is also an input for the blanking signal.

BCD stands for Binary Coded Decimal and is a fancy term for storing a number from 0 - 9 in a half byte of storage (four bits). Using BDC encoding, each byte of memory can store two digits. Anyway, the input of the decoder is a BCD number from 0 - 9, and the output of the decoder is seven signals. These seven signals are either on or off, and relate to the seven segments of a digit. Each of the seven output signals go to a MPS-A42 transistor, which is part of a circuit called a segment driver. This transistor acts like a switch to turn the segments on or off. The outputs of the seven segment drivers go to the seven segment pins of the display glass. So this is how the computer tells the display driver which segments to light. The MPU has a four-signal data path that goes to all five displays (or seven for Six Million Dollar Man). These four signals provide the 4-bit input into the decoder, and remember, all four signals go to ALL of the displays. Below is a diagram of how the segments are labeled, and a truth table showing the 15 possible inputs and outputs to the decoder. For those of you that don't know about binary arithmetic, you can get 15 possible combinations of on/off with 4 digits. (e.g., "0000", "0001", "0010", ..., "0111", "1111"). This is also how you count in binary, or base-2. Remember that the display driver is only interested in 10 of the 15 possible combinations, the ones that represent the numbers 0 - 9, or "0000" - "1001". Any other input combinations will result in unpredictable outputs from the decoder, so we label these as "don't cares", since we know they will never happen under normal circumstances.

Dispchart.jpg

The digit driver circuit consists of an MPS-A42 transistor and a 2N5401 transistor connected in a circuit that acts as a switch. Normally with no input signal applied, the switch is off, keeping the high voltage supplied by the HV Regulator away from the display. There are 6 digit signals provided by the MPU, one for each digit. The MPU will enable one signal at a time, telling the display driver which digit to operate. This signal will then turn on the "switch" for the digit, allowing the high voltage a connection to the proper pins of the glass display to energize the desired digit. These signals from the MPU are simply 6 wires and the MPU will activate one of them at a time. Like the segment signals, the six digit signals go to all of the displays in a daisy chain fashion.

OK, before I explain how the computer makes all this work, let's sum up: A display driver has four inputs from the MPU. The first is a collection of six signals used to tell the display driver which digit to energize (six digits in the display, six digit signals). Only one of these signals are on at a time. The second input is a collection of four signals that tell the display driver which number to display, in the form of segments. These four signals provide a binary pattern that is interpreted as a binary number from 0 to 9. The third input is a strobe signal, which tells the decoder to read it's inputs, and the fourth signal is a blanking signal, which tells the decoder to turn off all it's outputs. Also, but not mentioned above, are various voltages from the power supply and high-voltage regulator. Each display driver is supplied with +5VDC from the 5-volt regulator on the solenoid driver board. This is used to drive the logic circuits of the decoder. There is also +190VDC* applied to the display driver from the high-voltage regulator on the solenoid board. Finally there is a connection to ground, which brings all the voltages to the proper reference point.

  • For brand new displays, this voltage should be at +190VDC in order to "burn in" the display. Once a display has become used, this voltage may be backed down to +170VDC, which will work just fine and will help prolong the life of the display.

3.4.2 How The Computer Controls The Display

OK, so now you know how the display works. The next thing to understand is how the computer in your pinball machine operates the displays. For this article, we'll refering to the AS-2518-17 Bally MPU Module, but all this also holds true for the "-35" MPU module as well. And again, I'm only refering to the Bally AS-2518-21 and AS-2518-15 Display Drivers. I've not studied the Stern style display driver, but I'd guess they behave about the same.

As mentioned above, there are four sets of signal lines that go from the MPU module to the display driver modules. The first set is the BCD data set which carry the display segment BCD data to all the displays on 4 wires. They leave the MPU module (A4) at connector J1, pins 25-28 and visit every display driver module at connector J1 and pins 16-19 (D4 - D0). The next set of signals is the digit enable signals. These 6 wires carry signals to all the display driver modules with information telling it which digit to light. The third set of signals are 5 latch strobe signals. There is one separate signal for each display driver, and it is the signal that tells the driver's decoder to read the decoder inputs, and output the proper segment signals. The final signal is a single single that goes to all the display drivers called Display Blanking. The signal tells the display driver's decoder to turn off all segment outputs, thereby blanking out the display, or turning all segments off. Below is a diagram of all the connections between the MPU module and the display driver modules that have to do what we're talking about.

B-dispdiag.jpg


Once the machine has been turned on and has booted up, the processor on the MPU module is continuously running a program that is stored in the module's ROM chip(s). This program is responsible for controlling the game by reading all the switches, lighting all the lamps, activating all the solenoids, and controlling the displays. The program keeps a lot of information in RAM and uses this information to keep track of scores, switches, etc. An interrupt is a term for a section of computer program that interrupts the "main" program in order to execute a smaller program, sometimes referred to as a "service routine". We won't get into just how this actually happens, just be aware that the main program of a computer may be interrupted at any given time. And to make things even more complicated, interrupts themselves can be interrupted by higher priority interrupt service routines. There may be several different interrupts that occur in a pinball's computer program, but the one we want to study is the one that controls the displays. Keep in mind what was mentioned above, that at any given instant, only one digit is lit on any display. This is called multiplexing.

320 times a second, or once every 3-1/4 milliseconds (thousands of a second), the CPU is interrupted to service the displays. In memory, the CPU keeps track of all the information it needs to operate all the displays. This information includes a counter used to indicate which display digit is active, the BCD data for all the displays, etc. Here's what the display service routine actually does:

Determine which digit was updated last time - The MPU looks at the digit counter and adds 1 to this value. If the new value is 7, it is changes to 1, then the new value is stored back into memory. Let's assume the new value is 4, so we're going to update the 4th digit.

Blank out all the displays - The CPU raises the signal on the Blanking Line which causes all displays to go blank (the blanking signal tells all the decoders to turn off their segment outputs).

Fetch the BCD data from memory - The BCD data for the first display, 4th digit is fetched from memory.

Send the BCD data to the display driver - This BCD data is placed on the BCD data bus and display #1 is strobed. This will cause the display's decoder to latch onto the input signals (store them for future use).

'Do it again - The previous two steps are repeated for the second, third, fourth, and fifth display.

Enable the digit - The MPU then enables the 4th digit and disables the other 5 digits by raising and lowering signals on the Digit Enable lines.

Finally, turn the digit on - The MPU lowers the signal on the Blanking Line, which causes the all of the decoders to output their proper segment signals and the 4th digit on each display is displayed.

All done! - The interrupt service routine then exits and control returns to the main program

As you can see, the display interrupt service routine only handled 1 digit for all displays. Every time it is invoked, it will process the "next" digit, resetting the counter back to 1 when necessary. The process of updating 1 digit for all displays takes about 500 microseconds, or 1/2 of a millisecond, to complete. Pretty cool, heh?

So, lets do some math. It takes 1/2 millisecond to update one digit, and since there are 6 digits, it takes 3 milliseconds to display all six digits. Since the interrupt runs 320 times a second, and it takes 6 interrupts to update the entire display, dividing 320 by 6 means that the displays are completely updated just over 54 times every second. That's fast enough to fool your eyes and brain into thinking the display is completely lit all the time. Also, since the interrupt routine takes about 1/2 millisecond to run, and it runs 320 times every second, that means about 160 milliseconds of every second of time is spent updating the displays, which is about 16 percent of the time.

--Stevekulpa 22:34, 24 April 2011 (BST)

3.5 How To Hook Up a Bally AS-2518-18 Rectifier Board

Often folks buy a new or used rectifier board and then when they get it, they realize that they have to hook it back up to the old wiring harness. If this is you, and you forgot to take notes or pictures before you removed your old board, then here you go. The photo below shows an original AS-2518-18 rectifier board connected to a factory wiring harness. As far as I know, the wire colors are the same for ALL AS-2518-18 applications.

http://stevekulpa.net/pinball/as2518-18-wiring.jpg

Key:

E1 - Red 18 AWG - Transformer Lug 5 - Primary AC Hot

E2 - Yellow 18 AWG - Transformer Lug 1 - Primary Neutral

E3 - Red 20 AWG - Transformer Lug 2 - Solenoid Bus Hot

E4 - White/Red 20 AWG - Transformer Lug 6 - Solenoid Bus Neutral

E5 - Green 20 AWG - Transformer Lug 8 - Display High Voltage Hot

E6 - White/Green 20 AWG - Transformer Lug 10 - Display High Voltage Neutral

E7 - Blue 18 AWG (2 wires) - Transformer Lug 17 - GI Bus Hot

E8 - Black 18 AWG (2 wires) - Transformer Lug 18 - GI Bus Neutral

E9 - Orange 18 AWG - Transformer Lug 13 - Controlled Lamp Bus Hot

E10 - Green 18 AWG - Transformer Lug 14 - Controlled Lamp Bus Neutral

E11 - White 20 AWG - Transformer Lug 15 - 12V Input for 5-Volt Regulator Hot

E12 - White/Black 20 AWG - Transformer Lug 16 - 12V Input for 5-Volt Regulator Neutral

AWG = American Wire Gauge (18 = fat, 20 = skinny)

"E" solder pads are labeled on the top side of the circuit board

--Stevekulpa 21:08, 22 April 2011 (BST)

4 Problems and Fixes

4.1 Power Driver Issues

This may not apply to some, as MPU might have been part of it.

4.2 MPU Issues

4.3 Power Supply Issues

4.4 Repairing and Stern Bally 6-Digit Displays

This page will help you repair your Bally 6- and 7-digit displays. The information is focused on the AS-2518-21 display. Since the AS-2518-15 display is interchangeable with the "-21" display, everything mentioned here will apply to both displays. Bally 7-digit displays (AS-2518-58) work the same way, they just contain additional components to support the additional digit. Some Stern DA-100 6-digit displays are very similar to the Bally versions, and the information here will also work for them.

First off, let's make sure your malfunctioning display is even repairable. If the glass display itself is shot, there's not much that can be done except to replace it. Here's a couple of photos of things that can go wrong with the glass display.

B-disp-d1.jpg
Burn spots on the digit segments - You can't fix these but you can live with them


B-disp-n1.jpg
Broken glass nipple - This display glass is ruined


Then there's the circuit board. Most if not all of the components can be replaced without much effort, but if there is damage to the circuit board itself, it may be impossible, or unreliable to repair.

B-disp-b1.jpg
Burn marks on the driver board


B-disp-b2.jpg
Underneath - The traces are a mess


So we're assuming you have displays that do not fall into the categories above. If your problem is with the digits not being displayed properly, and it's NOT the MPU's fault, then it can be fixed, and fairly easily too!

FIRST THING - Before you go any further, there are two things you should do to ALL your displays, even if they seem to be working fine. First, reflow the solder on the joints for the header pins. On the bottom side of the circuit board, just heat each header pin solder joint with your soldering iron, then add a little fresh solder. Be careful not to create any solder bridges between adjoining pins, unless there is already one there. Next, replace the six 100K ohm 1/4 watt resistors with 1/2 watters. They are the ones with the color code brown-black-yellow, and are labeled R1, R3, R5, R7, R9 and R11. You'll find seven of them, but only the ones I just listed need to be replaced. For 7-digit displays there will be eight of them, so replace R56 too, along with the six I just mentioned. 1/4 watt is just too small for their circuits and often they are overheated which causes them to change their resistance. On the photo of the burnt circuit board up above, the area that was burnt was under 3 of these resistors.

SECOND THING - Connectors, connectors, connectors! There are lots of signals going from the MPU to each display driver, and if these signals are not making it due to bad wiring or connectors, then your displays will misbehave. Check all the display driver connectors for loose or broken wires, burnt pins, busted connectors, and replace or repair anything that looks bad. Remember that some of the signals are daisy-chained from display to display, and a bad connection at one display can effect the others "downstream". Then check the J2 connector on the MPU, since this is where all the signals come from. Next check the J3 connector on the solenoid driver board. There's a high voltage regulator used by the displays on this board, and J3 is where it gets the 230 VDC from the power supply (pins 6 & 3) and feeds the regulated 190 VDC to the displays (pin 8). Finally, check the J3 connector on the rectifier board, since this is where the high voltage comes from. Connectors are always a big pain!

B-disp-hp1.jpg
Header pin solder joints - Notice the cracks around the last two pins on the right


B-disp-hp2.jpg
Header pin solder joints after being re-soldered - No cracks


B-disp-r1.jpg
Can you find the six 100K ohm resistors (brown-black-yellow)


B-disp-r2.jpg
Here they've been replaced them with 1/2 watt resistors of the same value (100K ohms)


Now we'll look at come common problems and briefly describe the cause, but I assume you've already replaced or checked the 100K Ohm resistors and re-soldered the header pins:

4.4.1 All displays are blank

Most likely cause of all blank displays is a lack of high voltage. First off, check F2 on the rectifier board. It's a 3/4 Amp slow blow fuse and it's test point on the rectifier board is TP2. You should read 230 VDC at this test point. If it's OK, then check the fuse on the solenoid driver board. The high voltage regulator's output is fused and if this fuse is blown then there's probably a short somewhere on one of your displays or the wiring harness. The high voltage regulator fuse is a 3/16 Amp, but it's a bit smaller (8AG) than a standard fuse, and a hard one to find. If the fuse is not blown, then the next thing to do is verify that at least 170 VDC is making it from the regulator to the displays. Check TP2 on the solenoid driver board. It should read between 170 and 190 VDC. If it does, then the regulator is working. While you're there, if your display glasses are not new, use the small trimmer pot on near the fuse and adjust the high voltage to be 170 VDC. Older displays work just fine on 170 VDC and it's less stressful.

Next thing to check is to be sure that the 170 volts is making it to the displays. Check connector pin J3-8 on the solenoid driver board, that's where the 170 VDC leaves. Check for a good connector, and check the solder joint on the header pin. The high voltage hits all of the displays at connector J1-1 and is daisy-chained from display to display. Check these connectors and the header pins too.

Note - If there is any light at all on the display, then it is probably repairable. Some type of Bally display glasses will have some light on them, besides the digits. If there is light anywhere on the display, then the glass is most likely OK and your problems are elsewhere.

   REMEMBER - 170 VDC WILL HURT!
   TURN YOUR MACHINE OFF IF YOU'RE GOING TO MESS WITH IT BEYOND MEASURING VOLTAGES

If you have 170 VDC at all of the displays, and the decoder is still working, but the displays are still blank, then there is probably a problem on the MPU or the MPU connectors, such as a "stuck-on" blanking signal, etc.

4.4.2 A single display is blank

If you have one display that is blank, it could be the same problems as mentioned above (lack of 170VDC), something wrong on the circuit board, or something with the glass display itself. If you see any light glowing at all on the display, then the glass is most likely good and your problem is elsewhere.


The main cause of a single display being blank is a bad glass. If the glass is good, then your problem is most likely a bad 4543 decoder IC. The decoder on the display driver board is used to decode the digit data from the MPU into signals that light the proper displays. If the decoder is blown, then this could cause the display to be blank. A quick check with a logic probe will help you decide if the decoder is function properly.

Sometimes the solder joints on the display glass needs are cracked and need to be reflowed. Depending on which solder joints are bad, this could cause the display to be blank.

If you can verify there is 170VDc, and the decoder is working, then it may be just a bad display. If there is some light anywhere, then it's probably good. If not, it may or may not be good. A totally blank display is the hardest thing to fix. If everything looks good, but the display is completely blank, then you may just have to chalk it up as a bad display glass. Unfortunately they can not be repaired.

4.4.3 All displays are missing the same digit

If all the displays have the same digit out, then the problem is most likely caused by a bad connector at the MPU. The MPU daisy-chains the digit enable signal to all the displays, and if the same digit is out on all, then it's either an amazing thing that they all have a problem w/ the same digit, or the digit enable signal is not present. Check the connectors on the MPU and all of the displays. If all seem well, then one-by-one, disconnect each display and see if the problem goes away. If it does, then there's a short or a bad connector problem on the board you just removed. Be sure to turn the power off between swap-outs, and wait 10 seconds for the high voltage filter capacitor to discharge before you remove any connectors.

4.4.4 One display is missing the same segments on all the digits

Each display has it's own decoder chip, which takes four inputs from the MPU and outputs seven signals to light the seven segments of a digit. If you're having problems with one or more segments on all the digits, then it's either the segment driver transistor or the decoder itself. I'm sure there's a way to test the transistor but I just go ahead and install a new one. If that doesn't fix it, then replacing the decoder will. I've not had a segment problem that was not fixed by replacing both segment drivers and decoders (other than MPU problems). Be sure to orient the transistor and/or IC in the proper position. You'll notice a flat side on the transistor and a small notch on one end of the decoder IC. Be sure they line up just like the one you removed, and that the wires of the transistor go into the same holes that the old one came out of. Also, if you're replacing the IC, use a socket, so it'll be easier to replace it next time. Here's a handy chart that shows which segment driver transistor drives which segment, and another diagram of how the segments are labeled. Just find the segment that's giving you trouble on the chart, then look up it's corresponding driver transistor. Then find this transistor on the circuit board and replace it.

B-decoder-chart.jpg

4.4.5 One digit is out on one of the displays

If you have a single digit out, then it's probably the the level shifter and digit driver transistors for that digit. Just to be sure, check the connector on the display at pins J1-4 through J1-9. These are the connectors that supply the digit-enable signals from the MPU. Your problem may be that the display driver is not getting the enable signal from the MPU. If it is, then just replace the two transistors and you should be back in business. Here's a handy chart that shows you which level shifter and digit driver are associated with each digit. You'll find the transistor labels printed on the circuit board, or look at the diagram below. Just look at this chart, find the digit that's blank, and then locate the two transistors listed for that digit. Find them on the circuit board and replace them.

B-digit-chart.jpg

4.4.6 One digit is very bright, and the rest are out

If you have one digit that's very bright and all the rest are out, simply replace the digit driver and level shifter transistors for that digit. Turns out sometimes a short transistor will draw so much current that there's not enough left to drive the remaining digits, and so they all go blank. Just use the chart above to determine which transistors to replace.

4.4.7 Display(s) flicker

This is almost always caused by broken solder joints on the header pins. If you already re-flowed the solder, double check them, then look for other broken solder joints and check all connectors for tight fits. Something is loose that's making them flicker.

Another cause of flickering or strobing digits is a faulty decoder IC. If your digits are flickering or "wavy", try replacing the decoder IC.

4.4.8 Conclusion

That covers the most popular problems. I hope it covers yours. If you don't have the manual for your pinball machine, click on any of the thumbnails below for a large picture of the component layout of the all three boards. The 100K Ohm resistors are the ones colored brown-black-yellow.


4.4.9 Display types

Here are the 3 types of Bally displays:

B-disp6-21.jpg
AS-2518-21 6-Digit Display


B-disp6-15.jpg
AS-2518-15 6-Digit Display


AS-2518-58 7-Digit Display

--Stevekulpa 00:13, 25 April 2011 (BST)

4.5 Rebuilding Flippers

5 Game Specific Problems and Fixes


5.1 Solenoid expander board

There is a 555 bulb near (or sometimes not so near) that lights when the solenoid expander is activated. This bulb is essential for proper operation of the expander as the main opto isolator chip on the expander board needs a load to work; if you're having entire sets of solenoids not working, check this bulb.

The header pins on this board like to crack, also, so standard operating procedure should be to replace or at minimum resolder the headers, and re-pin the connector with Trifucon connectors.

Also, it's very important that all solenoids on the expanded circuits have *TWO* diodes on them! If you or someone in the past replaced the coils with one that one had one, multiple solenoids will activate on any solenoid expanded solenoid, causing a memory drop to activate when it shouldn't, or a target bank reset when a saucer ejects.


5.2 Stern SB-300 sound board modification for VSU-100 usage

Games with a VSU-100 speech card require a modified SB-300 to utilize the speech. First, see if your SB-300 already has a trace for this connection by checking continuity between pin 5 of the rightmost connector at the bottom and the top of capacitor C14. If you read continuity, you do not need to do this mod. Add a jumper wire on the back of the SB-300 between pin 5 of the rightmost connector Media:sb300sig3.jpg and the top of capacitor C14 Media:sb300sig2.jpg. Here is an overall picture of the entire jumper for reference: Media:sb300sign1.jpg


6 Repair Logs

Did you do a repair? Log it here as a possible solution for others.