Przywracanie starych komputerów, odzyskiwanie oprogramowania uznanego za utracone i dokumentowanie całego procesu to tytaniczne zadanie, niezależnie od tego, jak na nie patrzeć. Działania na rzecz zachowania dziedzictwa cyfrowego stają się coraz bardziej złożone i wymagają ostatniej kropli kreatywności. W ten sposób trafiamy na CROOK, system operacyjny polskiego pochodzenia, który został uratowany z pięciu taśm magnetycznych po ciężkiej walce ze starymi standardami kodowania, sprzętem Arduino i ogromną dawką Pythona.

CROOK: Odzyskiwanie polskiego systemu operacyjnego z taśm magnetycznych
CROOK

Tło historyczne

Informatyka po drugiej stronie muru musiała zmagać się z własnymi demonami. Większość dostępnych systemów była kopiami zachodnich komputerów, które łamały jeden standard za drugim, a lokalne konstrukcje pozostawały w potrzasku biurokratycznych konfliktów i politycznych sporów. Niestety, to my ponosimy tego konsekwencje, bo podczas ratowania i zachowania tych platform przeżywamy coś w rodzaju koszmaru. Wyobraźcie sobie wszystkie projekty, które pochłonął czas, oraz programy, które zostały utracone. Godziny i godziny kodu napisanego przez ówczesnych ekspertów. Bez kopii, bez kopii zapasowych. Na szczęście to, co dziś mamy do podzielenia się, to historia ze szczęśliwym zakończeniem: zmartwychwstanie CROOK, polskiego systemu operacyjnego.

Zespół złożony z Museo dell’Informatica Funzionante oraz portalu Mera400.pl zdołał odzyskać CROOK po wyodrębnieniu zawartości pięciu taśm magnetycznych. Historia sięga maja 2015 roku, kiedy programista Jakub Filipowicz rozpoczął pracę nad emulatorem komputera MERA-400, będącym reimplementacją minikomputera K-202 zaprojektowanego przez polskiego inżyniera Jacka Karpińskiego na początku lat 70. Problem Filipowicza polegał na tym, że nie mógł uzyskać dostępu do kopii CROOK, ale po odkryciu pięciu taśm w Muzeum Techniki w Warszawie wysłał je do Andrei "Mancausofta" Milazzo, aby spróbował je odczytać. W tym momencie pojawiły się kolejne problemy: taśmy zostały nagrane w 1990 roku, a ich stan był doskonały, jednak nagłówek zapisano z gęstością 800 bitów na cal w standardzie NRZ (Non-Return-to-Zero), co spowodowało przerwę w napędzie IBM 9348 w włoskim muzeum, który odczytuje tylko 1600/3250 BPI.

CROOK: Odzyskiwanie polskiego systemu operacyjnego z taśm magnetycznych
Na koniec mieliśmy dużo szczęścia

Początkowo próbowano pozyskać dane bezpośrednio z głowicy czytającej za pomocą Arduino Mega, a następnie przeszli do analizatora logicznego z szesnastoma kanałami, z oprogramowaniem napisanym w Pythonie przez samego Filipowicza. Ten ostatni krok był najciekawszy, ponieważ program potrafi odczytać dowolną taśmę magnetyczną, niezależnie od liczby bitów na sekundę, prędkości i kodowania. Po dodatkowych poprawkach udało im się wydobyć całą zawartość bez błędów. Co znaleźli? Cztery różne wersje CROOK, oryginalny system operacyjny SOK-1 z K-202, symulator 8080, BASIC dla K-202/MERA-400, nienaruszony obraz CROOK-3 oraz ogromną ilość kodu źródłowego. Krótko mówiąc: wystarczyłaby jedna kopia CROOK, ale oni uratowali cały proces jego tworzenia.

CROOK: Odzyskiwanie polskiego systemu operacyjnego z taśm magnetycznych
Wiedza tych ludzi jest imponująca

Oficjalna strona: