This implementation by Norbert Landsteiner, mass:werk – media environments, 2012 – 2016
Spacewar! was conceived in 1961 by Martin Graetz, Stephen Russell, and Wayne Wiitanen. It was first realized on the PDP-1 in 1962 by Stephen Russell, Peter Samson, Dan Edwards, and Martin Graetz, together with Alan Kotok, Steve Piner, and Robert A Saunders. – Spacewar! is in the public domain, but this credit paragraph must accompany all distributed versions of the program.
This page provides "Spacewar!" in its original resolution of 1024 x 1024 px for use with large screens or high-density ("retina") displays.
Versions available (by the "versions menu" at the top left of the emulated display):
Spacewar! 3.1(24 Sep 1962) This could be regarded as the "standard version" of Spacewar!. The program is dated "24 sep 62" and is loaded from an authentic binary paper-tape image (spacewar3.1_24-sep-62.bin) provided by Steve Russell via bitsavers.org.
Spacewar! 2b(2 Apr 1962) This is the first complete version version of the game as presented at MIT's annual Science Open House in May 1962. Notably this is also the very version the background starfield (Peter Samson's Expensive Planetarium) was designed for, as this is annotated in the source code by "stars by prs for s/w 2b" and dated "3/13/62, prs". The program features the pre-particle-system "Crock Explosion"  and optionally a faster movement of the starfield (sense switch 4), torpedoes are single shot only (no salvoes). Some of the differences are more cosmetical: The ships' exhaust flames are half the size of later versions, also the display of the starfield hasn't found its final form yet (starting at an other position as compared to later versions). Moreover, the original starfield routine, found here, is modulating the varying brightnesses of the stars by how often the individual stars are drawn, whereas later versions are using the built-in intensity levels of the Type 30 CRT display instead. For more on the making-of of Spacewar! see "The Origin of Spacewar" by J. M. Graetz.
The code is run from a binary paper tape image (RIM) labeled "spaceWar_SA-5.bin". This has been proven to be identical to loading the two paper tapes "spacewar2B_2apr62.bin" and "stars.bin", both to be found at bitsavers.org.
("SA-5" is not a version string, but indicates the program's start address being 5, which would start the program in a setup for reading the input from the console test switches rather than from MIT's special control boxes, as would be the case with the default start address. The label suggests that this was a tape sent from MIT to an other facility.)
Spacewar! 2b is known with a date as early as 25 March 1962. This earlier version shows minor differences regarding the polarity of the sense switch settings.
The program is presented here with two patches applied, namely the hyperspace-patch to include Martin Graetz's original hyperspace routine, the "Minskytron hyperspace"  and its "warp-induced photonic stress emission", and the auto-restart patch for seemless playing.
This represents the the game as described and depicted in J.M. Graetz's seminal article "The Origin of Spacewar" and as presented at the MIT Science Open House in May 1962. (It still lacks a scorer-patch, which seems to be lost.)
The patches are provided by the paper tape images "hyperspace85.bin" (Hyperspace VIci, 2 May 1962) and "spaceWarRstrt.bin" — an other tape provides the same patch as "spacewAutoRestartPatch.bin". (The auto-restart patch was to be applied to the hyperspace-patch and is by this officially a patch to a patch. Thus, loading the full program had become a fairly complex affair then, involving up to 6 tapes.)
Listings of Spacewar! 2b and the patches may be found here.
Please mind that this is still the game early in development. The restart-patch is missing an edge case (pun intended), where the ships would collide at the "antipode" in the corners of the display. The game requires a manual restart in this situation.
Spacewar! 4.1f(20 Feb 1963; mod. for CHM 2005 – 2008) This is the version apparently running at the Computer History Museum (CHM). This is Spacewar! 4.1 modified by Peter Samson in 2005–2008 to include the scorer routine of Spacewar! 4.8. Moreover, version 4.1f features modified brightness settings for the background starfield (for use at the CHM), which are here remapped to usual values by the emulator. Like other version of Spacewar! 4.x it requires the hardware multiply/divide option and features the single shot switch for torpedoes.
The source code is dated "spacewar 4.1 2/20/63 dfw" and annotated "mod for CHM, 2005-06-01 - 2005-11-28 --prs", and "changed delay in score display, 2008-08-22 --prs.". The code is run from a binary paper tape image (sw41f.rim) provided by Peter Samson via bitsavers.org.
Spacewar! 4.2a(22 Feb 1963 ?) This is an authentic representative of the 4.x-generation of Spacewar! (probably by "dfw", like version 4.1 above), requiring the hardware multiply/divide option of the PDP-1. Additionaly to some internal modifications it features, like all versions 4, a working single shot mode for torpedoes (sense switch 3). The code is run from a binary paper tape image (spacewar4.2a_sa4.bin) provided by Steve Russell via bitsavers.org. A visually distinctive detail of versions 4.x (4.1 and later) is the "Sun" (heavy star), now drawn by a dashed line like the rocket blasts, thus separating it visually a bit more from the starships (see the high-res/full-scale version for a close-up view.) Also, two ships colliding in free fall in the center will explode at the "antipode" rather than at the center as with earlier versions of the game.
Spacewar! 4.3(17 May 1963) This is a version by Monty Preonas (signing "ddp"), who also provided the adaptations for the automatic hardware multiply/divide option and the new gravity computations used by all flavors of Spacewar! 4 in his version 4.0 (2 Feb 1962) earlier.
Spacewar! 4.3 features, like Monty Perona's flavor of version 4.2 and version 4.4 (also signed "ddp", but presumably by Joe Morris), a special on-screen score display, very much like the one of the 4.8-scorer-patch. Like all versions by Monty Preonas, it usues an implementation of the background starfield alike the one of Spacewar! 2b.
The game features a special Twin Star mode to be engaged by sense-switch 2 (accessible by the options menu at the top right corner of the screen). This visually distorted mode puts the Needle in the center of the screen in between a doubled sun and draws any other objects relatively to this ship. Moreover, some items are drawn at a double offset and torpedoes are displaced for real, resulting in a quite vexing game play. This mode was probably initially intended as an ego view from the Needle's perspective and left as-is as an amazing novelty. (Compare "Spacewar! 2015" below.)
The program, dated "5/17/63", was newly assembled from source code provided in the assorted listings available at CHM catalog no. 102664173 (which apparently came from Joe Morris, compare Joe Morris, alt.sys.pdp10, Jannuary 6, 2005).
Spacewar! 4.8(24 Jul 1963) Apparently the final version of MIT-Spacewar!, dated "7/24/63" and signed "dfw". A patch for a special on-screen scorer is available for this version.
The game was newly assembled including the dedicated scorer patch. Sources ("spacewar4.8part1_engl.txt", "spacewar4.8part2_engl.txt", and "spacewar4.8_scorer.txt") are available at textfiles.com and bitsavers.org.
— Note on the usage of the score display of versions 4.1f, 4.3, and 4.8 — Scores are displayed at the end of a game. In order to activate the score display, either click the score indicator at the lower left of the emulated scope, or hit "B" to toggle the score board on/off. (Alternatively, you may access the scoring option by the options menu .) If scoring is deactivated, when leaving the score display, scores are reset to zero. — Technically, the score indicator represents the status of bit 12 of the test word at the operator's console of the PDP-1. Earlier versions of Spacewar! featured scoring, too, but scores were merely indicated by the console lights (in binary) of the AC and IO registers. The mechanism for entering the score display had been the same.
Spacewar! 2015(21 Mar 2015)
"The Return of the Minskytron Signature" — Fresh code for the PDP-1 from 2015!
My own tour de force on Spacewar!: Based on Spacewar! 4.1 (dfw) — like the CHM-version — it features hyperspace with the Minskytron signature (like Spacewar! 2b, slightly modified), a modified version of the 4.8-scorer-patch, and last, but not least, a working Needle's Ego View (sense switch 2, see the options menu ).
The Needle's Ego View shows the Twin-Star mode of Spacewar! 4.3 (ddp) as presumably at first intended: Sense switch 2 enables a transposed view relative to the Needle's position, just like it would be seen on a radar scope inside the Needle's cockpit. Mind the Wedge moving in epicycles, or rather, irregular epi-orbits. (For the changes applied and related deliberations compare the discussion here.)
Bonus track 1: Spacewar! 3.1 "Winds of Space" This is an attempt to demonstrate the formerly popular "Winds of Space" effect. A clue to this is provided in Steven Levy's "Hackers – Heroes of the Computer Revolution": "Or, as the night grew later and people became locked into interstellar mode, someone might shout, 'Let's turn on the Winds of Space!' and someone would hack up a warping factor which would force players to make adjustments every time they moved." Another clue is provided by the following quote by Steve Russell: "[T]he reason that all the parameters got accumulated in the first page of the listing, which says you can put that first page of the listing o[n] the console, and anyone who wanted to try a different set of parameters could." (Oral history interwiev with Al Kossow; CHM 2008. p. 14)
Putting things together, "Winds of Space" was effected by tuning one of the values of the parameters table. And, in deed, there is a value for the "amount of torpedo space warpage" at memory location 021. This is a scaling factor, therefor, the lower this value, the more the trajectories of the torpedoes will be modulated by what resembles a sine-like curve. The effect varies with speed and position. To demonstrate the effect, this value has been set to the lowest value (0), with the default value being the maximum amount of 9 bitwise right-shifts (effecting in straight trajectories). — It should be noted that this hasn't been "officially" confirmed yet.
This module uses the original code of "Spacewar! 3.1", which is first loaded from a virtual paper-tape and then patched for the "hacked" parameter. (Additionally, the torpedo life-time is set to be a bit higher value, to emphasize the effect.)
For hacking parameters or game constants in general, see the options menu at the top right of the screen.
Bonus track 2: Snowflake
This is another famous visual PDP-1 program from the 1960s, an early example of computer animations by pattern generation. While there is not much information to be found on this program, you may read some about it here.
The program is run from an authentic paper tape image "snowflake_sa-100.bin" to be found at bitsavers.org.
Bonus track 3: Snowflake (@CHM)
Another (shortened) version of Snowflake as seen at the CHM, differing a little by its setup.
The program is run from a paper tape image "dpys5.rim" (titled "pdp-1 display hacks") to be found at bitsavers.org.
Some research has been invested in order to identify various versions and paper tapes, some of these versions are here playable for the first time in decades. The locations of the individual sources are linked in the descriptions above. Versions marked "[bin]" are loaded as-is from binary paper-tape images as they are found in the archives. Versions marked "[rim]" were newly assembled for this emulation from historic source listings. Modules marked "[mod]" are modified versions based on genuine listings. You might want to play in classic setup with the "Sun" killing on contact by activating sense switch 5 (see the options menu at the top right of the screen).
Set your browser to presentation mode and choose an appropriate zoom factor. For retina/high-resolution devices (with a pixel density of 2 or higher) the resolution will be already adjusted to double density.
See the options menu at the top right of the screen for emulation options. Visit the "Sense Switches / Setup" dialog to select a national or non-standard keyboard layout.