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.
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.
||Conversion of John Pultorak's
Block I AGC design (schematics only!) to Eagle CAD, with
corrections and small improvements.
||A clean restructuring of the
Block I design -- for example, with AGC, DSKY, and
monitoring busses separated into independent assemblies
rather than being a part of one large assembly.
||Preliminary data available. (See change
||Block II AGC design
(schematics and printed-circuit board layout!) using 74xxx
||Size reduction of Block II
design, using surface-mount parts and FPGAs.
||Further, final size reduction
of the Block II design, with added Virtual AGC
compatibility. (This would mean, for example, that one
of Dimitris's physical DSKY could be used with a PC running
The physical faceplate, work in progress!
Cleaned-up stylized drawing
from which measurements can
be taken. A CorelDraw file is also
Bruno Muller has created a physical DSKY that interacts with
yaAGC via the NASSP plug-in for the Orbiter spacecraft
simulator. He has made a video and sent me the following
charming YouTube link: