Pierwsze spotkanie z komputerem ZX81


Na przełomie lat 1983/84 mój brat przywiózł z Warszawy dosyć spore pudło, takie jak na poniższych zdjęciach.

Przód pudełka z ZX81

Tył pudełka z ZX81

Wewnątrz pudła w styropianowym opakowaniu znajdował się "komputer osobisty" (ang. personal computer - taki napis widnieje na pudle pokazanym na lewej fotografii u góry) Sinclair ZX81, zasilacz 9V prądu stałego, jakieś kable i instrukcja obsługi oraz programowania w języku ZX81 BASIC, której autorem był jeden z twórców tego komputera, Steven Vickers, obecnie wykładowca Informatyki na Uniwersytecie w Birmingham.

Styropianowe pudło chroniące przed uszkodzeniami ZX81

W owym czasie nikt z nas nie wiedział, co to takiego ten komputer. O komputerach czytało się w prasie, słyszało w radiu i czasem władze komunistyczne napomknęły coś w telewizji. Dlatego z entuzjazmem przystąpiliśmy z bratem do rozpakowania i przygotowania ZX81 do pracy. Z instrukcji dowiedzieliśmy się, jak wszystko ze sobą podłączyć. Komputer ZX81 miał bardzo skromne wymagania i bazował na sprzęcie, który większość użytkowników już posiadała w swoim domu:

Dowolny telewizor czarno-biały (kolorowy nic nie dawał, bo ZX81 i tak tworzył jedynie czarno-biały obraz) z pasmem UHF. My wykorzystaliśmy telewizor Junost produkcji byłego ZSRR. Dawał zadowalający obraz i, przede wszystkim, był na tyle mały, aby można go było postawić wraz z komputerem na jednym biurku.
Magnetofon kasetowy z wejściem mikrofonowym oraz wyjściem słuchawkowym. Tutaj był mały kłopot. Pierwsze próby nagrywania programów spełzły na niczym. Dopiero po jakimś czasie zorientowaliśmy się, że magnetofon musi być jak najbardziej prymitywny, bez automatycznej regulacji poziomu zapisu (co posiadał np. Grundig i przez co nie nadawał się do współpracy z ZX81 i ZXSpectrum). Ostatecznie najlepszy okazał się stary, wysłużony Thomson, taki jak na zdjęciu obok. Nasz egzemplarz posiadał jeszcze licznik taśmy, co było bardzo pomocne przy wyszukiwaniu programów - na kasecie zapisywaliśmy nazwę programu oraz stan licznika dla początku tego programu na taśmie. Później wystarczyło wsadzić kasetę do magnetofonu, przewinąć w odpowiednie miejsce, uruchomić odtwarzanie i wczytać program do ZX-81. Zabawy co niemiara - dzisiejsi użytkownicy IBM-PC tego nie zrozumieją...

Po właściwym podłączeniu wszystkich kabelków i zestrojeniu telewizora wreszcie na jego ekranie ukazał się biały obraz z małym kwadracikiem z literką  K  w lewym dolnym rogu. Poniżej masz widok ekranu telewizora (uzyskany na symulatorze eightyOne), na którym widoczne są linie skanujące oraz różne zakłócenia pochodzące z sygnałów cyfrowych wewnątrz ZX81 oraz z wad samego telewizora i toru przesyłowego (np. zwróć uwagę na lekkie smużenie na biało literki K). Obraz ten odpowiada w 100% oryginałowi.

 

 

Teraz nie było już wyboru. Musiałem sięgnąć po dostarczoną z komputerem instrukcję - ZX81 BASIC PROGRAMMING. Ponieważ w owym czasie znałem już dosyć dobrze język angielski, nie miałem większych problemów ze zrozumieniem tekstu. Książka ta na wiele tygodni stała się moją lekturą i muszę z całym szacunkiem przyznać, iż pan Vickers odwalił w niej kawał dobrej roboty. Wszystko było napisane prostym, zrozumiałym językiem, nawet dla zupełnego laika, i krok po kroku wprowadzało w tajniki używania i programowania komputera ZX81.

Co ciekawe, nawet po upływie tylu lat zawarte w niej informacje wciąż są aktualne i mogą być wykorzystane do nauki programowania. Oczywiście jestem realistą i rozumiem, że nikt na to się nie zdecyduje, ale dla ciekawych mamy w naszym serwisie tłumaczenie tej instrukcji, dostępne pod linkiem umieszczonym powyżej. Zobaczcie jak wyglądała literatura informatyczna sprzed lat i porównajcie ją z tym, co dostaje dzisiaj kupujący komputer IBM-PC. Z tej książeczki można było się dowiedzieć o ZX-81 prawie wszystko.

Z ZX81 można dzisiaj się śmiać, jednakże musimy przyznać, iż wielu znakomitych informatyków zaczynało właśnie od tej maszyny. Chociażby z tego powodu nie wolno tego komputera ignorować.

Początkowo dużo kłopotów sprawiała mi obsługa klawiatury ZX81, którą wykonano z folii kontaktowej z nadrukowanymi klawiszami. Rozwiązanie takie na pewno było tanie, lecz niewygodne dla użytkownika, ponieważ brakowało "odczucia" naciskania klawisza. Dla ułatwienia analizy wprowadzanych poleceń komputer ZX81 posiadał do 5 różnych znaczeń przypisanych pojedynczemu klawiszowi. Z jednej strony przyspieszało to wprowadzanie danych (oraz eliminowało tzw. literówki w nazwach poleceń i funkcji), lecz z drugiej strony wymagało zapamiętywania, co który klawisz wprowadza i kiedy. Co prawda nad i pod klawiszami wydrukowano ich znaczenia w różnych trybach pracy klawiatury, lecz początkujący programista i tak musiał żmudnie szukać poleceń, które chciał sobie wprowadzić do programu. Dopiero po dziesiątkach godzin spędzonych z ZX81 klawisze "weszły" do głowy - wtedy okazało się, iż przyjęte w ZX81 rozwiązanie jest bardzo wygodne i w sumie dosyć proste - do dzisiaj pamiętam znaczenia niektórych klawiszy.

Bardzo szybko okazało się, co oznacza, iż ZX81 wyposażony jest w 1KB pamięci RAM - po napisaniu kilkunastu "programów" pamięci tej zaczęło po prostu brakować. Dlatego po paru tygodniach od zakupu komputera brat pojechał jeszcze raz do Warszawy i dokupił moduł pamięci MEMOPAK 16K firmy Memotech (górne zdjęcie po lewej), który kosztował niewiele mniej od samego ZX81 - ceny już nie pamiętam, ale było to całkiem sporo. Od tego momentu komfort pracy z ZX81 wzrósł niepomiernie. Wreszcie dało się pisać sensowne programy zawierające nawet kilkaset linijek kodu - inną sprawą była szybkość wykonania tych programów.

Po pewnym czasie ujawniła się jednakże dosyć istotna wada modułu Memopak. Otóż pamięć była łączona z ZX81 złączem krawędziowym, na które nasuwało się gniazdo pamięci. Niestety, połączenie to nie było w 100% pewne i zdarzało się, iż styki "puszczały", co natychmiast doprowadzało do krachu całego komputera. W zestawie był specjalny rzep, który naklejało się na pamięć oraz na tył obudowy komputera. Zapewniał on bardziej stabilne połączenie obu tych urządzeń. Mimo to z modułem Memopak zawsze należało się obchodzić ostrożnie i często zapisywać tworzone programy na kasecie magnetofonowej, aby bezpowrotnie nie stracić godzin intensywnej pracy umysłowej - niekiedy nie do odtworzenia.

Niektóre współczesne emulatory ZX81 (np. eightyOne) posiadają opcję symulacji poruszenia modułu RAMPACK - tzw. wobble. Efekty są różne, zależne losowo od tego, co zostało utracone w pamięci. Najczęściej występuje utrata generacji obrazu i totalne zawieszenie komputera - pomaga jedynie wyłączenie i włączenie zasilania, czyli odpowiednik RESET dla ZX81.

 

Pierwsze programy na ZX81, które napisałem, były bardzo prymitywne. Poniżej przedstawiam niektóre z nich, odtworzone ze starych notatek (robionych oczywiście ręcznie, na drukarkę ZX81 Printer nie było nas już stać). U góry jest zrzut ekranu efektu działania programu, a u dołu jego listing. Programy odtworzyłem na symulatorze Vb81 (opisany dokładnie w rozdziale o VB81), ale do ich uruchomienia może być zastosowany dowolny symulator ZX81 lub komputer oryginalny.

Pierwsze programy - zabawa z różnymi liczbami generowanymi w pętlach

Plik dla symulatora VB81: p0001.p

Plik dla symulatora VB81: p0002.p

Plik dla symulatora VB81: p0003.p

Później przyszedł czas na zabawę z "grafiką" ZX-81

Plik dla symulatora VB81: p0004.p

Plik dla symulatora VB81: p0005.p

Plik dla symulatora VB81: p0006.p

oraz na programy "użytkowe"

Plik dla symulatora VB81: p0007.p

Plik dla symulatora VB81: p0008.p

Więcej programów dla ZX81 znajdziesz w rozdziale nr 8 oraz nr 9.

 

 


   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2018 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe