Restoring vintage computers, recovering software that was thought to be lost forever, and documenting the entire process is a titanic undertaking by any measure. Preservation efforts are becoming more complex than ever, demanding every last ounce of creativity. That's how we came across CROOK, a Polish operating system that was rescued from five magnetic tapes after a tough battle with old encoding standards, Arduino hardware, and a generous dose of Python.
Behind the Wall: Computing in the Eastern Bloc
Computing on the other side of the Iron Curtain had to fight its own demons. Most of the available systems were copies of Western computers that broke one standard after another, and local designs remained trapped in bureaucratic conflicts or political disputes. Unfortunately, we are the ones who pay the consequences of that, because when it comes to rescuing and preserving such platforms, it becomes something very close to a nightmare. Imagine all the designs that were consumed by time, and the programs that have been lost. Hours and hours of code written by experts of the era. No copies, no backups. Fortunately, what we have to share today is a story with a happy ending: the resurrection of CROOK, a Polish operating system.
The Rescue Mission
A team formed by the Museo dell’Informatica Funzionante and the portal Mera400.pl managed to recover CROOK after extracting the content of five magnetic tapes. The story goes back to May 2015, when programmer Jakub Filipowicz began work on an emulator for the MERA-400 computer, the "reimplementation" of the K-202 minicomputer designed by Polish engineer Jacek Karpiński in the early 1970s. Filipowicz's problem was that he couldn't access a copy of CROOK, but when he discovered the five tapes at the Museum of Technology in Warsaw, he sent them to Andrea "Mancausoft" Milazzo to try to read them.
At that point, other issues arose: The tapes were recorded in 1990, and their condition was excellent, but the "header" had been written at 800 bits per inch NRZ (Non-Return-to-Zero), causing a pause in the IBM 9348 unit of the Italian museum, which only reads 1,600 / 3,250 BPI.
At first they tried to obtain the data directly from the read head with the help of an Arduino Mega, and then they moved to a sixteen-channel logic analyzer, with software written in Python by Filipowicz himself. This last step was the most elegant of all, since the program can read any magnetic tape, regardless of bits per second, speed, and encoding. With several additional adjustments, they were able to extract all the content without errors.
What did they find? Four different versions of CROOK, the original SOK-1 operating system of the K-202, an 8080 simulator, BASIC for K-202/MERA-400, an intact image of CROOK-3, and a huge amount of source code. In summary: it was enough with one copy of CROOK, but they rescued their entire development process.