Jak porównać cennik sprzed trzech dekad ze 175 obrazami dyskietek i nie oszukać samego siebie

*** Warsztat porównania z cennikiem BIW 1995 ***

Krótko: Do archiwum C64 Biura Informatyczno-Wydawniczego doszedł oficjalny cennik firmy z jesieni 1995. Pełne porównanie — co z oferty rozpoznaliśmy na dyskietkach, a czego szukamy — jest na retroportal.org: Cennik BIW z jesieni 1995 kontra 175 obrazów dyskietek. Tu jest to, czego tam nie ma: jak to policzyliśmy i co nam się po drodze nie udało.

Niecałe dwie godziny po premierze archiwum Łukasz z Polish Amiga Floppy Preservation Group — grupy, która odzyskała i zgrała te dyskietki — przysłał link do cennika BIW z 1995 roku, przepisanego w 2003 roku na Filety on-line, z pytaniem: ile brakuje do pełnej kolekcji? Odpowiedź w liczbach: ze 109 pozycji programowych 26 rozpoznaliśmy po nazwie, dla 9 mamy poszlaki, 74 nie rozpoznaliśmy. Z 30 pozycji działu gier — 3.

Ale liczby są łatwe. Trudne jest to, żeby znaczyły to, co się wydaje, że znaczą.

Co się liczy za „jest"

Pierwsza pułapka siedzi w jednostce. Cennik nie wymienia programów — wymienia pozycje oferty. „Gry S. Skrzyńskiego" to pięć gier pod jedną ceną, „Groch z kapustą" to dwanaście programów, „Sample FX" to zbiór sampli. Więc „109 programów" byłoby nieprawdą; jest 109 pozycji.

Druga pułapka: co znaczy, że coś „jest". Plik intro maker na dysku d069 i pozycja „INTRO MAKER" w cenniku to zgodność nazwy. Nie zgodność wersji: Sprite Master na dysku podpisany jest w kodzie jako „WERSJA 1.05.", a cennik sprzedaje „1.5" — ta sama rzecz czy inna, nie wiemy. Nie zgodność kompletności: Warsaw BASIC 3.2 cennik sprzedaje na cartridge'u — obrazy EPROM-ów leżą na dyskach (ustaliliśmy to 23.09), ale sam obraz pamięci to jeszcze nie kompletny produkt z płytką. Dlatego w porównaniu nie ma statusu „jest". Są trzy: rozpoznane po nazwie, rozpoznane po zawartości (poszlaki z zawartości lub dokumentacji, niewystarczające do rozpoznania zachowanego produktu) i nierozpoznane — co nie znaczy „nie ma", bo 13 obrazów ma pusty katalog, a dwa nadpisany.

Gdzie katalog dyskietki kłamie

Na dysku d038A leży I.Q. Test — jedna z trzech produkcji z podpisem BIW, których nie ma w CSDb jako wydań BIW. Katalog dyskietki pokazuje dwa pliki po jednym bloku, więc w pierwszym wpisie napisaliśmy: „dwa krótkie pliki". Recenzent przeszedł łańcuch sektorów zamiast wierzyć katalogowi: plik testu ma 72 sektory (18 161 bajtów), instrukcja 12. Deklarowany rozmiar w katalogu CBM to tylko liczba wpisana obok nazwy — na tym samym dysku licznik wolnych bloków pokazuje 1995 — wynik sumowania pól BAM: 7×255 + 7 + 203. To niewiarygodna liczba wolnych bloków (maksimum to 664); nie wiemy, dlaczego wpisano takie wartości, ale nie jest to data. Sprostowanie jest już w tamtym wpisie. Lekcja na stałe: rozmiar z katalogu nie jest rozmiarem pliku.

Podobna mina, mniejsza: skompilowane programy z dysku 12 progr-1 zaczynają się od linii 1984 SYS 2078 BASIC 64 V1.03. W pierwszej wersji tekstu było „kompilator z 1984 roku". Nie — 1984 to numer linii BASIC, nie rok. Poszło w kosz przed publikacją.

Teksty, których petcat nie czyta

Najciekawsze rzeczy z tego porównania nie wyszły z programów, tylko z dokumentów Edytora PL — polskiego edytora tekstu, którego badane dokumenty zaczynają się od bajtów 56 FF i mają własne kodowanie: małe litery jako bajty 1–26, wielkie jako ASCII, polskie znaki w zakresie 0x60–0x7F, z mapą różną w różnych plikach. petcat z pakietu VICE pokazuje z nich sieczkę. Po napisaniu dekodera (kilkadziesiąt linii Pythona) z dysków wyszły: opis „Co może Warsaw BASIC 3.1?", errata „Uzupełnienia i zmiany instrukcji Warsaw BASIC 3,2 EPROM", angielska instrukcja cartridge'a PRINT PL i dokument „Warsaw BASIC wersja IEC-625" datowany „Warszawa, 27 stycznia 1989 r.". Obok nich program w BASIC-u drukujący ulotkę reklamową z nazwami dwóch produktów, o których nie wiedzieliśmy: MATRIX i COMPLEX.

Reguła: plik nazwany jak produkt bywa dokumentem o produkcie. super expander na d098A to opis Super Expandera Plus, nie Super Expander. wb iec to notatka o różnicach instrukcji, nie interpreter. Charakterystyczny nagłówek naprowadził nas na format dokumentu; o zawartości rozstrzygnęło dekodowanie — sam adres ani nazwa pliku nie wystarczają.

Nasze błędy w opisach — poprawione w r3

Do rewizji r2 obraz d078 nosił w paczce błędny tytuł „Print Shop PL". Tytuł powstał przy klasyfikacji z etykiety print pl — resztę dopisało, najpewniej, skojarzenie z The Print Shop. Tymczasem na dysku leży obraz EPROM-u (8192 bajty pod $8000, w środku napis PRINT PL), instrukcja po angielsku i podpis Gajewskiego i Radziszewskiego — to cartridge PRINT PL z cennika: interfejs Centronics i zestawy znaków narodowych. Tytuł zgadnięty z etykiety jest najdroższym rodzajem błędu, bo brzmi jak identyfikacja. Poprawiliśmy to w rewizji r3 paczki (23.09), razem z „Dyspozytor" → „Dyspozytor Zadań" (tu nazwa pada w cenniku dosłownie). Tytułów z etykiet, które są tylko prawdopodobnie czymś z cennika (12 progr-1 i Groch z kapustą, iec i interfejs IEC-625), nie ruszamy — hipoteza idzie do kolumny uwag, nie do nazwy pliku.

Ile zdań nie przeszło

Tekst na retroportal przeszedł przed publikacją trzy rundy weryfikacji faktów przez niezależnego recenzenta — z tabelą tez i źródłami na stole. Runda pierwsza: 17 zarzutów, w tym dwa blokujące (hipoteza podana jako ustalenie i bilans sugerujący zachowanie produktów na podstawie dopasowania nazw). Runda druga: osiem. W trzeciej sprawdzono osiem poprawek, bez nowych zarzutów. Po drodze z tekstu wypadły między innymi „dysk narzędziowy autora Warsaw BASIC-a" (narzędzia są; nie potwierdziliśmy, że był to osobisty dysk autora), „żaden plik nie nosi oznaczenia 3.1" (nosi: oferta 3.1) i „najdroższa pozycja cennika" (najdroższa wśród pozycji z podaną ceną — kilka ma w transkrypcji xx.xxx). Skrócone teksty do mediów społecznościowych przeszły osobną rundę i też dostały poprawki.

To nie jest ładny proces. Jest za to tani w porównaniu z kosztem jednego zmyślonego zdania pod nazwiskiem stowarzyszenia.

Czego nadal nie wiemy

Czy oferta „public domain — 50 dyskietek" z cennika obejmowała część zagranicznych dysków edukacyjnych z archiwum (etykiety pd.disk02 i pd.disk04 są poszlaką, ale nie identyfikują serii z cennika). Czy napis „EPROM 31" na ekranie obrazu z d090A oznacza wersję 3.1 — wygląda na to, ale tego nie rozstrzygamy. Czy Sprite Master 1.05 i „1.5" to jedno. I gdzie są 27 pozycji z działu gier, których na dyskach roboczych nie widać — od ABC po „Wilk, koza, kapusta i inne". Lista jest we wpisie na retroportal. Jeśli macie coś z tego na kasecie, odezwijcie się.

Dyskietki odzyskała i zgrała Polish Amiga Floppy Preservation Group, cennik podrzucił Łukasz z PAFPG. Biuro Informatyczno-Wydawnicze zgodziło się na niekomercyjne udostępnienie archiwum. Opis, porównanie i błędy: Yugorin (SAMAR/SMOK).