Seznámení s mikropočítačem Sinclair ZX-81

Amatérské rádio 1982, číslo 5

Na trhu osobních počítačů zazářila v loňském roce nová hvězda. Je jí počítač ZX-81 (obr. 1) navazující na svého úspěšného předchůdce ZX-8O. Jeho hlavní předností je láce nesouměřitelná s jakýmkoli jiným výrobkem odpovídajících schopností. Stavebnice tohoto počítače je dokonce levnější než některé programo_vatelné kalkulačky (např. TI-59. SHARP PC-121 1 a jiné). Přitom jsou však jeho schopnosti mnohem větší.

mikropocitac_s.png||Mikropočítač ZX-81

Hardware

ZX-81 se dodává ve dvou provedeních: buď jako stavebnice – kit (cena ve Velké Británii 50 liber), nebo jako sestavený počítač, který je však asi o 40 % dražší. Přístroj je v elegantním černém pouzdře o rozměrech 167 × 175 × 40 mm.

Z počítate vedou čtyři páry vodičů: první do anténních zdířek běžného TV přijímače, vyladěného na 36. kanál (modulátor lze však v jistých mezích přeladit), druhý do zdroje 9 V/600 mA, třetí a čtvrtý do mikrofonních a reproduktorových zdířek obyčejného (nejčastěji kazetového) magnetofonu.

Podíváme-li se do mikropočítače, vyrazí nám jeho jednoduchost dech (obr. 2). Uvnitř je pouze pět (!) integrovaných obvodů, krabička s modulátorem TV signálu a několik diod, odporů_ a kondenzátorů. Zmíněné IO jsou mikroprocesor Z80, paměť 8KB ROM s operačním systémem a překladačem jazyka BASIC, paměť RAM 1KB, do níž zapisují uživatelské programy_ a obsah obrazovky a zakázkový integrovaný obvod, v němž jsou zaintegrovány všechny podpůrné obvody. Dodejme jen, že běžné osobní počítače obsahují kolem 4O IO a přitom jejich schopnosti nejsou o mnoho větší. Tohoto zjednodušení je dosaženo tím, že téměř všechny funkce jsou zabezpečeny programově, včetně generace TV signálu. Kvůli TV signálu také procesor pracuje na pouhých 3,5 MHz a ne na možných 4 MHz. ZX8O/81 jsou snad jediné mezi známými počítači, které plně využívají všech schopností mikroprocesoru Z80 a je to na jejích jednoduchosti vidět. Ostatní počítače s tímto procesorem (TRS 80, Video Genie, SHARP MZ-8O, NASCOM,...) používají většinou programy psané původně pro mikroprocesor 8O8O. Počítač je natolik je natolik jednoduchý, že i relativně nezkušený amatér jej s dvojím důkladným přečtením návodu a bezpečnostním prověřením pasívních součástek dokáže postavit za 3 hodiny (ověřeno).

deska_spoje_s.png||Deska s plošnými spoji

Klávesnice

ZX-81 je vybaven membránovou klávesnicí uspořádáním podobným klávesnici psacího stroje (obr. 3). Některá dobrozdání o této klávesnici prohlašuji, že je Everything-proof, což bychom mohli přeložit jako vsemuvzdorná. Nevadí ji, když na ni zvrhnete limonádu nebo popelník, ani když vám na ni něco spadne (pokud to není zrovna činka). Počítači samozřejmě neuškodí ani jakékoli nesmyslné mačkání tlačítek.

K procesorové desce je klávesnice připojena plochým vodičem, čehož ihned využily jiné firmy, které těm, jimž membránová klávesnice nevyhovuje, nabízejí klávesnicí tlačítkovou, v níž je přímo místo k zasunutí procesorové desky.

klavesnice_s.png||Klávesnice ZX-81

Z obrázku je vidět, že některá tlačítka mají až 5 funkcí. Všechny příkazy jazyka BASIC i všechny matematické funkce se zapisují zmáčknutím jednoho tlačítka a mají zároveň svůj vlastní kód. Tím se nejen krátí čas potřebný k zápisu programu (samozřejmě po jisté praxi), ale i šetř paměť' a zrychluje vlastní výpočet. Počítač sám pozná, zda chceme např. napsat písmeno P nebo příkaz PRINT. Pouze chceme-li zapsat funkci, musíme napřed_ zmáčknout tlačítko FUNCTION. Z hlediska úspory paměti i času programátora může být výhodné i to, že pokud je argumentem funkce číslo, proměnná nebo funkční hodnota, nemusí psát do závorek. Může tedy psát LN SIN A místo LN (SIN (A)).

Obrazovka

Jak již bylo řečeno, ZX-81 se připojuje k obyčejnému TV přijímači vyladěnému na 36. kanál. Na rozdíl od běžných zvyklostí jsou tisky černé na světlém (u barevné televize zeleném pozadí.) Pokud chcete něco tisknout inverzně (světle na tmavém pozadí), stisknete tlačítko GRAPHICS, které navíc umožní tisknout dalších 21 grafických symbolů.

Obraz je velmi jakostní (obr. 4). dokonce lepší, než u některých daleko dražších počítačů. K příjemným vlastnostem ZX-81 patří i automatické vkládání mezer do zdrojového textu, aniž by se tím zvyšovala spotřeba paměti. Můžeme klidně psát 10FORI = ATOBSTEPLNC a na obrazovce se objeví 10 FOR l = A TO B STEP LN C přičemž celý text zabere 12 bitů paměti.

obrazovka_s.png||Záznam na obrazovku

Operační systém

Operační systém dovoluje psát, opravovat a spouštět programy v jazyce BASIC a ve strojovém kódu u mikroprocesorů Z8O a 8080. Píšeme-li nebo opravujeme-li program, vypisuje vše ihned na obrazovce připojeného televizoru. Na obrazovku se vejde 22 řádků po 32 znacích, přičemž poslední dva řádky jsou určeny pro editaci. Chceme-li opravit nějaký řádek v programu, nastavíme na něj kurzor a stisknutím tlačítka EDIT jej přeneseme na spodek obrazovky. Nyní najedeme druhým kurzorem na chybné místo a vpisujeme (ne přepisujeme) text. Chceme-li nějakou část textu smazat, najedeme kurzorem za ní a postupným mačkáním tlačítka RUBOUT text před kurzorem vymazáváme. Po skončení všech oprav zmáčkneme NEW LINE, počítač zkontroluje. zda text odpovídá syntaxi jazyka BASIC a pokud ano, zařadí jej do programu. Pokud ne, ponechá text v editační zóně a do místa první předpokládané chyby umísti značku, což značně zrychluje práci zejména začátečníkům. Ze svých zkušeností mohu říci, že editace u ZX81 je pohodlnější a a jednodušším než u některých mnohem dražších počítačů (např. Challenger, Video Genie, ale i děrnopásková verse ADT).

Zvláštností ZX-81 jsou dva režimy práce, a to režim FAST a SLOW. Režim FAST je již podle názvu rychlejší, avšak obrazovka je po celou dobu výpočtu zatemněna a obraz naskočí pouze při vykonávání příkazů PAUSE a INPUT a po skončení běhu programu. Pokud chceme mít obraz stále na očích, přepneme počítač do režimu SLOW, který je však asi čtyřikrát pomalejší, protože všechny výpočty probíhají pouze ve snímkových mezerách TV signálu. Přepínat pracovní režim lze i programově, takže je možno např. všechny výpočty dělat v režimu FAST a následující tisk gratů a tabulek ve SLOW.

Basic

Překladač jazyka BASIC u ZX-81 na jedné straně postrádá relativně běžné příkazy READ a DATA (které lze ovšem obejít tím, že program nahrajeme na kazetu i se všemi hodnotami proměnných) a příkaz DEF (který vsak lze také nahradit. a to funkcí VAL za předpokladu, že nepotřebujeme parametry), na straně druhé svými schopnostmi často překračuje běžné verze jazyka BASIC, s nimiž se můžeme setkat, nezávisle na velikosti počítače, na němž jsou implementovány.

První výhodou, ale někdy i nevýhodou tohoto překladače je, že dělá všechny výpočty s přesností na 9 až 10 platných míst (oproti běžně používaným 6 aý 7 platným místům). Nevýhodou tohoto řečení je o něco vetší spotřeba paměti a pomalejší výpočet. Všechna čísla jsou uložena v semilogaritmickém tvaru. Rozsah zobrazitelných čísel je od –4×10–39 do +7×10+38, přičemž největší přesně zobrazitelné číslo je 4–294–967–296.

ZX-81 je vybaven všemi matematickými funkcemi (kromě hyperbolických3, jimiž jsou vybaveny kalkulačky. Jeho velkou výhodou je také to, že i v místech, kde běžné jazyky BASIC dovolují často pouze, číslo (příkazy GOTO, GOSUB, DIM, čteni hodnot příkazem INPUT), povoluje BASIC u ZX-81 jakýkoli aritmetický nebo logický výraz, čehož můžeme využít k volání funkcí jménem nebo ke skokům na pojmenovaná návěští, což dokáže zpřehlednit i značně rozsáhlé programy.

Další pozoruhodnou vlastností je, že identifikátory numerických proměnných mo hou mít libovolnou délku a mohou obsahovat i mezery. Taková proměnná se může klidně jmenovat NEJVĚTŠÍ VÝPlATA MÉHO ŽIVOTA. Této vlastnosti však nedoporučuji příliš nepoužívat. Plýtvá se pak zbytečně pamětí i časem programátora.

Zcela nově je zde řešena práce se znakovými řetězci. ZX-81 rozeznává dva druhy řetězců: běžnéné řetězce libovolné proměnlivé délky a pole řetězců s délkou přímo definovanou. Takovéto pole může mít, stejně jako pole číselné, libovolný počet dimenzí, přičemž poslední dimenze je chápaná zároveň jako délka řetězců tohoto pole. Napíšeme-li

150 DIM A$(3*M,N)

můžeme toto pole použít jako vektor obsahující 3*M řetězců délky N, nebo jako matici znaků, která má 3*M řádků a N sloupců. Řada funkcí, potřebných běžně ke zpracování řetězců se zde redukuje na magické slůvko TO. Zapíšeme-li v programu

200 LET B$ = A$ (3,2 T0 6)

uloží se do řetězce B$ část od 2. do 6. znaku včetně z řetězce, jež je třetím prvkem vektoru A$. Obdobně

300 LET B$ (TO 5) = A$ (1)

uloží do prvních pěti prvků řetězce B$ obsah první složky vektoru A$. Má-li ta méně než 5 prvků, doplní zbytek mezerami, má-li prvků více, uloží pouze prvních pět.

Poslední věc, oníž bych se chtěl zmínit, je možnost deklarovat dimenze pole několikrát během programu. Při každé deklarací staré pole zruší a zřídí nové podle nové deklarace. Meze můžeme samozřejmě deklarovat dynamicky.

Doplňky

Komu nestačí 1KB paměti standardní verze, může si pořídit modul s 16 KB paměti veliký 80 × 80 × 32 mm, který se pouze nasune do připraveného konektoru na zadní stěně. Tento modul stojí přibližně totéž co celý kit. Po připojeni tohoto modulu lze dělat i na paměť relativně velmi náročné výpočty. Lze si např zřídit záznamník se 20O položkami, z nichž každá může obsahovat 3 údaje po 25 znacích. Tímto záznamníkem může být např. adresář s telefonními čísly.

Dalším doplňkem je tiskárna o rozměrech přibližně 150 × 80 × 40 mm, používající metalizovaný papír, který se u nás v současné době nevyrábí, ani k nám nedováží. Ztrácí proto pro případné uživatele u nás půvab.

Slabiny

ZX-81 má kromě mnoha dobrých vlastností i některé slabší stránky, většinou přímo vyplývající z jeho koncepce. Za první slabinu mnozí považují membránovou klávesnicí. Při psaní na této klávesnici totiž nemůžeme zároveň sledovat obrazovku nebo opisovaný text, protože se musíme dívat, zda mačkáme správné tlačítko. Kdyby však počítač používal tlačítkovou klávesnici, musel by být téměř o polovinu dražší. Nehledě na to, že je to počítač určený začátečníkům, kteří se na klávesnici beztak dívají.

Druhou slabinou je to, že programy psané ve strojovém kódu u nemohou svobodně_ používat přerušení. Přerušení se však používá pro ovládání různých periférií a je-li někdo tak šikovný, že dokáže připojit tuto periférii k počítači, nebude mu jistě dělat problém ani drobný zásah do hardware počítače, který mu pak interrupt umožní (k ZX-81 můžeme bez problémů připojit 4 nezávislé periférie).

Poslední vážnější slabinou je nemožnost ověřit si, zda se podařilo nahrát program na kazetu správně, a proto je nahrávání delších programů někdy trochu risk. Toto nebezpečí lze zmírnit tím, že na pomocnou kazetu nahraji program pokaždé, když jsem dopsal nějaký logický celek a tento program pak hned nahraj zpět do počítače. Pokud jsem udělal při nahrávání chybu, musím dopisovat jen naposled přidanou část programu. Druhé řešení je, že si program pro ověřování kvality nahrávky napíši sám ve strojovém kódu.

Závěr

ZX-81 je počítač určený pro začátečníky a tento účel dokonale plní. O jeho popularitě svědčí i výroba 250 000 kusů ročně. Recenze v časopisu Personal ComputerWorld dokonce doporučuje raději koupit ZX-81, než se přihlásit do kursu programování v jazyku BASIC. Přijde to to levněji a kvalita je často i vyšší.

ZX-81 je však velmi výhodný i pro spoustu programů potřebných ve vědecké práci. Počítač není o mnoho dražší než např. TI-85 a počítač i s pamětí 16 KB je přibližně v cenové relaci s TI-59. Přitom však pohodlnost programování i forma zobrazení výsledků hovoří jednoznačně v jeho prospěch. Jedinou výhodou kalkulaček je nezávislost na síťovém zdroji a snadnější transportovatelnost.

Myslím si, že kdyby tyto počítače prodával např. TUZEX. neměl by nejmenší starosti s odbytem, spíše naopak.

Ing. Rudolf Pecinovský