Na počátku bylo slovo, to slovo bylo u Sinclaira, to slovo bylo ZX. To bylo na počátku u Sinclaira.
Sinclair se z prodejce tranzistorů a zesilovačů, výrobce rádií, hi-fi a kalkulaček stal najednou výrobcem počítačů.
Bylo to v roce 1978, tedy v době jednodeskáčů s LCD displejem, jako byl KIM-1, beden s blikajícími žárovičkami na čelním panelu, jako byl Altair (a ojedinělých nástinů domácího počítače, jako byl Apple I nebo velmi drahý SOL-20).
Science of Cambridge MK 14 (podle dostupné literatury to nemá být Mark 14, ale Microcomputer Kit 14) byl právě takový produkt své doby, jednodeskový počítač s hexadecimální klávesničkou a sedmisegmentovkami.
Měl ale klasické sinclairistické rysy – kolem poměrně sofistikovaného procesoru jednoduchá a levná elektronika (256 bajtů RAM!), obsáhlý a dobře napsaný manuál.
Oboje se objevuje u Sinclaira periodicky – proto později sáhl, v době, kdy všichni používali levnější procesor 6502, k Z80, a dále neváhal do relativně jednoduchého počítače vetknout procesor řady 68000.
Manuály byly tradičně dobře zpracované už z dob kalkulaček, kdy relativně jednoduchá kalkulačka budila díky rozsáhlému manuálu se spoustou příkladů použití dojem, že toho, co umí, je opravdu hodně. A vlastně to byla tradice už z dob, kdy Sinclair prodával tranzistory a zesilovače – a k nim vydával knihy se zapojeními, kde se tyto součátky využily.
Sice předbíhám, ale napsat manuál k ZX-80 jako kurs programování v Basicu, nebo umístit manuál ke QL do impozantního šanonu, to vůbec nebyly hloupé počiny.
Procesor SC/MP určitě nebyl nezajímavý, i když dnes příliš známý není.
Pět registrů bez zásobníku, ale naproti tomu zabudované sériové rozhraní a dvanáctibajtový adresový čítač (doplněný dalšími čtyřmi „fousy“ na šestnástibitovou adresovou sběrnici, takže nabízel vlastně šestnáct 4kB stránek).
National Semiconductors nabízel k procesoru vývojový kit, a podle mnohých zpráv je MK14 v podstatě zjednodušením tohoto oficiálního kitu.
K MK 14 tedy sice šel teoreticky připojit sériový terminál, a existovala pro něho „televizní karta“ VDU, nicméně většina software fungovala s původní klávesnicí a displejem, a to včetně Pico Basicu.
Kromě Basicu vznikl pro MK 14 i jazyk SC5, odvozený z jazyka M5 od firmy NASCOM.
Byl MK 14 úspěšný?
Pokud je měřítkem úspěchu prodejnost, tak jistojistě.
MK 14 se prodalo asi 20 000 kusů, z toho jen za rok 1978 to bylo mezi 10 a 15 tisíci kusy – pro srovnání, Apple ][ s Basicem, zvukem a barevnou grafikou na mnohem větším americkém trhu se za tentýž rok prodalo celých 9 tisíc kusů…
Zastavme se ještě na chvilku u VDU.
Tato deska vytvářela televizní obraz, složený ze dvou polovin posazených nad sebou, každá čerpala z vlastní 256bajtové videoRAM (celkem 512 bajtů VRAM) a nezávisle se daly přepínat do textového (32×8 znaků, celkem 32×16) nebo grafického (64×32 pixelů, celkem 64×64).
Nevyužívala žádný dostupný videoobvod, tvořena byla z diskrétních TTL součástek a zajímavé je, že pro přístup do VRAM využívala režimu pro multiprocesorovou podporu (přisvojila si sběrnici hlavního procesoru).
V podstatě v ní lze spatřovat zárodek Velkého Činu – Sinclairova počítače ZX-80.
Mimochodem, ta televize na obrázku, to je JVC Videosphere z roku 1970, která prý byla inspirována Spece Odyssey:2001 a má připomínat helmu skafandru. Podobná si zahrála i v Matrixu.
ZX-80 byl zázrak a minimalismus v jednom.
V podstatě nenabízel méně, než tehdejší počítače se Z80 a textovým displejem (případně semigrafikou), jako TRS-80, Video Genie nebo Sol-20. A vzhledem k použitému modernímu procesoru Z80 převyšoval tehdejší konstrukce s procesorem 6502, jako Ohio Scientific Challenger, Superboard, UK101 a Commodore PET.
Měřit se snad nemohl jen s několika málo grafickými počítači, z nichž ale naprostá většina používala 6502 – Apple ][ (který byl o mnoho dražší), Atari (v podstatě videokonzole s klávesnicí, kde jedna z cartridgí obsahovala Basic), VIC-20 (který se ale na trhu objevil až sklonkem roku).
Narozdíl od některých konstrukcí, které byly dostupné jen jako nevzhledná deska se součástkami (jako Superboard), měl ZX80 přátelský a tak trochu i „kosmický“ vzhled.
Ono i samo jméno ZX80 bylo trochu kosmické. Sinclair si potrpěl na exotická písmena (co je v angličtině exotičtějšího než X?) a čísla. Ostatně dávat výrobkům a firmám „vědecká“ jména bylo tehdy v trendu – nejen Science of Cambridge a Sinclair Research, vzpomeňte si i na Digital Research, Technology Research, Ohio Scientific, Processor Technology, …
Na jeho designu spolupracoval Sinclairův tradiční designér John Pemberton (tehdy pojem průmyslového designu, který dostal za design Sinclairových kalkulaček bezpočet ocenění, od něj pochází třeba oranžové logo ZX80) a tehdy nová síla – Rick Dickinson, později Sinclairův dvorní designér, tvůrce ZX-81, Spectra, QLka, pluska, Spectra 128, Z88, …
Pro dosažení přátelského vzhledu, aby se lidi počítače nebáli, použil Pemberton v podstatě design stolní kalkulačky se stejnými prvky, které dříve použil pro počítací stroje Sinclair Cambridge nebo Sinclair Oxford.
Tomu odpovídala paleta několika málo jasných, kontrastních barev.
(Podobný přístup použila třeba i firma Atari, která se snažila dát Atari 800 taky důvěrně známý vzhled – tentokrát měl ale počítač podobu elektrického psacího stroje).
Klávesnice byla, pro co největší snížení ceny, membránová (i na tento krok si firma Atari troufla se svým Atari 800 taky).
Na bílé kastli je pak vidět vliv velkých výrobních sérií, se kterými se původně nepočítalo – původně šlo o dvě spojené skořápky, vyrobené lisovacím tvarováním z desek – nejprve v továrně na lampová stínítka, Lenver Products (Hornton, Essex) na dřevěných kopytech, potom na kovových kopytech ve firmě Matcon (Mayland on Sea). Později, kdy bylo jasné, že požadavky na výrobu jsou větší, než se předpokládalo, a při velkém objemu se vyplatí investovat do jiné technologie, byly vyrobeny i kovové nástroje (v Continental Precision Tools, Clopton) pro vstřikování (které probíhalo ve firmě sídlící u Thetfordu).
Skořápky byly spojeny cvočky od ITW Fastex.
Počítač se snažil vymezovat od americké konkurence a být co nejvíce britský – vedle známého znaku měny $ obsahoval jeho znakový soubor i znak pro britskou libru a pomocí výrazů NEWLINE a RUBOUT se snažil vyhnout americkým výrazům ENTER a DELETE / BACKSPACE (což vydrželo až k ZX81, ale kromě znaku libry se už u ZX Spectra a QL neopakovalo).
Omezení počítače ZX80 se zdála být jasná – nejdražší položkou tehdy nebyl ani tak procesor, jako paměti. Tím, že se osadí minimum RAM a ROM, se dala cena srazit dostatečně dolů. Otázka byla, jak moc to půjde srazit, aby se dal počítač ještě používat.
1 kB RAM (ve kterém navíc sídlila i VideoRAM) byla i na tehdejší dobu neuvěřitelně málo, pro chod Basicu bylo obvykle potřeba 4 kB RAM.
Stejně tak 4 kB ROM pro Basic bylo neobvykle málo – do takového prostoru se v podstatě mohl vejít nějaký Tiny Basic (nebo něco jako Mikro Basic na SAPI-1) s mnoha omezeními, nebo…
… nebo musel člověk kouzlit, jako Wozniak na Apple 1 (4 kB jeho Basicu ale nezahrnovala I/O na monitor a klávesnici, ležící v samostatné 256 byte ROM, ani generátor znaků, ležící opět odděleně), či zplodit zpotvořeninu, jako byl 4 kB Basic pro Altair 8800 od Microsoftu (který měl plovoucí desetinnou čárku, ale oproti svému 8 kB bratříčkovi měl mnohá a mnohá omezení, Billu Gatesovi trvalo předlouho, než Basic dokázal dostat pod potřebnou hranici).
Dalším omezením bylo i to, že při práci procesoru (mimo čekání na klávesu) nebylo možné jednoduše zobrazovat obraz.
Zhášení obrazu v podstatě znemožňovalo tvorbu akčních her (sice vznikly, ale potřebovaly více RAM, protože si s sebou nesly vlastní video driver). Počítač byl koncipován tak, aby si řekl o vstupní data, zhasl obrazovku, spočítal vstupy a pak pro zobrazení výstupů obraz zas rozsvítil.
U Sinclaira ale dokázali nemožné – sice šlo jen o integer Basic, ale šlo o standardní ANSI 1978 Basic. Navíc se musela vejít i tabulka klávesnice a grafická předloha fontu, která sama o sobě zabírala půl kila.
Autorem ROM byly zřejmě John Grant. Aby to zvládlo fungovat, použil všemožné triky.
Obsah VideoRAM byl uložen komprimovaně (neukládaly se mezery do konce řádku), Basic byl uložený tokenizovaně a pro jednodušší vkládání a syntaktickou kontrolu už i vstup z klávesnice probíhal v podstatě jednoznakově.
Výsledek byl ten, že i s 1 kB RAM bylo možné používat krátké, ale ve své podstatě funkční a kompletní prográmky.
Samozřejmě možnosti využití Timex Sinclair 1000, který měl rovnou 2 kB RAM, nebo dokonce strojů rozšířených na 16 kB (či více) RAM, byly násobně větší (a popularita ZX80 by mohla být větší, kdyby přišlo rovnou s takto velkou pamětí – ovšem vyšší by byla i cena).
Stisk klávesy sice provázelo blikání, ale dá se říci, že by to u počítače, který nemá jinou zpětnou vazbu (zvukovou, hmatovou) při stisku klávesy, nemuselo být tak strašně moc na škodu.
I když to dnes vypadá zvláštně, existují pro ZX80 programy včetně akčních her (které, jak víme, by teoreticky díky zhasínání obrazu existovat neměly) a dají se používat.
V jistém smyslu se dá dokonce říci, že ZX80 Basic byl v některých ohledech dokonalejší než Basic na ZX81.
Jak je to ale možné?
Je to jednoduché – Sinclair plánoval jít cestou evoluce a vylepšovat ZX80 (v zásadě velmi úspěšný – prodalo se přes 50 000 strojů, což byly neočekávaně obrovské počty).
Steve Vickers proto začal vytvářet novou ROM s plovoucí desetinnou čárkou, která se měla vejít do 8 KB.
Jako základ byl použit matematický engine založený na Forthu. V podstatě virtuální Forth machine, schopná zpracovávat Čebyševovy polynomy, se kterou jádro Basicu komunikovalo. Čísla v plovoucí desetinné čárce pak byla ukládána v pětibajtové reprezentaci, známé později i ze ZX Spectra.
V původním plánu bylo vynechání funkce TL$ a zavedení mnoha příkazů nových. Protože se jednalo o prakticky novou ROM, navíc od jiného autora, nebylo možné programy pro 4 kB ROM nahrát do 8 kB ROM – rozdílů bylo příliš (existovaly ale konvertory od různých firem).
ROM osmikilového ZX80 byla sice našlápnutá, jako že toho hodně uměla, ale byla i našlapaná, jako že to tam prostě bylo nahňácáno, že se to jen tak tak vešlo.
Rick Dickinson pro tuto novou ROM připravil i nový layout klávesnice. V originálních barvách ZX80, které dávali dohromady ještě s Johnem Pembertonem, protože se počítalo s tím, že stávající ZX80 bude možné snadno upgradovat pomocí výměny ROM a přelepky klávesnice.
Jenomže…
Jenomže kromě toho, že u Sinclaira pracovali usilovně na odstranění blikání, a učili se zpracovat zákaznický obvod novou technologií, kterou tehdy nabízela firma Ferranti, vymysleli ještě jednu věc.
ZX Printer.
Pokud chtěl Sinclair zabudovat příkazy pro obsluhu tiskárny, jako že chtěl, bylo nutno něco obětovat.
V definitivní verzi tedy sice přibyly povely FAST a SLOW (kterými se vypínalo a zapínalo zobrazování během práce programu), ale ubyly povely RESTORE, READ, DATA, DRAW, UNDRAW, vypuštěny byly i konstrukce PRINT TO (k formátování čísel) a NEW n (nastavující RAMTOP, jako později CLEAR na ZX Spectru). Narvat do ROM povely pro ZX Printer si vyžádalo takové šetření, že i povely GO TO a GO SUB byly staženy na GOTO a GOSUB, SQRT na SQR (a ušetřily se tím tři bajty v tabulce tokenů…).
Patálie s tvorbou ROM pro nástupce ZX80 najdete TADY.
ZX80 bylo sice možno upgradovat výměnou ROM a polepky klávesnice – pak samozřejmě stále docházelo k blikání při stisku klávesy a nebylo možné hrát akční hry, pro úpravu generování obrazu ve stylu ZX81 byly potřeba i další zásahy.
Výsledkem tedy místo osmikilového ZX80 byla ROM pro ZX81 – nový počítač, který se hardwarově od svého předchůdce lišil drobností: jedním čipem ULA místo klubka malých švábů, vyvedením ROMCS signálu a možností robrazovat animace díky zapojení NMI do tvorby obrazu.
Geniální způsob, kterým ZX81 generuje obraz, jsem popisoval již v ZX Magazínu, 4/04-2/05, strana 6-7, tak se nebudu zbytečně opakovat.
No a tady bych mohl pomalu skončit, aby nebyl článek moc dlouhý.
Ale neskončím.
Máme tu totiž jeden z nejmenších stolních počítačů – 8″x8″x1″, a to včetně QWERTY klávesnice.
Jistě, jak víme, s větší pamětí a jinou klávesnicí by byl požitek z počítače asi jiný, je ale třeba si uvědomit, že za ty prachy nebylo možné dostat nic jiného než low-end, a pokud chtěl Sinclair nabídnout opravodvý počítač, tudíž nemohl si dovolit zcela ošidit to, co z počítače počítač dělá, a muselo se to tedy výrazně projevit na těch věcech méně podstatných, jako je třeba právě klaviatura.
Strčte si klidně ZX81 do plechové krabičky a připojte k němu třeba klikací klávesnici IBM – ten původní roztomile malý design má přesto něco do sebe.
Je to počítač, kde šachy nacpané do 1 KB mají smysl.
Počítač, kde v 16 kilech pustíte video z reklamy na iPod.
Počítač, který byl, a nedivte se, ve své době inzerován (jak v Británii, tak v USA) hesly „výkon a síla přichází“ (za což zřejmě mohl rychlý a moderní procesor).
Je pravda, že sám jsem subjektivně vnímal Sinclair Basic jako neuvěřitelně rychlý oproti Basicu EX na SAPI-1 s 8080 na 2 MHz.
O tom, že mělo smysl na něj něco vytvořit, svědčí i to, jaké množství titulů pro něj bylo vydáno.
A byl tak opravdu i přijímán. Recenze zle označit za v podstatě pozitivní (pokud si odmyslíme, že kritizovaly membránovou klávesnici a malou paměť, respektive nedokonalé připojení originálního rozšiřovacího modulu).
Za opravdovou nevýhodu šlo označit to, že izolovaný a obtížně rozšiřitelný systém začne brzy nudit.
Podpora vnějších periferií, kromě PEEK a POKE, byla nulová (žádný OUT, žádné kanálové informace v Basicu umožňující přesw ovladač zařízení komunikovat pomocí PRINT#).
Rozšíření Basicu o nové příkazy složité.
Připojení vnější ROM zvláště na ZX80 bez vyvedeného ROMCS nemožné (proto taky trval Sinclair na zabudování příkazů pro ZX Printer přímo do hlavní ROM).
Vznikly sice různé interface, včetně sériových, Timex přišel s 300baudovým modemem Timex 2050, ty ale vždy vyžadovaly nahrát obslužný program do RAM (a zabírat tak cenné místo). A i když vznikly různé konstrukce, jako třeba IEC interface pro připojení disketové jednotky Commodore 1541, k rozšíření žádného diskového systému pro ZX81 až do dnešní doby (kdy se zdá, že tento nedostatek zastoupí ZXPand) nedošlo.
Skoro škoda, že nevzniklo nějaké řešení sítě, které by mohlo býýt i kompatibilní se ZX Net na ZX Interface 1. Podle hodnověrných zpráv totiž propojení ZX81 přes kazeťákové vstupy a výstupy totiž nefunguje.
S nástupem ZX Spectra pak nastává v sáze rodu ZX zlom.
ZX80 díky přestavbě na ZX81 postupně mizí (situace je podobná, jako v případě Apple 1, kdy firma nabídla uživatelům výhodnou výměnu za novější Apple ][ a tím sama snížila počet dochovaných strojů).
ZX81 jistě není počítaě k zahození, a i po vstupu ZX Spectra na trh zůstává v prodeji – v Evropě hlavně v Německu a tam, kde kupní síla nebyla taková, jako v Británii, dokonce i krátce před 1989. rokem, kdy „západní“ tisk ohlašoval počítače Acorn Archimedes a Next, v Amatérském rádiu řeší akademici úlohy pomocí ZX81 a jsou v tom samém periodiku zveřejňována i hardwarová vylepšení (inverze obrazu, ozvučení stisku klávesy, rozšíření paměti, …).
Přesto ho zřejmě hromadné vyhazování (do odpadu, nebo jen „uklizení“ na půdy či do sklepů) potkalo.
Nic už nemohlo změnit ani to, když vyšel ultimátní klon ZX81, Timex Sinclair 1500 – s 16 kily RAM, v hezké stříbrné krabici odvozené od gumáku – ta původně byla určena pro TS 2000, klon ZX Spectra gumák, který se nerealizoval a přešlo se rovnou na výrobu Timex Sinclair 2068 (v USA) a (později v Evropě) Timex 2048, připravené formy a už hotové case byly proto použity pro tohoto pokračovatele ZX81.
Kdo chtěl před vydáním ZX Spectra počítač, mohl si ho díky Sinclairovi relativně levně koupit, a když vyšlo Spectrum (a jemu konkurující modely – VIC-20, Commodore 64, …), barvy a jemná grafika udělaly své. Kdo mohl (a díky dobré cenové dostupnosti mohl kdekdo), ten si koupil nebo dostal k Vánocům právě takový počítač s grafikou a barvami, případně zvukem (čemuž němé a černobílé ZX81 nemohlo tak konkurovat).
Sága pokračuje Vánocemi 1984 a kolapsem videoherního trhu – a v roce 1985 se už místo počítačů (však kdo počítač chtěl, mohl si ho koupit ty roky předtím – aspoň tedy v Británii ano) sháněly CD přehrávače, tehdejší novinka.
Stále mocnější Microsoft tehdy zanechal stopu na nejednom počítači, ať už svým Basicem, či jinak.
Otázka je, zda se mohly protnout osudy impéria Billa Gatese a ZX81 (nebo Timex Sinclair 1000/1500)?
Z tohoto obrázku by se zdálo, že ano.
Při bližším prozkoumání samozřejmě zjistíme, že je to fake.
Pravda, vtipný a pěkný, ale přeci jenom, MS Windows pro TS 1500 by nemohl ani Bill Gates myslet vážně.
Skutečnost ale často bývá divočejší, než představy.
Stačí se podívat na brazilské stránky, kde mezi uvedenými softwarovými firmami najdeme i … Microsoft.
Hle, mezi hrami vydal Microsoft i spreadsheet T-Kalc! Samozřejmě v portugalštině pro uživatele TK82-C (což byl klon ZX81 s 2 kB RAM, podobně jako TS 1000, ale místo obvodu ULA měl opět hnízdo TTL integráčů).
Že by zde bylo možno hledat prapůvod MS Excelu?
Ne, ve skutečnosti se jedná o ComputaCalc (psaný v Basicu).
Mezi hrami pak poznáváme různé jiné ZX81 tituly, pouze přeložené, přejmenované a opatřené logem amerického giganta.
Takže odborníci na praktické využití ZX81 se mohou nadále s důvěrou obracet na VU-Calc.
Pak ovšem, pokud Monstro das Trevas není Monstro das Trevas, ale 3D Monster Maze, a T-Kalc není T-Kalc, tak asi ani Miicrosoft nebude TEN Microsoft…
Závěrem něco do dnešních dnů.
Staré klávesnice odcházejí a pořizujeme si tedy nové membrány.
S tím, jak se postupně rozšiřuje zařízení ZXPand, se opakuje historie. ZXPand totiž připojuje místo původní ZX81 ROM svoji, která nahrazuje povely pro ZX Printer (COPY, LPRINT, LLIST) diskovými příkazy (CAT, DELETE, CONFIG).
Není tedy divu, že se objevila i verze membrány „ZXPand specifická“, kde jsou tyto příkazy uvedeny.
Snad tedy na tom printeru nemusel Sinclair tolik lpět.
No a pro neemulátoristy, majitele opravdového hardware: nechcete-li připojovat svůj stroj jen k CRT televizi, budete potřebovat jednu věc:
ZXVid, který váš RF modulátor promění ve videovýstup, navíc takový, který budou umět zachytit i LCD televize (protože bude bližší televizním normám přidáním „back porch“ signálu, který původní ZX80 a ZX81 negenerují a který CRT televizím narozdíl od těch moderních LCD nechyběl).
Dále, napájení je stejným 3,5 mm jackem jako má kazetový vstup a výstup, je tedy snadné splést si konektor a obvod ULA odpálit. Pokud náhodou máte ULA odpálenou, nezoufekte, je tu ULA2, která v sobě obsahuje nejen ZXVid, takže váš obraz bude korektně zobrazen i na LCD televizi, ale navíc umožňuje (s příslušnou verzí Z80 procesoru) i turbo 6 MHz.
A pokud se pro ZXPand rozhodnete, zvažte i AY interface s konektorem pro joystick. Na ZX81 už vznikl i tracker, díky kterému bude mít AY na dosud němém ZX81 stále více využití (doufejme).
díky za počtení
Zdravím, toto je naprosto vynikající článek !!! Už dlouho jsem si tak dobře nepočetl, díky moc!!! Petr Kaderka
Ahoj, moc pekne napsany clanek. Diky. ZX81 mel 2 verze ULA. ULA2C184E nema backporch a tato je, bohuzel, ve vetsine ZX81. Novejsi verze ZX81 maji ULA2C210E, ktera uz back porch ma. Martin
Díky za doplnění, o verzi ULA s backporchem jsem nevěděl.
Samozřejmě jsem hned zjistil, že ji mám – ale zrovna ve stroji, který zobrazuje jen černotu. Bojím se, že bude odpálená. Škoda, jestli je to opravdu taková vzácnost…
Ja mam vsude tu starsi. ULA obcas odejde, ale docela casto je zavada v pametech, konektorech, zdroji, pokud se nebavime o klavesnici, ktera odchazi nejvic. Takze nehazej flintu do zita. Skoda, ze za tu nahradu ULA chce RWAP tolik. Za ty prasule je funkcni ZX81 cely. Jinak jsi mne inspiroval, ze budu muset se svym pracovnim ZX81 taky neco udelat. Diky.
Ceny RWAPa jsou trochu ujeté, za destičku s jedním LSkem, odporama a kablíkama 🙂 Bohužel, nikde jsem nenašel schéma toho ZXVid (proč asi). Nemáte to někdo? stačily by detailní fotky vršku a spodku… 30 liber za tohlev prd je fakt zlodějna.
Podle mne bude ZXVid podobný tomuhle řešení:
http://trastero.speccy.org/cosas/JL/zx81%282%29/ZX81-video.html
Jinak ZX81 se ZXVid je na cestě, tak se pak můžu mrknout, jak se od těch španěláků liší.
Byl jsem zvědavý, mám oboje doma, ale ještě jsem se nějak nedostal k tomu to vyzkoušet a porovnat.
Schémata jsou tady
http://www.sinclairzxworld.com/viewtopic.php?f=7&t=281&start=70
a tady
http://www.sinclairzxworld.com/viewtopic.php?f=6&t=840&hilit=ZX81SCP&start=30