NASA has released the original Apollo 11 guidance computer code to the public domain, providing unprecedented access to the software that powered humanity's first moon landing.
NASA has made the historic computer code that powered the Apollo 11 mission available to the public, marking a significant moment for both space history enthusiasts and software developers. The code, which guided the Command Module and Lunar Module during humanity's first moon landing, has been digitized and shared on GitHub by NASA's Chris Garry as a public domain resource.

The published resource consists of two major codebases: one for the Command Module (Comanche055) and another for the Lunar Module (Luminary099). These modules each carried their own Apollo Guidance Computer (AGC), which was instrumental to the success of the 1969 mission. The digitization effort was carried out by Virtual AGC (Virtual Apollo Guidance Computer) and the MIT Museum, who scanned and proofread the hard copies held at the MIT Museum collection.
Technical Specifications of the Apollo Guidance Computer
The AGC represents a remarkable achievement in computing given the technological constraints of the era. Despite having only 3,840 bytes of RAM and 69,120 bytes of storage, the computer could execute approximately 85,000 instructions per second. In physical terms, the AGC measured 24.250 x 12.433 x 5.974 inches (61.595 x 31.580 x 15.174cm) and weighed 70.1 pounds (31.8kg).
Each Command Module required two DSKY (Display Keyboard) controller units weighing 17.8 pounds (8.1kg) each, while the Lunar Module carried one DSKY unit. These interface devices allowed astronauts to interact with the guidance computer during critical mission phases.
Code Examples and Functionality
Diving into the Comanche055 directory reveals fascinating insights into the software architecture. The ALARM_AND_ABORT.agc file demonstrates how the system handled emergency conditions. The code includes functionality for logging alarm conditions, activating warning lights when necessary, and managing both abort-level and non-abortive alarm scenarios.
One particularly notable example shared on social media highlights 30 lines of assembly code responsible for calculating transcendental functions like sine and cosine. These calculations were essential for navigation during the lunar mission, demonstrating how complex mathematical operations were achieved with minimal code in the constrained computing environment.
Modern Accessibility and Compilation
The code is now accessible through the Virtual AGC tool, which can compile the public domain software. This tool supports multiple operating systems including Linux, Windows XP/Vista/7, Mac OS X 10.3 or later, and some versions of FreeBSD. This accessibility allows developers and historians to not only study the code but also potentially run it on modern hardware.
The GitHub repository serves as both a historical archive and an educational resource, providing insights into the AGCs carried on both spacecraft modules. The code represents a fascinating contrast to modern computing, where even basic microcontrollers far exceed the capabilities of the AGC.
Historical Context and Modern Relevance
This release comes nearly 60 years after the Apollo 11 mission and in the context of ongoing lunar exploration efforts like the Artemis II mission. The timing provides an interesting juxtaposition between the lean, efficient machine code of the 1960s and the complex software systems used in contemporary space missions.
While today's space missions face different challenges - such as software bugs in systems like Microsoft Outlook or mechanical issues with spacecraft toilets - the Apollo 11 code stands as a testament to the ingenuity required to achieve lunar landing with the limited technology available at the time.
The open-sourcing of this code not only preserves an important piece of computing and space exploration history but also provides valuable insights into software development practices under extreme constraints. For developers, historians, and space enthusiasts alike, this public domain resource offers a unique window into one of humanity's greatest technological achievements.

Comments
Please log in or register to join the discussion