NASA Office of Logic Design

NASA Office of Logic Design

A scientific study of the problems of digital engineering for space flight systems,
with a view to their practical solution.


Block I Apollo Guidance Computer (AGC):
How to build one in your basement

Material developed and provided by John Pultorak who is kind enough to put these files into the public domain with no restrictions on their use.

Abstract

This report describes my successful project to build a working reproduction of the 1964 prototype for the Block I Apollo Guidance Computer. The AGC is the flight computer for the Apollo moon landings, with one unit in the command module and one in the LEM.

I built it in my basement. It took me 4 years.

If you like, you can build one too. It will take you less time, and yours will be better than mine.

I documented my project in 9 separate files:

Part 1 - Overview [8.1 MB]: Introduces the project.
Part 2 - CTL Module [9.9 MB]: Design and construction of the control module.
Part 3 - PROC Module [6.7 MB]: Design and construction of the processing (CPU) module.
Part 4 - MEM Module [6.8 MB]: Design and construction of the memory module.
Part 5 - IO Module [7.0 MB]: Design and construction of the diskplay/keyboard (DSKY) module.
Part 6 - Assembler [0.5 MB]: A cross-assembler for AGC software development.
Part 7 - C++ Simulator [5.2 MB]: A low-level simulator that runs assembled AGC code.
Part 8 - Flight Software [2.8 MB]: My translation of portions of the COLOSSUS 249 flight software.
Part 9 - Test & Checkout [0.9 MB]: A suite of test programs in AGC assembly language.

Why build an AGC?

Early computers are interesting. Because they're simple, you can (if you like) actually understand the entire computer, from hardware to software.

The AGC is the most interesting early computer because: it flew the first men to the moon and has interesting architectural features.

Some Related Links


Home - NASA Office of Logic Design
Last Revised: February 03, 2010
Digital Engineering Institute
Web Grunt: Richard Katz
NACA Seal