The machine

The PDP-1: the machine Spacewar! was written for

Two men working beside a PDP-1 at MIT, 1961
Two men at work beside a PDP-1, MIT, 1961. Computer History Museum (102631246). Click to view full size.
You cannot read Spacewar! without reading the PDP-1. The game was not written for computers in general; it was written for one specific machine, with one specific screen, one specific set of switches, and one specific way of getting code in and out. Almost every distinctive feature of the game, the point-plotted ships, the persistent star field, the toggle-switch controls, the reliance on a real-time display loop, follows from the hardware DEC shipped in 1960 and donated to MIT in 1961.

what it was
DEC's first computer, 1959–60

A new kind of machine

The PDP-1 (Programmed Data Processor-1) was the first computer built by the Digital Equipment Corporation, first produced in 1959 and shipped from 1960. Its lead engineer was Benjamin Gurley, and its design descended directly from the TX-0 and TX-2 machines at MIT's Lincoln Laboratory, the transistorised, interactive computers on which much of MIT's hacker culture had already formed. Where the dominant machines of the 1950s were batch-processing mainframes run by operators behind glass, the PDP-1 was comparatively small, fully transistorised, and meant to be sat at and used directly. At roughly US$120,000 it was a fraction of a mainframe's price, though, as Kuhfeld's Analog readers were reminded, still "about a quarter of a mega-buck". Only 53 were ever built, production ending in 1969.1

First produced1959 (shipped from 1960)
MakerDigital Equipment Corporation (DEC)
Lead engineerBenjamin Gurley
Word length18 bits
Memory4,096 18-bit words standard, upgradable to 65,536 (about 9 KB, or roughly 144 KB fully expanded, a fraction of a single modern megabyte)
Memory cycle5.35 microseconds (≈187 kHz)
Instruction speedmost instructions 10.7 µs (≈93,000/sec)
Logic2,700 transistors, 3,000 diodes
Weightabout 730 kg (1,600 lb)
Priceabout US$120,000
Units built53 (to 1969)
A restored DEC PDP-1 system at the Computer History Museum
A restored DEC PDP-1, the main cabinet with its Type 30 Precision CRT, paper-tape equipment and console typewriter. Computer History Museum. Click to view full size.
the screen
Type 30 Precision CRT

The display that made the game possible

The single most important component for Spacewar! was the optional Type 30 Precision CRT display. It was a point-plotting screen: the program named an X and a Y coordinate and the hardware lit a single dot at that location. It could address a grid of 1024 by 1024 points, of which roughly 512 along each axis were individually distinguishable on the tube, at about 20,000 points per second, on a 16-inch tube coated in P7 phosphor. P7 is a long-persistence phosphor with two layers: a bright blue flash as the beam strikes, fading to a slow green afterglow. This is why the game looks the way it does. There are no lines on the screen, only dots, redrawn fast enough to read as ships and torpedoes, and the slow green decay is what leaves the faint trails behind moving objects and gives the star field its glow. The "heavy star" at the centre of the game is literally a single bright point, jittered and redrawn many times a frame, smeared into a sun by the phosphor itself.

To draw anything at all, the program had to do it continuously, plotting every object on every pass through a tight display loop, because nothing on the screen persisted for long. Spacewar! is, at bottom, that loop: compute positions, plot points, repeat.

More on the Type 30 and DEC's other displays, the light pen and the P7 phosphor ›

getting code in and out
Paper tape, switches and a typewriter

The console

Programs lived on fanfold punched paper tape, read in through a photoelectric tape reader and punched back out the same way; a single roll of tape was the distribution medium, the backup, and the archive all at once. This is why so much of the game's history is a history of tapes, copied, carried, lost and occasionally rediscovered. The operator's console carried a bank of sense switches and toggles and an adapted IBM Model B electric typewriter for printed output; offline, programs and listings were prepared on Friden Flexowriters using DEC's FIO-DEC character code.

The earliest Spacewar! was played from those console toggle switches, which were awkward and exposed players' hands to the warmth of the machine, until Alan Kotok and Bob Saunders built the famous detached control boxes so the players could sit back from the console. The shape of the game's controls, rotate left, rotate right, thrust, fire, hyperspace, is a direct response to the switches the PDP-1 actually offered, and a vast improvement for playability.

the typeface, and the absence of fonts
Neuzeit Standard, and dot-by-dot glyphs

How the PDP-1 lettered itself

A 1964 chart of the PDP-1 character set, each glyph plotted as dots
A PDP-1 character set, 1964: each glyph is a pattern of plotted points, not a typeface. Source: masswerk.at/spacewar/chargen. Click to view full size.
Two quite different ways of displaying type were developed for this machine. The legends on the control console, the labels beside every switch and indicator, are set in a printer's typeface, Neuzeit Standard. But on the Type 30 screen there are, strictly, no fonts at all. The PDP-1 is a bare-metal machine with an X/Y display: every character a program shows is generated by a software renderer, plotted dot by dot from glyph data held in memory, two 18-bit words per character. Several such character generators existed, and because the glyph data was simply data it was freely configurable. A hardware symbol generator (the Type 33) used the same mechanism and the same data format, but drew at considerably higher speed. The machine's "typography" is therefore split in two: the fixed industrial lettering silk-screened on its panel, and the wholly programmable characters of its screen, recomputed point by point on every pass of the display loop.

Photograph of characters drawn on a PDP-1 display
Characters on a PDP-1 display, each one plotted point by point. Computer History Museum (102663947). Click to view full size.
Try it: the BBN-37 character generator, live

Drawn dot by dot from the original BBN-37 glyph table, two 18-bit words per character (a 5×7 dot pattern), the same data the PDP-1 plotted. Lowercase, digits and a little punctuation only, as on the machine. BBN-37 is one of several PDP-1 character generators of the period, shown here to demonstrate how the machine plotted characters; it is not Spacewar!'s own font. The game's on-screen text, its score display, was a separate routine (added by Preonas in 1963, later reworked by Samson). Routine by Ben Gurley and Welden Clark (DEC/BBN, 1961); glyph data after masswerk.at/spacewar/chargen.

the MIT machine
Donated September 1961

How it reached the hackers

Women assembling equipment on the DEC production line, around 1960
The DEC production line, around 1960. The machines that ran Spacewar! were built largely by women on the factory floor. Click to view full size.
In September 1961 DEC donated a PDP-1 to MIT, where it was installed in the Research Laboratory of Electronics. It landed among exactly the people primed to exploit it: the students and hangers-on of the Tech Model Railroad Club who had already taught themselves interactive programming on the TX-0. Within months Steve Russell, Martin Graetz, Wayne Wiitanen and the rest had begun writing Spacewar!, and the game became the standard demonstration of what the new machine could do. The donation was good business as well as good will: a PDP-1 that could plot moving spaceships was a far easier machine to sell than one described in a specification sheet.

It is worth remembering who actually built these machines. DEC's computers, including the PDP-1, were assembled in large part by women on the production line in Maynard, Massachusetts, a workforce mostly written out of the accounts of the period. The same erasure runs through the Spacewar story itself, which is why this project keeps a record of the women at Digital alongside the named hackers.

the first PDP-1, and time-sharing
BBN, Ed Fredkin, and the swapping drum

From one machine to many users

Ed Fredkin working at a PDP-1
Ed Fredkin at a PDP-1. Via Wikipedia. Click to view full size.
MIT's PDP-1 was a donation, but the very first PDP-1 DEC built was bought by Bolt Beranek and Newman, where Ed Fredkin specified much of how the machine met its users: its character set, its character codes, and its input/output system. Fredkin then solved the problem that turned the single-user PDP-1 into a shared one. John McCarthy's idea of time-sharing wanted every user resident in fast memory, which was ruinously expensive, so Fredkin designed a zero-latency swapping drum: a drum holding 4,096 words, exactly one core image, synchronised to the PDP-1's memory cycle so that on each cycle one word could be read from core while another was written back from the drum. One user could be swapped out and the next swapped in within about 20 milliseconds, with no rotational wait. It was built (the engineering was Gordon Bell's) and ran in both the BBN and MIT PDP-1 time-sharing systems. Fredkin also wrote the machine's assembler, FRAP ("Free of Rules Assembler Program"), squeezed into 1,024 words with variable-length symbols and a single backward pass over the paper tape to resolve forward references.

Source: Computer History Museum, Oral History of Ed Fredkin, interviewed by Gardner Hendrie, 5 July 2006 (CHM ref. X3641.2007).

a first-hand voice
Peter Samson · oral history

More than a calculator

The PDP-1 was never only a calculator. In the hands of the Tech Model Railroad Club hackers it drew the first video game and played four-part harmony, and few people did more to make it do both than Peter Samson, who added the Expensive Planetarium starfield to Spacewar! and wrote the PDP-1's music software. In this Computer History Museum oral history he looks back over a life in electronics, music and computation: building rudimentary computers from pinball relays as a boy, the Tech Model Railroad Club and the TX-0, the Harmony Compiler, and on to the Systems Concepts Digital Synthesizer (the "Samson Box") at Stanford's CCRMA, the Stanford AI Lab and Autodesk. It is a first-hand account of the culture that produced the game, by one of the people who built it.

Computer History Museum, Oral History of Peter Samson (YouTube). His work to make the PDP-1 sing has its own page: the PDP-1 as a media machine, where you can also hear it play Boards of Canada's Olson.
why this belongs here
The reading

The hardware is part of the text

For a Critical Code Studies reading, the PDP-1 is key to the materiality of the source code we are interested in.2 The 18-bit word sets the precision of the orbital arithmetic. The point-plotting display dictates that the game be a redraw loop and gives the ships their flicker and the sun its smear. The paper-tape workflow explains both how the game spread and how easily it was lost. The toggle-switch console shapes the controls. To read Spacewar!'s code closely is repeatedly to find the machine showing through it.

← The code and versions   Restorations →

sources
On this page

References

1 Fifty-three is the standard figure for total PDP-1 production, from first delivery in 1960 to the end of production in 1969. DEC published no definitive count; the number is the one carried across the PDP-1 record, including the Computer History Museum's PDP-1 Restoration Project, which has documented and rebuilt one of the surviving machines, and the standard PDP-1 references. Exact tallies vary by a unit or two between sources.

2 Cf. Friedrich Kittler, "There Is No Software", in Literature, Media, Information Systems (1997); and, on media archaeology, Wolfgang Ernst, Digital Memory and the Archive (2013).