Atari Asteroids Controller: Backstory

headerv3_680

Years ago, I picked up scrapped parts from a 1979 Atari Asteroids arcade machine: a metal control panel, original buttons, and a screen-printed marquee — and then set out to wire them up to control Asteroids on a computer.

01_console_top

The buttons are the trick. They’re just a simple electrical circuit, two contacts pressed together, which need some way to speak in ones and zeroes to the computer. The simplest approach is with a keyboard encoder, so the computer will see button presses as standard keystrokes (as opposed to running additional software to interpret the signals).

In the spirit of hacking together spare parts, I ripped the circuit board (encoder) out of an old Apple Pro Keyboard, and wired it up to the arcade buttons. The keyboard is set up in a 12 x 20 matrix, where combinations of circuits create the different keystrokes. I labeled the contacts on the left “A” through “L,” and contacts on the right “1″ through “20,” and with the USB end plugged into a computer, started touching all combinations of the contacts with a wire. Here’s what I came up with:

apple_pro_keyboard_matrix
Click here for a tab-delineated text (right-click or alt-click to download).

04_kbd_hack_finished

I mounted the final version on plywood. Dowel rods held the contacts in place, although an X-Acto knife and some flux improved the solder points later on.

On the computer end of things, I downloaded MAME (arcade machine emulator) and the ROM (software image of the arcade game’s data files) for Asteroids. The Asteroids control panel worked like a charm.

A month later, I bought a commercial keyboard encoder from Hagstrom Electronics, knowing that I’d want to be able to wire up contacts for other purposes like triggering video playback. Here’s the final version of the Asteroids controller, using the Hagstrom encoder with breakout board:

02_console_finished_under

I didn’t end up using it that much, partly because Asteroids just isn’t the same without a real vector display, and partly because the metal panel is kind of huge and awkward. I also started using more programmable or pre-built options (Arduinos, MIDI controllers) for my I/O needs.

That said, it was a good first project to learn about controllers. Years later, I made a smaller, self-contained, desktop-friendly Asteroids panel — read on to learn more.

(A nod and thanks to Machine Project in LA, whose workshop on building homebrew arcade machines offered valuable info. Also in SoCal is Vintage Arcade Superstore, with a warehouse full of old arcade parts.)

One Comment

comment comment

Trackbacks for this post

  1. Asteroids Controller with Raspberry Pi | Tim Bartlett