REV E.6 · DIY BENCH TESTER

SQUEAK CHECK!

Cheap Squeak Deluxe · Sounds Good · Turbo Cheap Squeak

By Ethical Paul

Squeak Check lets you power up a Midway Cheap Squeak Deluxe or Sounds Good arcade sound board on the bench and make it play any sound, without the game's CPU board, harness or cabinet.

Squeak Check Rev E.6, top side: hex dial, PLAY and RESET buttons, volume pot, fuses and rail LEDs, RCA jacks and three rows of harness solder holes, shown with green solder mask
Rev E.6, top side, rendered from the fab files with green solder mask and white silkscreen. 98 × 80 mm.

What it is

Squeak Check stands in for the game. It supplies +5 V and +12 V, drives the four sound-select lines and the strobe the game's CPU board would drive, holds or releases RESET, gives the board its volume pot, and brings the audio out to two RCA jacks for an amp.

Each harness wire passes through two holes. It goes up through a bare hole with its insulation on, then the stripped end solders into the plated hole next to it. The wire is held by its jacket, so bending it doesn't stress the solder joint.

Squeak Check bottom side: ground pour and a few back-side traces
Bottom side: the ground pour and the few back-side traces.

How the sound board works in a game

The Cheap Squeak Deluxe and Sounds Good are computers in their own right. The game's CPU board puts a 4-bit number on J1 and pulses a strobe line, and the sound board's own 68000 plays whatever that number means in its ROMs. Some games also have other sound hardware alongside it; in Spy Hunter the Super Sound I/O board makes the effects (see below).

The game sends a 4-bit number; the sound board does the restColoured lines: what Squeak Check stands in for on the benchSound boardCheap Squeak Deluxe or Sounds Good6821 PIAlatches nibble, interrupts CPU68000 CPU + sound ROMsplays the samples and musicAD7533 10-bit DAC8 bits from PIA port A, 2 from BLM359 low-pass filterssmooth the DAC stepsMC3340 attenuatorpot voltage sets the volumeLM359 output stageline-level audio outGame CPU board4 data bits + SIRQ strobereads STAT0 / STAT1 backSqueak Check: dial + PLAYPower supply+5 V, +12 V and RESETSqueak Check: PWR1 + RESETCabinet volume potSqueak Check: RV1Power amp + speakersSqueak Check: RCA jacksJ1J2J3J3
Signal path through a Cheap Squeak Deluxe / Sounds Good board.

The chain is the same on the Cheap Squeak Deluxe and the Sounds Good; MAME's source notes the two boards are almost identical.

A short history of Midway's sound boards

Midway's early MCR video games (1981–84) put sound on a board that also handled the game's inputs and outputs, hence the names Sound I/O and Super Sound I/O (SSIO). Each had a Z80 driving two AY-3-8910 tone chips, and they carried Kick, Solar Fox, Tron, Journey and Tapper. For speech, Midway borrowed Bally's pinball Squawk & Talk board (6802 CPU plus a TMS5200 speech chip) for Discs of Tron and NFL Football.

From 1983 the sound boards got their own microprocessors and DACs and were built to take 4-bit commands from the game. The pinball Cheap Squeak (a 6803, simple tones, no speech) was the budget board. Its 68000-based video-game cousin, the Cheap Squeak Deluxe, went into Spy Hunter. The 6809 Turbo Cheap Squeak and the 68000 Sounds Good followed, and the Sounds Good built on the CSD's design and carried most of Midway's late MCR and MCR-68k games. After WMS bought Midway in 1988, games like Arch Rivals and Pigskin 621AD moved to Williams sound boards instead.

BoardYearsCPURepresentative games
Sound I/O1981Z80 + 2× AY-3-8910Kick, Solar Fox
Super Sound I/O (SSIO)1981–84Z80 + 2× AY-3-8910Satan's Hollow, Tron, Journey, Tapper, Spy Hunter (effects)
Squawk & Talk1981–856802/6808 + TMS5200 speechPinball: Flash Gordon, Eight Ball Deluxe, Mr. & Mrs. Pac-Man. Video: Discs of Tron, NFL Football
Cheap Squeak (pinball)1984–866803X's & O's, Kings of Steel, Black Pyramid, Spy Hunter pinball, Lady Luck
Cheap Squeak Deluxe1983–8568000Spy Hunter (music), Turbo Tag (prototype)
Turbo Cheap Squeak1984–876809Video: Demolition Derby, Sarge, Max RPM, Spy Hunter II. Pinball: Black Belt, Strange Science, City Slicker
Sounds Deluxe (pinball)1986–8768000Motordome, Special Force, Heavy Metal Meltdown, Dungeons & Dragons
Sounds Good1986–8868000Rampage, Power Drive, Star Guards, Xenophobe, Spy Hunter II, Blasted

Years are the release years of the games listed in MAME and PinWiki, not official production dates.

Spy Hunter & Xenophobe

Spy Hunter (1983): an add-on to the Super Sound I/O

Spy Hunter runs on Midway's MCR-III system: a Z80 CPU board, a video board, and a Super Sound I/O board with a Z80 and two AY-3-8910 sound chips (the sit-down cabinet uses a Sound I/O variant with stereo panning). The SSIO makes all the game-play sounds: everything except the music.

The Cheap Squeak Deluxe (A080-91671) was added for one job: playing the Peter Gunn theme. Owners with a dead CSD report a game that plays normally with every effect but no music, and pressing the red TEST button on a working CSD plays the music on its own. The music has its own amplifier channel in the cabinet. The CSD has its own 68000, 32 KB of sound ROM (U7, U8, U17, U18) and a 16 MHz oscillator.

The main Z80 talks to it through output port 4. In MAME's driver, bits 0–3 of that port are the CSD's sound number and bit 4 is SIRQ. The same port also drives the lamp driver board and the analog-input mux, so the CSD shares its wires with other hardware. The CSD's two status bits come back on input port 1.

Xenophobe (1987): the only sound board in the game

Xenophobe runs on the MCR-68k system, whose main CPU is itself a 68000. There is no SSIO and no second sound board: the Sounds Good makes every sound in the game. MAME's Xenophobe driver has the Sounds Good as its only sound device, and owners with a failed Sounds Good report a completely silent game.

The Sounds Good is built on the same A080-91671 bare board as the Cheap Squeak Deluxe, with a larger memory map: up to 256 KB of sound ROM, which Xenophobe fills. The main 68000 writes a control word where bits 0–3 are the sound number and bit 4 is the strobe, the same four-bits-plus-strobe interface Spy Hunter uses.

One wiring difference matters on the bench. The CSD runs SIRQ through a 40106 inverter before the PIA and the Sounds Good does not, but both boards idle SIRQ high and both games fire it by pulling it low. So one tester, with PLAY pulling SIRQ to ground, works for both.

The interface: J1, J2 and J3

The three harnesses on Squeak Check carry every pin of the sound board's J1, J2 and J3 in the same order and under the same names, including duplicates and unused pins, so each wire lands where the original harness had it.

Conn.PinNameWhat Squeak Check does with it
J1 · commands · 0.100 in · 22 AWG
J11SPARENot connected
J12SIRQ1k series; 10k pull-up to +5 V; PLAY pulls it low, 1 µF debounce
J13, 4, 8, 9SOUND1, SOUND0, SOUND3, SOUND21k series, 10k pull-down; the hex dial pulls each bit to +5 V
J15, 6STAT1, STAT0Wire terminals only (outputs from the sound board)
J17KEYKeyed position, no wire
J2 · power and reset · 0.156 in · 18 AWG
J21, 2 / 11, 12AGND / LGNDGround
J23, 4+5VFrom PWR1
J25, 6+12VFrom PWR1
J27E-GNDTied to ground
J28KEYKeyed position, no wire
J29, 10RESET10k pull-up to +5 V; the RESET button pulls it low
J3 · audio and volume · 0.100 in · 22 AWG
J31VOL_WIPERVolume pot wiper
J310, 12VOL_END_A, VOL_END_BVolume pot ends (J3-12 is +12 V through 2.7k on the sound board)
J32, 3AUDIO_L, AUDIO_RTo the white and red RCA jacks
J34, 5, 8, 11AGNDGround
J36, 7AUDIO6, AUDIO7Wire terminals only
J39KEYKeyed position, no wire

The volume pot is wired so clockwise is louder. The MC3340 attenuates more as its control voltage rises, so turning toward the +12 V end (J3-12) turns the sound down. A full pin-by-pin list with hole coordinates is in Harness_Pin_Map.csv.

Hooking up a Cheap Squeak Deluxe

J1 and J3 sit side by side on the bottom edge of the board and J2 runs along the top edge, so the three harness plugs go on from opposite sides. The Sounds Good uses the same bare board, so the connectors are in the same places.

Where the harness plugs in on a Cheap Squeak DeluxeComponent side, redrawn from the A080-91671 assembly drawing in the Spy Hunter manualA080-91671U5U16U6U17U7U18U8U9J2 · power and reset12 pins, 0.156 in; pin 1 at the right-hand endSW1 · red TEST button68000 level-7 interrupt; the ROMs decide what it doesU5 · 68000 CPUruns the sound program, 16 MHz oscillatorU7, U8, U17, U18 · sound ROMsU6 and U16 are 2K × 8 RAMs (6116 or 2016)U9 · 6821 PIAlatches the 4-bit command from J1U10 · AD7533 DACJ3 · audio and volume12 pins, 0.100 in; pin 1 at the left-hand endJ1 · commands9 pins, 0.100 in; pin 1 at the left-hand endLED1 · self-test LEDsix flashes after power-up = ROMs, RAM and PIA passedDots mark pin 1. Highlighted: the three harness connectors.
Cheap Squeak Deluxe (A080-91671), component side: J1, J2, J3 and the parts named on this page.

The board has no connector housings, just rows of bare tinned square posts: 0.025 in posts on 0.100 in pitch for J1 and J3, and 0.045 in posts on 0.156 in pitch for J2. Midway's harnesses plug onto them with insulation-displacement (IDC) connectors; TE's MTA-100 and MTA-156 families fit these posts. Each plug has one keyed position so it can't go on shifted: J1 pin 7, J2 pin 8 and J3 pin 9.

Using it

Power up and count the sound board's LED flashes first; only a board that passes its self-test is worth dialing sounds on.

  1. Plug J1, J2 and J3 onto the sound board, connect the RCA jacks to an amp, and turn the volume knob fully counter-clockwise.
  2. Apply power. Both green rail LEDs on Squeak Check should light; if one stays dark, check the supply or let a tripped fuse cool. Then watch the sound board: its LED flashes once per passed test: flashes 1–4 are the ROMs (U7, U8, U17, U18), 5 is RAM (U6, U16) and 6 is the PIA (U9). Where it stops is the failed step.
  3. Dial a sound 0–F and press PLAY. Turn the volume up.
  4. Press RESET to restart the sound board at any time. It holds RESET low only while pressed.

One press sends the 4-bit number on the dial. What each number does lives in the game's sound ROMs and isn't documented in MAME, so expect some exploring. On a Spy Hunter Cheap Squeak Deluxe only the two low bits matter: 1 plays the full Peter Gunn theme, 2 the short intro and 3 the ending that plays when the player dies. Send the ending while the theme is playing. Other games' ROMs may expect a sequence of presses.

The red TEST button on the sound board itself fires a level-7 interrupt on the 68000. What happens next is up to the game's ROMs; on a Spy Hunter CSD it plays the music.

Build it

Everything needed to order boards and parts is in the fab folder, along with a schematic and KiCad files. The KiCad files were generated from the board data rather than drawn in KiCad, so open them and refill the ground zone (B) before relying on them; the Gerbers are the fab source. Any 2-layer PCB fab can make it from the Gerbers: FR-4, 1.6 mm, 1 oz copper, any mask colour with white silk, HASL or ENIG, 98 × 80 mm.

Fit the hex dial with its 0 at the top. SW1's six legs fit the holes both ways round. Line up the 0 printed on the switch with the "0" on the silkscreen (the "8" goes at the bottom). Rev E.5 boards were laid out for the opposite orientation; on those, turn the switch so its 0 faces the bottom edge.
RefQtyPartMfr part #
On the board
SW1116-position coded hex rotary switch, Grayhill (0 toward the top of the board)94HBB16T
SW2, SW326 × 6 mm tactile switch, Omron (PLAY, RESET)B3F-1000
RV119 mm 1k linear pot, knurled shaft, BournsPTV09A-4020U-B102
C111 µF 50 V X7R radial, 5.08 mm, KEMETC330C105K5R5TA
R1, R3, R5, R7, R951k ¼ W 1% metal film, 0.4 in spacing, YAGEOMFR-25FBF52-1K
R2, R4, R6, R8, R10, R13610k ¼ W 1% metal film, 0.4 in spacing, YAGEOMFR-25FBF52-10K
PWR11KK-396 4-pin friction-lock header, Molex26-60-4040
J41Dual RCA jack, right angle, Same SkyRCJ-2123
F11Resettable fuse, +5 V, 1.35 A hold, BournsMF-R135
F21Resettable fuse, +12 V, 0.5 A hold, BournsMF-R050
D1, D223 mm green LED, KingbrightWP710A10GD
R11, R1221k and 3.3k, 1/6 W metal film, 0.3 in spacing, YAGEOMFR-12FTF52-1K, -3K3
Power cable
PWR1 mate1 + 4KK-396 4-pin housing + crimp terminals, Molex09-50-3041, 08-50-0106
Harness plugs (sound board end)
J1 plug1MTA-100 9-pos, 22 AWG, TE3-640440-9
J3 plug1MTA-100 12-pos, 22 AWG, TE4-640440-2
J2 plug1MTA-156 12-pos, 18 AWG, TE4-640599-2
J2 key1MTA-156 polarizing key, TE640629-1
Wire and hardware
Wire—22 AWG UL1007 (J1, J3) and 18 AWG UL1007 (J2), Alpha Wire3051, 3055
MH1–MH44M3 standoffs and screws (optional); pan heads ≤ 5.6 mm, as printed on the board—

Design notes

Everything on the board exists to fake the game's side of the harness safely; there are no active parts.

Compatibility

Three Midway boards share this J1/J2/J3 pinout and command interface, so Squeak Check works with all of them.

BoardCPUGames
Cheap Squeak Deluxe (A080-91671)68000Spy Hunter, Turbo Tag (prototype)
Sounds Good (same bare board, different parts and ROMs)68000Rampage, Power Drive, Star Guards, Xenophobe, Spy Hunter II, Blasted, International Team Laser (prototype)
Turbo Cheap Squeak6809Sarge, Max RPM, Demolition Derby, Spy Hunter II (second sound board)

Not compatible: the Super Sound I/O (SSIO), and the Williams System 11 sound boards in Arch Rivals, Pigskin 621AD and Tri-Sports. The pinball-era Bally boards (Cheap Squeak, Sounds Deluxe, pinball TCS) use different harnesses and weren't checked.

Squeak Tap: record the sound digitally

Squeak Tap is a companion project. It plugs into the Cheap Squeak Deluxe's DAC socket and records the exact 10-bit numbers the 68000 sends to the DAC, so you get a bit-perfect digital copy of a sound, such as the Spy Hunter theme, instead of a recording of the analog output.

Squeak Tap Rev A panel, top side: the DAC adapter on the left with its plug, DAC socket and ribbon header, the capture board on the right with the ribbon header, two 74LVC245 buffers, a Raspberry Pi Pico 2 footprint and the MARK button, joined by three mouse-bite tabs
Rev A panel, rendered from the fab files: the DAC adapter (left, 34 × 37 mm) and the capture board (right, 55 × 60 mm), ordered as one 91 × 60 mm board and snapped apart at the three tabs.

Why 960 kHz?

The sound board has no sample clock to tap: the 68000 writes a new value whenever its code gets there, and each value takes two writes, the top 8 bits from PIA port A and the bottom 2 from port B. Watching the bus every microsecond catches the exact moment of each write. That gives the true update rate for the lossless copy, and lets the tool remove the half-written value between the two writes, which would otherwise be a click. Only changes are sent, so the USB traffic follows the board's write rate, not 960,000 a second.

Recording the Spy Hunter theme

  1. Flash the Pico with the .uf2 file, fit the adapter in U10 and the AD7533 in the adapter, and connect the ribbon.
  2. Run python squeak_tap.py capture <port> spyhunter.sqt on the PC.
  3. With Squeak Check driving the sound board, dial 1, press MARK on the capture board, then press PLAY. Press Ctrl-C when the theme ends.
  4. Run python squeak_tap.py wav spyhunter.sqt theme.wav --rate native --from-mark 1 for the lossless copy, or leave out --rate native for 48 kHz.
Rev A hasn't been built yet. The boards pass the same design-rule and netlist checks as Squeak Check, and the PC tool was tested on a simulated capture, but nothing has been fitted to a real sound board. Check that the adapter clears C122, LED1 and the PIA on your board before ordering. Plug it in with pin 1 matching U10 pin 1: fitted backwards, it would put +12 V on a data line.

To order, upload the Gerber zip as one panel. On JLCPCB set Different Design to 2 and Delivery Format to Panel by Customer; other fabs have the same options under other names. The tabs follow JLCPCB's mouse-bite guide.

The DAC wiring comes from Midway's schematic, kept in this repo as reference/Cheap_Squeak_Deluxe_Schematic.pdf.

Sources