If you’ve heard of core rope memory, it will probably be in the context of vintage computing equipment such as Apollo-era NASA hardware. A string of magnetic cores and sense wires form a simple ROM arrangement, which though long-ago-superceded by semiconductor memory remains possible to recreate by the experimenter. It’s a path [Nicola Cimmino] has trodden, as he’s not only made a few nibbles of core rope memory, but incorporated it with an Arduino as part of one of the most unusual LED flashers we’ve ever seen. The memory holds a known sequence of bits which is retrieved in sequence by the Arduino, and the LED is kept flashing as long as the read values conform to those expected.
The memory itself is simple enough (and not to be confused with magnetic core memory). The cores are ferrite rings that form a sequence of small transformers that become the bits of the memory. Individual bits are set high or low by either passing a sense wire through a core to create a primary, or bypassing it. Multiple sense wires can be used for separate nibbles in the same cores, so for example his four nibbles all share the same four cores. Pulses are sent down the wires, either passing through a core or not, and equivalently picked up or not on sense lines.
In this case the sense wire is driven directly to ground by Arduino pins which means that the circuit is relying upon the current limiting of the ATmega328 to avoid destroying itself, it’s possible we’d add a driver transistor. The bits are read meanwhile from the secondary windings through a diode rectifier and capacitor to an Arduino analogue pin.
Core memory has been paired with an Arduino before on these pages, though of the RAM variety.
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”