Historické okénko: Příběh sběratelské legendy – Jupiter ACE

26. 5. 2021

Sdílet

 Autor: computinghistory.org .uk
Je to opravdu zvláštní. Pokud se na staré počítačové vykopávky podíváme z pohledu sběratelů, zjistíme, že nejhodnotnějším kouskem je neúspěšný počítač z počátku osmdesátých let, o kterém většina veřejnosti vůbec netuší, že kdy existoval. Ne snad, že by nebylo možné koupit dražší počítačové kousky. Ale v poměru mezi původními necelými devadesáti librami a současnými několika stovkami až tisíci, požadovanými za funkční kousek v originálním obalu, se asi žádný z historických počítačů nemůže rovnat té malé světlé krabičce s výrazným popisem Jupiter ACE.

Všechno začalo v roce 1980, kdy do firmy Sinclair Research nastoupil Richard Altwasser a Steve Vickers, zaměstnanec firmy Nine Tiles, dostal za úkol vytvořit ROM pro připravovaný počítač ZX81... Ne, zpět. Všechno totiž začalo mnohem dříve. Už roku 1958. Tehdy začal americký astronom Charles H. Moore vytvářet nový programovací jazyk. Pravda, on o tom sám ještě tak úplně neuvažoval. Prostě sám pro své potřeby naprogramoval vývojové prostředí, které by mu usnadnilo řízení radioteleskopů.

Vzhledem k tomu, že tuto aktivitu bylo nutno provádět z mnoha různých počítačových platforem, byl tento nový jazyk již od svého stvoření uzpůsoben pro snadnou portaci na nový hardware. No a vzhledem k tomu, že Moore je původním povoláním astronom, vytvořil si tento svůj vlastní jazyk dle svého nejlepšího vědomí a svědomí tak, aby byl co nejefektivnější. Nějaká snadná čitelnost či uživatelská přívětivost jej vůbec netrápila. Hlavní byla rychlost a co nejmenší paměťové nároky.

Jazyk Forth

Moore svůj jazyk nazval Forth a to z toho prostého důvodu, že jej považoval za čtvrtou generaci programovacích jazyků, no a IBM 1130, na kterém jej především vytvářel, znal pouze pětipísmenné názvy souborů, takže „u“ muselo být obětováno. Začátkem sedmdesátých let se s tímto jazykem seznámili i další programátoři a snadnost jeho implementace na prvních mikropočítačích s velmi omezenou pamětí se stala základem jeho úspěchu.

Lze jen poděkovat Elizabeth Ratherové, která nejprve přesvědčila Moorea, aby si tento klenot nenechával pro sebe, a následně s ním založila společnost, jejíž hlavní náplní byla popularizace nového jazyka. Forth byl portován na mnoho různých platforem a zakrátko došlo k vytvoření mnoha jeho verzí. To vedlo k nutnosti jeho standardizace, což se v roce 1979 podařilo.

jupiter_ace Steve Vickers a Richard Altwasser

Forth byl na jedné straně nesmírně oslavován pro svou efektivitu, kdy programy v něm stvořené běžely několikrát rychleji, než programy v Basicu, a to při mnohem nižší paměťové náročnosti. Forth přitom ke svému běhu nepotřeboval žádný operační systém, vystačil si sám. Na druhé straně filozofie tohoto jazyka je natolik odlišná, že mnohé odrazovala. Už jen fakt použití tzv. postfixové notace mnohým komplikoval život, ačkoliv je pravda, že tento způsob zpracování dat je efektivnější, než na co jsme běžně zvyklí. Demonstrovat lze na klasické rovnici 25*10+50, která se ve Forthu zapíše jako 25 10 * 50 + .

Důvodem efektivity je fakt, že Forth je jazyk založený na použití stacku (zásobníku), takže v uvedeném příkladu se nejprve první dvě čísla uloží na zásobník, následně se na nich provede operace násobení s uložením výsledku do zásobníku, přidá se další číslo a provede se operace sčítání.

Stejná filozofie je použita i při složitějších výrazech, což vede k značně odlišné synaxi, než na co je programátorská veřejnost zvyklá. Dá se v tomto kontextu tvrdit, že syntaxe C++ je oproti tomu přímo vzorem jednoduchosti.

V sedmdesátých létech byl princip Forthu přímo manou z nebes, protože mikroprocesory disponovaly jen několika registry, které ještě ke všemu nebyly rychlejší, než operační paměť. Programovací jazyk využívající stack (a tedy nezávislý na počtu registrů počítače, což znamenalo snadnou portaci) znamenal velké vítězství. Využití stacku mimo jiné znamenalo, že rekurze a množství vnoření závorek či funkčních volání bylo ve Forthu neomezené (tedy – omezeno velikostí paměti), protože stack na mnohých procesorech této doby neznal zásadní omezení velikosti. To sice neplatilo na jednom z nejoblíbenějších CPU – MOS6502 (kde mohl mít stack pouze 256 bytů), ale i toto se podařilo implementačně vyřešit.

Forth se tedy v sedmdesátých a počátkem osmdesátých let stal celebritou. Celebritou mezi programovacími jazyky, samozřejmě, obecná veřejnost netušila, že něco tak podivného vůbec existuje. Ovšem mezi programátorskou veřejností existovalo jisté přesvědčení, že právě Forth by měl mít světlou budoucnost. To se z mnoha různých důvodů nenaplnilo. Tím asi nejzásadnějším byl překotný rozvoj hardwaru, kdy ušetření několika kilobajtů paměti užitím velmi efektivního jazyka přestalo být něčím zásadním.

V roce 1982, po dokončení slavného ZX Spectra, si Steve Vickers a Richard Altwasser řekli, že zkusí stvořit nějaký vlastní počítač, kde by nebyli omezováni Clivem Sinclairem a jeho marketingovou vizí. Steve Vickers byl autorem ROM Spectra, zatímco Altwasser stvořil jeho hardware, takže pro práci na nějakém novém počítači byli těmi nejpovolanějšími osobami. Založili firmu Jupiter Catnab, no a pokud se někdo diví tomu podivnému jménu, tak jde o zkratku ze jména Cantabridgian, neboli Cambridge, kde se nacházelo i sídlo Sinclair Research.

jupiter_ace Automatic Computing Engine

Při tvorbě nového počítače se jim zásadním vzorem stalo jejich vlastní dítko, postarší ZX81. Někteří méně informovaní novináři považovali jejich výtvor za prostou kopii, ale nebylo tomu tak. Rok starý hardware vylepšili o některé chytré nápady, především výrazně zrychlili jeho běh. Zatímco ZX81 se s trochou nadsázky dá považovat za stroj, jehož hlavní funkcí je zobrazování na televizoru, přičemž když má zrovna volnou nějakou tu milisekundu, tak vám milostivě i něco spočítá, Richard Altwasser v novém stroji oddělil videopaměť (o velikosti 2kB) od hlavní paměti s programem a daty, díky čemuž byl stroj mnohem rychlejší, než ZX81. Tento způsob dělení paměti si vyzkoušel už na Spectru.

Jako jméno bylo zvoleno Jupiter ACE. Zkratka ACE byla připomínkou „Automatic Computing Engine“, což byl jeden z prvních britských počítačů z roku 1950. Jinak pochopitelně neměl připravovaný mikropočítač s tou dávnou vykopávkou nic společného. Hravě jej překonával výkonem, ovšem – velmi paradoxně – na rozdíl od 11kB RAM ve svém jmenovci nabízel méně paměti, pouhé 3kB, což v roce 1982 už bylo opravdu za zenitem.

V této době se považovalo za samozřejmé, že má mikropočítač nějaký zabudovaný programovací jazyk. Ten totiž v jistém směru nahrazoval neexistující operační systém, kterým se mohli chlubit pouze stroje s disketovou jednotkou, což neměl být ovšem případ Jupiter ACE. Vickers a Altwasser se rozhodli použít ve svém novém mikropočítači místo tehdy zcela standardního Basicu jazyk Forth.

jupiter_ace Základní deska Sinclair ZX81

Tím se jejich počítač stal jediným mikropočítačem, který kdy tento jazyk jako pevně zabudovaný nabízel. Pokud se snad někdo domnívá, že za tímto stála nějaká složitá marketingová úvaha, jak odlišit jejich ACE od ZX81 a dát mu do vínku nějakou základní konkurenční výhodu, mýlí se. Forth byl prý zvolen jako z nouze ctnost, jelikož jeho implementace byla nejrychlejší, zatímco vytvořit Basic by trvalo mnohem delší dobu. Počítač se na trhu musel objevit co nejdříve, protože se technologicky jednalo o v podstatě překonanou záležitost.

Zatímco hlavní konkurence, jejich vlastní počítač prodávaný pod konkurenční vlajkou (Sinclair ZX81) sestával z pouhých čtyř čipů, což se podařilo díky zákaznickému obvodu ULA, Jupiter ACE měl být vyráběn v mnohem menších sériích, takže jeho tvůrci museli na takovou variantu zapomenout a použít velmi chytrý návrh desky. Protože nebyli schopni pro svůj stroj nabídnout hned od počátku žádné periférie, vybavili jej v původním prototypu expanzním portem kompatibilním se ZX81. Nakonec tento port ale zapojili odlišně (pravděpodobně se obávali soudního sporu se Sinclairem), nicméně stačil jednoduchý adaptér a mohli jste připojit cokoliv pro ZX81.

jupiter_ace Základní deska Jupiter ACE

Jupiter ACE velmi svůj pravzor připomínal. Kromě téměř kompatibilního expanzního portu i on nabízel možnost nahrávat data na kazetový magnetofon, měli jste k dispozici velmi levnou gumovou klávesnici (což bylo ovšem řešení podobné ZX Spectru), velmi omezenou paměť RAM (v základu 1kB pro vlastní program), jednoduchý reproduktor pro nějaké to pípání a černobílý textový režim 32 × 24 znaků, který byl poněkud optimisticky považován i za grafický o 256 × 192 bodech.

V tomto směru se ale jednalo o naprostou nadsázku – režim i nadále zůstal textový, ale na rozdíl od ZX81 jste s pomocí vlastní definice všech 128 znaků mohli vytvářet cosi jako grafiku. Na rozdíl od ZX81 ale ACE nabízel i speciální port na videosběrnici, protože tvůrci počítali s budoucím prodejem videokaret a dokonce vytvořili i prototyp barevné, která se ale prodeje nedočkala. Už od počátku uvedení své novinky nabízela firma rozšíření paměti na 16kB, což bylo zcela zásadní pro nějaké rozumné užívání počítače.

Z dnešního pohledu lze opravdu jen těžko vytušit, jaký měli se svým strojem jeho autoři podnikatelský záměr. Samozřejmě, chtěli vytvořit stroj pro programátory a vycítili jakési malé nepatrné místečko na trhu, které by jejich výtvor měl vyplnit. I tak se ale dá soudit, že snad jen jejich mládí a nezkušenost stojí za tou poněkud naivní představou, že se strojem v podstatě srovnatelným, jako rok staré dílo konkurence, strojem, jehož jedinou výhodou je větší rychlost a zabudovaný Forth, že s tímto nijak oslnivým strojem dokážou prorazit. Přeci jen, jazyk Forth jste mohli používat i na jiných platformách.

Ano, samozřejmě, konkurenční počítače stály více, ale zase byly použitelnější. Například pro tehdejší BBC Micro, tedy velmi úspěšný školní počítač, existoval Forth na ROM modulu, stačilo jej pouze zastrčit do volného slotu a mohli jste programovat. Ano, BBC Micro stálo mnohem více, ovšem programátoři, kteří to mysleli vážně a zajímal je Forth, takoví programátoři nehodlali na svém stroji šetřit. To ostatně platí dodnes.

No, jak asi každý tuší, Jupiter ACE neprorazil. Prodával se rok, přičemž se podařilo udat přibližně 5000 kusů. V roce 1984 firma vyhlásila úpadek a veškeré zbylé zásoby počítačů, součástek a práv odkoupila Boldfield Computing Ltd, která se zabývala vývojem software pro tuto velmi minoritní platformu. Boldfield už rezignoval na jakýkoliv další rozvoj či výrobu, prostě pouze doprodal zásoby, čímž se historie Jupiter ACE uzavřela.

jupiter_ace

bitcoin_skoleni

Díky velmi malému počtu prodaných kusů, jisté originalitě a věhlasu jediného počítače s Forthem v útrobách je Jupiter ACE velmi vzácným sběratelským kouskem, netrpělivě vyhlíženým na aukčních portálech. Pokud snad máte nějaký funkční kousek někde v zaprášené krabici na půdě, jste šťastlivci, kteří mohou příjemně zbohatnout. Kousek s původním obalem a paměťovým rozšířením přijde na nějakou tu tisícovku liber, což rozhodně potěší. Pokud byste měli chuť vyzkoušet si alespoň práci s ním v emulátoru, je nejjednodušší variantou stáhnout si jeho obraz ROM a následně jej použít v nějakém emulátoru Spectra.

A tak jsme dnes svědky paradoxu. Počítač, který se naprosto neujal, který byl vytvořen se značnou naivitou a bez rozumného podnikatelského záměru, počítač, který už ve své době nabízel překonaný hardware, veřejnosti je prakticky neznámý a historii výpočetní techniky ovlivnil zhruba stejně, jako kámen vržený do rybníka, tento počítač je dnes mezi sběrateli mnohem slavnější, než v dobách svých velmi skrovných prodejů. A pak že historie nezná ironii!