DIY Core Rope Memory Z80 Demonstrator Generating A Fibonacci Sequence

We’ve seen a few retro products using core rope memory, such as telephone autodiallers. Obviously, we’ve covered the Apollo program computers, but we don’t think we’ve seen a complete and functional DIY computer using core rope memory for program storage until now. [P-lab] presents their take on the technology using it to store the program for a Z80-based microprocessor demoboard, built entirely through-hole on a large chunk of veroboard.

For the uninitiated, core rope memory is a simple form of ROM where each core represents a bit in the data word. Each wire represents a single program location. Passing a wire through the core sets the corresponding bit to a logic 1, else 0. These wires are excited with an AC waveform, which is coupled to the cores that host a wire, passing along the signal to a pickup coil. This forms an array of rudimentary transformers. All that is needed is a rectifier/detector to create a stable logic signal to feed onto the data bus.

Continue reading “DIY Core Rope Memory Z80 Demonstrator Generating A Fibonacci Sequence”

Build Your Own Core Rope Memory Module?

[Luizão] wanted to create some hardware to honour the memory of the technology used to put man on the moon and chose the literal core of the project, that of the hardware used to store the software that provided the guidance. We’re talking about the magnetic core rope memory used in the Colossus and Luminary guidance computers. [Luizão] didn’t go totally all out and make a direct copy but instead produced a scaled-down but supersized demo board with just eight cores, each with twelve addressable lines, producing a memory with 96 bits.

The components chosen are all big honking through-hole parts, reminiscent of those available at the time, nicely laid out in an educational context. You could easily show someone how to re-code the memory with only a screwdriver to hand; no microscope is required for this memory. The board was designed in EasyEDA, and is about as simple as possible. Being an AC system, this operates in a continuous wave fashion rather than a pulsed operation mode, as a practical memory would. A clock input drives a large buffer transistor, which pushes current through one of the address wires via a 12-way rotary switch. The cores then act as transformers. If the address wire passes through the core, the signal is passed to the secondary coil, which feeds a simple rectifying amplifier and lights the corresponding LED. Eight such circuits operate in parallel, one per bit. Extending this would be easy.

Continue reading “Build Your Own Core Rope Memory Module?”

Saving Apollo By Decoding Core Rope

One of our favorite retro hardware enthusiasts, [CuriousMarc], is back with the outstanding tale of preserving Apollo Program software, and building a core rope reader from scratch to do it. We’ve talked about [Marc]’s previous efforts to get real Apollo hardware working again, and one of the by-products of this effort was recovering the contents of the read-only core rope memory modules that were part of that hardware.

The time finally came to hand the now-working Apollo guidance computer back to its owner, which left the team without any hardware to read core rope modules. But the archive of software from the program was still incomplete, and there were more modules to try to recover. So, the wizardly [Mike Stewart] just decided to roll up his sleeves and build his own reader. Which didn’t actually work as expected the first time.

And this leads us into one of [Marc]’s elevator music explainers, where he gives a beautiful rundown on how core rope works. And if you are thinking of core memory based on ferrite cores, get ready for a brain stretch, as core rope is quite a bit different, and is even more complicated to read. Which brings us to the bug in [Mike]’s reader, which is actually a bug in the block II design of the core rope modules.

Reading a byte off the module requires setting multiple inhibit wires to select an individual core. An innovation in block II allowed those inhibit wires to run at half current, but it turns out that didn’t actually work as intended, and partially selected multiple cores on the other half of the module. And [Mike] forget to re-implement that bug — the reader needs to literally be bug-for-bug compatible. A quick recompile of the FPGA code makes everything work again. And the conservation effort can continue. Stay tuned for more in the Apollo story!

Continue reading “Saving Apollo By Decoding Core Rope”

Rope Core Drum Machine

One of our favorite musical hackers, [Look Mum No Computer] is getting dangerously close to building a computer. His quest was to create a unique drum machine, inspired by a Soviet auto-dialer that used rope core memory for number storage. Rope memory is the read-only sibling to magnetic core memory, the memory technology used to build some beloved computers back in the 60s and early 70s. Rope core isn’t programmed by magnetizing the ceramic donuts, but by weaving a wire through them. And when [Look Mum] saw the auto-dialer using the technology for a user-programmable interface, naturally, he just had to build a synth sequencer.
Continue reading “Rope Core Drum Machine”

Core Rope Memory Makes One Of The Oddest LED Flashers We’ve Ever Seen

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.

Making A Core Rope Read-only Memory

[Kos] tipped us about an article he made presenting his experiences in designing and implementing a core rope memory. This magnetic read-only memory (ROM), contrary to ordinary coincident-current magnetic core memories (used for RAM), uses the ferrite cores as transformers. If you look at the picture above, you’ll count 7 of them. This sets the memory word size (7bits).  A new word is added to the memory by passing (or not) a wire through the ferrite holes. If you then pass an alternating current through this wire, a current will be induced (or not) in the other wire turned 30 times around the ferrite (alias transformer secondary).

In [Kos]’s setup, an input pulse of 5V generates output pulses of 15V. For demonstration purposes, he “wrote” a simple program that lights up digits in a seven segment display. Therefore, different numbers will light up depending on which wire he uses to pass the AC current.

These days core memory hacks are few and far between. But looking at this one, and the one we saw in August, makes want more. If you know of any others don’t hesitate to send us a tip.