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.

For this to work as a ROM with the Z80, the address bus is decoded to 16 individual lines using a CMOS 4515 4-16 decoder. These lines each drive a 2n2222 NPN transistor, pulling one end of the associated address wire to ground. The other ends of all address wires are tied to a common AC-coupled oscillator based around our good friend, the 555 timer. A simple rectifier is formed for each core sense circuit with a BAT85 Schottky diode and a 1 nF capacitor, which passes the sense signal along to a CMOS 4508 dual 4-bit latch. The output of which is passed back to the Z80 data bus via some multiplexing logic. Other than some indicator LEDs on the data bus, the only other IO or indication on this board are a couple of 7-segment displays. Obviously, the ROM is limited to a meagre 16 bytes of storage, making a meaningful demo rather limited. Luckily, it’s possible to code a Fibonacci sequence generator in that space, including driving the output latch to update the display. We wonder now what else could be made to fit in such a restricted code?

We covered DIY core rope memories before, like here and here; they’re not news to us. Compare and contrast a DIY magnetic core memory. Less efficient at this scale? We think so, too.

thanks to [Giuseppe] and [Survival Hacking] for the tip!

14 thoughts on “DIY Core Rope Memory Z80 Demonstrator Generating A Fibonacci Sequence

  1. The one in the AGC is, as the video says, more complex to understand, but greatly simplifies the circuitry because the demultiplexing of the address is done directly by the wires, not requiring specific circuits for that. In exchange, read operation has to be done in two steps instead of one, like in this model.

    1. Exactly, thanks for the clarification! :-)

      Are you aware of any projects or initiatives to reproduce the operation -for educational purposes- of the “real” Core Rope memory? I am talking about real hardware, not simulations.

      That would be very interesting.

      Thank you!

        1. Nope. Since the AND and OR gates are complimentary, do everything as a differential pair. Then just swap the wires to invert the logic. Amplifying for fan out is the real limitation for diode-resistor logic.

  2. I think this is a neat project. Rope memory itself is just really cool anyway. I like programming assembly, but this just puts that to a new level by hard-wiring the bits of app :) .

  3. This is basically magnetic core memory, an obsolete technology that was the mainstay of computer memory until Intel developed solid state memory chips . Core memory was arranged in stacks of X-Y planes, each plane representing a bit in a word. I worked on a specialized computer made from TTL logic chips…It used 36 bit words and had a mammoth 8k word memory. Three eight foot tall racks full of backplanes of TTL circuit cards…..banks of linear 5 volt power supplies to feed those TTL chips.. 1970s technology. The nice thing about core memory was that it retained the program even when powered down. Clock cycle time was in the microsecond range. The programs were on punched mylar tape which was read by an optical tape reader and then stored in the core memory.

    1. This memory works on a different principle than the one you mentioned.
      The information here is not stored magnetically but in the wiring, and cannot be rewritten except by rewiring (if/when possible or applicable).
      But yes, it is still a fascinating old technology. :-)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.