Počítač ZX Spectrum
Amatérské rádio 83/5A
Před časem jsme referovali o velkém bestselleru
mezi osobními počítači počítači ZX-81 firmy Sinclair. Tento v současné době
nejprodávanější počítač (koncem loňského roku se jich vyrobilo 150 000
měsíčně) dostal následovníka. Je jím ZX-Spectrum, jehož standardní verze s
pamětí 16Kbyte se v Anglii prodává za 125 liber, což je prakticky původní cena
stejně velkého ZX-81 (stavebnice ZX-81 spolu s pamětí 16Kbyte stojí nyní asi 6O
liber). Spectrum s sebou přináší všechny výhodné vlastnosti ZX-81 (viz AR 5/82)
a navíc tlačítkovou klávesnici, možnost rozšíření paměti RAM na 48Kbyte,
osmibarevný obraz s vysokou rozlišovací schopností, zvuk, zdokonalený BASIC a
řadu dalších novinek.
Hardware
Na rozdíl od ZX-81 se Spectrum nedodává jako stavebnice, ale pouze jako
kompletní počítač. Přístroj je v černém pouzdře z plastické hmoty o rozměrech
233 × 144 × 30 a váze 530 g. Jak je
již u počítačů Sinclair zvykem, je celý počítač sestaven z neuvěřitelně málo
součástek. Kromě pamětí a procesoru jsou v něm pouze čtyři (!) další IO, hrst
diskrétních součástek, modulátor TV signálu a piezoelektrický reproduktor.
Počítač je osazen mikroprocesorem Z80, který pracuje na kmitočtu 3,5 MHz.
Klávesnice
Protože řada recenzí vytýkala ZX-81 jeho membránovou klávesnici, bylo
Spectrum vybaveno klávesnicí tlačítkovou. Je však všeobecně známo, že
membránová klávesnice jsou nesouměřitelně levnější a často i v provozu
spolehlivější – nevadí jim ani když na ně zvrhnete limonádu nebo
vysypete popelník. Tlačítkové klávesnice ZX-Spectrum byla proto vyrobena tak,
že se na membránovou klávesnici položila z gumy lisovaná sada tlačítek se
zdvihem asi 2 mm a zázrak byl hotov. Tento způsob
výroby tlačítkové klávesnice pak u svých počítačů použily i další firmy, např.
SANYO.
Jednu věc však klávesnici počítače uživatelé občas vytýkají: je to
skutečnost, že tlačítko má někdy až 7 funkcí. Např. tlačítko C může znamenat písmeno C nebo c, příkazy CONTINUE, PAPER,
LPRINT, znak ?, nebo třetí uživatelem nadefinovaný znak. Práce s touto
klávesnicí je proto pro začátečníka trochu obtížná. Avšak stejně jako u ZX-81
je to pouze věc zvyku.
Významnou změnou však je to, že všechna tlačítka mají tzv. AUTOREPEAT. což
znamená, že držíme-li tlačítko stisknuté déle než O,7 s, začne se příslušný
znak tisknout rychlostí 10 znaků/s po dobu držení tlačítka. Obě konstanty
můžeme libovolně měnit a to i během programu. Takže počáteční prodleva může být
od O,02 s do asi 5 s a rychlost tisku od jednoho znaku za 5 s do 25 znaků/s.
Operační systém
Operační systém počítače zabírá spolu s překladačem jazyka BASIC 16 Kbyte
oproti 8 Kbyte u ZX-81 a je tedy mnohem dokonalejší. Nejdůležitější zlepšení
jsou:
- Nerozeznává režimy FAST a SLOW. Spectrum pracuje neustála naplno (jako ve FAST), přičemž obrazovka stále svítí (jako ve
SLOW).
- Spectrum má úplnou množinu znaků ASCII včetně malých písmen. K zpřehlednění
programu přispívá kromě automatického vkládání mezer i to, že klíčová slova
jazyka BASIC jsou psaná velkými písmeny, kdežto celý zbývající program písmeny
malými.
- Před každým záznamem na magnetofon je nahráno krátké pípnutí, jehož cílem
je nastavit nahrávací automatiku na správnou úroveň. Tento jednoduchý trik
podstatně zlepšil kvalitu nahrávek na magnetofony bez možnosti ručního
nastavení úrovně nahrávání, což jsou prakticky všechny levnější kazetové
magnetofony.
- Zlepšila se kvalita nahrávání z magnetofonu do počítače díky Schmittovu
klopnému obvodu, předřazenému před vlastní vstup TTL.
- Díky opatřením uvedeným v bodu 3 a 4 mohla být zvýšena rychlost záznamu na
magnetofon z 300 na 1500 bitů/s. Spectrum se tak zařadilo mezi nejrychleji nahrávající
osobní počítače.
- Kromě programu lze na magnetofonový pásek nahrát i numerické nebo řetězcové
pole, obsah obrazovky nebo jakýkoli úsek paměti, zadaný svojí počáteční
adresou a délkou.
- Bezchybnost každé nahrávky (kromě nahrávky obsahu obrazovky) můžeme
zkontrolovat pomocí funkce VERIFY.
- Programy lze nejen nahrávat, ale pomocí příkazu MERGE můžeme k nahranému
programu přihrávat další části, např. procedury. Počítač tento přihrávaný
program zpracovává stejně, jako kdybychom jej zadávali z klávesnice, tzn. že
dokáže přepisovat řádky původního programu, nebo mezi jeho řádky vkládat
nové.
BASIC
Vybraných změn doznal i interpreter jazyka BASIC. Všechny výhody jazyka BASIC
ze ZX-81, zejména jednoduchá práce se řetězci, zůstaly zachovány, a navíc
přibylo mnoho nových.
- Je povoleno více příkazů na řádek.
- Jsou zavedeny příkazy READ, DATA, RESTORE.
- Jsou zavedeny uživatelem definovatelné funkce (DEF FN), které mohou mít až
26 číselných a 26 řetězcových argumentů.
- Velice příjemnou změnou je i to, že pokud počítač odhalí chybu. napíše
nejen její kód, jak bývá obyčejně zvykem, ale i její stručnou
charakteristiku, např.
7 RETURN without GOSUB 130:2
kde 130:2 znamená, že chyba nastala v druhem příkaze v řádku 130.
- Čísla je možno psát v desítkové í dvojkové soustavě, což oceníme zejména
při zavádění vlastních grafických symbolů.
- Každé zmačknutí tlačítka je provázeno pípnutím, jehož délku si můžeme
programově nastavit.
Vstupní a výstupní operace
Operace vstupu a výstupu obsahuji tolik nového, že si zaslouží vlastní kapitolu.
- V příkazu PRINT byl zaveden oddělovač ' (apostrof), který znamená přechod
na další řádek. Vynechání dvou řádků se tedy jednoduše naprogramuje:
130 PRINT "Jsem počítač ZX-SPECTRUM" '"Dobrý den!"
(Nejedná se o chybu tisku, Spectrum dokáže psát písmena s čárkami a háčky!)
- Další velmi výhodnou funkcí, která se u počítačů běžně nevyskytuje (ZX-81 ji
však má), je funkce AT, která určí počátek dalšího tisku. Předchozí příklad
bychom tedy mohli zapsat:
130 PRINT AT 0,0; "Jsem počítač ZX-SPECTRUM"; AT 3,0; '"Dobrý den!"
, kde první
číslice za AT udává řádek počítaný shora a druhá
číslice sloupec počítaný zleva.
- Příkaz INPUT je možno zadávat v daleko obecnějším tvaru, než bývá zvykem.
Součástí příkazu INPUT může být:
- Jakákoli položka, která vyhovuje syntaxi příkazu PRINT a nezačíná písmenem.
Tato položka se vytiskne. Pokud bychom chtěli vytisknout hodnotu nějaké
proměnné nebo výrazu začínajícího písmenem, stačí dát tuto proměnnou (výraz)
do závorek.
- Jméno proměnné nebo prvku pole. (U ZX-81 mohl příkaz INPUT obsahovat pouze
tyto položky a to ještě jen jednu.) Narazí-li počítač na tuto položku, zastaví
práci a čeká na zadání její hodnoty z klávesnice. Z klávesnice lze zadat
jakýkoli výraz. obsahující konstanty, v programu známé proměnné nebo prvky polí
či uživatelem definovaných. Tento výraz se vypočítá a jeho hodnota se přiřadí
proměnné (prvku pole) uvedené v příkazu INPUT.
- Funkce LINE následovaná jménem řetězcové proměnné Táto funkce zařídí
načtení dalšího vstupujícího řádku do jmenované proměnné.
- Všechny tisky, naprogramované v příkazu INPUT, se tisknou ve spodní,
editační zóně a po dokončení tohoto příkazu se smažou. Toto řešení považuji za
daleko výhodnější než řešení klasické, protože málokdy chceme, aby otázky, které
počítač klade, byly součástí výstupního textu.
- Byly zavedeny příkazy IN a OUT, které dovedou číst hodnoty ze zadaného portu
nebo je na něj poslat.
- Dopíšeme-li na konec obrazovky, počítač se zeptá SCROLL?. Zmáčkneme-li
klávesu N (no), O (nula) nebo BREAK, počítač obrazovku smaže.
Zmáčkneme-li jakoukoli jinou klávesu, počítač posune obsah obrazovky o řádek
vzhůru a na uvolněné místo napíše požadovaný text. Počet řádků, které se
takto vytisknou, než se nás zeptá podruhé, můžeme programově nastavit od 1 do
255. Tím lze jednoduše zařídit, aby nám postupným scrollováním neodjel z
obrazovky text, o nejž bychom v žádném případě nechtěli přijít.
Zvuk
Spectrum dokáže hrát v rozsahu 1O oktáv. Tón sice není
díky použitému piezoelektrickému reproduktoru příliš kvalitní, avšak generovaný
signál je veden na magnetofonový výstup, odkud jej můžeme použít jako vstupní
signál libovolného zesilovače.
Chceme-li zahrát nějaký tón, musíme vždy udat jeho délku a výšku. Délka se
udává v sekundách a výška v půltónech vzhledem k jednočárkovanému C. Příkaz
BEEP 12, O.5 nám tedy zahraje malé c po dobu O,5 s. Desetinným číslem
však můžeme zadat nejen délku, ale i výšku tónu, takže můžeme používat nejen
temperovanou stupnici, jako např. klavír, ale i tzv. čistou stupnici,
kterou dokáží zahrát třeba housle. Labužníci mohou díky těmto možnostem
programovat i např. indiánskou hudbu, která používá své vlastni stupnice.
Grafika
Největší novinkou je na Spectru bezesporu jeho grafika. Obrazovka je
tvořena 24 řádky po 32 znacích, kolem kterých je lem nazývaný BORDER. Každý znak
je tvořen blokem 8 x 8 bodů. U kteréhokoli z těchto bloků si můžeme zvolit
barvu pozadí (PAPER) a barvu, kterou bude znak natisknut (INK). K dispozici je
8 barev: černá, modrá, červená, fialová (magenta), zelená, zelenomodrá (cyan),
žlutá a bílá. Na černobíle televizí tyto barvy vytvářejí v uvedeném pořadí
stupnici šedi. Kterýkoli blok je dále možno rozsvítit
(BRIGHT – barvy zůstávají, avšak jsou světlejší) nebo nechat blikat
(FLASH – periodicky se prohazuje barva pozadí a tisku). Kterýkoli z
uvedených příkladů (PAPER, INK, BRIGHT, FLASH) spolu s později uvedeným
příkazem OVER lze nastavit pro daný blok, pro daný příkaz INPUT nebo PRINT a
nebo pro celou další práci.
Tím však divy nekončí. Spectrum umí ovládat kterýkoli bod obrazovky – má tedy
rozlišovací schopnost 256 x 196 bodů. Libovolné dva body dokáže spojit přímkou
nebo kruhovým obloukem o zadaném úhlu (přímka je oblouk s úhlem O°), dokáže
nakreslit kružnici o zadaném poloměru se středem v daném bodě. Tyto
vlastnosti jsou nedocenitelné, rozhodneme-li se kreslit grafy funkcí, vývojové
diagramy nebo jiné obrázky.
Grafy a písmena můžeme libovolně směšovat. Pokud potřebujeme kreslit do
bloku, ve kterém je již něco napsáno či nakresleno, máme tři možnosti:
- Ponechat starý obsah a blok přeskočit.
- Smazat starý obsah a nahrát nový.
- Pomocí funkce OVER napsat nový obsah přes starý, přičemž v bodech křížení
čar bude nastavena barva pozadí (čáru lze tedy smazat tak, že ji nakreslíme
ještě jednou pomocí OVER).
Spectrum má dále 16 grafických symbolů převzatých ze ZX-81 a možnost
dodefinování dalších 32 symbolů podle okamžitých potřeb uživatele (řecká
písmena, háčky, čárky, matematické symboly, obrázky panáčků, letadel nebo lodí
pro hy atd.). Tím se Spectrum zařadilo mezí několik málo počítačů, které jsou
schopny psát česky. V případe potřeby je dokonce možno předefinovat celý
znakový soubor a psát třeba azbukou nebo japonsky.
Doplňky
Mezi největší lákadla patří jeho příslušenství. Spectrum může používat
stejnou tiskárnu jako ZX-81. avšak, jak jsme již uvedli v AR 5/82, je tato
tiskárna pro nás nevhodná. Daleko pozoruhodnější jsou však další doplňky.
S největším ohlasem se setkal tzv. Microdrive, který má nahradit u osobních
počítačů doposud používané pružné disky. Těchto Mikrodrivů lze k Spectru
připojit až 8 najednou, přičemž v každém je zasunut jeden výměnný Mikroflopy,
což je nekonečná páska obsahující 100 Kbyte programu nebo dat. Střední
přístupová doba k souboru je 3,5 s a přenosová rychlost je 16 Kbyte/s. Největším
lákadlem je však cena, neboť Microdrive má stát 50 liber (v porovnání s
nejméně 200 librami za jednotku s pružným diskem).
Dalším doplňkem je internace RS232 spolu se zařízením, umožňujícím
spolupráci několika stejných počítačů. Prostřednictvím tohoto doplňku lze
Spectrum napojit na prakticky jakýkoli vetší počítač nebo jeho periférie a
používat je. Jak lze již dopředu odhadnout, nejčastěji připojovaným zařízením
bude bezpochyby tiskárna.
Rychlost
Jako každý výrobek, má í Spectrum své slabiny. Mezi nejzávažnější patří asi
jeho rychlost. Spectrum je ještě o něco pomalejší než ZX-81 a řadí se mezi
nejpomalejší osobní počítače. Z počítačů, které můžete znát, jsou pomalejší
pouze SHARP PC 3201, ATARI, Video Genie a osobní počítače firmy Texas
Instruments.
Závěr
Spectrum je velmi dobrý osobní počítač, který zpočátku neměl ve své cenové
hladině konkurenci. Prospekt o něm dokonce prohlašoval, že je to nejlepší
počítač za méně než 50O liber. Je určen všem, kteří se s jeho pomocí chtějí
naučit programovat a využívat jej později k práci i zábavě. S počítači jeho
vlastností a ceny se značně přiblížila realizace futurologické vize: každý
svoje hodinky, každý svůj počítač. Lze jen doufat, že se podobné počítače
objeví časem i na našem trhu. Ekonomický přínos daný tím, že by se s touto
technikou mohly doma seznamovat i děti a takto získané znalosti a zkušenosti
uplatnit ve svém budoucím zaměstnání, stojí při nejmenším za zamyšlení.
Ing. Rudolf Pecinovský