Member-only story
REA: Atari 2600 Space Invaders
Reverse engineering clever tricks from the remote past
We now have a luxury the programmers of the late seventies never had: time. Their machines are frozen, fully documented and emulated down to the cycle, and their code can be taken apart at leisure, long after the deadline that shaped it. What comes out of that exercise is not nostalgia. It is a catalogue of techniques invented under constraints so tight that every byte and every cycle had to argue for its place, and a surprising number of them still teach something about how to split work between hardware and software today.
This is the first of a series of such excavations. The idea is not entirely new here: the fast inverse square root from Quake III Arena was the same kind of dig, one famous constant at a time. This series goes further back and makes it a habit, starting with a cartridge that had almost nothing to work with.
In 1980 Atari shipped Space Invaders for the VCS, the console everyone now calls the 2600, and it became the first arcade game licensed for a home system and one of the reasons people bought the console at all. The arcade original had a frame buffer, a dedicated shifter for moving bitmaps and 55 invaders marching down the screen. The 2600 had 128 bytes of RAM, no frame buffer of any kind, and a video chip that could show…










