What do you do when you’ve bought some old Soviet core memory modules on eBay? If you are [CuriousMarc], you wire it up to some test connectors and use your test bench to see if the core memory still works. Spoiler alert: it does.
While it seems crude by today’s standard, there was a time when these memory modules would have been the amazing miniature tech of their day. Each little magnetic torus represents a bit and the modules have 1,024 and 4,096 tiny little donuts strung together in a grid.
Longtime followers of [Ken Shirriff’s] work are accustomed to say asking “Where does he get such wonderful toys?”. This time around he’s laid bare the guidance computer from a Titan missile. To be specific, this is the computer that would have been found in the Titan II, an intercontinental ballistic missile that you may remember as a key part of the plot of the classic film WarGames. Yeah, those siloed nukes.
Amazingly these computers were composed of all digital logic, no centralized controller chip in this baby. That explains the need for the seven circuit boards which host a legion of logic chips, all slotting into a backplane.
But it’s not the logic that’s mind-blowing, it’s the memory. Those dark rectangles on almost every board in the image at the top of the article are impressively-dense patches of magnetic core memory. That fanout is one of two core memory modules that are found in this computer. With twelve plates per module (each hosting two bits) plus a parity bit on an additional plate, words were composed of 25-bits and the computer’s two memory modules could store a total of 16k words.
This is 1970’s tech and it’s incredible to think that when connected to the accelerometers and gyros that made up the IMU this could use dead reckoning to travel to the other side of the globe. As always, [Ken] has done an incredible job of walking through all parts of the hardware during his teardown. He even includes the contextual elements of his analysis by sharing details of this moment in history near the end of his article.
In a great display of one hacker’s work being the base for another’s, [Andy] started out with [Jussi Kilpelainen]’s core memory shield for Arduino. As he was playing with the shield he had a desire to “see” the core memory flipping and got the idea to add an LED matrix aligned behind the individual cores.
The first iteration worked, but it only showed the state that the Arduino believed the core memory to be in. What he really wanted was a live read on the actual state. He realized that an Adafruit Featherwing 8×8 matrix display also fits behind the core memory. Now the LEDs update based on the read state of the core memory. This allows him to flip the individual bits with a magnetic stylus and see the result. Very cool.
You can see a video of it working after the break.
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.
The Apple MagSafe power connector is long gone from their product line, but that doesn’t mean that magnetic connectors aren’t without their charms. It just takes the right application, and finding one might be easier with these homebrew magnetic connectors.
We’ll admit that the application that [Wesley Lee] found for his magnetic connectors is perhaps a little odd. He’s building something called Linobyte, a hybrid art and electronics project that pays homage to computing history with very high-style, interactive core memory modules. The connectors are for the sense wire that is weaved through the eight toroids on each module, to program it with a single byte. Each connector has a 3D-printed boot that holds a small, gold-plated neodymium magnet with the sense wire soldered to it. A socket holds another magnet to the underside of a PCB. The magnet in the boot sticks to the PCB and makes contact with pads, completing the circuit. We know what you’re thinking: heating a magnet past the Curie point is a great way to ruin it. [Wesley] admits that happens, but it just makes the connection a little weaker, which works for his application. The short video below shows how he puts them together.
Linux programs, when they misbehave, produce core dumps. The reason they have that name is that magnetic core memory was the primary storage for computers back in the old days and many of us still refer to a computer’s main memory as “core.” If you ever wanted to have a computer with real core memory you can get a board that plugs into an Arduino and provides it with a 32-bit core storage. Of course, the Arduino can’t directly run programs out of the memory and as designer [Jussi Kilpeläinen] mentions, it is “hilariously impractical.” The board has been around a little while, but a recent video shined a spotlight on this retro design.
Impractical or not, there’s something charming about having real magnetic core memory on a modern CPU. The core plane isn’t as dense as the old commercial offerings that could fit 32 kilobits (not bytes) into only a cubic foot. We’ll leave the math about how much your 8-gigabyte laptop would have to grow to use core memory to you.
Lately, [Ken Shirriff] has been on some of the most incredible hardware adventures. In his most recent undertaking we find [Ken] elbow-deep in the core memory of a 50-year-old machine, the IBM 1401. The computer wasn’t shut down before mains power was cut, and it has refused to boot ever since. The culprit is in the core memory support circuitry, and thanks to [Ken’s] wonderful storytelling we can travel along with him to repair an IBM 1401.
From a hardware standpoint core memory makes us giddy. It’s a grid of wires with ferrite toroids at every intersection. Bits can be set or cleared based on how electricity is applied to the intersecting wires. [Al Williams] walked through some of the core memory history last year and we enjoyed hearing [Pamela Liou] recount the story of how textile workers consulted on the fabrication of core memory for the Apollo missions during her OHWS Talk in October. But giddiness aside, core memory has pretty much gone the way of the dodo having been displaced by technologies that take up exponentially less space.
We chuckle at [Ken’s] mention of the core memory capacity for the IBM 1401. It has 4000 characters of memory built-in (with another 12,000 in an expansion box) and he goes on to detail that these are 6-bit characters on a machine that operates in decimal and not binary (hence 4k instead of the base-2 friendly 4096).
You may remember his work a few years back to repair core memory on the same model. The Museum has two 1401’s, which turned out to be a huge help in trouble-shooting this. After tracing out the control lines, the repair team began swapping cards between the working and non-working machines. They were able to bring it back online — establishing one of the green inductors was bad — only to be struck with a second fault in the power supply.
Get this, [Ken] comments that “the whole computer is pre-silicon”. When working through the PSU, some suspect transistors were replaced with germanium power transistors. Those may have been a red-herring, as a penciled-in fuse on the original schematics turned out to be the linchpin of the PSU repair. Buried deep in the assembly, replacing the designed-to-fail part let the ancient beast awake once more.
Machines of this quality were heavily documented, and the schematics make this type of trouble-shooting a lot more manageable. But it’s still as much an art as it is skill. Make sure to give [Ken’s] article a read, and look around at the other repair jobs he’s documented — keeping these machines in service is becoming wizard-level work and we love being able to follow along.