An Apollo Guidance Computer Laid Bare

An Apollo Guidance Computer probably isn’t a machine that’s likely to come the way of most Hackaday readers. The device that played such a vital role in taking astronauts to the Moon and bringing them home again is hardly a common find, even if it is one of the most iconic machines of its type and era.

[Carl Claunch] was approached to assist in the restoration of an AGC, and while he can’t reveal any information about its owner he is at liberty to document his progress. The result is a fascinating in-depth technical examination of the device over multiple blog posts, and is well worth a read for anyone with an interest in the Apollo program. It’s an ongoing progression of blog posts that are probably too numerous to list individually, but include the construction of a substitute for the DSKY control panel as well as looking at the device’s memory and construction. [Carl] then embarks on a series of posts looking at the restoration itself. This is where we see the computer in greatest detail, and learn the most about it.

If you think you might have seen [Carl]’s name here before, you’d be right. One of his past exploits was getting the first version of FORTH running on an IBM mainframe.

Books You Should Read: Sunburst and Luminary, an Apollo Memoir

The most computationally intense part of an Apollo mission was the moon landing itself, requiring both real-time control and navigation of the Lunar Module (LM) through a sequence of programs known as the P60’s. Data from radar, inertial navigation, and optical data sighted-off by the LM commander himself were fed into the computer in what we’d call today ‘data fusion.’

The guy who wrote that code is Don Eyles and the next best thing to actually hanging out with Don is to read his book. Don’s book reads as if you are at a bar sitting across the table listening to his incredible life story. Its personal, hilarious, stressful, fascinating, and more importantly for those of us who are fans of Hackaday, it’s relatable.

Continue reading “Books You Should Read: Sunburst and Luminary, an Apollo Memoir”

Margaret Hamilton Takes Software Engineering To the Moon and Beyond

If you were to create a short list of women who influenced software engineering, one of the first picks would be Margaret Hamilton. The Apollo 11 source code lists her title as “PROGRAMMING LEADER”. Today that title would probably be something along the line of “Lead software engineer”

Margaret Hamilton was born in rural Indiana in 1936. Her father was a philosopher and poet, who, along with grandfather, encouraged her love of math and sciences. She studied mathematics with a minor in philosophy, earning her BA from Earlham College in 1956. While at Earlham, her plan to continue on to grad school was delayed as she supported her husband working on his own degree from Harvard. Margaret took a job at MIT, working under Professor Edward Norton Lorenz on a computer program to predict the weather. Margaret cut her teeth on the desk-sized LGP-30 computer in Norton’s office.

Hamilton soon moved on to the SAGE program, writing software which would monitor radar data for incoming Russian bombers. Her work on SAGE put Margaret in the perfect position to jump to the new Apollo navigation software team.

The Apollo guidance computer software team was designed at MIT, with manufacturing done at Raytheon. To say this was a huge software project for the time would be an understatement. By 1968, over 350 engineers were working on software. 1400 man-years of software engineering were logged before Apollo 11 touched down on the lunar surface, and the project was lead by Margaret Hamilton.
Continue reading “Margaret Hamilton Takes Software Engineering To the Moon and Beyond”

34C3: Ultimate Apollo Guidance Computer Talk

While it might not be as exciting as the Saturn V rocket itself, the Apollo Guidance Computer (AGC) was one of the most important developments of the entire Apollo program. While comically underwhelming compared to modern hardware, the AGC was nothing short of revolutionary when it was developed in the 1960’s. Before the AGC, the smallest computers were about the size of a refrigerator and consumed hundreds of watts; both big problems if you’re trying to pack them into a relatively tiny space capsule with limited resources. Not only did the AGC get humanity to the Moon and back, but it also redefined the state of the art for microcomputers, paving the way for the desktop systems of the 1970’s.

That said, the design and operation of the AGC is downright bizarre to modern eyes; it comes from a time of limitations we can hardly fathom. With this in mind, [Michael Steil] and [Christian Hessmann] put together “The Ultimate Apollo Guidance Computer Talk” for 34C3.

This hour-long presentation walks viewers through every aspect of not only the AGC itself, but how it interacted with the Saturn V rocket and the overall lunar mission. Even if you aren’t enough of a vintage computing aficionado to appreciate the complexities of core rope memory, the presentation gives a fascinating look at the gritty details of one of humanity’s greatest achievements.

Though very slick and easy to understand graphics, [Michael] and [Christian] break down the alien world of the AGC. Even if a lot of this part of the presentation goes over your head, just listen for the sounds of laughter or applause from the audience: that’s when you’re looking at something really off-the-wall.

Of particular note during this presentation is the explanation of how the astronauts actually interacted with the AGC. The AGC’s display and keyboard (referred to as DSKY) may seem rather obtuse even to those who used to hack on a VT100, but [Michael] and [Christian] explain how it’s not quite as complex as it seems. Comparing the input and output of the DSKY with what we would see on a more contemporary command line interface, the presentation makes the case that it’s actually a very straightforward way of talking to the computer.

There’s also a complete breakdown of the different phases of the Apollo mission from launch to landing, explaining what the AGC would be doing at any given time. The DSKY is overlaid on actual footage from the Apollo missions, giving a unique perspective as to what the astronauts would see on their computer during iconic moments such as stage separation or lunar touchdown.

If this presentation has you hungry for more Apollo-era computer technology, we’ve covered plenty of projects to keep you occupied. From building a replica DSKY to leisurely paging through the printed version of the AGC’s source code.

Grace Hopper, Margaret Hamilton, Richard Garwin Named for Medal of Freedom

Somewhat hidden among athletes, actors, and musicians, three giants of technology have been aptly named as 2016 Presidential Medal of Freedom recipients. Grace Hopper, Margaret Hamilton, and Richard Garwin all made significant contributions to the technology that envelops our lives and embody the quest for knowledge and life-long self learning that we’d like to see in everyone.

Commodore Grace M. Hopper, USN (covered).

Rear Admiral Grace Hopper’s legacy lies with the origins of computer science. She wrote the first compiler. In a time when computers were seen more as calculating machines than easily adaptable frameworks she looked to the future and made it happen. She continued to make huge contributions with lasting effect in developing COBOL, unit testing methods for programmers, and in education. We have long loved her explanation of a nanosecond (and why software engineers shouldn’t waste cycles) and was one of the first to program on the Harvard Mark I which can still be seen in the lobby of the school’s engineering building.

margaret_hamilton_1995As Director of Apollo Flight Computer Programming, Margaret Hamilton is the driving force behind the software of Apollo. When the program started, she was Director of Software Engineering at MIT Instrumentation Laboratory. Originally there wasn’t a plan or budget for software in the space program. Hamilton built the program and led the team who wrote the software and turned it into punch cards to be fed into the computer. We enjoyed reading about some of her adventures during the Apollo project, her drive to develop pristine code is palpable. Over the past year we’ve marveled at the rope memory of the Apollo Guidance Computer and delighted when a hardcopy of AGC software showed up at a party. Her legacy at having written the code for the first portable computer — one that happened to land on the moon and return home safely — is incredible.

richardgarwin1980Physicist Richard Garwin’s name is most associated with the first hydrogen bomb design. But another part of his work is more likely to have directly touched your life: his research into spin-echo magnetic resonance helped lead to the development of Magnetic Resonance Imaging. MRIs have of course become a fundamental tool in medicine. Garwin studied under Fermi during his doctoral work — you may remember Fermi from our look at the Fermiac analog computer last year.

Congratulations to these three recipients, their recognition is incredibly well deserved. We’d love to hear about some of your own technology heroes. Let us know on the tips line so that we may help celebrate their accomplishment and inspire the next generation of giants.

Image Credits:

Decoding Rediscovered Rope Memory From the Apollo Guidance Computer

On August 25th, 1966, an Apollo Command Module was launched aboard a Saturn IB rocket in mission AS-202. This mission was intended to immediately precede the ill-fated Apollo 1 mission, the AS-202 was unmanned, serving as a test of flight hardware, fuel cells, and the guidance and navigation control systems. This mission used the first Apollo Guidance Computer ever flown, and this mission was vital to testing the computer that would take men to the moon.

While the software from the later missions exists and is available on Github, the earlier Block I spacecraft, including the unmanned Apollo 4 and Apollo 6 missions, are poorly documented. [Francois Rautenbach] was lucky enough to get his hands on the rope memory modules from the AS-202 mission. Now he’s investigating these modules with oscilloscopes and x-rays to recreate some of the first software that was flown in space.

The procedure to extract the data from these rope memory modules is a bit harder than reading a bit of Flash off a chip. Rope memory is weird, but with a contraption made out of a lot of relays and an oscilloscope, [Francois] was able to capture data from these memory modules.

Of course, [Francois] first needed to figure out the pinout for the gigantic backplane connector on each of these memory modules. To do that, he checked out a Block II AGC, read the schematics very carefully, and reverse engineered a connector that isn’t made anymore. The next step was x-raying the rope memory modules to see how they were assembled. Even though these memory modules contain the only extant copy of the Block I AGC software, even reading one bit off of these modules is an amazing case of technological archeology.

The answer to the obvious question — where did these modules come from — is exactly what you would expect. These memory modules were picked up off a scrap heap forty years ago. The gentleman who found these modules was kind enough to give them to [Francois]. Check out the videos below for [Francois]’ video logs. If you’re into slightly more destructive testing of forgotten Apollo flight hardware, [Fran Blanche] tore down a few modules from the Apollo Launch Vehicle Digital Computer a few years ago.

Thanks to [Vincent], [Danie], and [Kent] for jumping on this one and sending it into the tip line.
Continue reading “Decoding Rediscovered Rope Memory From the Apollo Guidance Computer”

Don Eyles Walks Us Through the Lunar Module Source Code

A couple weeks ago I was at a party where out of the corner of my eye I noticed what looked like a giant phone book sitting open on a table. It was printed with perforated green and white paper bound in a binder who’s cover looked a little worse for the wear. I had closer look with my friend James Kinsey. What we read was astonishing; Program 63, 64, 65, lunar descent and landing. Error codes 1201, 1202. Comments printed in the code, code segments hastily circled with pen. Was this what we thought we were looking at? And who brings this to a party?

Continue reading “Don Eyles Walks Us Through the Lunar Module Source Code”