
Launch of the Apollo 11 mission. (Image Credit: NASA)
Before launching, the Apollo 11 software had to become physical. It wasn’t electronically written into its computer. After programmers wrote and verified the software, the binary instructions were converted into the physical memory hardware installed in the Apollo Guidance Computer.
Developed by the MIT Instrumentation Laboratory, the computer used flight software written in assembly language and a special interpretive language. Programmers would input their code on punch cards, and it printed an output from the mainframe that handled the assembly and testing. According to MIT, after finalizing a flight version, the binary data was used to produce the computer’s fixed memory.
Women encoded that data at a Raytheon facility. They wove thin copper wires through magnetic cores and around others. Passing a wire through a core represented a binary 1. Meanwhile, routing a wire around a core represented a binary 0. They called this core-rope memory. Machinery was controlled by punched paper tape to position the cores according to the program as workers threaded the wires. When they completed the wiring, memory modules underwent testing against the tape-encoded program to confirm whether the physical memory matched the software.
The fixed memory featured six modules, each with 512 cores and 192 sense wires. Together, the six modules formed 589,825 bits (73,728 bytes), which is the 72 KB of ROM for the Apollo Guidance Computer. The manufacturing process is called tape-controlled semiautomatic. Thanks to its nonvolatile nature, all stored data remained intact even if the computer wasn’t turned on. Physical wiring ensured the program couldn’t be overwritten during operation. However, any modifications would also require physically rewiring the memory.
Those who performed the assembly work were mostly women, including workers who had a background in the region's textile industry. They had to be very precise, as a misplaced wire could change the binary data and produce an incorrect instruction or constant. They had a different role from Margaret Hamilton and the MIT team that wrote and tested the flight software. At Raytheon, the binary code was physically built into the computer’s permanent memory.
Additionally, the Apollo Guidance Computer needed storage that could be updated during a mission. Along with the 36,864 words of fixed memory, it had 2,048 words of erasable magnetic-core memory for data changes, including position, intermediate calculations, and velocity. The program and its constants stayed in the fixed core rope.
That system design was important during the lunar descent of Apollo 11. Its computer issued 1201 and 1202 alarms after the rendezvous radar processing demands took up too much computation time. Instead of failing, the priority-driven software restarted essential work and dropped low-priority tasks. That way, critical guidance operations would continue while suspending non-critical radar processing.
Even though Apollo’s software contained abstract instructions, they had a physical presence. All the finalized bits needed to be represented by wire and magnetic cores before flying the program.
Have a story tip? Message me here at element14.