Bally game #1152-E, June 1979, IPDB 1386. Four-player, solid-state, 17,000 units, design by
Jim Patla with art by Kevin O'Connor. The second Bally MPU AS-2518-35 machine in this project and
the second to use controllers/pinmame/by35.json.
Kiss is a five-column game: 40 switches, published as sequential positions 1-40 rather than in
column-times-ten notation. The schematic-omissions supplement reproduces the MPU J2 switch-strobe
block and shows only ST0 to ST4 on pins 1 to 5, so addresses 41-48 are never scanned. Public switch
16 does exist (it is Slam) - it is the solenoid address 16 that does not, because on this platform
the public momentary solenoid is the PIA1:B selector plus one and selector 15 is the idle state.
That five-column layout has a consequence worth carrying to every other BY35 game. A six-column
machine has to find a sixth column strobe somewhere, and it takes one of the four continuous
solenoid outputs to do it - on Centaur that is public 17, which is a strobe rather than a coil. Kiss
needs no sixth strobe, so public 17 is free, and Kiss spends it on a real playfield device: the
right outlane detour gate. The same address is a strobe on one BY35 game and a coil on another.
Never assume either without checking the column count first.
Kiss's fourth continuous output, public 20, is genuinely unused. The printed table accounts for only
three continuous devices and the retained trace shows public 20 asserted only during the power-on
pulse that briefly drives all four continuous lines, never once during a game.
The solenoid mapping came from the ROM, not the manual
The manual prints a "Self Test #" column, and it is a test order, not a controller address. The
manual says so itself: its troubleshooting section instructs the operator to press the self-test
switch three times, and states that a number is flashed on the player score displays as each
solenoid is pulsed. Booting the ROM in the LibPinMAME harness, stepping into that test and pairing
each pulsed public address with the displayed number gives the mapping directly, and it repeated
identically across five complete cycles.
| Self Test # |
printed name |
public |
| 01 |
Outhole Kicker |
7 |
| 02 |
Knocker |
6 |
| 03 |
Drop Target Reset |
14 |
| 04 |
Left Thumper Bumper |
9 |
| 05 |
Right Thumper Bumper |
10 |
| 06 |
Bottom Thumper Bumper |
11 |
| 07 |
Top Thumper Bumper |
8 |
| 08 |
Left Slingshot |
12 |
| 09 |
Right Slingshot |
13 |
| 10 |
Right Bottom Gate |
17 |
| 11 |
Coin Lockout Door |
18 |
| 12 |
K1 Relay (Flipper Enable) |
19 |
The second retained script confirms four of these independently, binding public 6 to the knocker,
public 7 to the trough release, public 14 to the drop-target reset and public 17 to the diverter
gate.
Comparing this with Centaur establishes something that generalises: the public solenoid address is
the physical driver-board position, and it is stable across BY35 machines. The outhole kicker is
public 7 and the knocker public 6 on both games, and both put their thumper bumpers on 9, 10 and 11.
What differs between the two games is the printed test order, not the address.
Lamps: sixty on the main board, twelve on the auxiliary
The public lamp address decomposes as 16 * k + lampadr + 1, where k is the lamp data line PD0-PD3
and lampadr is the latched address, plus 64 on the auxiliary board. That follows algebraically from
by35_lampStrobe, and lampadr 15 is skipped, so 16, 32, 48 and 64 are unreachable decoder slots
rather than unused lamps.
The rest of the chain is board wiring: on the AS-2518-23 the decoder output drives one of sixty
SCRs, and the SCR reaches the output connectors. An SCR does not reach exactly one pin. The
board fans several of them out to more than one connector branch, and which branch a game's harness
actually plugs is game-specific, so the endpoint has to be read from this game's lamp driver
schematic. Reusing another machine's traced endpoint list silently drops whichever branch that
machine did not use - an error this record made and had to correct. Kiss's own schematic on manual
page 51 and its plug-connector sheet on page 52 are the authority here. The result splits as:
- 46 playfield-only addresses.
- 7 addresses that light both a backglass socket and a playfield insert. Public 15, 30, 31, 46,
47, 62 and 63 sit on A5J2, which the schematic marks TO BACKBOX, but Table B on the connector
sheet routes each of them onward through the panel-to-back-cab plug to a playfield insert as well.
Only the playfield insert has a coordinate; the backglass socket does not.
- 18 back box-only addresses, being six on A5J2 - Shoot Again, Ball In Play, Match, Game Over,
High Score To Date and Tilt - plus the twelve auxiliary circuits.
- 1 unused. A5J2-16 is marked N/U, so public 14 drives nothing.
- 4 unpopulated auxiliary positions.
That makes 53 addresses feeding playfield lamps, and the retained community table models exactly 53
lamp objects. That exact agreement is the check that the derivation is right rather than merely
self-consistent, and it is what exposed the fan-out error: an earlier pass read only one endpoint
per SCR, arrived at 45, and had to explain away the eight-lamp difference. The difference was real.
Public 43 is the clearest case. Its SCR Q40 reaches both A5J2-9, which is marked N/U, and A5J3-22,
which reads "SAME PLAYER SHOOTS AGAIN" on the block labelled TO PLAYFIELD. Only the J2 branch is
unused. A first pass called the whole address unused and dismissed the table's lamp as invented; the
table was right and the derivation was wrong.
The geometry is what makes the mapping trustworthy. Every colour family lands in its own clean
vertical column, and reading them left to right spells the title:
| column x |
addresses |
family |
| 0.289 |
5, 21, 37, 53 |
Red / White / Yellow / Green Arrow |
| 0.360 |
1, 2, 3, 4, 6 |
"K" letters and the K Amber Arrow |
| 0.422 |
17, 18, 19, 20, 22 |
"I" |
| 0.484 |
33, 34, 35, 36, 38 |
"S" (Left) |
| 0.546 |
49, 50, 51, 52, 54 |
"S" (Right) |
| 0.617 |
7, 23, 39, 55 |
Red / White / Yellow / Green Kiss Amber Arrow |
The four top rollover switches run in the same order - 24 "K", 23 "I", 22 inner "S", 21 outer "S",
left to right across the top of the playfield.
The auxiliary board exists only for the backglass
Kiss carries an Auxiliary Lamp Driver A9 (AS-2518-43); the parts list names it among the modules and
MPU A4 J1-8 runs to A9J1-3. What is worth understanding is why, because the main A5 board still
has a spare circuit - the machine did not run out of lamp drivers.
It is there for the backglass animation. IPDB lists among the machine's notable features
"Backglass light animation (letters in K-I-S-S light up when scored, animate during Game Over)", and
the twelve auxiliary circuits are exactly those letters: three circuits per letter, K on public 65,
66 and 67, I on 81, 82 and 83, the left S on 97, 98 and 99 and the right S on 113, 114 and 115. A
boot-and-play harness run shows precisely that structure - the twelve switch in four groups of three
while the four unpopulated positions latch on early and never change again.
Every one of the twelve is a back box lamp, so none of them carries a playfield coordinate.
The wiring is primary evidence and the functions are not, and the record says so. Decoder half to
SCR to A9J2 pin is read from the AS-2518-43 schematic, which is generic Bally hardware; each data
line enables one decoder half (PD0 to U2A, PD1 to U2B, PD2 to U3A, PD3 to U3B), the two latched
address bits pick Q0, Q1 or Q2, and Q3 is marked N/U on all four halves, which is why latched
address 3 - public 68, 84, 100 and 116 - reaches no bulb at all. The function printed against each
A9J2 pin comes from the Bally Kiss lamp chart as transcribed on PinWiki, which is a secondary source
and is not in the manual scan retained here. It is trusted for those twelve functions on three
grounds: its own SCR-to-pin column reproduces the primary schematic exactly on all twelve circuits,
which authenticates the transcription; the runtime trace groups the circuits exactly as the chart
implies; and IPDB independently describes the effect. Each affected device note discloses this.
Mechanisms
Nothing here is exotic. Four thumper bumpers in a diamond, two slingshots, two rollunder spinners,
one four-bank drop target on the left with a single shared reset coil and no individual down coils,
eight standup targets, a single-ball outhole with its kicker, and the right outlane detour gate on a
continuous output. IPDB's feature list matches the enumerated devices exactly: flippers (2), pop
bumpers (4), slingshots (2), standup targets (8), spinning targets (2), 4-bank drop targets (1) and
the right outlane detour gate.
Two pairings are hardware rather than software, and the printed switch table says so directly:
"slingshot and thumper bumper coils will energize when switch is made". A recreation should fire
those six coils from their own switches rather than waiting for the ROM.
Switch 25 is printed "Drop Target and 2 Rebs." and carries three parallel contacts; the retained
table models three separate rebound sensors, so all three are placed.
The flipper buttons are not in the switch matrix at all. On this generation they are wired directly
through the K1 flipper-enable relay, which is public 19, so there is no flipper button address to
enumerate. PinMAME still publishes its generic flipper column at 81-88; those are emulator mirrors
with no physical contact behind them.
Variants
Six drivers, one physical machine. kiss is the 1979 production ROM and the reference for this
definition. kissb and kisse are Bally/Oliver seven-digit display conversions from 2004 and 2022,
kissc and kissd are 2008 free-play conversions - kissd divides scoring by ten to fit six
digits - and kissf is a further revision. All run on the same physical machine.
Only kiss declares lampCol = 8, so it is the only driver through which PinMAME publishes the
auxiliary lamp addresses. That is an emulator-side modelling choice, not a hardware difference: the
A9 board is fitted to every Kiss, and the backglass letters animate on all of them. A recreation
running one of the later conversions still needs to drive those letters; it simply will not receive
them from the emulator on those drivers.
Note that the retained table runs kisse, so its lamp bindings cover the main board only. That is
why the auxiliary identities here come from the schematic and the lamp chart rather than from the
table.
Prototypes are out of scope
IPDB records two prototype lines that are not this machine and must not be folded into it: a
one-off talking Kiss built in a fiberglass cabinet for the 1979 AMOA show as a response to Williams'
Gorgar, and about eleven "Intel based, New Technology" prototypes with blue vacuum-fluorescent
displays, no speech and a completely different three-board architecture. PinMAME's kissp and
kissp2 are the Intel prototypes, not the talking one: they live in kissproto.c on an Intel
8035 and are marked GAME_NOT_WORKING. The AMOA speech machine used the standard production board
set in a one-off fiberglass cabinet and has no driver of its own. Neither line is this machine.