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:

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.

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.