by Aaron Giles and Frank Palazzolo
What is a slapstic?
The slapstic was a security chip made by Atari, which was used for bank switching and security in several coin-operated video games from 1984 through 1990.
What is a SLOOP?
The SLOOP (or "SLOOPstic") is a follow-on chip to the slapstic. It provides a similar type of security, but is programmed onto a GAL6001, rather than a custom part. It was created because Atari was running out of slapstics to use in their games, and the original masks for the slapstic had been lost by the company that manufactured them. A separate FAQ for this chip is planned for the future.
How do I identify a slapstic chip on my board?
Look for a small, socketed 20-pin DIP on the board. The number on the chip will be 137412-1xx.
Are slapstic chips interchangeable?
Sadly, no. They were designed to prevent operators from burning new EPROMs and "upgrading" their PCBs to a new game without buying the necessary kits from Atari. For example, the five System 1 games each used a different slapstic, so that you couldn't take, say, a Marble Madness machine, burn new EPROMs, and convert it into an Indiana Jones.
That said, however, there are two pairs of the slapstics that appear to be functionally identical, despite the fact that they have different part numbers:
137412-103 (Marble Madness) appears to be functionally identical to 137412-110 (Road Blasters & APB)
137412-106 (Gauntlet II) appears to be functionally identical to 137412-109 (Championship Sprint & Road Blasters)
Note, however, that I have not tried these swaps to confirm that they work. Your mileage may vary.
How many different slapstics are there?
All told, a total of 16 actual slapstics have been found. However, there are gaps in the numbering which indicate that more may exist.
Do all slapstics work the same?
In general, yes. However, matters are complicated by the existence of multiple revisions of the chip design:
SLAPSTIC Part #137412-101 through 137412-110 SLAPSTIC-2 Part #137412-111 through 137412-118
In the simplest case, both revs act the same. However, they differ in how the more complex modes of operation are used.
How is the slapstic connected to the game?
The slapstic generally sits between the CPU's address bus and one of the program ROMs. Here's a pinout:
A9 1 +-v-+ 20 A8 A10 2 | | 19 A7 A11 3 | | 18 A6 A12 4 | | 17 A5 A13 5 | | 16 A4 /CS 6 | | 15 A3 CLK 7 | | 14 A2 VCC 8 | | 13 A1 BS1 9 | | 12 A0 BS0 10 +---+ 11 GND
A0-A13 are the address lines from the CPU. CLK and /CS together trigger a state change. BS0 and BS1 are the bank select outputs, which usually connect to the protected program ROM in place of two address lines (traditionally A12 and A13).
Most slapstics were used on 68000 or T-11 based games, which had a 16-bit address bus. This meant that A0-A13 on the slapstic were generally connected to A1-A14 on the CPU. However, two 8-bit games (Tetris and Empire Strikes Back) used the slapstic as well. This slapstic (#101) has a slightly different pinout, though it operates similarly to the others in its class.
A8 1 +-v-+ 20 A7 A9 2 | | 19 A6 A10 3 | | 18 A5 A11 4 | | 17 A4 A12 5 | | 16 A3 /CS 6 | | 15 A2 CLK 7 | | 14 A1 VCC 8 | | 13 A0 /BS1 9 | | 12 GND BS1 10 +---+ 11 BS0
Which games used slapstics?
|137412-101||Empire Strikes Back|
|137412-105||Indiana Jones & the Temple of Doom|
|137412-109||Road Blasters (some versions)|
|137412-112||??? (found in Europe)|
|137412-113||Pit Fighter (found in Europe)|
|137412-115||Race Drivin' DSK board|
|137412-116||Tournament Cyberball 2072|
|137412-117||Race Drivin' main board|
|137412-118||Vindicators Part II|
How does the slapstic work?
On power-up, the slapstic starts by pointing to bank 0 or bank 3. After that, certain sequences of addresses will trigger a bankswitch. Each sequence begins with an access to location $0000, followed by one or more special addresses.
Each slapstic has a 'simple' mode of bankswitching, consisting of an access to $0000 followed by an access to one of four bank addresses. Other accesses are allowed in between these two accesses without affecting the outcome.
Additionally, each slapstic has a trickier variant of the bankswitching, which requires an access to $0000, followed by accesses to two specific addresses, followed by one of four alternate bank addresses. All three accesses following the $0000 must occur in sequence with no interruptions, or else the sequence is invalidated.
Finally, each slapstic has a mechanism for modifying the value of the current bank. Earlier chips (101-110) allowed you to twiddle the specific bits of the bank number, clearing or setting bits 0 and 1 independently. Later chips (111-118) provided a mechanism of adding 1, 2, or 3 to the number of the current bank.
Surprisingly, the slapstic appears to have used DRAM cells to store the current bank. After 5 or 6 seconds without a clock, the chip reverts to the default bank, with the chip reset (bank select addresses are enabled). Typically, the slapstic region is accessed often enough to cause a problem.
For full details, see the MAME source code.