User:Pultorak

I am a software engineer, working for an aerospace company. I have also worked as a computer engineer and electronics technican.

I just finished building a reproduction of the 1964 Block I Apollo Guidance Computer. This is the engineering prototype for the flight computer that went to the moon, and is also the world's first IC computer. The project took 4 years.

I obtained the original design documents from NASA and MIT. I completed my document search in early 2001. Using this material, I built a low level AGC software simulator using C++. The simulator reproduces all AGC registers, and the instruction set, including all timing pulses, instruction subsequences (microinstructions), and control pulses. I developed a cross-assembler, so I can code in AGC assembly language and download the object code to the simulator. I used these tools to capture the AGC architecture and to validate my understanding of it.

I then developed a suite of software test and checkout code in AGC assembly language to fully test the instruction set. I also recoded the EXEC and WAITLIST portions of the AGC operating system using information from the MIT documents. This work was completed in the early winter of 2001.

I downloaded the user interface portion of the Apollo 9 flight software command module load from a MIT web site and hand-encoded it back into machine-readable format. Since it's in Block II format, I had to translate about 5% of the instructions back into Block I. I assembled, debugged, and downloaded this to my simulator, and I can now run the operating system and user interface portion of the Apollo 9 flight software. This was completed in June of 2002.

I partitioned the AGC design into 20 subsystems and translated the architecture into TTL logic. I captured each logic subsystem into a digital circuit simulator for unit testing. This was completed in January of 2003. I integrated the subsystems into a working AGC in the digital circuit simulator and performed about 6 months of intergration testing and validation of the logic design against the C++ simulator. This was completed in August of 2003.

I built the 20 AGC logic subsystems into 4 modules containing 500 ICs, 3500 feet of KYNAR wire, and 15,000 hand-wrapped connections. This was finished in October of 2004.

My entire project is documented in 9 .pdf files at http://starfish.osfn.org/AGCreplica/ There's enough information there for you to make one too.