Het restaureren van oude computers, het terugvinden van verloren gewaande software en het documenteren van het hele proces is een titanische missie, hoe je het ook bekijkt. De inspanningen voor conservering worden steeds complexer en vergen tot de laatste druppel creativiteit. Zo kwamen we CROOK tegen, een besturingssysteem van Poolse afkomst dat werd gered van vijf magneetbanden na een zware strijd met oude coderingsstandaarden, Arduino-hardware en een enorme dosis Python.
De informatica aan de andere kant van het IJzeren Gordijn moest het opnemen tegen haar eigen demonen. De meeste beschikbare systemen waren kopieën van westerse computers die de ene na de andere standaard doorbraken, en lokale ontwerpen raakten verstrikt in bureaucratische conflicten of politieke geschillen. Helaas zijn wij het die de gevolgen dragen, want wanneer het aankomt op het redden en conserveren van deze platforms, kom je dicht bij een nachtmerrie. Stel je alle ontwerpen voor die door de tijd zijn opgeslokt, en de programma's die verloren zijn gegaan. Uren en uren code geschreven door experts uit die tijd. Zonder kopieën, zonder back-ups. Gelukkig is wat we vandaag delen een verhaal met een goede afloop: de wederopstanding van CROOK, een Pools besturingssysteem.
De reddingsoperatie
Een team bestaande uit het Museo dell’Informatica Funzionante en de portal Mera400.pl wist CROOK te herstellen na de inhoud van vijf magneetbanden te hebben geëxtraheerd. Het verhaal gaat terug tot mei 2015, toen programmeur Jakub Filipowicz begon aan zijn werk aan een emulator van de MERA-400-computer, de 'herimplementatie' van de K-202-minicomputer ontworpen door de Poolse ingenieur Jacek Karpiński begin jaren '70. Filipowicz's probleem was dat hij geen toegang kon krijgen tot een kopie van CROOK, maar toen hij de vijf banden ontdekte in het Museum voor Technologie in Warschau, stuurde hij ze naar Andrea 'Mancausoft' Milazzo om te proberen ze te lezen. Toen ontstonden er andere problemen: de banden waren in 1990 opgenomen, en hun staat was uitstekend, maar de 'header' was geschreven in 800 bits per inch NRZ (Non-Return-to-Zero), wat een pauze veroorzaakte in de IBM 9348-schijfeenheid van het Italiaanse museum, die alleen 1.600 / 3.250 BPI leest.
De oplossing
In eerste instantie probeerden ze de gegevens rechtstreeks van de leeskop te halen met behulp van een Arduino Mega, en daarna schakelden ze over op een logische analyser met zestien kanalen, met de software geschreven in Python door Filipowicz zelf. Deze laatste stap was de meest elegante van allemaal, omdat het programma elke magneetband kan lezen, ongeacht het aantal bits per seconde, de snelheid en de codering. Met enkele extra aanpassingen waren ze in staat om alle inhoud zonder fouten te extraheren. Wat vonden ze? Vier verschillende versies van CROOK, het oorspronkelijke SOK-1-besturingssysteem van de K-202, een 8080-simulator, BASIC voor K-202/MERA-400, een intact beeld van CROOK-3, en een gigantische hoeveelheid broncode. Kortom: er was genoeg voor één kopie van CROOK, maar ze hebben het hele ontwikkelingsproces gered.