At the Core of Computing

HX2003 built a 512-bit magnetic core memory system, reviving a 1950s technology for today's vintage computer enthusiasts to experiment with.

nickbild
about 2 months ago Retro Tech
A DIY 512-bit magnetic core memory system (📷: HX2003)

Repairing and modifying vintage computers is a fun way to learn more about computer engineering without having to deal with the tremendous complexities of modern systems. Most enthusiasts consider the era of modern computing to have begun in the 1970s with the introduction of microprocessors. While these early computers are quite different from the powerful machines of today, if you squint, you can see a very similar architecture. There is the CPU at the center of the system, memory chips, a video chip, I/O devices, and so on.

But computing did not begin with the introduction of the first microprocessor or integrated circuit. The history of computers from before that time is decidedly stranger to the modern eye, filled with electromechanical beasts that whirred and clicked their way through calculations, and alien-looking memory banks. If one wants to really understand how computers work and how we got to where we are today, this history should not be ignored.

A driving circuit for an array of magnetic cores (📷: HX2003)

A Singaporean hardware hacker that goes by the handle HX2003 just completed an interesting project that digs into the distant past of computing history. The result is a 512-bit magnetic core memory system that operates at a no-so-blistering speed of 200 kHz. For those unfamiliar with magnetic core memory, it was a popular technology in the 1950s through the early 1970s. It consists of rings of a hard magnetic material that are magnetized in a particular direction by an electric current. The direction of the magnetic field in a ring can be read and interpreted as a zero or a one, allowing it to act as one bit of memory.

HX2003’s design is structured as two 16x16 core memory matrices, with two bits stored per addressable word. Writing to the magnetic cores is done by using coordinated current pulses through a grid of wires that connect to them. Reading the state of a core is done with sense wires. These wires pick up tiny voltage changes when a core switches state.

To improve accuracy and allow for scaling, HX2003 implemented a coincident current scheme, using X and Y drive wires to select specific cores with combined currents. A clever reuse of the sense wire as an inhibit line during writes allows multiple core groups to share driver lines without unwanted interference, which is necessary for expanding memory size while avoiding unintended bit flips.

The sense wire was threaded in different ways to find the best option (📷: HX2003)

An RP2040 microcontroller generates the precise waveforms needed for control. It also played a role in the system’s testing, which included image writing and classic memory diagnostic routines. These tests confirmed stable performance over many gigabytes of data without a single error.

This is quite an involved project, so anyone that is interested in recreating it has to really want it. If you are one of those people and do not mind putting in the effort to get your hands on some magnetic core memory, HX2003 has written up a fairly extensive guide that will help you along the way.

nickbild

R&D, creativity, and building the next big thing you never knew you wanted are my specialties.

Latest Articles