Repo of the Day
chrislgarry/Apollo-11
Published: Mar 15, 2024
Open repository ↗Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules. Wild!
Summary
The chrislgarry/Apollo-11 repository holds the digitized source code for the Apollo 11 Guidance Computer (AGC), split into the Comanche055 program for the Command Module and the Luminary099 program for the Lunar Module. The files were transcribed from scanned hardcopies at the MIT Museum by Paul Fjeld, with the stated goal of preserving the original 1969 source. The repository accepts pull requests that correct discrepancies between the transcriptions and the original scans.
What it is useful for
This is a historical and educational archive, not a runnable library. Engineers can read it to study how a real flight computer handled guidance, navigation, and control under tight memory constraints, including the AGC's interpretive executive and verb-noun user interface. The README describes the project as a transcription effort and explicitly invites corrections against the original source scans, so contributors can audit the transcription line by line. The attribution table records the program as Colossus 2A, credits Margaret H. Hamilton as Colossus Programming Leader, and cites NASA contract NAS 9-4065 with MIT's Instrumentation Laboratory, which makes the repository useful as a primary reference for software history research.
How engineers can use it
For reading, the source is laid out in two top-level directories, Comanche055 and Luminary099, each containing .agc source files (for example, CONTRACT_AND_APPROVALS.agc) that can be browsed directly on GitHub. To assemble the code, the README does not include build commands of its own; it directs readers to the separate Virtual AGC project, which provides the yaYUL assembler. The README links to CONTRIBUTING.md for the pull request workflow, which the project asks contributors to read first.
Two documented limitations are worth flagging. First, the GitHub metadata lists the license as NOASSERTION while the README's attribution table states the code is in the public domain, so the README is the project's own statement of its terms. Second, because the code is a frozen 1969 artifact and compilation depends on an external toolchain, practical use is limited to reading, transcription correction, and study rather than integration into modern systems.