Dodatek C - część 1


Opis ZX Spectrum do wglądu

 

Klawiatura

 

Znaki komputera ZX Spectrum nie tylko obejmują pojedyncze symbole (litery, cyfry, itp.), lecz również złożone słowa (słowa kluczowe, nazwy funkcji, itp.), a wszystkie są wprowadzane z klawiatury przy pomocy jednego klawisza zamiast wpisywania litera po literze. Aby otrzymać te wszystkie funkcje i polecenia, niektóre klawisze posiadają pięć lub więcej osobnych znaczeń, które otrzymuje się częściowo za pomocą klawiszy zmieniających znaczenie klawiatury (tj. naciskając klawisz CAPS SHIFT lub SYMBOL SHIFT w tym samym czasie co wymagany klawisz), a częściowo przez przełączenie komputera w różne tryby pracy.

Tryb jest wskazywany przez kursor, mrugającą literę, która wskazuje miejsce wstawienia kolejnego znaku odczytanego z klawiatury.

Tryb K (ang. keyword — słowo kluczowe) zastępuje automatycznie tryb L, gdy komputer spodziewa się rozkazu lub wiersza programu (a nie danych wejściowych), a z jego pozycji w wierszu wie, czy ma oczekiwać numeru wiersza, czy jakiegoś polecenia. Pojawia się on na początku wiersza, po słowie THEN oraz po dwukropku (z wyjątkiem wnętrza łańcucha). Jeśli nie naciśnięto klawiszy SHIFT, to naciśniety klawisz zostanie zinterpretowany jako albo rozkaz (zapisany na klawiszach), albo jako cyfra.

Tryb L (ang. letter — litera) zwykle występuje we wszystkich pozostałych przypadkach. Bez klawiszy SHIFT naciśniety klawisz jest interpretowany jako główny symbol na tym klawiszu, a dla liter jako litera mała.

W obu trybach K i L klawisz SYMBOL SHIFT i jakiś klawisz zostanie zinterpretowany jako czerwony symbol pomocniczy na klawiszu, a CAPS SHIFT z klawiszami cyfr zostanie zinterpretowany jako funkcja sterująca wypisana na biało ponad klawiszem. CAPS SHIFT z innymi klawiszami nie wpływa na polecenia w trybie K, a w trybie L zamienia litery małe na duże.

Tryb C (ang. capitals — duże litery) jest wariantem trybu L, w którym wszystkie litery pojawiają się jako duże. CAPS LOCK powoduje zmianę trybu L na C lub na odwrót.

Tryb E (ang. extended — rozszerzony) jest używany do otrzymywania dalszych symboli, w większości są całe słowa. Pojawia się po naciśnięciu razem obu klawiszy SHIFT i trwa tylko przez jedno naciśnięcie klawisza. W tym trybie klawisz literowy bez SHIFT daje symbol pokazany ponad nim w kolorze zielonym, a z SHIFT symbol pokazany na czerwono pod klawiszem. Klawisz z cyfrą naciśnięty wraz z SYMBOL SHIFT daje symbol czerwony spod klawisza, inaczej daje sekwencje znaków sterujących, które wprowadzają odpowiedni kolor (same dają sekwencje sterujące tuszem, z CAPS SHIFT sekwencje sterujące tłem).

Tryb G (ang. graphics — grafika) pojawia się po naciśnięciu klawisza GRAPHICS (CAPS SHIFT i 9) i trwa aż do ponownego naciśnięcia tego klawisza. Klawisz cyfrowy daje znak mozaikowy (sam — znak normalny, z CAPS SHIFT — znak w negatywie), wyjście z trybu G lub DELETE (usuwanie), natomiast klawisze literowe od A do U dadzą znak grafiki definiowanej przez użytkownika.

Jeśli jakikolwiek klawisz zostanie wciśnięty i przytrzymany przez około 2 lub 3 sekundy, to zacznie powtarzać.

Dane wprowadzone z klawiatury pojawiają się w dolnej części ekranu w miarę ich wpisywania, a każdy znak (symbol lub słowo złożone) jest wstawiany tuż przed kursorem. Kursor można przemieszczać w lewo za pomocą CAPS SHIFT i 5 lub w prawo za pomocą CAPS SHIFT i 8 (wg strzałek narysowanych ponad tymi klawiszami). Znak przed kursorem można wymazać klawiszem DELETE (CAPS SHIFT i 0). (Uwaga: cały wiersz można szybko wymazać wpisując EDIT [CAPS SHIFT i 1], a następnie ENTER.)

Gdy zostanie naciśniety klawisz ENTER, wprowadzony wiersz jest wykonywany, wprowadzany do programu lub użyty jako dane dla polecenia INPUT, chyba że zawiera on błąd składniowy. W takim przypadku obok tego błędu pojawi się mrugający znak ?.

W miarę wprowadzania wierszy programu na górnej części ekranu pojawia się listing (wydruk wierszy). Sposób tworzenia tego listingu jest dosyć skomplikowany i wyjaśniony bardziej szczegółowo w Rozdziale 2. Ostatnio wprowadzony wiersz zwany jest wierszem bieżącym i na wydruku oznaczony zostaje symbolem >, lecz można wybrać inny wiersz na bieżący, używając klawiszy (CAPS SHIFT i 6) i (CAPS SHIFT i 7). Jeśli zostanie naciśnięty klawisz EDIT (CAPS SHIFT i 1), to wiersz bieżący zostaje skopiowany do dolnej części ekranu, gdzie można go poddać edycji.

Gdy zostaje wykonany rozkaz lub uruchomiony program, wyjście jest wyświetlane w górnej części ekranu i pozostaje tam do czasu wprowadzenia nowego wiersza programu, naciśnięcia klawisza ENTER przy pustym wierszu lub naciśnięcia jednego z klawiszy , . W dolnej części pojawia się raport podający kod (cyfrę lub literę) opisany w Dodatku B, krótkie podsumowanie tego, co opisuje Dodatek B, numer wiersza zawierającego ostatnie wykonane polecenie (0 dla rozkazu natychmiastowego) oraz pozycję tego polecenia wewnątrz wiersza. Raport pozostaje na ekranie aż do naciśnięcia jakiegoś klawisza (i oznacza tryb K).

W pewnych okolicznościach CAPS SHIFT z klawiszem SPACE zachowuje się jak przerwanie, zatrzymując komputer z raportem D lub L. Klawisze te są rozpoznawane:

 (i) na końcu polecenia, gdy program jest uruchomiony lub

(ii) gdy komputer wykorzystuje magnetofon lub drukarkę.

 

Ekran telewizyjny

Zbudowany jest z 24 wierszy po 32 znaki w każdym i dzieli się na dwie części. Górna część zawiera co najwyżej 22 wiersze i wyświetla albo listing, albo dane produkowane przez program. Gdy wydruk w górnej części ekranu osiągnie spód, to całość zostaje przewinięta w górę o jeden wiersz; jeśli powodowałoby to usunięcie z ekranu czegoś, co nie miałeś szansy jeszcze przeczytać, komputer zatrzymuje się z komunikatem scroll? (przewinąć?). Naciśnięcie klawiszy N, SPACE lub STOP spowoduje zatrzymanie programu z komunikatem D BREAK - CONT repeats; jakikolwiek inny klawisz spowoduje kontynuacje przewijania. Dolna część ekranu jest używana do wpisywania rozkazów, wierszy programu, danych wejściowych dla INPUT oraz wypisywania raportów. Dolna część ekranu ma początkowo dwa wiersze (górny jest pusty i stanowi odstęp od treści głównego ekranu), lecz rośnie w górę, aby pomieścić wprowadzane przez ciebie dane. Gdy osiągnie bieżącą pozycję druku w górnej części, to dalszy wzrost spowoduje przewinięcie treści górnej części ekranu.

Każda pozycja znakowa posiada atrybuty określające kolory jej tła oraz tuszu, dwa poziomy jasności oraz mruganie. Dostępne kolory to czarny, niebieski, czerwony, purpurowy, zielony, żółty i biały.

Brzeg ekranu można ustawić na dowolny z tych kolorów poleceniem BORDER.

Pozycja znakowa jest podzielona na 8x8 pikseli, a grafika wysokiej rozdzielczości jest tworzona przez indywidualne ustawianie tych pikseli tak, że są albo w kolorze tła, albo w kolorze tuszu danej pozycji znakowej (w obrębie całej pozycji obowiązuje jeden kolor tła i tuszu).

Atrybuty na pozycji znakowej są ustawiane zawsze, gdy jest drukowany znaku lub rysowany piksel. Dokładny sposób tego ustawiania jest określony przez parametry drukowania, które tworzą dwa zbiory (zwane parametrami stałymi i tymczasowymi) sześciu parametrów: PAPER, INK, FLASH, BRIGHT, INVERSE i OVER. Parametry stałe dla górnej części ekranu są ustawiane przez odpowiednie polecenia PAPER, INK, itp. i obowiązują aż do zmiany innym poleceniem. (Początkowe ustawienie to białe tło, czarny tusz, normalna jasność, brak mrugania, normalne wideo i z nadpisywaniem). Parametry stałe dla dolnej części używają koloru brzegu jako koloru tła z tuszem czarnym lub białym dla kontrastu, z normalną jasnością bez migotania, z normalnym wideo i z nadpisywaniem.

Parametry tymczasowe są ustawiane przez elementy PAPER, INK, itp. osadzone w poleceniach PRINT, LPRINT, INPUT, PLOT, DRAW i CIRCLE, jak również przez sekwencje znaków sterujących kolorami, gdy są one drukowane na ekranie — za nimi występuje dodatkowy bajt określający wartość parametru. Parametry tymczasowe działają tylko do końca rozkazu, który je zawiera lub w rozkazie INPUT do momentu wprowadzania danych z klawiatury, gdy zostaja zastąpione przez parametry stałe dolnej części ekranu.

Parametry PAPER i INK są w zakresie od 0 do 9. Parametry od 0 do 7 określają kolory znaku lub punktu:

 

0 czarny
1 niebieski
2 czerwony
3 purpurowy
4 zielony
5 jasnoniebieski
6 żółty
7 biały

 

Parametr 8 (przezroczysty) określa, że dany kolor na ekranie ma być pozostawiony bez zmian przy drukowaniu znaku lub rysowaniu punktu.

Parametr 9 (kontrast) określa, że dany kolor (tła lub tuszu) ma być kontrastowo albo biały, albo czarny, aby był dobrze widoczny z drugim kolorem.

Parametry FLASH i BRIGHT są 0, 1 lub 8: 1 oznacza włączenie rozjaśnienia lub mrugania, 0 oznacza ich wyłączenie, a 8 (przezroczysty) mówi, aby te atrybuty pozostały takie, jakie już są na danej pozycji znakowej, której dotyczy operacja na ekranie.

Parametry OVER i INVERSE są 0 lub 1:

OVER 0 — nowe znaki zapiszą stare

OVER 1 — wzór bitowy nowych znaków zostanie połączony ze wzorem bitowym starych przy pomocy operacji sumy modulo dwa.

INVERSE 0 — nowe znaki będą pisane normalnie

INVERSE 1 — nowe znaki pojawią się w negatywie (kolory tła i tuszu zostaną zastąpione miejscami).

Gdy na ekran telewizyjny zostanie wysłany znak sterujący TAB, oczekuje się za nim dwóch bajtów określających pozycję tabulacji n (mniej znaczący bajt najpierw). Jest ona redukowana modulo 32 do n0 (powiedzmy), a następnie drukowana jest odpowiednia liczba spacji, aby przesunąć pozycję wydruku do kolumny n0. Gdy zostaje otrzymany znak sterujący "przecinek", to odpowiednia liczba spacji (co najmniej jedna) jest drukowana, aby przesunąć pozycję druku do kolumny 0 lub 16 (w zależności, która wystąpi wcześniej). Gdy zostaje otrzymany znak sterujący ENTER, pozycja druku jest przesuwana na początek następnego wiersza.

 

Drukarka

Przesyłanie danych do drukarki ZX Printer odbywa się poprzez bufor o długości jednego wiersza (32 znaki), a wiersz ten jest wysyłany do drukarki, gdy

  (i) drukowanie przechodzi z jednego wiersza do następnego,

 (ii) otrzymany zostaje znak ENTER,

(iii) na końcu programu, jeśli bufor zawiera niewydrukowane dane,

(iv) gdy znak sterujący TAB lub przecinek przenosi pozycję druku do nowego wiersza.

 

TAB i przecinek wyprowadzają spacje w taki sam sposób jak na ekranie.

AT zmienia pozycję druku, korzystając jedynie z numeru kolumny, a ignorując numer wiersza.

Na drukarkę wpływają elementy INVERSE i OVER (również polecenia) w taki sam sposób jak na ekran, lecz nie PAPER, INK, FLASH lub BRIGHT (druk jest tylko czarnobiały).

Drukarka zatrzyma się z błędem B, jeśli zostanie naciśnięty klawisz BREAK. W przypadku braku drukarki, przesyłane do niej dane są po prostu tracone.

 

 


   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