Going Retro With AGC: Smart Computer That Powered Apollo Missions in the 60s

The computer that made the Apollo missions possible.
Warp Terminal

When we look at things retro, the Apollo Guidance Computer is about as retro as it gets!

This computer was cutting-edge in the 1960s, but what made the AGC so special? How did it manage to send astronauts to the moon and back with computing power less than today’s pocket calculators? It turns out that this gem of retro-computing was one of many firsts - and still influences computing today.

Apollo Guidance Computer

The AGC laid the groundwork for concepts that still ring true today: modular codingcode reusability, and optimization for resource-constrained systems. The AGC was definite proof that a lean, well-designed system could handle major challenges, providing the way for both space exploration and other future technological achievements.

In a way, it’s like the ultimate minimal system - way ahead of its time in terms of principles that influenced later computing.

What made the Apollo Spacecraft computer revolutionary?

The AGC was the principal onboard computer for NASA's Apollo missions, including all of the lunar landings. Both the Command Module (CM) and the Lunar Module (LM) had AGCs, so two AGCs were used on most of the Apollo missions, but with differing software, depending on the purpose of the AGC.

Developed by the MIT Instrumentation Laboratory (known as Draper Labs today), the AGC was one of the first to use integrated circuits, making it one of the most successful examples of miniaturization. It took up just about 1 cubic foot of space. It was also lightweight, weighing around 70 pounds (31.75 kilogram). This made the AGC was portable enough to fit aboard a small spacecraft.

This innovation wasn’t just about size. The AGC’s software, written in assembler language, known as AGC4, allowed complex operations to be carried out within abnormally strict constraints of limited memory and processing power. The AGC had only 2K of RAM and 36K of ROM. That’s a fraction of what even the simplest of today's gadgets use, yet it was enough to guide humans to the moon. It is an excellent example of 'lean' programming - doing a lot with little - but the principles of modularity and code reuse, that we use today, come from the AGC.

The AGC also came equipped with a user interface - the Display and Keyboard (DSKY) interface. The term, “user-friendly” may not come to mind when you see one, but the DSKY did allow astronauts to effectively enter commands in real-time. In an era before touchscreens or even computer mice, the DSKY was certainly cutting-edge. In fact, it can even be considered one of the earliest forms of the Command Line Interface (CLI).

AGC

A smart computer

The AGC was also a smart computer, earning the nickname, "the fourth astronaut," from the vital role it played in the Apollo missions. The AGC performed calculations and managed tasks in real-time that were impossible for human astronauts to handle manually, especially under the constraints of time and stress.

The AGC calculated precise maneuvers, such as course corrections and lunar landings, where even slight errors could have been catastrophic. It also prioritized tasks autonomously. During the famous "1202 program alarm" incident, when the computer was overloaded, it managed to ignore non-essential tasks and continue critical operations, ensuring the mission's success.

The AGC was trusted as much as the astronauts themselves, forming a partnership where the machine’s reliability supported human judgment. The AGC, then, didn’t just assist - it actively contributed to the mission’s success. I think that the nickname is a poetic and fitting tribute to the machine’s significance.

Lessons from the AGC for modern computing

Efficiency is key

The AGC’s developers didn’t have the luxury of abundant resources. They had to write hyper-efficient, reusable code and design hardware that maximized performance with little power. This mindset of doing more with less is still relevant today, especially in areas like IoT and embedded systems.

The AGC's software was developed by a team at MIT, led by Margaret Hamilton, and is a true master-class in software development. They implemented rigorous testing protocols and pioneered the concept of "software engineering."

Sophisticated real-time capabilities

The AGC was designed for real-time processing, essential for navigation and control tasks in space. This was a significant achievement at a time when most computers were used for batch processing.

Collaboration pushes innovation

The AGC wasn’t the magic of a lone genius. It was the result of collaboration between NASA, MIT, and contractors. The best ideas often come from collective effort.

Interested in more?

Recently, there has been a surge of interest in the AGC. Enthusiasts restore vintage machines, program replicas, and even build AGC emulators. But why? For many, it’s a way to appreciate the ingenuity of early engineers and reconnect with the roots of modern tech.

Online Apollo Guidance Computer Simulator

For instance, open-source projects like VirtualAGC allow anyone to explore the original Apollo software. Meanwhile, museums and exhibitions display AGC hardware, inspiring a new generation of engineers.

Can I build an AGC replica?

Yes! Projects like VirtualAGC provide schematics and code for building your own functional replica - a fantastic way to dive into retro-computing.

GitHub - virtualagc/agc_hardware: Schematics and board layouts for an Apollo Guidance Computer replica
Schematics and board layouts for an Apollo Guidance Computer replica - virtualagc/agc_hardware

Where can I see an original AGC?

Several museums, including the Smithsonian’s National Air and Space Museum, display original AGC units. These exhibits often include interactive demos.

Conclusion: a timeless tribute

The Apollo Spacecraft Computer isn’t just a relic of the past; it’s evidence to what human ingenuity and perseverance can accomplish. Constraints can propel creativity, and small, incremental innovations can bring about huge achievements. A look at tech history reminds us of how far we’ve come and how much we owe to the pioneers who got us here. The AGC is a perfect example of that.

About the author
Bill Dyer

Bill Dyer

Bill has worked as a technician, programmer, and UNIX sysadmin. He is currently a continually caffeinated programmer who spends spare time building e-books for friends and restoring old text.

Become a Better Linux User

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world

itsfoss happy penguin

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.