Používáme osmibit seriózně: ZX-81 a ZX-80

Je to jako s tím čmelákem, co podle zákonů aerodynamiky létat nemůže, jenže on to neví, a proto létá.

Kdo ZX-81 trochu zná, je mu jasné, že s tím nejde nic seriózního dělat.

Nejde na tom ani pořádně hrát – co s počítačem, který má 1 kB RAM a z toho až 792 bajtů sežere VideoRAM? Který nemá ani konektor na joystick? Který má membránovou klávesnici, takže na něm nejde v zápalu hry mačkat tlačítka?

Přitom Sinclairova reklama zobrazovala ZX-81 v podstatě jako vážnou věc.
Dokonce (zřejmě díky pprocesoru Z80, který tehdy v záplavě 6502 tříregistrových strojů musel působit jako výkonný, rychlý a moderní) se snažila ohromit právě výpočetním výkonem tohoto ďábelsky malého strojku. (Z reklamy to vypadá, jako by ta věc se zhruba čtyřmi integrovanými obvody byla supercomputer.)
Nenechali toho ani Američani, a jak Timex Sinclair 1000, tak především Timex Sinclair 1500 byly zobrazovány s pracovními atributy (viz obrázky z krabice TS 1500).

Z hlediska nějak rozumně počítač využívat se rozšíření aspoň na 16 kB RAM jeví jako nutnost (a je škoda, že model se zabudovanými 16 kB RAM, Timex Sinclair 1500, přišel pozdě a navíc jen v USA).
Takže krok číslo jedna – rozšířit si paměť. nejlépe interně. – Kdo to
ale už dříve udělal, bude mít teď problém, a řekneme si za chvíli proč.

Nic proti membránové klávesnici, ne že by byla špatná, ale na delší psaní textu nebo vkládání čísel to taky moc není. Externí klávesnice je tedy nutnost. Nebo si ji dát místo té membránové – tak malé se ale nedělají, takže to bude chtít větší kastli. A tím se trochu ztratí kouzlo té malé roztomilé černé skříňky.
Je ale fakt, že už jen použitím triku se silikonovými hmatníky, jako na gumáku, by se pohodlí pro psaní na ZX-81 dost vylepšilo (a je škoda, že model, který přišel ve škatuli od gumáku s tou správnou klávesnicí, Timex Sinclair 1500, se na trh dostal pozdě a navíc jen v USA).

Kromě klávesnice je tu ještě jedno omezení – počítač má ve znakové sadě jen velká písmena. malá nejsou a s diakritikou (bez drsných hacků v zobrazování) už vůbec nepočítejte.

ZX-81 používá magneťák k ukládání a načítaní dat. Kdysi to tak dělali všichni (na Apple 1 to ani jinak nešlo, Apple II taky začínal s kazeťákem, ba dokonce i IBM PC, než přišel MS DOS), takže žádná ostuda. Dnes už se ale s kazetami nebude nikdo crcat, nehledě na to, že z kazet v dobách mládí tohoto počítače nahraných je dnes historická rozpadající se a téměř nečitelná relikvie.
Chce to nějaký disk – ale díky mohutnému odlivu uživatelů už v první polovině 80. let (kdy přešli na barevné ZX Spectrum nebo třeba C64) se žádný nestihl rozšířit.
(I když podle mne by ZX-81 nejlépe slušelo ZX Interface 1 – síť, sériák a microdrivy by ho značně pozvedly a zatraktivnily zejména pro školy.
A ve spojení s malým počítačem by se na microdrivy jistě sneslo méně kritiky, než u ZX Spectra nebo QL, pro které je použití disketovek přeci jen trochu přiměřenější.)
Nu, Sinclair na adaptaci ZX Interface 1 pro ZX-81 nepomyslel, a tak to tak nemáme.
Místo toho se připojovalo všelicos, včetně IEC disketovky od Commodore 64, někdo si ZX-81 připojením diskového řadiče a dalších rozšíření zvětšil až na ZX-96 používající MeFisDOS. Jenže takový stroj je zas na světě asi tak jeden.
(Možná jich je víc, jeden MeFisDOSový slouží jako webserver a lze procházet jeho disky – http://zx81-siggi.endoftheinternet.org/index.html.)

Připojení tiskárny je už pak to nejmenší, na ZX-81 samozřejmě funguje ZX Printer.
Komu to nestačí a chce si připojit něco jiného, nechť si vyrobí interface. Musí pak ale do programů propašovat svůj ovladač, protože ZX-81 nemá kanály jako ZX Spectrum a tisk v ROMce jde natvrdo na ZX Printer.
(Použití ZX Printeru naštve hned dvakrát: jednak tiskárnu není možné používat se ZX-Pandem, o kterém si ještě povíme, druhak právě obsluha tiskárny, kterou bylo nutno nějak nacpat do chystané 8 kB ROM, je důvod, proč byly z Basicu vyhozeny tak užitečné příkazy jako DRAW a UNDRAW, dokonce byly odstraněny i RESTORE, DATA a READ.)

Párkrát jsem už nakousl ZX-Pand.
Je to zařízení, díky kterému se teď k ZX-81 pár uživatelů vrátilo – neřeší sice otázku klávesnice a neexistence minusek, ale dodává rychlé a velkokapacitní médium (SD kartu, navíc formátovanou ve FAT, takže je čitelná v PC a slouží i k přenosu souborů mezi PC a ZX-81), které dosud chybělo.
Dále řeší otázku rozšíření RAM – má celkem 32 kB RAM, které lze použít jako 32 kB rozšíření, nebo 16 kB rozšíření (s tím, že dolních 16 kB je možno použít v kombinaci s různými triky jako hi-res VRAM, respektive jako předlohu grafických patternů pro vykreslované znaky).
No a i pokud si chcete “jen” zahrát, s pomocí dalšího přídavného modulu si připojíte interface pro joystick a osvědčený zvukový čip AY (kompatibilní se zařízením Zon-X).
Rozšíření příkazů Basicu o obsluhu SD karty řeší ZX-Pand tím, že nahradí příkazy určené původně pro ZX Printer. (Dokonce se prodává nová membrána klávesnice s popisky upravenými pro použití ZX Pandu.) – To znemožňuje nahradit si rutiny pro ZX Printer v ROMce jinými třeba pro Epson kompatibilní.

Pokud se shodneme na tom, že letecké simulátory na osmibitech nejsou zas tak úplně seriózním využitím počítače (seberealističtější simulace čehokoli, letištěm počínaje a atomovou elektrárnou konče, je, pokud nepřijímá informace zvenčí nebo neovlivňuje něco navenek, jen více či méně realistická hra), pak se nám nabízí:

Minimálně jedna skvělá databáze. Ano, VU-File od Psionu existuje i pro ZX-81.
(O tom, jak se s ním pracuje, a jak se obecně na ZX-81 ukládají data, se už psalo ZDE.)
Jednoúčelové databanky známé ze ZX Spectra jsou i zde – Club Record Controller a Collector’s Pack, jsou tu i programy specifické pro ZX-81 jako Home Asset Manager.
(Existoval i program Home Inventory, ale tady vidíme sběratelský přístup – sběratel má kazetu v neporušeném přebalu, tak ji nebude rozbalovat a její obsah nikomu neposkytne, aby nesnížil její hodnotu – otázka ovšem je, jakou bude mít ta kazeta cenu za padesát let, až na tuty nebude čitelná a její obsah nebude nikde zaarchivován.)

Pro kancelářskou práci je tu kupodivu hned několik tabulkových kalkulátorů, za zmínku stojí ComputaCalc, se kterým se setkáváme po přejmenování na T-KALC pod logem jedné velké firmy.
Ani zde na nás ale nezapomněl Psion se svým VU-Calc.
Milovníci tabulek tedy mají z čeho vybírat.

Co se textových editorů týče, tam, kde existuje Tasword, už vlastně není jiná alternativa.
Na ZX-81 má 32 znaků na řádek (stejně, jako první verze pro ZX Spectrum), což je připraveno akorát pro tisk na ZX Printer. Omezením pak tedy zůstává, že používá jen velká písmena.

Čeho je kupodivu na ZX-81 hodně, jsou aplikace účetní, bankovní a finanční. A to různě kvalitní, ba i nekvalitní, nejen anglické či americké (Advanced Budget Manager, Budgeter, Personal Finance Planner, Personal Financial Planning Pack, Personal Bankink System, Checkbook Manager, Money Managerdalší ze sběratelských důvodů nedostupný program, Money Analyzer 1 a 2, specializované programy jako Real Estate Investment Analysis, Loan / Mortgage Amortizer, Rental Property Manager,  případně Critical Path Analysis – hned dva různé takto nazvané programy), ale i třeba programy francouzské (Compte Bancaire).
Zdá se, že softwarové firmy (asi pod vlivem Sinclairovy vážně laděné reklamy) začaly s produkcí právě takového typu software, ale v době ZX Spectra už byly poučeny, že poptávka je spíše po hrách – snad proto v této oblasti ZX-81 nad Spectrem vede.
Nejvíc ekonomicky zaměřených programů vydali nejspíš Američani (Timex), jejich civilizace je zřejmě na vydělávání peněz více zaměřena než Evropa.
A už víme, že domácí bankovnictví, do kterého si opisujete údaje z úřtenek, je sice fajn, ale on-line bankovnictví, do kterého se můžete přihlásit po telefonu z domova, je ještě lepší. Opět asi kvůli americké podpoře podnikání, nebo možná proto, že Evropa byla moc rozdělená a byrokratická, v podstatě jediný modem pro ZX-81 měli Američani (tedy spíše modem pro TS 1000 a TS 1500). Byl to Timex Sinclair 2050 (Westridge 2050) se sériovým interface s čipem 8251 a rychlostí přenosu 300 Bd. (Software obsahující i terminál jsem sehnal, teď bude potřeba kazetu nějak zdigitalizovat; otázka je, zda to má smysl, pokud nebude obkresleno alespoň schéma připojení modemu.)

V zásadě ale prvotním posláním ZX-81 bylo, aby si k němu člověk sednul, a hezky jednoduše, nejlépe v Basicu, si napsal program, který udělá to, co potřebuje (testování žáků, výpočet Pythagorovy věty, rozpis služeb, Cockroftova formule clearance kreatininu nebo rozpis dávek chemoterapie).
Už Sinclair myslel na to, aby se uživatelům s Basicem dobře pracovalo, a zde poprvé se objevuje Toolkit – doplněk Basicu, který pak zejména u Sinclairu QL dostal zcela zásadní význam. Toolkit pro ZX-81 přináší nejen několik nových příkazů navíc, jako je přečíslování, hledání, nebo zobrazení volné paměti, ale svým poněkud složitým způsobem realizuje i příkaz MERGE, který u ZX-81 jinak chyběl.
Když už má člověk ten svůj program pro Pythagorovu větu napsaný, a chce jeho vykonávání poněkud urychlit (což u Pythagorovy věty není tolik potřeba, ale může se to hodit u kreslení Mandelbrotových fraktálů nebo generování QR kódů), k čemuž mu pomůže kompilátor.
Mezi ty nejvýznamnější na ZX-81 patří MCoder a MCoder II, které se později objevují i na ZX Spectru. Je ale potřeba připomenout, že při spouštění přeloženého programu musí být M-Coder přítomen v paměti!

ZX-81 je přeci jen trochu jiná třída počítače, než ZX Spectrum, a proto má význam zmínit se i o programovacích jazycích, jejichž výsledkem není nutně kus strojového kódu – na ZX-81 potkáme především  Forth.

A neboť na tomto počítači to, co je v assembleru, se počítá, mají vývojáři k dispozici i ZX Assembler.
Protože na ZX-81, které nezná jiný druh souboru, než program v Basicu s prooměnnými, je zvykem ukládat strojové programy do řádku za REM, obsahují data pprodukovaná assemblerem dva REM řádky. V prvvním je případný přeložený kód, v druhém zdroják. Před uložením můžete jedno nebo druhé vymazat a ukládat tak buď samotný hotový program bez zdrojáku, nebo samotný zdroják (případně obojí).

No a když už jsme se dostali až k programování, vrhneme se nyní na stroj ještě o něco starší – ZX-80.
ZX-80 je stroj ještě méně seriózní.
Strašáka 1 kB RAM si užijeme i tady. ROM má jen 4 kB a tak je do ní celočíselný Basic (i se znakovou sadou!) doslova nahňácán.
Jeho design vychází více z úspěšných Sinclairových kalkulaček než z designu tehdejších počítačů (to především proto, aby počítač lidi neděsil a co nejvíc připomínal nějaký známý předmět – Atari 800 bylo zase navrženo tak, aby připomínalo elektrický psací stroj).
Jeho manuál byl zase takticky pojmenován jako “Kurs programování v Basicu”.
(Zase, hraje se na strunu vzdělávání, počítač hned vypadá jako něco užitečného. A nevypadá to tak děsivě jako “dokumentace k té děsné počítací obludě” – jen si vzpomeňte, pokud jste někdy otevřeli manuály firem Sun, IBM, nebo podobných – tři čtvrtiny jsou “licenční ujednání”, “jak číst tuto dokumentaci”, “vysvětlení pojmů”, a ve zbytku je několik nicneříkajících obecných technických keců – nevím jak vás, ale mne takovéhle manuály fakt děsí a číst je nechci, mnohem raději mám Wozniakovu Red Book k Apple II, která se sice napůl zkládá s okopírovaných ručně psaných poznámek, ale je k věci.)
Počítač navíc zobrazuje na obrazovce vlastně jen tehdy, pokud čeká na stisk klávesy. Jakmile ji stisknete a on ji musí zpracovat, obraz zhasne. Takže při mačkání kláves tak jakoby poblikává.
Není to nic hrozného, naopak mi to proti ZX-81, které je němé jak chcíplá ryba, přišlo jako dobrá zpětná vazba, že ke stisku klávesy došlo (vlastně skoro něco jako pípnutí).
Jenže jakmile napsaný program spustíte, obrazovka zhasne a vy, bez ohledu na to, co včechno program vypisuje, nevidíte vůbec nic.
Uvidíte to teprve tehdy, až program svůj běh skončí.

Ano, takhle přesně to bylo myšleno. Vy vložíte nějaký svůj program, nejspíš ten pro výpočet Pythagorovy věty nebo čeho to, na začátku se INPUT poptá na vloření dat, ta vložíte, a po posledním odpálení ENTERu (pardon – tyhle britské troje neměly ENTER, ale NEW LINE) obrazovka zhasne a stroj počítá. Výsledek na vás vybafne až spolu s hlášením 0/ značícím, že je vše OK (nebo taky nějakým jiným, které znamená, že při zpracování programu došlo k chybě).
Lid je ale mrcha vynalézavá, a tak začaly softwarové firmy vydávat i takové programy, které by vlastně na ZX-80 neměly jít vůbec realizovat – hry s animovanou grafikou (na odkazované stránce si jich pár můžete i stáhnout).
K dovršení všeho i pro ZX-80 máme verzi ZX-Pandu (lze použít normální ZX Pand od verze 3, je ale potřeba vyměnit EPROM v počítači – ZX-80 totiž nemá vyvedený ROMCS na sběrnici, aby si mohl připnout ROMku obsaženou v ZX Pandu), takže si z něj můžete nahrávat třeba ty animované hry.
No a nebo tu Pythagorovu větu.
On se tenhle počítač asi fakt na nic jiného nehodí, v celočíselném Basicu budete Mandelbrotovy fraktály (které vyžadují práci s komplexními čísly) generovat asi těžko. I když pořád ještě můžete zkusit napsat ten QR generátor.