Restoring a decades-old mainframe to working condition is impressive enough, but keeping it running is even more impressive. Back in 2004, the Computer History Museum in Silicon Valley acquired an IBM 1401 mainframe, a workhorse of the 1960s. After years of effort, volunteers triumphed over broken wires and corroded parts to restore the machine, along with a second 1401 acquired in 2008.
IEEE Spectrum covered the restoration back in 2009, but it turns out this was just the beginning of the volunteers’ labors: Maintaining the two mainframes, along with critical peripherals such as the 1403 printer, has proved to be an ongoing saga. Every time something breaks down, the result is typically a fascinating flurry of physical forensics, historical research, and crafty fixes. You can keep tabs on this heroic engineering battle by following volunteer Ken Shirriff’s Twitter account.
Photo: Ken Shirriff
The most recent fail-and-fix was when one system’s insanely complicated bank of power supplies stopped working:
The vintage IBM 1401 at @ComputerHistory wouldn't turn on. The many power supplies in the computer, card reader and memory unit are carefully powered on in sequence by complex relay logic. After measuring lots of voltages, we found bad contacts on relay #1. Now the computer works pic.twitter.com/oKjjE7V9ml— Ken Shirriff (@kenshirriff) 1 November 2018
I emailed Shirriff to find out why he and the rest of the team are putting so much effort into keeping these obsolete mainframes ticking:
It’s a way of keeping history alive. For museum visitors, seeing the IBM 1401 in operation gives them a feeling for what computers were like in the 1960s, the full experience of punching data onto cards and then seeing and hearing the system processing cards. Keeping the computer running also provides technical insights; you need to learn the details of how the hardware worked. You quickly find the differences between how you thought the system works and how it really works. Finally a working computer helps preserve old software.
Is it frustrating that the machines keep breaking?
So far, things are breaking slowly enough that we can keep up, so it’s more of a challenge than an annoyance. I find electronic problems more interesting than mechanical issues, so I would get frustrated if I needed to keep up with the card reader's constant need for mechanical adjustments. Fortunately, other members of the team are good at keeping the card reader working.
Shirriff’s fellow volunteer, Robert Garner, noted in a separate email that “a germanium transistor fails about once every couple of months (every 4 months per 1401).”
Finally, I asked Shirriff what’s the most interesting/fun thing he’s learned working on this project:
Many things that we take for granted are done very differently in old computers. For instance, the IBM 1401 uses 6-bit characters, not bytes. It used decimal memory addressing, not binary. It’s also interesting how much people could accomplish with limited resources, running a Fortran compiler on the 1401 with just 8K of memory. Finally, working on the 1401 has given me a deeper understanding of how computers really work. It's not a black box; you can see the individual transistors that are performing operations and each ferrite core that stores a bit.
So follow Shirriff online to find out what devilment the 1401s have next in store for the team—or better yet, visit them in person, where you’re almost certain to see a working demo. “By having two complete systems, we’ve been able to run the public demo twice weekly since November 2013, with only one day where both systems were down (not counting a day when the museum had no electricity). That’s an availability metric of 99.8 percent!” says Garner.
Stephen Cass is the special projects editor at IEEE Spectrum. He currently helms Spectrum's Hands On column, and is also responsible for interactive projects such as the Top Programming Languages app. He has a bachelor's degree in experimental physics from Trinity College Dublin.