Core Memory Shield for ArduinoThis is a DIY kit for building a 32-bit ferrite core memory. Magnetic-core memories were the predominant form of computer memory from the mid-50s until the mid-70s. They work by storing information into the magnetic field of a ferrite core. It is non-volatile, meaning that it preserves its contents even when power is turned off. However, this type of memory is power-hungry, requires a lot of space and needs to be protected from strong magnetic fields. Also the process of reading the memory destroys its contents so that every read must be followed with a write. To make a long story short, this is a hilariously impractical memory extension shield for your 3.3V / 5V Arduino. When you have completed building this kit you have your very own piece of computing history in your hands.
Previously, previously, previously, previously, previously.
I used Magnetic FRAM in an Arduino project. It's inexpensive, practical, and available for SPI or I2C.
https://www.adafruit.com/product/1897
"It's inexpensive, practical, and available for SPI or I2C."
That whooshing sound was the point of this core memory project sailing far above your head.
Sorry if I was too telegraphic...the hack value of core (which I have both used for real and own) is undeniable, but note that the chip described above is ferromagnetic RAM as well, similar to core.
Thanks! That sounds much more practical.
This is magical
Also magical: Walking up to a completely powered off PDP-11/45, turning the keyswitch on, toggling in an address, flipping Load Address then Start, and watching the computer pick up right where it left off when the power was cut.
Of course for that to work the program needs to be written - even if unwittingly - to be restartable, since that start address represents state that won't be restored on power on. As the simplest example if your start routine initialises everything then toggling that back in will start from scratch.
What state does or does not survive power off depends not only on how data is stored but also on the approach taken to programming. Some speed running categories for video game consoles reset the console at points because that's faster e.g. IIRC Mario Kart 64 records immediately that you won a cup, but then plays a boring animation. If you physically reset you can play the next cup immediately.
I am now imagining speedrunning TECO on RSTS/E on a PDP-11.
It happened to me once when I was editing in teco on a PDP-8/e. The power went out for 20 minutes and I hadn't saved my file.
Luckily I knew that the code for the keyboard event handler started at 0001 (octal), so I set the PC to that and hit run. This was OK because the 8 did not have a hardware stack and the return address was whatever was left from previous interrupt. I ended up with one garbage character to delete.
Respect! Whilst at college I used TECO on a DECsystem10 running TOPS10. That made me a geek because the rest of the world was using SOS. And all on a 600 baud terminal in this very shade of green :-)
Much later than this (1989), I used a machine which would periodically fail in some awful way which required turning it off & on again. Quite often, when turned back on, it would make meaningful crash dumps. This turned out to be because whatever RAM technology (CMOS?) was fashionable at the time wluld, quite often, not rot away for minutes after power was removed.
Back in the 80's and early 90's we were decommissioning a bunch of AT&T 1A telephone switches that had a similar technology, crosspoints of ferrous wires that held bits of memory. There was a huge ass shelf containing sheets of this stuff, it was kind of cool. Here's a video of how they were made: https://youtu.be/CJ7eWZBBnhs
The hardest components to source in this kit are the magnetic tori (donuts) in that suspended matrix on the left. I wonder whether those are still being manufactured. Most likely salvaged from old 70s era equipment.
I had a 512 bit core memory in my little office museum and noticed that the tori had disintegrated on one side of the array. Certainly not due to power. What ate it away? Humidity? Bugs? JavaScript?