Software as Hardware: Apollo’s Rope Memory

Programs for the Apollo Guidance Computer were encoded by painstakingly threading wires through tiny magnetic cores


Alan Kay, the pioneering computer scientist, has observed that “hardware is really just software crystallized early.” The rope memory device shown here, a prototype created in 1963 by Burroughs Corp. [PDF], makes Kay’s point. In rope memory, bits of information are represented by threads of wire and tiny doughnut-shaped magnetic cores. A core with wire threaded through the center represents a 1; an empty core represents a 0. In this way, the pattern of wires can form a computer program—software crystallized as hardware, in other words.

This prototype was used to evaluate the technology for the Apollo missions to the moon. During the missions themselves, rope memory served as the Apollo Guidance Computer’s “fixed memory,” containing the navigation and guidance software that, in 1969, landed humans on the moon for the first time. Factory workers, usually women, painstakingly encoded each bit of information by hand. This excellent NASA/MIT film from 1965, Computer for Apollo, demonstrates how rope memory was manufactured:

The supervisors responsible for overseeing the careful integration of changes and additions to the software were known as “rope mothers,” regardless of their actual gender identity. The rope mother’s boss, though, was a woman: Margaret Hamilton. Before Apollo, Hamilton worked as a programmer at MIT’s Lincoln Laboratory on the Semi-Automatic Ground Environment (SAGE) air-defense system. After MIT won the contract to supply the guidance and navigation system for Apollo, Hamilton got a job working on the systems software, and she eventually led the team that created the onboard flight software.

One of Hamilton’s chief contributions to Apollo was to devise a way to deal with computer errors. As Hamilton recounted in a 2016 interview with the Computer History Museum, she was motivated by the fact that people’s lives depended on her work:

I started worrying about the astronauts. It worried me, what if there’s an emergency and they didn’t know it?... What I wanted to do was to interrupt the astronauts to tell them there’s an emergency, so they’d stop doing what they’re doing…. I came back with a solution the next day…. The hardware guys got behind it, they put the stuff into their hardware. And then the Houston guys put it into their checklist for the astronauts. They practiced. So it’s in there for both the LEM [Lunar Module] and the command module in case there’s an emergency, whatever it might be.

Hamilton’s foresight proved invaluable during Apollo 11. Minutes before the crew was to land on the moon, the software issued an alarm, alerting the astronauts as well as Mission Control back in Houston that the guidance computer had become overloaded and was therefore shedding lower-priority tasks to focus on steering the descent engine and providing landing information to the crew. Thanks to the error-detecting-and-correcting mechanisms that Hamilton had devised, the landing, rather than being scuttled, could proceed.

This article appears in the October 2017 print issue as “Memory for the Moon.”

Part of a continuing series looking at photographs of historical artifacts that embrace the boundless potential of technology.

About the Author

David C. Brock is director of the Center for Software History at the Computer History Museum, in Mountain View, Calif.