Pavel Tronner

Mikropočítačová revoluce

Tiráž

Pavel Tronner

Mikropočítačová revoluce

© Pavel Tronner, 2014

Photos © archiv autora; ČTK/DB Apple/DPA (s. 55); ČTK/Sal Veder/AP (s. 153), 2014

Všechna práva vyhrazena. Žádná část této publikace nesmí být rozmnožována a rozšiřována jakýmkoli způsobem bez předchozího písemného svolení nakladatele.

Druhé vydání (první elektronické.)

Odpovědný redaktor Marek Pečenka.

Jazyková korektura Juan Zamora.

Obálka, grafická úprava, sazba a konverze do elektronické verze Tomáš Zeman.

Vydalo v roce 2014 nakladatelství Dokořán, s. r. o., Holečkova 9, Praha 5, dokoran@dokoran.cz, http://www.dokoran.cz, jako svou 672. publikaci (131. elektronickou, pdf), 673. publikaci (132. elektronickou, epub), 674. publikaci (133. elektronickou, mobi).

ISBN 978-80-7363-623-4 (pdf)

ISBN 978-80-7363-624-1 (epub)

ISBN 978-80-7363-625-8 (mobi)

Obsah

Předmluva

Mikroprocesor

BASIC

Úsvit

Annus mirabilis

Souboj počítačů

Nástup moderní doby

Zrození standardů

Soumrak platforem

Vyhoďte ho z kola ven

Jak rozevřít okna dokořán

Nejisté hledání nových cest

Boj o život

Vítězství uživatelů

Časová osa dějin mikropočítačů

Dodatek: mikropočítače u nás

Technické dodatky

Časy osmi bitů

Nástin programování osmibitových počítačů

Šestnáct a více bitů, symbol moderního věku

Literatura

Předmluva

Je zajímavé, kolika mýty je obestřena doba vzdálená od nás jen několik desetiletí. Mnoho bývalých i současných osobností se pokoušelo a pokouší samo sebe prezentovat jako ty nejzásadnější hybatele počítačových dějin, bez jejichž stěžejního díla bychom pravděpodobně ještě počítali na sčotech a psali na břidlicové destičky. Fanoušci různých firem zase bývají přesvědčeni, že největší inovace byly dílem právě jejich týmu.

V této knize se nesetkáme jen se jmény známých manažerů, jako je Steve Jobs, Bill Gates či třeba Jack Tramiel, ale i s těmi, kdo chytré mašinky skutečně přivedli na svět. Jay Miner, Steve Wozniak, Andy Hertzfeld, Alan Kay... – ano, to jsou také ti praví, i když obvykle zapomínaní hrdinové. Těm také věnuji tuto knihu, takže až se ve stáří budou pohupovat v houpacím křesle s dýmkou v ústech, mohou se jí kochat a vzpomínat na svá slavná léta – pokud se tedy naučí česky…

Dávná doba prvních osobních počítačů nám dnes připadá jako prehistorie, přitom ji mnozí z nás zažili i osobně. Je každopádně úctyhodné, kam se výpočetní technika dokázala dostat během života jediné generace. Možná vůbec nejparadoxnější je fakt, že tento rozvoj nebyl vůbec očekáván a předvídán. Ani nejlepší z autorů sci-fi nepředpokládali takový pokrok. Ještě v sedmdesátých letech chyběla odpověď na zásadní otázku – proč by měl vlastně někdo (kromě několika bláznivých hackerů) vůbec vlastnit počítač? Tiskárny byly cenově nedostupné, internet ani digitální video/audio neexistovaly, stejně jako počítačové hry. Proč mít tedy na stole, ať už doma či v kanceláři, počítač, co by s ním měl člověk dělat? Dnes už odpověď známe. „Otcové zakladatelé“ tápali, ale nakonec ji pro nás objevili. Můžeme jim jen poděkovat za to, jak změnili náš život a otevřeli před námi nový svět.

Mikroprocesor

Na rozdíl od mnoha jiných revolucí, zahájených nezřídka zlomovými a nepřehlédnutelnými dějinnými událostmi, revoluce v mikropočítačích nastoupila svou cestu bez většího zájmu veřejnosti, výstřelů a jediné oběti.

Šedesátá léta byla dobou optimismu a víry v budoucnost. Šťastlivci narození po dramatu druhé světové války se odpoutali od hodnot válečné a předválečné generace, navyklé útrapám a skromnosti. Užívali si život plnými doušky, měli pocit, že dokáží vše a svět je tu pro ně. Člověk vylétl do vesmíru a chystal se na historickou procházku po Měsíci.

Počítače tehdy již dávno opustily fázi experimentálních prototypů, staly se běžnou komerční záležitostí a měly za sebou už několik generací vývoje. I v zemích sovětského bloku již kybernetika přestala být pokládána za buržoazní pavědu.

Byla to však ještě obrovská monstra, která s jakoukoliv inteligencí neměla moc společného, ale na druhé straně uměly tyto stroje rychle a přesně počítat. Nepředpokládalo se, že by se daly využít ještě k něčemu jinému. Jen velmi málo autorů se odvážilo přiznat počítačům „duši“ či nějakou osobnost. Ale ať už se o to pokusil A. C. Clarke se svou Vesmírnou odyseou či R. A. Heinlein v knize Měsíc je drsná milenka, vždy se jednalo o počítače obrovské.

Na univerzitách a ve výzkumných centrech se v té době už ovšem začaly objevovat i první minipočítače, jako třeba řada PDP. Pro minipočítač PDP-7 byl vyvinut operační systém UNIX, s nímž se můžeme setkat dodnes. Předpona „mini“ nám sice z dnešního pohledu připadá poněkud komická, nicméně už se nejednalo o stroje chlazené leteckými motory, ale o krabice velikosti skříně, plné drátů a přepínačů. Tyto počítače šlo bez problémů programovat a jejich procesorová jednotka byla složená z většího množství integrovaných obvodů. Vytváření kódu se samozřejmě od současného programování velmi lišilo, například programátoři pro PDP-8 museli svůj kód vtěsnat do 4 kB paměti RAM. Nicméně tehdejší práce už v sobě měla to, co programátory láká dodnes: objevování nových světů, řešení nových problémů, možnost přinutit „mašinu“, aby dělala přesně to, co si přeje člověk.

Poválečná generace se s počítači už celkem běžně setkávala na univerzitách. Jakmile ovšem studia skončila, absolventi najednou zjistili, že doma nic podobného mít nemohou. Počítače řady PDP nepřicházely v úvahu kvůli ceně mnoha desítek tisíc dolarů – a nic jiného neexistovalo. A zatím to vypadalo, že ani existovat hned tak nebude. Zatím.

Dne 15. března roku 1969 byl podepsán kontrakt mezi firmami Busicom a Intel. Společnost Intel, tehdy jeden z největších výrobců pamětí, měla podle smlouvy vyvinout novou sadu integrovaných obvodů, která by umožnila Busicomu uvést na trh vyspělé kalkulátory s vestavěnou tiskárnou. Intel měl v tomto ohledu bohaté zkušenosti, ostatně jedním z jeho zakladatelů byl i Bob Noyce, vynálezce integrovaného obvodu. Když ale Ted Hoff, pověřený přezkoumáním zakázky, prostudoval, co vše firma Busicom požaduje, zjistil, že takto rozsáhlé zadání by znamenalo tak vysoké náklady na vývoj, že by se pro jediný projekt nevyplatily. Celý systém by se totiž musel skládat ze zhruba šestnácti obvodů, k jejichž navržení se relativně malé firmě nedostávalo peněz, času ani inženýrů. Hoff proto přišel s myšlenkou, aby se přistoupilo k vývoji univerzálního integrovaného obvodu, jenž by umožňoval programování, a požadované funkce by se tak daly zajišťovat softwarově. Noyce s Hoffem a jeho plánem nejprve vyrazil dveře, ale když si na jakési pozdější poradě znovu vyslechl všechny argumenty, musel mu dát za pravdu. Vytvoření programovatelného čipu by Intelu umožnilo tento výrobek uplatnit i pro případné příští zakázky. To by znamenalo ušetřit pozdější náklady, a projekt, který se kvůli jediné zakázce pro Busicom nemohl vyplatit, tak začal vypadat životaschopně.

Ted Hoff tedy společně se Stanem Mazorem navrhli v létě 1969 architekturu a redukovanou instrukční sadu nového čipu, jehož vývojem byl pověřen zkušený vývojář integrovaných obvodů Federico Faggin, najatý jako vedoucí projektu speciálně pro tento úkol v roce 1970. Faggin vytvořil celou novou metodologii a díky mnoha jeho inovacím se čip, původně považovaný za dobrý jen pro kalkulačky, mohl stát i základem dalších aplikací.

Tak se tedy zrodil Intel 4004, první mikroprocesor, jehož nástupci dodnes představují srdce počítačů i jiné elektroniky. Čip i4004 byl pouze čtyřbitový (dnešní procesory jsou 64bitové), pracoval na taktu 740 kHz a skládal se zhruba z 2 300 tranzistorů. Přes všechnu Fagginovu inovativnost a vizi se jeho procesor tehdy v žádném seriózním počítači neuplatnil – i když existovaly nadšenecké pokusy o příslušný malý zázrak. Důvod byl jednoduchý: až později se v procesoru podařilo oddělit adresovou a datovou sběrnici, což velmi výrazně zvýšilo jeho výkon a přístup do paměti. (Adresovou sběrnici procesoru si lze zjednodušeně představit jako pomocné zařízení, zajišťující procesoru, aby měl „kam“ zapisovat. Datová sběrnice se stará o to, aby bylo „co“ zapsat.)

Samotný i4004 byl proto na počítač příliš pomalý – i když by jistě dokázal deklasovat sálové počítače čtyřicátých let. Nápady, jimiž Faggin obohatil výrobu integrovaných obvodů, se ale bohatě uplatnily při vývoji dalších čipů.

Procesor i4004 byl oficiálně představen 15. listopadu 1971. Firma Busicom jej použila ve svém kalkulátoru a Intel pro procesor získal i nějaké další zakázky, ale zlatý důl se z něj nestal. Ted Hoff tedy pro zvýšení popularity svého ideového dítěte přesvědčil vedení společnosti, aby investovalo do reklamy. Procesor i4004 byl i se svou rodinou podpůrných obvodů veřejnosti představen jako „mikropočítač“. Zřejmě právě tehdy toto slovo poprvé proniklo i k běžným lidem. Šéf Intelu Bob Noyce nad procesorem ovšem zrovna nesršel nadšením. „Budoucnost toho čipu je v hodinkách!“ nechal se slyšet, avšak souhlasil s čímkoliv, co by mohlo povzbudit zatím nevalný prodej.

A pak se jednoho dne na jaře roku 1972 objevil ve vývojovém oddělení firmy Intel mladý blonďák Gary Kildall. Stále poněkud skeptické tvůrce procesoru překvapil několika použitelnými programy, které pro ten malý křemíkový zázrak vytvořil ve svém volném čase. V Intelu byli překvapeni, k čemu všemu se jejich poněkud problematické dítě dá využít.

Gary Kildall se už jako student toužil stát učitelem a nikdy mu nedělalo sebemenší problém komukoliv třeba i hodiny vysvětlovat zamotané technické detaily. Dalo by se říci, že měl učitelství v genech. V rodném Seattlu založil jeho dědeček v roce 1924 školu námořní navigace, kde postupně vyučovala řada členů rodiny; po dokončení střední školy tam začínal i Gary. Skončit tam ale nechtěl. Vystudoval matematiku na Washingtonově univerzitě a poté získal doktorát z počítačových věd. Stal se tím velkou výjimkou mezi ostatními pionýry v oblasti mikropočítačů. Jako jeden z mála těchto nadšenců měl totiž nejen nadání a obrovskou chuť něco dokázat, ale i teoretické vzdělání.

Ještě předtím, než dokončil doktorát, učinil Kildall i dvě dosti zásadní životní rozhodnutí. Oženil se se svou studentskou láskou Dorothy McEwenovou a upsal se válečnému námořnictvu. Tento krok se vzhledem k probíhající vietnamské válce zdá dost nepochopitelný, avšak Gary měl v tu chvíli již asi jasný plán. Námořnictvo mu totiž nabídlo buď angažmá ve Vietnamu, nebo v námořní škole v Monterey. Gary si vcelku nepřekvapivě vybral druhou možnost. Kalifornské Monterey mělo pro budoucnost jednu zatím netušenou, ale zásadní výhodu. Ani ne hodinku cesty odtud se totiž nacházelo prozatím nijak známé Křemíkové údolí (Silicon Valley), sídlo firmy Intel.

Na jaře 1972 Kildall uviděl reklamu na nový mikroprocesor, která jej jako odborníka zaujala, takže neváhal a za pětadvacet dolarů si ten malý čip i se sadou podpůrných obvodů koupil. Dle návodu vše správně sestavil a začal zkoušet psát pro čip první programy. Přeskočil experimentování s triviálními školními příklady a pustil se rovnou do něčeho užitečného. Napsal pár programů s úlohami z námořní navigace a zjišťoval, nakolik je mikroprocesor při svých výpočtech přesný a rychlý. Ani jedno jej zrovna neuspokojilo, především rychlost se zdála přímo úděsná. (To pochopitelně souviselo s faktem, že procesor byl pouze čtyřbitový, tedy jeho šestnáct registrů mělo pouze tolik bitů a bez dalších triků uměly pracovat pouze s čísly 0–15. Samozřejmě, že i s takovým omezením lze provádět výpočty, ale protože je nutné neustále hodnoty přepočítávat, je přesnost výpočtu omezená a rychlost představuje ještě větší problém.)

Přesto jej nadchlo, že mikroprocesor počítal, počítal správně, a zvládal dokonce i celkem složité matematické úlohy. Dokázal zde vytušit obrovský příslib do budoucna, a právě proto se vydal do firmy Intel, aby se zde informoval o dalším vývoji. Stačilo, aby krátce představil svou dosavadní práci, a domů se vracel jako externí konzultant.

Mezitím se firma CTC (Computer Terminal Corporation) pokoušela vyvinout vlastní osmibitový čip, který by mohla použít ve svém programovatelném terminálu Datapoint 2200. Příliš se jí to nedařilo, a proto její vývojáři požádali o pomoc Intel. V Intelu z toho nejprve nebyli zrovna nadšeni, avšak nakonec se na spolupráci přece jen dohodli. Změnili design, ale čip stále zůstal plný chyb. Nakonec CTC vyčerpala přidělené finance a Datapoint byl vyvinut na principu tehdejší klasické technologie několika spolupracujících integrovaných obvodů. Nový procesor najednou nikdo nepotřeboval a vývoj se zastavil. Když však posléze firma Seiko viděla úspěšné použití i4004 v konkurenčních kalkulačkách, požádala Intel o něco výkonnějšího. A právě k tomu se hodil osmibitový procesor. CTC se jej s radostí vzdala, neboť jí už k ničemu nebyl. Intel jej pojmenoval i8008 a oficiálně představil v dubnu 1972.

Procesor i8008 se skládal zhruba z 3 500 tranzistorů, nataktovat se dal na 0,8 MHz, a i když byl v některých ohledech pomalejší než i4004, jeho schopnost zpracovávat celý byte a adresovat tehdy neskutečných 16 kB paměti uváděla inženýry v nadšení. Objevily se i první počítače postavené na procesoru i8008 – Micral, Scelbi 8B a Mark 8. Právě Micral, vytvořený v roce 1973 francouzským týmem, který vedl vietnamský imigrant André Truong Trong Thi, je považován za první skutečný mikropočítač. Používal se především pro průmyslové účely, prodaly se jej pouhé desetitisíce a v USA se moc neprosadil; z toho důvodu historii mikropočítačů příliš neovlivnil. Američané tak nemají tušení, že je ve vývoji počítačů dokázal někdo předběhnout dokonce o celé dva roky. Ani ostatní zmíněné počítače neznamenaly žádný průlom, protože šlo většinou o nadšenecké projekty. Některých se prodalo pár desítek kousků, jiné nepřekročily stadium prototypů. Nicméně, a to je to nejzajímavější, základní koncepci procesoru i8008 máme všichni „pod kapotou“ dodnes. I dnešní moderní architektura čtyřjádrových procesorů (Quad Core) má v sobě stále stejné instrukce (i když kromě nich obsahuje samozřejmě i spoustu dalších).

Intel ve snaze ulehčit práci svým vývojářům představil speciální vývojový systém zvaný Intellec-8, jakýsi předobraz budoucích osobních počítačů. Dodával k němu spoustu různých periferií, především čtečku papírové pásky; později přibyl i monitor. Celý tento první pokus o komerční mikropočítač měl jedinou chybičku – počítač stál přes 10 000 dolarů a měl se primárně využívat pouze k tvorbě programů pro procesory firmy Intel. Ty měly být i nadále jen součástí kalkulaček či jiných průmyslových aplikací. Na nějaké mikropočítače Bob Noyce nevěřil.

Gary Kildall byl jedním ze šťastlivců, kterým Intel svůj vývojový systém zapůjčil zdarma. Deset tisíc dolarů tehdy představovalo ohromnou sumu, na jakou relativně skromný doktor počítačových věd nemohl ani pomyslet. Díky velkorysosti firmy Intel se ale tato nejmodernější technologie objevila na katedře počítačů námořní akademie a Gary se svými studenty trávil hodiny a hodiny experimentů s různými stále sofistikovanějšími algoritmy. Při těchto pokusech pochopil, že programování ve strojovém kódu není skutečně to pravé, protože se jedná o velmi náročnou, přesnou a k chybám značně náchylnou práci. Napsat ve strojovém kódu pár kratších programů je jednoduché, cokoliv rozsáhlejšího je sice možné, avšak příliš pracné. Nebylo by daleko vhodnější programovat v nějakém vyšším jazyce?

Od otázky nebylo k realizaci takového nápadu daleko. Jen pár měsíců trvalo, než Kildall dokončil první vyšší programovací jazyk, který se kdy na mikropočítačích objevil. Jmenoval se PL/M, a když jej ukázal v Intelu, šokoval dokonce i skeptického Boba Noycea. Historie sice nezaznamenala konkrétní Noyceovu reakci, ani žádný jeho výrok, ale už pouhá skutečnost, že povolil další vývoj, ukazuje, že představy mikroprocesorů vhodných jen pro hodinky opustil. Bylo jasné, že se vyplatí rozvíjet základní koncept mikropočítačů, když už pouhý čip dokáže něco, co bylo doposud vyhrazeno pouze jeho mnohem větším sourozencům. Je-li možné programovat mikroprocesory ve vyšších jazycích, než je jejich mateřský strojový kód, pak by logicky mohly zvládnout téměř cokoliv.

Trvalo další dva roky, než k tomu došlo. V dubnu 1974 Intel představil pokračovatele této rodiny procesorů – i8080. Procesor nataktovaný na 2 MHz zvládal přibližně půl milionu instrukcí za sekundu (jinými slovy, měl 0,5 MIPS) – na rozdíl od svých předchůdců, kteří dokázali provést 100 000 instrukcí, a to ještě museli mít výjimečně dobrý den, či spíše výjimečně dobrou sekundu. Procesor i8080 uměl adresovat 64 kB, což se u osmibitových procesorů stalo z logiky věci běžné. V době největší slávy těchto procesorů se tato velikost paměti považovala za naprosto dostatečnou pro jakýkoliv počítač a většina z nich ani takovou paměť nenabízela – vždyť tato velikost představovala přibližně 36 normostran textu!

Tehdy se konečně probudili všichni nadšenci, jimž po návratu z univerzit sebrali jejich oblíbené hračky – počítače. Každému, kdo se tehdy o obor zajímal, začínalo svítat, že nový čip by měl umožnit stavbu cenově dostupného počítače. A kdyby jenom to. Takový počítač by možná mohl být i použitelný...

Gary Kildall byl v tu chvíli o krok napřed, však k tomu nemusel nic stavět. Nepotřeboval to. Intel mu totiž obratem zaslal novou verzi svého vývojového systému se zabudovanou horkou novinkou. Kildall tak mohl s nadhledem sledovat ostatní amatéry, kteří nejistě mudrovali o mikropočítačích. On patřil k těm šťastlivcům, kteří již nemuseli pouze snít. Ve skutečnosti ale jen u nadšení nezůstalo. I on byl nespokojen, s nelibostí nesl nutnost nahrávat data na papírové pásky. Proboha, vždyť šlo o zastaralou technologii už ze šedesátých let! Opět se ukázalo, že Gary Kildall dokáže sledovat trendy a hledět do budoucnosti. Zatímco devět z deseti tehdejších nadšenců by dalo cokoliv i za pomalou čtečku papírové pásky, jen kdyby ji měli k čemu připojit, Kildall moc dobře věděl, že už před pár lety přišla IBM s mnohem lepším, rychlejším a spolehlivějším pevným diskem. Jako levnější alternativu disku pak nabídli disketu, tedy médium, které si ještě pamatují i mnozí z nás. No, pravda, tuhle asi ne.

První disketa měla velikost celých osmi palců (nikoliv nám důvěrně známých tři a půl) a směšnou kapacitu 128 kilobytů. Tento objem se ale postupně dařilo zvětšovat, až nakonec v roce 1977 IBM s velkou slávou dokázala na ten dvacet centimetrů velký disk vměstnat téměř tolik dat, kolik se vešlo na naše staré známé „tři-a-půlky“. IBM sama však vůbec nepočítala s tím, že by její disketové jednotky měly jít připojit k nějakým jiným počítačům než k jejím mamutím mainframům. Naštěstí jen krátce poté začali s výrobou disketových jednotek i konkurenti, například společnost Shugart Associates, a ti připojení svých jednotek k jiným systémům alespoň teoreticky umožňovali. Tedy – samozřejmě za triviálního předpokladu, že jste si pro takovou příležitost navrhli vlastní propojovací desku, zajišťující složitou komunikaci mezi jednotkou a počítačem. Maličkost, že?

Bohužel se ukázalo, že Gary je sice skvělý programátor, ale připojit diskovou jednotku k počítači sám nedokáže. Zkusil dokonce pokusně vytvořit i interface pro připojení obyčejného magnetofonu, avšak i v tom selhal. Musel se proto obrátit na spolužáka z univerzity, kterému se podařilo propojení zajistit. Jednotka konečně pracovala. Jenže co s ní?

Je třeba si uvědomit, že zapisování na disk, ať už na ten pevný, či na dnes již překonanou disketu, není zas tak jednoduchá záležitost. Nejedná se pouze o stisk klávesy pro nahrávání a posléze přehrávání, data je třeba na disku nějakým rozumným způsobem organizovat, ověřovat případné chyby záznamu a spojovat bity nahrané z různých oddílů disku do souborů viditelných uživatelem. Je nutné zajistit, aby uživatelé mohli jednotlivé soubory pojmenovávat, aby je mohli mazat či kopírovat, zkrátka – aby se využil zásadní rozdíl oproti magnetofonu či papírové pásce. Rozdíl spočívá v tom, že není třeba nic nikam převíjet a hledat začátek dat, naopak máme ihned přístup k celé ploše disku, a tedy ke všem souborům. Byl to Gary Kildall, který jako první přenesl na mikropočítače onen posléze standardní systém názvů souborů, sestávající z osmi znaků a tříznakové přípony. Pravda, inspiroval se už existujícími principy, nicméně právě jeho dílo znamenalo téměř standardní řešení pro budoucnost. Právě on postupně vytvořil systém ovládání počítače pomocí příkazového řádku s pevně danou logickou konvencí a s možností automatického nahrání systému z diskety. Jeho největším vynálezem, který používáme dodnes, je BIOS, tedy „Basic Input Output System“, zajišťující nízkoúrovňovou komunikaci mezi operačním systémem a hardwarem počítače. Tento nápad později umožnil Kildallovi adaptovat jeho výtvor na další a další počítačové platformy, přičemž základ systému zůstával stejný, měnil se pouze BIOS. Takovýto postup umožňuje vytvořit systém dostatečně robustní a dobře otestovaný, protože pro konkrétní hardware se upravuje jen malá část kódu. Firma Microsoft tento geniální trik později úspěšně okopírovala.

Nejzajímavější na Kildallově práci byl její výsledek. Naprosto neplánovaně mu totiž pod rukama vyrostl moderní operační systém. Tak dlouho vše vylepšoval, až zjistil, že má k dispozici něco, co nikde jinde neexistuje. Byl na svou práci pyšný a nabídl svůj operační systém Intelu za pouhých 20 000 dolarů. Intel k jeho překvapení nabídku odmítl. Bob Noyce totiž stále nevěřil, že by měla nastat doba mikropočítačů, a kupovat operační systém kvůli několika inženýrům pracujícím s jejich vývojovým prostředím mu připadalo nesmyslné. Ať si vystačí s papírovou páskou! Ještě neexistoval první komerční mikropočítač a přitom už – zcela paradoxně – byl k dispozici první operační systém pro jeho ovládání.

Jednoduché to ovšem nebylo ani s prvním známým mikropočítačem. Dodnes je za něj považován Altair 8800, ale ve skutečnosti už v červenci 1974, tedy půl roku před Altairem, uveřejnil časopis Radio Electronics návod ke stavbě mikropočítače Mark 8 založeného na procesoru i8008. Tento koncept se však nikdy neujal, protože šlo o velmi amatérský projekt, a především to byla pouze stavebnice. Ani v tehdejších Spojených státech přitom nebylo pro případné zájemce vůbec snadné sehnat příslušné součástky. Výroba probíhala v Intelu v Křemíkovém údolí v naprosto minimálním množství, takže například na východním pobřeží USA byste součástky sháněli jen velice těžko. Právě proto Mark 8 zapadl a o jeho existenci dnes prakticky nikdo neví. Většina zasvěcenců se tudíž domnívá, že nejstarším mikropočítačem byl Altair. Ale jak k tomu vlastně došlo?

První komerčně dostupný mikropočítač vděčí za svůj vznik prostě tomu, že správní lidé byli ve správný čas na správném místě a navíc se dokázali dohodnout. Ale ostatně – velmi podstatná část přelomových vynálezů se na světě objevila díky podobné souhře okolností.

V pouštích Nového Mexika, v Albuquerque, tedy nikoli ve středisku moderních technologií, ale v takto odlehlém místě, založil v roce 1969 Ed Roberts firmu MITS (Micro Instrumentation and Telemetry Systems). Původně plánoval vyrábět elektronické součástky pro nadšence stavějící amatérské rakety. Nakonec se ukázalo, že nejvýhodnějším artiklem jsou kalkulačky. Ty se v té době staly opravdu populárními, protože se je podařilo nejen zmenšit, ale i rozšířit jejich funkčnost a zajistit jednoduché ovládání. Několik let tedy firma úspěšně vyráběla stále lepší a lepší modely kalkulaček, na trhu však pochopitelně nebyla sama. Prosperující odvětví lákalo další větší i menší firmy, takže nastala nelítostná cenová válka, v níž společnost MITS, vyrábějící v relativně malých sériích, neměla šanci uspět. Ed Roberts se musel s tou novou velmi trpkou situací vypořádat. Co vyrábět dál?

Šéfredaktor časopisu Popular Electronics Les Solomon v té době přemýšlel, co by tak mohl dát na titulní stranu velmi sledovaného lednového čísla. Samozřejmě, že redaktoři tohoto populárního časopisu moc dobře věděli o úspěších ve výrobě čipů i o článku konkurence o systému Mark 8, nechtěli však psát jen o pouhé stavebnici. Redakce sídlila v New Yorku a redaktoři viděli, že zmiňovaný počítač nikoho nezaujal. Cítili potřebu napsat o nějakém hotovém kompletním produktu! Stavebnice přece zajímají poměrně málo lidí...

Ed Roberts zmíněný časopis dobře znal, protože už pro něj napsal pár článků o elektronických kalkulačkách. Dnes už bohužel nelze přesně říci, odkud vzešla iniciativa, zda z postu šéfredaktora, či zda se nabídl sám Roberts. Každá strana hájí své prvenství. To však již asi není podstatné. Důležitý je závěr – Ed Roberts slíbil, že v lednovém čísle představí mikropočítač společnosti MITS založený na čipu i8080. Od tohoto kroku si sliboval reklamu zdarma, protože časopis se mohl pochlubit téměř půl milionem čtenářů, a to by v tom byl čert, aby se neprodalo alespoň dvě stě počítačů! Alespoň tolik jich prodat musel – zajistil si totiž u Intelu výhodnou smlouvu, takže místo tří stovek dolarů zaplatil za jednotlivý čip pouze pětasedmdesát, neboť se spokojil s kusy sice funkčně bezchybnými, ale zatíženými nějakou kosmetickou vadou. Musel jich ovšem odebrat minimálně dvě stě.

V říjnu MITS dokončila první prototyp a odeslala jej zásilkovou službou do redakce časopisu v New Yorku. Bohužel se však díky stávce dopravců stalo neuvěřitelné: prototyp se ztratil.

Les Solomon se rozhodl riskovat. Článek vyjde a Roberts musí postavit nový prototyp. Bylo ovšem jasné, že do uzávěrky časopisu se nic dokončit nestihne. Velkolepý článek byl tedy stvořen jen na základě popisu, jak bude nový počítač fungovat a z čeho bude sestávat po svém dokončení. Fotografie ukazovaly jen prázdnou bednu s předním panelem plným přepínačů a diod. Detailnější fotografie vnitřku počítače byly pořízeny v MITS před odesláním prvního prototypu a je velkým paradoxem počítačových dějin, že už neměly odpovídat skutečnosti. Roberts se totiž rozhodl své dílo významně vylepšit. Místo použití několika separátních desek si vystačil nyní jen s jedinou. Odpadlo tak nespolehlivé propojování pomocí svazků kabelů. V krabici najednou byla spousta místa, a tak se v MITS rozhodli počítač trošku vylepšit. Roberts navrhl počítačovou sběrnici, později zvanou S-100 (protože měla sto konektorů), která se v následujících letech stala ve světě mikropočítačů standardem. Altair měl v základní sestavě celkem čtyři volné sloty pro rozšiřující karty, a proto se mohl změnit z hračky v použitelný systém. A tak – a v tom je opravdový paradox – se díky jakési dnes už zapomenuté stávce počítačoví nadšenci dočkali mnohem lepšího systému, než bylo původně plánováno.

Zbývalo už jenom jediné. Vymyslet jméno. V MITS se marně snažili přijít na něco rozumného, ovšem fantazie selhala a nakonec se spokojili s PE-8 (což znamenalo Popular Electronics 8-bit). Solomon byl příliš dobrým novinářem, aby na takové jméno přistoupil. Kdepak. Jméno musí zaujmout i normální lidi, kteří se o techniku nezajímají.

Dle legendy se zeptal své dcery, vášnivé fanynky Star Treku, jak v kosmické lodi Enterprise nazývají počítač. Odpověděla mu, že „počítač“, což mu samozřejmě nepomohlo. Pak jej ale upozornila, že v dalším díle letí ke hvězdě zvané Altair. Dokonalé jméno. Společnost MITS si nemohla přát nic lepšího!

Mikropočítač Altair

V lednovém čísle časopisu tedy vyšel nadšený článek o novém mikropočítači. Autoři to s popisem všech schopností trošku přehnali, takže se na MITS, očekávající nějakých 400 objednávek během dvou měsíců, snesla neskutečná smršť a toto číslo bylo překonáno během jediného dne po vydání. Jakýsi nadšenec jim ihned poslal šek na 4 000 dolarů, aby mu zaslali kompletní soubor periferií k Altairu. MITS odpověděla omluvným dopisem, že zatím sloužit nemohou, protože drtivá většina komponent je ještě ve vývoji.

Toto nadšení z Altairu jasně ilustruje, jak tehdejší počítačoví fanatici zoufale toužili po podobné hračce. Altair totiž v základu nelze považovat za nic jiného. Měl obrovskou paměť o velikosti 256 bytů, v základní konfiguraci nešel připojit k monitoru ani k tiskárně, neměl klávesnici, ani neuměl nahrávat program z kazet či disket. Jeho jedinou výhodou byl slot S-100, díky němuž se počítač dal rozšiřovat do použitelné podoby. V onom jitřním čase mikropočítačů však i tato výhoda byla pouze zdánlivá – ještě neexistovalo nic, co by se k němu dalo připojit. A vzhledem k tomu, že MITS absolutně nezvládla naplnit očekávání zákazníků a její karty s rozšířením paměti byly poruchové, otevřel se prostor pro spoustu dalších firem ochotných vyvíjet pro tento vbrzku nejrozšířenější systém vhodné periferie.

Člověk dokáže plně pochopit rozpaky nadšenců, když jim po měsících čekání dorazila domů obrovská bedna plná tlačítek a světelných diod, ovšem bez jakéhokoliv reálného využití. MITS rozesílala své Altairy s obrovským zpožděním, protože nikdo zkrátka nepředpokládal takový zájem. Zaměstnanci padali únavou, neboť počítače se pochopitelně kompletovaly ručně bez jakékoliv automatizace. Pokud jste chtěli ušetřit sto dolarů, bylo možné si Altair objednat i jako stavebnici. Ovšem vzhledem k velmi strohému a amatérskému návodu jste museli být opravdu zkušeným znalcem elektroniky a vyznat se v pájení jemných součástek, abyste vše dokázali bez poškození sestavit. A když se vám to konečně povedlo, narazili jste na další zádrhel.

Neexistoval žádný software a programování ve strojovém kódu a ještě ke všemu bez klávesnice, jen s pomocí přepínačů a světelných diod, zvládli skutečně jen nemnozí. Bylo nezbytné, aby se čerství majitelé Altairů i další zájemci o mikropočítače, kteří na svou zásilku teprve čekali, někde scházeli a vyměňovali si zkušenosti a nové nápady. Tehdy neexistoval všeobecně dostupný internet a počítačová literatura i v USA představovala jen okrajovou amatérskou záležitost. Sejít se a popovídat si znamenalo nejlepší možnost, jak myšlenky šířit dál.

Fred Moore a Gordon French, zakladatelé prvního počítačového klubu v historii, vlastně neměli mnoho společného. Homebrew Computer Club se později proslavil jako líheň talentů a mělo s ním co do činění mnoho známých osobností. Ovšem předtím, než tento klub vznikl, musel někdo přijít na myšlenku jej vůbec založit.

Fred Moore byl přesně tím, co si představujeme pod pojmem aktivista. Patřil ke květinovým dětem, hnutí vzdoru. Tito lidé měli pocit, že svět se ubírá špatným směrem, nicméně stačí se jen trochu snažit, aby se vše obrátilo k lepšímu. Jenže šedesátá léta byla minulostí, už nestačilo jen brát drogy a provolávat hesla proti válce ve Vietnamu. Vnímavý Moore si povšiml mikropočítačů. Článek v Popular Electronics mu nemohl uniknout. Pochopil, že nastává nová doba. Věřil, že počítače nabídnou lidem tu stále toužebně očekávanou a marně hledanou naprostou svobodu. Jenže k tomu, jak usoudil, je třeba urychlit vývoj a ještě udělat obrovský kus práce.

Moore byl členem organizace PCC, což znamenalo People’s Computer Company. PCC vydávala svůj věstník a organizovala pronájem minipočítačů studentům a dalším zájemcům. Představa „Lidové počítačové společnosti“ nám s naší komunistickou minulostí připadá asi poněkud úsměvná, ale v první polovině sedmdesátých let se jednalo o vážně míněnou záležitost s cílem přivést nejnovější elektrotechniku do rukou obyčejných lidí. S nově avizovaným Altairem se tato možnost konečně jevila jako reálná. Moore přemýšlel, čím by tak mohl přispět. Sám jako pravý aktivista ničemu příliš nerozuměl a ani stavba počítačů nepatřila v tomto ohledu k jeho silným stránkám. Pravděpodobně by i pájku držel za špatný konec. Elektrotechnika mu nic neříkala, ale to mu nevadilo: on byl přeci organizátor a vizionář.

Gordon French sdílel stejné nadšení pro budoucnost počítačů, ale na rozdíl od pouhého teoretizování Freda Moorea i věděl, jak na to. Tento šikovný elektroinženýr si na koleně postavil svou vlastní hračku, která byla založena na postarším čipu i8008, a pojmenoval ji poněkud vznešeně Chicken Hawk (jestřáb). French patřil k těm typům lidí, kteří rádi rozebírají různé stroje, zkoumají, jak to či ono funguje a jak by se to případně dalo vylepšit. Tento hubený a usměvavý čahoun byl schopen s kýmkoliv rozmlouvat o elektrotechnice celé hodiny.

Jakkoliv se jednalo o zcela rozdílné osobnosti, v jednom se Moore i French shodli. Je třeba se spojit a začít si vyměňovat vědomosti a nápady. Pro podnikavého Moorea znamenala předběžná dohoda s Frenchem o založení počítačového klubu vstupní impulz. Když zjistil, že není sám, ale shodne se i s člověkem, který technologii rozumí mnohem více, dal se do práce. O pár dní později proto mohli zvědavci nalézt na nástěnkách několika škol, univerzitních kampusů či elektrotechnických firem letáky, které vybízely všechny amatérské zájemce o počítače k účasti na prvním setkání Homebrew Computer Clubu. Stavíte vlastní počítač? Terminál? Případně elektronický psací stroj či periferii? Možná by vás zajímalo setkat se s lidmi podobných zájmů. Vyměnit si informace, nápady, vzájemně si vypomoci.

A tak se ve středu 5. března 1975 sešla v garáži Gordona Frenche skupina počítačových fanatiků. Bylo štěstí, že se jednalo o typickou americkou garáž pro dvě (americká) auta, jinak by se tam těch dvaatřicet lidí snad ani nevešlo. Dorazili samí nadšenci, z nichž většina už měla zkušenosti se stavbou počítačů na koleně. V průběhu několika měsíců se mělo ukázat, jak jim nový klub pomohl v jejich dalším růstu. Lee Felsenstein se měl jednou stát velmi významným konstruktérem počítačů, konkrétně prvního přenosného stroje, považovaného za předchůdce všech notebooků (Osborne 1). Bob Marsh byl typickým přelétavým nadšencem, který tu pomohl zde, tu onde, ale vždy měl spoustu nápadů, které byly někdy geniální, jindy se ukázaly jako pošetilé – například když navrhl nahrávat software na gramofonové desky, což se opravdu neujalo. Později založil firmu na výrobu komponentů k Altairu a svět mu vděčí i za první skutečný kompaktní mikropočítač – SOL-20 – který vytvořil právě spolu s výše zmíněným Felsensteinem. Na setkání klubu se objevil i nevýrazný čtyřiadvacetiletý mladý muž, tehdy zaměstnanec společnosti Hewlett-Packard – Stephen Wozniak. Nikdo mu nevěnoval pozornost.

Klub se velmi rychle zavedl. Na druhé setkání již dorazilo čtyřicet zájemců, na čtvrtém počet účastníků překročil stovku. Oba zakladatelé postupně odpadli a přenechali vedení klubu povolanějším. Historie jim nicméně vděčí za to, že tento nápad realizovali a umožnili velmi schopným konstruktérům setkávat se a hledat řešení nových a nových problémů. Jeden z nejaktuálnějších tehdy představoval nedostatek softwaru. Kdyby tak mohl být Altair programován se stejnou snadností jako mnohem větší počítače. Kolem tohoto snu se v klubu vedlo mnoho diskusí, ale nikdo tento zádrhel nevyřešil.

Počátkem roku 1975, když přijel na Harvard za kamarádem Billem Gatesem, si Paul Allen všiml nového čísla magazínu Popular Electronics. „První stavebnice mikropočítače na světě!“ hlásaly obrovské titulky. Obrázek nevzhledné krabice se spoustou přepínačů zabíral přes půlku stránky. Bylo to tady. Paul se už měsíce s Billem bavil o tom, kdy konečně vypukne mikropočítačová revoluce, a konečně k tomu došlo. Okamžitě časopis koupil a ukázal Gatesovi. Oba si článek pozorně přečetli, veškerá čest a sláva za následující nápad však patří jen Allenovi. Co udělají, uvažoval, všichni ti uživatelé, až si koupí nový Altair 8800? Bez programů je jim počítač k ničemu. A jak si své programy napíšou? Budou se zdlouhavě učit strojovému kódu? Nepřivítali by raději možnost programovat v nějakém vyšším jazyce? Tady se konečně nabízí velká příležitost – nabídneme jim Basic!

Technické dodatky

Časy osmi bitů

Celá historie mikropočítačů započala zrodem prvních mikroprocesorů. Zmiňovali jsme slavné dílo Intelu – i8080 a jeho konkurenci od Zilogu – Z80, Motoroly – MC6800 a MOS Technology – MOS 6502. Ti zvídaví se ale jistě zamyslí nad tím, čím se tyto mikroprocesory vlastně lišily. A který z nich byl nejlepší?

Každý z těchto procesorů byl postaven s trošku odlišnou filozofií. Procesory i8080 a Z80 měly propracovanější soubor instrukcí a mnohem více registrů, takže mnozí programátoři jim rádi dávali přednost, protože se na nich prostě a jednoduše lépe tvořilo. Rodina Motoroly kontrovala indexovým registrem (což znamená, že procesor měl speciální instrukce, kde se k pevné adrese přičetla hodnota v indexovém registru, který se mohl lehce inkrementovat, a tudíž tento trik sloužil například pro procházení polem hodnot v RAM). Nedostatek spočívající v pouhých třech registrech se obcházel tím, že pro přístup k nulté stránce paměti existovaly speciální instrukce, čímž do jisté míry mohlo fungovat dalších 256 registrů. Co je nutno dodat – tehdy byly registry poněkud pomalejší než paměti, a proto se v jistém smyslu považovalo za plýtvání užívat drahé místo na čipu pro další registry.

MOS 6502 se od MC6800 lišil instrukcemi pro práci s BCD (Binary Coded Decimal – každá číslice je zvláště binárně kódována, používá se pro jednoduché konverze v decimální soustavě, pro tisk či zobrazení číslic). Místo jednoho šestnáctibitového indexového registru měl dva osmibitové a pouze jeden registr, zvaný akumulátor, který byl určen pro aritmetické operace. Dalším omezením byl pouze osmibitový ukazatel zásobníku. Zatímco MC6800 mohl mít zásobník uložen kdekoliv v paměti, MOS 6502 mohl mít zásobník jen délky 256 bytů a jeho začátek byl napevno zakódován na první stránku paměti. Z tohoto důvodu musela mít minimální RAM pro MOS 6502 aspoň 512 bytů (0. stránka – 256 „registrů“, 1. stránka – zásobník). Na rozdíl od i8080 neměly procesory 6800/6502 žádné IO porty (i8080 jich měl 256).

Všechny čtyři procesory uměly adresovat 64 kB paměti, používání více RAM se obvykle řešilo pomocí přepínačů, které vypínaly a zapínaly další a další stránky paměti. Procesor byl „přesvědčen“, že paměť má stále 64 kB.

Výhodou Z80, MC6800 a MOS 6502 oproti i8080 bylo použití pouze napětí +5V ve srovnání s +12 V, +5 V a –5 V u i8080. To samozřejmě zjednodušovalo konstrukci počítačů.

Pokud bychom se pokusili zodpovědět na otázku, který z těchto procesorů byl výkonnější, lze to velmi těžko posoudit. Vzhledem k odlišnému souboru instrukcí a odlišnému množství cyklů na různé instrukce u jednotlivých rodin procesorů se nedá kategoricky stanovit pořadí. Uvádí se, že megahertzový procesor MOS 6502 byl zhruba stejně rychlý jako dvaapůlmegahertzový i8080.

Ovšem tím asi vůbec nejdokonalejším z těchto procesorů byl Z80. Jeho velkou předností byla plná kompatibilita s i8080, takže mohl spouštět bez jakékoliv změny jeho programy, což se velmi hodilo například pro operační systém CP/M. Nabízel indexové registry, mnoho nových instrukcí (například pro bitové operace, blokové přesuny či vyhledávání), lepší systém přerušení a v neposlední řadě i podporu pro automatické obnovování DRAM pamětí, což se při konstrukci počítačů opravdu velmi hodilo. O faktu, že byl instrukcemi přímo „nabitý“ svědčí i skutečnost, že z celkem 256 možných kódů pro instrukce jich využíval 252. To je velký rozdíl oproti MOS 6502, který těchto kódů používal jen 151.

Vzhledem k tomu, že prvním komerčně prodávaným osmibitovým mikroprocesorem s dostatečným výkonem byl Intel i8080, nelze se divit, že první počítače byly postaveny na jeho základě. Jeho předchůdce i8008 se na trhu mikropočítačů neprosadil.

Konfigurace těchto prvních mikropočítačů byly z pozdějšího hlediska opravdu skromné. Navzdory této skromnosti ale představovaly v roce 1975 vrchol technologie.

Altair 8800

CPU

i8080 / 2 MHz

FPU

Žádný

ROM

Žádná

RAM

256 bytů rozšiřitelná (alespoň teoreticky) na 64 kB

Záznamové médium

Žádné, později používána disketová jednotka 8" s jednostrannými disketami s kapacitou 128 kB, možnost zakoupení interface pro kazetový magnetofon s rychlostí 300 baudů

Rozšiřující sloty

5 slotů S-100, ovšem dva byly obsazeny – CPU a RAM

Grafika

Žádná, dala se pořídit karta na připojení k televizi s černobílým textovým režimem 64 × 16 znaků

Zvuk

Žádný, nepočítáme-li interferenci s rádiovými vlnami, pomocí kterých bylo možné „ozvučit“ blízké tranzistorové rádio

I/O porty

Žádné, možnost koupě různých karet se sériovými či paralelními porty

Pro srovnání se podívejme na prvního přímého konkurenta tohoto prvního mikropočítače světa.

IMSAI 8080

CPU

i8080 / 2 MHz

FPU

Žádný

ROM

Žádná

RAM

256 bytů rozšiřitelná (alespoň teoreticky) na 64 kB

Záznamové médium

Žádné, později používána disketová jednotka buď 5¼", nebo 8" s jednostrannými disketami s kapacitou 128 kB či 300 kB, možnost zakoupení interface pro kazetový magnetofon s rychlostí 300 baudů

Rozšiřující sloty

6 slotů S-100, ovšem dva byly obsazeny – CPU a RAM. Existovala ale i rozšířená a oblíbenější verze s 22 sloty, což překonává i mnohé dnešní profesionální systémy

Grafika

Žádná, dala se pořídit karta na připojení k televizi s černobílým textovým režimem 64 × 16 znaků

Zvuk

Žádný

I/O porty

Žádné, možnost koupě různých karet se sériovými či paralelními porty

První počítač s konkurenčním mikroprocesorem od Motoroly byl přece jen odlišnější.

SWTPC 6800

CPU

MC6800 / 1 MHz

FPU

Žádný

ROM

512 bytů

RAM

4 kB rozšiřitelná na 64 kB

Záznamové médium

Žádné, později používány disketové jednotky různých výrobců a velikostí až do cca 300 kB pro jednostrannou disketu

Rozšiřující sloty

12 slotů S-50, ovšem dva byly obsazeny – CPU a RAM

Grafika

Žádná, dala se pořídit karta na připojení k televizi s černobílým textovým režimem 32 × 16 znaků

Zvuk

Žádný

I/O porty

Žádné, možnost koupě různých karet se sériovými či paralelními porty

U těchto počítačů z první (či možná nulté) mikropočítačové generace je vidět jejich základní, dá se říci stěžejní vlastnost. Samy o sobě vlastně nic neuměly, ba dokonce neměly ani klávesnici. Jednalo se o stavebnice, které si každý uživatel vyšperkoval dle svých představ, potřeb a především finančních možností. To se zcela pochopitelně odráželo na softwaru dané doby, protože stvořit užitečný program pro tak variabilní hardware byl slušný oříšek. Dokonce i interpretry Basicu se prodávaly dle dostupné paměti RAM, takže existovaly verze pro 4, 8 a 12 kB, každá pochopitelně s jinými schopnostmi.

Především tehdejší ceny pamětí velmi omezovaly uživatele i programátory v rozletu, protože každý kilobyte RAM představoval investici nejprve stovek, později desítek dolarů. I to je důvod, proč videokarty prvních počítačů byly v podstatě bez výjimky textové. Rezervovat drahocennou paměť pro pouhé uložení obrazu tehdy představovalo luxus, který si nikdo nemohl dovolit. Toto se podařilo prolomit až u druhé generace mikropočítačů, konkrétně u Applu II.

Nicméně, prvním z této generace kompaktních mikropočítačů byl SOL-20 s následující konfigurací.

SOL-20

CPU

i8080 / 2 MHz

FPU

Žádný

ROM

1 kB

RAM

8, 16 či 32 kB, rozšiřitelná na 48 kB

Záznamové médium

Žádné, později používán velmi nespolehlivý Helios II disk 8" s dvěma jednotkami a jednostrannými disketami s kapacitou cca 384 kB, interface pro kazetový magnetofon s rychlostí 300 baudů

Rozšiřující sloty

5 slotů S-100

Grafika

Černobílý textový režim 64 × 16 znaků, 1 kB videopaměti

Zvuk

Žádný

I/O porty

Sériový a paralelní port, interface pro kazetový magnetofon

Téměř současníkem počítače SOL byl i první výtvor začínající firmy Apple. Je ovšem třeba si uvědomit, že zatímco SOL představoval hotový výrobek, který stačilo zastrčit do zásuvky, připojit k televizoru a mohli jste začít pracovat, u Applu jste si nejprve počítač museli dodělat. Kromě toho se Apple I lišil i použitým procesorem. V této pionýrské době představoval MOS 6502 velkou neznámou, zatímco i8080 byla sázka na jistotu. I to pravděpodobně zapříčinilo neúspěch Applu I. O rok později, kdy se tento procesor stal přímo standardem u všech novinek, už vypadala situace úplně jinak.

Apple I

CPU

MOS 6502 / 1 MHz

FPU

Žádný

ROM

256 bytů

RAM

4 kB či 8 kB, rozšiřitelná na 48 kB

Záznamové médium

Interface pro kazetový magnetofon s rychlostí 1 200 baudů

Rozšiřující sloty

1

Grafika

Černobílý textový režim 40 × 24 znaků, v podstatě řešen jako videoterminál, a tudíž velmi pomalý

Zvuk

Žádný

I/O porty

Žádné

Zázračný rok mikropočítačů, tedy rok 1977, započal představením Commodorem PET. Ten – opět na rozdíl od Applu I – znamenal použitelný systém, i když jeho klávesnice byla dost katastrofální a celkově se návrh příliš nepovedl. PET byl v průběhu let neustále vylepšován, proto se zaměříme pouze na původní konfiguraci se zmínkou o maximální rozšiřitelnosti u pozdějších verzí.

Commodore PET

CPU

MOS 6502 / 1 MHz

FPU

Žádný

ROM

14 kB s Basicem 1.0, později až 20 kB s Basicem 4.0

RAM

4 kB či 8 kB, rozšiřitelná na 96 kB

Záznamové médium

Zabudovaný kazetový magnetofon s rychlostí 750 baudů (u pozdějších verzí vypuštěn kvůli lepší klávesnici), později přišel Commodore s rozsáhlou nabídkou disketových jednotek od 5¼" s kapacitou 170 kB až 1 MB po 8" s kapacitou 128 kB až 500 kB. V pozdějších letech nabízel i harddisk s kapacitou 5 a 7,5 MB

Rozšiřující sloty

0

Grafika

Černobílý textový režim 40 × 25 znaků, později i 80 × 25 znaků, a to velkých i malých písmen, což znamenalo velkou výhodu oproti Applu. Na druhé straně byla tabulka znaků pevně zapsaná v ROM a nebylo ji možné změnit, což znamenalo velkou nevýhodu oproti konkurenci.

Zvuk

Žádný

I/O porty

Interface pro kazetový magnetofon, port pro rozšíření paměti, paralelní port (pro připojení diskových jednotek či tiskárny) a IEEE-488. Ten byl původně používán pro modem, ale později PET s úspěchem našel uplatnění ve školách při budování primitivních školních počítačových sítí. V posledních sériích PET přibyl i sériový port

Klávesnice PET byla nepříliš dobrá, membránová. Byla proto tím prvním, co Commodore vylepšil, i když na úkor zabudovaného magnetofonu. Pro nahrávání dat z něj PET používal rychlost 750 baudů, což bylo méně než u Applu II. Nahrávání se ale dalo považovat za spolehlivé, neboť skutečná rychlost byla 1 500 baudů a pro jistotu se vše zapisovalo dvakrát.

Jak je ze specifikace zřejmé, Commodore rezignoval na nějaké rozšiřující sloty, takže se uživatelé museli spokojit s výstupními porty. To znamenalo nepříjemná omezení – například v rychlosti práce s disketovou jednotkou se PET ocitl na chvostu celého „pelotonu“ tehdejších počítačů.

Druhý počítač firmy Apple se stal základním kamenem úspěchu této firmy a rozhodně zcela oprávněně. Po dlouhá léta představoval velmi kvalitní stroj, který nabízel rozšiřitelnost i barevnou grafiku.

Apple II

CPU

MOS 6502 / 1 MHz

FPU

Žádný

ROM

12 kB

RAM

4 kB, rozšiřitelná na 48 kB, případně až na 128 kB

Záznamové médium

Interface pro kazetový magnetofon s rychlostí 1 200 baudů a externí 5¼" disketová jednotka s kapacitou 143 kB

Rozšiřující sloty

8

Grafika

Monochromatický textový režim 40 × 24 znaků, grafický režim 280 × 192 ve 4 barvách, později v šesti barvách

Zvuk

Mono reproduktor, jeden zvukový kanál

I/O porty

Interface pro kazetový magnetofon, dva ovladače paddle

Původně uměl Apple II jen čtyři barvy – zelenou, fialovou, bílou a černou. Až s Applem II Plus přibyly další dvě, modrá a oranžová. Tato barevná paleta vytvářela barvu na NTSC televizi geniálním trikem, jehož podstatou byla synchronizovaná interference barvonosného signálu a signálu s informací o jasu jednotlivých pixelů (detaily jsou mimo rozsah tohoto textu, nicméně právě tento způsob umožňoval použití oněch zmiňovaných barev a žádných jiných). I díky tomuto řešení pak docházelo k chybám v zobrazování barev na sudých a lichých sloupcích, ovšem tehdy byl vůbec zázrak mít obraz v barvě, nějaké barevné chyby nikdo neřešil...

Původní Apple II byl postupem doby neustále vylepšován, až poslední z počítačů této řady původní produkt příliš nepřipomínal, i když s ním byl stále kompatibilní.

Apple IIgs

CPU

Šestnáctibitový Western Design Center 65C816 / 2,8 MHz

FPU

Žádný

ROM

128 kB

RAM

128 kB, rozšiřitelná na 8 MB

Záznamové médium

3,5" disketová jednotka 800 kB

Rozšiřující sloty

7

Grafika

Počítač zvládal mnoho grafických režimů, od těch starých z původního Applu II po nové. Maximální rozlišení: 640 × 200 – 4 barvy. Další režimy nabízely 320 × 200 – 16 barev a 320 × 200 ve 256 barvách, či dokonce i ve 3 200 barvách, ovšem to už velmi zatěžovalo CPU. Na jedné videořádce byl schopen maximálně zobrazit 16 barev z palety 4 096 barev. To samé ale ve stejné době uměla i Amiga, ovšem ta dokázala zobrazit 32 barev na řádku (64 v případě EHB módu), a znala dokonce i HAM mód, který s jistými omezeními dokáže zobrazit na obrazovce celou barevnou paletu zároveň. Oslavné řeči některých nadšenců, že se ve své době jednalo o nejlepší grafický počítač, jsou tudíž nepravdivé. Byl to nejlepší grafický počítač…u Applu

Zvuk

Speciální zvukový čip Ensoniq 5503 Digital Oscillator, který dokázal přehrávat simultánně 15 zvukových stop, což bylo ve své době velmi unikátní

I/O porty

Port pro externí disketovou jednotku, 2 × ADB, joystick, AppleTalk, Audio. Nejčastějším rozšířením se ale nakonec stala SCSI karta, pomocí kterého si uživatelé připojovali harddisk

Jak je vidět, Apple IIgs byl neskutečně vylepšený. Mnohé možná šokuje úplně jiný procesor, ale ten byl schopen se přepnout do módu zcela kompatibilního s MOS 6502. Jinak se dá říci, že navzdory jménu nezůstal z původního díla kámen na kameni, o to je úctyhodnější schopnost spouštění staršího softwaru. Jako OS na něm běželo grafické Mac-like rozhraní, což v té době už začínalo být běžné. Počítač byl skutečně velmi zajímavým dílem, a dokonce v jistou dobu jeho prodej převyšoval Macintosh. Apple jej bohužel nehodlal příliš propagovat, takže se postupně dostával na druhou kolej. Apple vše vsadil na svou vlajkovou loď a z Apple IIgs se tím pádem stalo tak trošku nechtěné dítko, které onu ikonu firmy ještě ke všemu v lecčems překonávalo. Je ovšem třeba zdůraznit, že v roce, kdy Apple IIgs spatřil světlo světa – tedy v roce 1986 – už měl velkou konkurenci v Amize a Atari ST, které k podobným grafickým schopnostem přidávaly i větší výpočetní výkon.

Poslední ze „svaté trojice“ roku 1977 byl produkt firmy, kterou nikdo ani v nejmenším nepodezříval, že by se snad odhodlala vyvinout a prodávat vlastní počítačový systém. Jenže přesně to ona udělala a výsledkem byl počítač, který je sice u nás nepříliš známý, nicméně v USA zaznamenal velké úspěchy a v jistou dobu byl mnohem rozšířenější než slavný Apple II. Ne snad pro své schopnosti, ale díky ceně.

TRS 80 MODEL I

CPU

Z80 / 1,77 MHz

FPU

Žádný

ROM

Basic Level I – 4 kB, Level II – 12 kB

RAM

4, 8 či 16 kB, rozšiřitelná na 48 kB

Záznamové médium

Žádné, pouze interface pro kazetový magnetofon s rychlostí 250 či 500 baudů (dle použité ROM)

Rozšiřující sloty

Žádné

Grafika

Černobílý textový režim 64 × 16 znaků, případně hrubý černobílý režim 128 × 48

Zvuk

Žádný

I/O porty

Proprietární rozšiřující port, do něhož bylo možné zakoupit kartu pro připojení disketové jednotky, rozšíření paměti a disponující paralelním (případně sériovým) portem

Jak je zcela zřejmé, počítač od Tandy byl ze všech zmiňovaných kompaktních nejslabší, kromě toho byl značně nespolehlivý. Jeho jedinou výhodou se stala cena. Postupem času se ale ukázalo, že jedině na ceně úspěch vybudovat nelze. Alespoň ne v mikropočítačích.

V roce 1980 se firma Apple pokusila o průnik do podnikové sféry svým Applem III. Nebyl to první takový pokus, už rok předtím podniklo něco podobného Tandy se svým TRS-80 Model II. Výsledky měly oba počítače srovnatelné. Debakl.

Apple III

CPU

MOS 6502 / 2 MHz

FPU

Žádný

ROM

4 kB

RAM

128 kB, rozšiřitelná na 512 kB

Záznamové médium

Disketová jednotka 5¼" jednostranná s kapacitou 143 kB

Rozšiřující sloty

4

Grafika

Monochromatický 80 × 24 text, 560 × 192 – 2 barvy, 280 × 192 – 16 barev

Zvuk

Mono reproduktor, jeden zvukový kanál

I/O porty

2 × sériový port a připojení externí disketové jednotky

Apple III byl bezesporu neúspěch. Prodalo se jej pouze 65 000 (z 90 000 vyrobených), což pochopitelně pro firmu znamenalo značnou ránu. Applu II všech verzí se prodaly miliony.

Když pomineme jednoznačně přemrštěnou cenu, nespolehlivost a jistou „technickou zaostalost“, lze tvrdit, že trojka doplatila ještě na jeden fenomén, který v průběhu času postihl i další nadějné pokračovatele úspěšných modelů. Ten problém by se dal nazvat slovy „proč si jej vlastně kupovat“. Apple III se snažil zachovat kompatibilitu se svým předchůdcem, což se bohužel podepsalo na výkonu – sice byl použit dvojnásobně taktovaný, ovšem stále stejný procesor. Programátoři následně neměli příliš důvod podporovat nový (avšak zpětně kompatibilní) systém, který se moc neprodával. Prodej stagnoval právě i proto, že pro novinku existovalo mnohem méně softwaru. Tento fenomén komplikoval život i pozdějším počítačům, jako bylo třeba ZX Spectrum 128, Atari STE či Falcon nebo Commodore C128.

Na neúspěchu Applu III se podepsala ještě jedna malá „drobnost“. Rok po jeho uvedení přišla IBM se svým IBM PC a svět už nikdy nebyl jako předtím. Tento počítač patřil ale až do nadcházejícího, šestnáctibitového světa. Ten starší, osmibitový měl ale počítačovým nadšencům stále co nabídnout.

Jak jsme si řekli, tím hlavním, co rozhýbalo vody počátků mikropočítačové revoluce, byly počítačové hry. Snaha mít počítače dobré pro hraní her vedla k vývoji lepších grafických i zvukových schopností a postupně i ke zvyšování výkonu. To samozřejmě umožnilo i použití pro užitečnější programy.

Hry sice vznikly na minipočítačích, ale v sedmdesátých letech postupně expandovaly na mnohem perspektivnější trh nejprve videoherních automatů, posléze i domácích konzolí.

Nejúspěšnější počítačová konzole první generace, slavná Atari 2600, měla z dnešního hlediska technickou specifikaci nejen směšnou, ale přímo nepochopitelnou.

Atari VCS (2600)

CPU

MOS 6507 / 1,19 MHz

FPU

Žádný

ROM

4 kB

RAM

128 bytů

Záznamové médium

Interface pro herní kartridž

Grafika

Videočip TIA dokázal zobrazit následující:

2 hráče 8 pixelů široké;

míč 8 pixelů široký;

2 střely max. 8 pixelů široké;

pozadí 40 pixelů široké.

Paleta 128 barev

Zvuk

Dva zvukové kanály

Konzole postrádala videopaměť, a aby byla schopna vůbec něco zobrazit, vyžadovala velmi schopné programátory. Během vykreslování každé rastrové řádky měl programátor k dispozici přesně 77 strojových cyklů, aby připravil data pro další řádek. Mohl libovolně nastavit barvy a polohu výše uvedených objektů, nicméně musel brát ohled na uvedený čas. Herní logika se proto řešila pouze během vertikálního přerušení, kdy bylo k dispozici zhruba 3 000 cyklů každou šedesátinu vteřiny. Pokud nechápete, jak na něčem takovém mohly vzniknout herní skvosty, nejste v tom sami. Tehdejší autoři opravdu uměli.

Poté, co Atari uspělo s konzolemi, rozhodlo se proniknout i na stále ještě zcela nezaplněný trh s mikropočítači. Atari na něj vstupovalo s několikaletým zpožděním, které se mu nikdy nepodařilo zcela eliminovat, nicméně vzhledem ke svým zkušenostem s grafikou a zvukem nabídlo uživatelům stroj s vlastnostmi, jež překonávaly tehdejší konkurenci.

Atari 800

CPU

MOS 6502 / 1,79 MHz

FPU

Žádný

ROM

10 kB

RAM

4 kB, rozšiřitelná na 48 kB

Záznamové médium

Žádné zabudované, používal se externí kazetový magnetofon s rychlostí 600 baudů (u nás dostupné Turbo 2000 tuto rychlost významně zvýšilo), disketová jednotka 5¼" měla kapacitu 180 kB, případně 360 kB u novějších modelů

Rozšiřující sloty

4 paměťové expanzní sloty, nicméně postupně se vývojáři naučili, že tyto porty lze použít i na jiná rozšíření než jen pro paměť – vyrábělo se připojení harddisku, modem, RAM disk a mnoho dalšího

Grafika

Grafický čip CTIA, později GTIA. Celkem 15 grafických módů (GTIA), z nichž nejužívanější byly 160 × 192 ve 4 barvách a monochromní 320 × 192. Paleta 128, později 256 barev

Zvuk

Čtyři osmibitové kanály kombinovatelné na dva šestnáctibitové

I/O porty

4 × joystick, 2 × port pro kartridže, SIO port pro disketovou jednotku (byl to fakticky zjednodušený předchůdce dnešního USB)

Na Atari se pro tvorbu her velmi rozšířila technika, která původně vznikla pro TRS-80 – animace pomocí změn znakové sady. Princip spočíval v definici nové grafické znakové sady a s pomocí takto nově vytvořených grafických bloků se sestavovala herní scéna. Animace se pak prováděla nadefinováním sekvence změn jednotlivých znaků, která se posléze přehrávala přepisováním dotyčného znaku v paměti, takže na obrazovce to vypadalo, jako by se znak plynule měnil. Jednalo se o velmi efektní i efektivní metodu, protože vše, co musel počítač v reálném čase udělat, bylo zapsat na danou pozici ve videopaměti kód jiného znaku. Tento trik ale nefungoval na Commodoru PET, který měl znakovou sadu pevně vypálenou v ROM. Poprvé se tato technika objevila na TRS-80 ve hře Android Nim. Na Atari stála na takovém triku a na zobrazování herního pole v textovém módu s předdefinovanými znaky spousta her, do kterých by to na první pohled nikdo neřekl – například taková Boulder Dash je udělána v textovém režimu odpovídajícím velmi oblíbenému grafickému režimu 160 × 192 ve čtyřech barvách.

Poté, co Atari ukázalo celému mikropočítačovému světu, jak se má dělat barevná grafika, pustili se do podobných počítačů i jiní. Pravda, někteří rezignovali na velmi sofistikované grafické triky, jakými byly sprity či změny barvových registrů během horizontálního přerušení, nicméně i bez toho se daly stvořit počítače, na nichž celá generace strávila své počítačové mládí. Ten nejslavnější se zrodil na britských ostrovech v roce 1980.

Sinclair ZX80

CPU

Z80 / 3,25 MHz

FPU

Žádný

ROM

4 kB

RAM

1 kB, rozšiřitelná na 16 kB

Záznamové médium

Žádné, pouze interface pro kazetový magnetofon s rychlostí 250 baudů

Rozšiřující sloty

Žádné

Grafika

32 × 24 monochromatický text

Zvuk

Žádný

I/O porty

Proprietární Z80 bus

O rok později přišlo vylepšení v podobě ZX81.

Sinclair ZX81

CPU

Z80 / 3,25 MHz

FPU

Žádný

ROM

8 kB

RAM

1 kB, rozšiřitelná na 64 kB

Záznamové médium

Žádné, pouze interface pro kazetový magnetofon s rychlostí 250 baudů

Rozšiřující sloty

Žádné

Grafika

32 × 24 monochromatický text

Zvuk

Žádný

I/O porty

Proprietární Z80 bus

Jak vidno, nic moc. Přelom přinesl ZX Spectrum v roce 1982.

Sinclair ZX Spectrum

CPU

Z80 / 3,5 MHz

FPU

Žádný

ROM

16 kB

RAM

16 kB či 48 kB, externě rozšiřitelná na 128 kB

Záznamové médium

Žádné, pouze interface pro kazetový magnetofon s rychlostí 1 200 baudů

Rozšiřující sloty

Žádné

Grafika

32 × 24 barevný text, 256 × 192 v osmi barvách, každá ve dvou intenzitách

Zvuk

Jeden zvukový kanál napojený na interní reproduktor

I/O porty

Proprietární Z80 bus

Barva v grafice byla na ZX Spectru řešena pomocí atributové paměti. V principu to znamenalo, že se v jedné části paměti uchovával bitový obraz 256 × 192 monochromních bodů. V jiné části paměti byly uloženy takzvané atributy. Atributová paměť je rozložena na „chlívečky“ 32 × 24, přičemž pro každou oblast bylo možné specifikovat barvu popředí a pozadí, nastavit příznak BRIGHT (to znamenalo vyšší jas, bohužel obou barev), případně blikání, kdy se periodicky prohazovaly barvy popředí a pozadí. Tento z dnešního pohledu poněkud zvláštní režim byl primárně zvolen kvůli co největšímu šetření paměti – připomeňme, že Spectrum mělo k dispozici jen 48 kB. Když si spočítáme paměťové nároky, 256 × 192 : 8 = 6 144 bytů pro obrazová data, 32 × 24 = 768 bytů pro atributy, pak to celkem dává 6 912 bytů potřebných pro uložení obrazové paměti. Pro srovnání paměťové úspory stačí vypočítat, že pokud bychom chtěli napodobit tehdejší Atari a pro dané rozlišení umožnit 4 barvy na obrazovce bez použití jakýchkoliv atributových omezení, pak by potřebná paměť RAM dosáhla takřka dvojnásobné velikosti (256 × 192 : 4 = 12 288 bytů; výpočet je takový proto, že v každém bytu jsou 4 dvojice bitů, kódujících 4 možné varianty, tedy použitý barvový registr. Jinými slovy, každý byte v takto organizované videopaměti obsahuje data pro 4 obrazové body.)

Z uvedeného vidíme, že na Spectru se dalo tímto způsobem pro obrazovku uspořit téměř 50 % potřebné RAM. To samozřejmě vůbec nebylo málo. U Atari byl problém s RAM vyřešen jednoduše – takto jemná grafika v tolika barvách tam neexistovala. Při nejpoužívanějším rozlišení 160 × 192 ve 4 barvách je alokována RAM o velikosti 7 680 bytů.

Nevýhodou používání atributové paměti tkví v tom, že vzhledem k použití atributů máme sice jemnou grafiku, ale obrazovka se nám v zásadě rozbije na mnohem větší barevné bloky. Při použití statických pozadí se s tímto problémem lze šikovným designem vyrovnat. Horší problém je s pohyblivými částmi obrazu. Zatímco na C64, které též používalo atributovou paměť, byly pro pohyblivou grafiku používány sprity, Spectrum nic takového jako sprity nemělo. To vedlo ke vzniku „souboje atributů“, kdy se nám herní postavička podivně zabarvovala podle toho, kde se na obrazovce nacházela.

Druhou z nevýhod byl fakt, že pokud jste chtěli změnit obrazová data, bylo nutné zapisovat do dvou oddělených míst paměti. To komplikovalo rozsáhlé posouvání herních ploch, díky tomu se spíše setkáváme s herní plochou rozdělenou na jednotlivé „místnosti“.

Problém s atributy nejprve vývojáři ignorovali, posléze jej v některých hrách (například Knights Lore) vyřešili monochromatickým zobrazením. Pouze výjimečně se vývojáři podařilo hru navrhnout tak, že se problém neprojevil. Bohužel, v praxi to znamenalo, že se musela hra přizpůsobit grafice, což se pochopitelně mohlo projevit na hratelnosti...

Postupně programátoři vymysleli několik triků, jak na obrazovku dostat více barev, případně překonat výše uvedené limity. Hodně z těchto triků je založeno na velmi prosté skutečnosti – Spectrum i další osmibitové počítače byly obvykle připojovány pouze k televizi. Jistě jste si toho už všimli – pokud chcete nostalgicky zavzpomínat a spustíte nějaký emulátor s herními peckami, nad kterými jste zamlada „propařili“ nejednu noc, vykoukne na vás zubatá a dost ošklivá grafika. Přitom si jasně vzpomínáte, že kdysi to bylo lepší. Je to samozřejmě pravda – televize nezobrazuje tak dokonale jako dnešní monitory, barvy splývají a v mnoha hrách toho programátoři využívali. Vhodným ditheringem se jim podařilo docílit zajímavých efektů, které ovšem dnes na monitoru příliš nedoceníme. Na televizi ale barvy splývaly a člověk měl pocit, že vidí něco jiného, než co tam ve skutečnosti bylo. Na stejném principu, tedy na nedokonalém televizním zobrazení, je založen i následující trik. Jak známo, televize v normě PAL zobrazí během sekundy 50 snímků (u NTSC je to 60). Pokud tedy každý sudý snímek zobrazíme nějaký jednotlivý pixel třeba žlutě, v době VBlank (tedy přerušení v době vertikálního přesunu elektronového paprsku ze spodního okraje obrazovky do horního okraje, kde se nic nevykresluje) tento pixel změníme dejme tomu na červenou a tuto pak uživatel uvidí každý lichý snímek, bude naše nedokonalé oko vidět oranžovou, která se v paletě ZX Spectra vůbec nenacházela. Nesmělo se to ale na větších plochách přehnat, pak by se objevilo nepříjemné poblikávání. Problém byl také se zátěží procesoru a synchronizací.

Další trik byl sofistikovaný a mírně připomínal možnost známou z Atari – změnu barvových registrů pro jednotlivé obrazové řádky. Využíval toho, že obvod ULA, který se na Spectru staral o zobrazování, načítal barevné hodnoty z atributové paměti vždy na začátku každé řádky. Pokud byly mezitím změněny, mohli jsme dosáhnout více barev. V praxi bylo možné zmenšit velikost atributů na 8 × 1 (šířka je stejná jako předtím, tedy osm bodů, měnili jsme atribut pro každý řádek, proto ta jednička). Touto technikou jsme tak dosáhli rozšíření atributové paměti, a tedy i barevného zjemnění obrazu na 32 × 192, ovšem pochopitelně za cenu významného zatížení procesoru.

Hlavním konkurentem Spectra v Británii se stalo slavné BBC Micro. Tento počítač měl být výukovým systémem, proto byl velký důraz kladen na kvalitní klávesnici. Umožňoval výstup jak na televizi, tak i na monitor a uměl zobrazit text o osmdesáti sloupcích – v té době se tato schopnost považovala za velmi důležitou pro efektivní práci. Odpovídá horizontálnímu rozlišení 640 bodů. Počítač nabízel na svou dobu kvalitní jemnou grafiku, sériový i paralelní port, možnost zapojení do sítě a samozřejmě i připojení harddisku či disketové jednotky. Měl velmi kvalitní Basic se schopností inline assembleru, umožňující strukturované programování (procedury, funkce, smyčky repeat-until). Právě onen kvalitní Basic stál spolu s robustní konstrukcí a kvalitní klávesnicí za jeho úspěchem u výběrové komise, protože ve srovnání se ZX Spectrem se na něm dalo dobře psát a programovat. Vyšší cena nehrála v tomto kontextu roli. Hrála ji ovšem mezi normálními lidmi, kteří se s lacinějším Spectrem rádi spokojili.

BBC Micro

CPU

MOS 6502 / 2 MHz

FPU

Žádný

ROM

32 kB

RAM

16 kB či 32 kB, později 64 kB

Záznamové médium

Žádné, pouze interface pro kazetový magnetofon s rychlostí 1 200 baudů, 5¼" disketová jednotka obvykle s kapacitou 170 kB, harddisk až 20 MB

Rozšiřující sloty

Velmi speciální možnost rozšiřování ROM modulů, které nabízely např. další programovací jazyky kromě standardního Basicu, podporu disketové jednotky, sítě atd.

Grafika

Několik grafických a textových módů, rozlišení od 640 × 256 ve dvou barvách po 160 × 256 v šestnácti barvách, paleta osmi barev, textový mód 80 × 25 znaků

Zvuk

3 zvukové a jeden šumový kanál

I/O porty

Nejrozšiřitelnější osmibitový počítač – sériový a paralelní port, analogový joystickový port, User port, 1 MHz I/O port pro připojení harddisku, Tube (velmi speciální port s připojením přímo na sběrnici, umožňující zapojení druhého CPU, používal se například Z80 pro spouštění CP/M či karty s prvními procesory ARM), Econet – levné síťové rozhraní, pomocí kterého se dala velmi lacino realizovat počítačová síť

Zatímco především v Evropě a zbytku světa se produkt firmy Sinclair velmi uchytil a v jistém smyslu představoval standardní platformu a zatímco BBC Micro úspěšně ovládlo britské školy a pokoušelo se – už s menší slávou – dobýt i školství v dalších zemích, v USA přišla firma Commodore s ráznou odpovědí. Její počítače nakonec na osmi bitech v počtech konkurenci převálcovaly, protože nabídly nejen relativně nízkou cenu, ale i skvělou grafiku a zvuk a jen málokterý tehdejší počítač s nimi dokázal držet krok.

Toto ale neplatilo o prvním počítači této firmy zacíleném na domácnost. VIC-20 z roku 1981 byl velmi úspěšný navzdory velmi skrovným schopnostem, a to především díky své nízké ceně, která se přiblížila herním konzolím.

Commodore VIC-20

CPU

MOS 6502 / 1,02 MHz

FPU

Žádný

ROM

20 kB

RAM

5 kB, rozšiřitelná na 64 kB

Záznamové médium

Žádné, externí kazetový magnetofon s rychlostí 300 baudů, což různé Turbo Tape technologie dokázaly zvýšit na několikanásobek této rychlosti, disketová jednotka VIC-1540 5¼" s kapacitou 170 kB, která je dnes velkou vzácností, jelikož její cena převyšovala cenu počítače a prakticky veškerý originální software se prodával buď na kazetách, nebo na zásuvných modulech

Rozšiřující sloty

Žádné

Grafika

Grafický čip MOS Technology 6560, zvaný VIC, maximální rozlišení 176 × 184, ale pouze v textovém režimu 22 × 23 znaků, paleta 16 barev, avšak jen 8 z nich mohlo být použito jako barva popředí. Vzhledem k pouze textovému režimu se pro herní grafiku používalo možnosti definování vlastní znakové sady

Zvuk

4 osmibitové kanály, z toho jeden šumový. Výstup Mono

I/O porty

IEEE-488 pro připojení disketové jednotky, sériový, Centronics pro připojení tiskáren, jeden analogový joystickový port, kartridž port, který byl primárně používaný k distribuci originálního softwaru na zásuvných modulech

V Commodoru si velmi dobře uvědomovali, že počítač s těmito schopnostmi se sice může krátkodobě velmi slušně prodávat, ale nelze z něj udělat vlajkový produkt pro domácí použití, který by přetrval v nabídce déle. Proto jen o rok později představili legendu, nejprodávanější počítač všech dob.

Commodore 64

CPU

MOS 6510 / 1,02 MHz

FPU

Žádný

ROM

20 kB

RAM

64 kB, rozšiřitelná na 320 kB, případně dokonce až na 2MB moduly od jiných výrobců

Záznamové médium

Žádné zabudované, externí kazetový magnetofon s rychlostí 300 baudů, což různé Turbo Tape technologie dokázaly zvýšit na několikanásobek této rychlosti, disketová jednotka VIC-1541 5¼" s kapacitou 170 kB

Rozšiřující sloty

Žádné

Grafika

Grafický čip MOS Technology VIC-II nabízel rozlišení 320 × 200 – Hi-res režim, případně 160 × 200 Multicolor režim, dále dva režimy textové. Výběr z palety 16 barev. V Hi-res režimu byl výběr ze dvou barev, barvy jsou brány z atributové paměti pro bloky 8 × 8. V Multicolor je to složitější – jedna barva pozadí, dvě barvy z atributové paměti v bloku videodat a jedna barva z klasické Color RAM atributové paměti. Barevné bloky opět 8 × 8

Zvuk

MOS Technology SID, 4 kanály, z toho jeden šumový. Výstup Mono

I/O porty

IEEE-488 pro připojení disketové jednotky, sériový, Centronics pro připojení tiskáren, dva analogové joystickové porty, kartridž port, který byl primárně používaný k distribuci originálního softwaru na zásuvných modulech

Organizace videopaměti v bitmapových módech odpovídala nutnosti rychlého a jednoduchého vývoje. Díky tomu připomíná textový mód a poloha každého pixelu se musela vypočítávat. Čip VIC-II uměl adresovat 16 kB paměti, přičemž bylo možné zvolit, na jaké místo v RAM tento blok umístit. Musela se do něj však vejít nejen videopaměť, ale i grafika spritů a v případě bitmapových režimů i atributová paměť. Vzhledem k tomu, že u bitmapových režimů jenom samotná matice 320 × 200 bodů zabrala 8 kB, znamenalo to značné omezení. Atari na rozdíl od C64 takové omezení nemělo, videopaměť mohla být kdekoliv v 64 kB RAM.

Pokud se tedy podíváme na vlastní organizaci paměti, bude nejlepší si ji představit na následujícím příkladu:

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

AA

BB

CC

DD

EE

FF

V režimu Hi-res byla situace následující: Každý blok s písmenem je jeden byte a každý bit v tomto bytu představuje jeden obrazový bod. Na Atari existovala logická organizace, kdy byly byty uspořádány za sebou, tedy ABCDE… FF. Ne tak na C64 – tam z důvodu rychlejšího vývoje tvůrci velkoryse zvolili variantu komplikovanější. Byty byly v paměti srovnány za sebou AEIMQUYCCBFJ… FF. Toto platilo pro osm obrazových (a tedy vlastně pro jeden textový) řádek, následujících dalších osm se opět opakovalo AEI…

V režimu Multicolor byla situace komplikovanější o to, že jeden obrazový bod je kódován dvěma bity. To samé bylo ve vícebarevných režimech i na Atari, ale tam každá bitová kombinace (00, 01, 10, 11) kódovala použitý barvový registr. Na C64 je to komplikovanější – 00 je barva pozadí, 11 je hodnota ze standardní atributové paměti Color RAM, kde je ale pro každý barevný blok použit jen půl bytu, tedy 4 bity. Zbylé dvě hodnoty kódují barvy z jiné atributové paměti, kde v každém bytu je čtveřice bitů pro každou z barev.

Z tohoto důvodu se například hardwarové scrollování (což je takový způsob scrollingu, kde pouze měníte začátek videopaměti, aniž byste přesouvali data) na C64 snad ani nedalo realizovat.

Softwarového scrollingu neboli jemného plynulého posuvu obrazu se jak na Atari, tak na C64 dosahovalo poměrně jednoduše, oba počítače měly řídící scrollovací registry, v nichž bylo možné nastavit, o kolik bodů se obrazovka posune v horizontálním a vertikálním směru. U Atari ale navíc oproti C64 bylo možné nastavit posun nejen celé obrazovky, ale pouze té či oné rastrové řádky dle nastavení příznaku scrollingu v display listu, jak si ještě ukážeme. Tato možnost je flexibilnější než u C64.

Tvůrci grafiky C64 se ve snaze dohnat a předehnat Atari soustředili i na co nejlepší možnosti práce se sprity. Tato technologie se dnes už nevyužívá, nicméně v sedmdesátých a osmdesátých letech představovala základní kámen grafických schopností tehdejších počítačů, který i těmto velmi slabým strojům umožnil zobrazování mnoha pohybujících se objektů. Jednalo se o grafické objekty, které byly vykreslovány nezávisle na pozadí, a při jejich pohybu se proto programátor nemusel starat o jeho obnovování. Na Atari bylo vykreslování spritů řízeno i jiným grafickým čipem – zatímco vlastní pozadí vykresloval ANTIC, sprity dodatečně umístil na obrazovku GTIA. Sprity umožňovaly výrazně snížit zátěž mikroprocesoru, který se díky tomu mohl věnovat třeba herní logice a dalším užitečným činnostem. Na druhé straně je ovšem třeba říci, že takové ZX Spectrum sprity nemělo a nelze tvrdit, že by bez nich nedokázalo „žít“.

V oblasti spritů mělo C64 leckteré přednosti, ovšem jeho „vítězství“ nad věčným rivalem jménem Atari nebylo naprosto jednoznačné. C64 umožňovalo zobrazit buď 8 jednobarevných spritů o velikosti 24 × 21 bodů, nebo se jednotlivé sprity daly přepnout do multicolor módu, kde bylo možné pro sprite použít čtyř barev, ovšem velikost spritu se zmenšila na 12 × 21 bodů. Pomocí přerušení bylo možné počet spritů patřičně zvětšit, ale na jedné rastrové řádce jich mohlo vždy být zobrazeno jen 8. I v onom multicolor módu to zase nebylo tak úžasné, protože všechny sprity sdílely dvě společné barvy a pouze jednu mohl mít každý sprite individuálně nastavitelnou. Programátor mohl testovat kolize spritů mezi sebou (ale nezjistil, které 2 sprity vlastně kolidují, protože existoval jen jeden kolizní registr, kde se nastavovaly bity spritů v kolizi – pokud tedy byly v kolizi 4 sprity, vždy dva a dva, v kolizním registru byly nastaveny 4 bity, ale který se kterým koliduje, jsme se vlastně nedozvěděli). Stejná byla i kolize s pozadím – opět existoval kolizní registr s nastavovanými bity, když příslušný sprite kolidoval s pozadím, ale se kterou barvou pozadí koliduje, to už zjistit nešlo. Co se zobrazovacích priorit týče, na C64 byla pevně definovaná priorita jednotlivých spritů a pro jednotlivé sprity pak šlo nadefinovat prioritu vůči pozadí (ale ne vůči té které barvě pozadí, prostě proti pozadí jako celku).

Ve srovnání s tímto Atari nabízílo spíše méně, ale v něčem specifickém i více. Mělo 4 sprity „hráčů“ o šířce 8 bodů a 4 sprity „střel“ o šířce 2 bodů, které šlo zkombinovat do pátého hráče. Sprity byly pouze jednobarevné, jejich výška mohla být přes celou obrazovku, nastavovala se totiž pouze horizontální pozice, vertikální byla dána blokem obrazových dat spritu. Velice jednoduše se přidávalo více spritů – při přerušení se prostě jen na příslušné rastrové řádce přepsala horizontální pozice a od další rastrové řádky byl sprite jinde. Stejně tak samozřejmě šlo i změnit barvu.

Priority zobrazování spritů byly pevně dané, ale dala se nastavit (v jisté míře volnosti) priorita vykreslování spritů vůči jednotlivým barvám pozadí. Testování kolizí bylo ve srovnání s C64 luxusem – pro jednotlivé sprity bylo možné perfektně testovat, s kterými barvami pozadí či se kterými sprity kolidují. Jak lze vidět, C64 ukazuje značné vylepšení spritů oproti Atari (starší technologie je prostě znát), ale v některých praktických záležitostech překvapivě pokulhávala.

Pojem rastrová řádka, který se v minulých odstavcích už několikrát objevil, asi některé zaskočí. Co to proboha je? Opět se tu projevuje propast v rozdílu dnešní a tehdejší technologie. Dnes je jedna řádka obrazu prostě jednou řádkou, protože textový režim se až na výjimky už nepoužívá. Na zmiňovaných počítačích byla totiž situace poněkud složitější oproti dnešku v tom, že jedna řádka zobrazované grafiky vlastně nemusela znamenat jednu skutečnou řádku na monitoru. Jednak se tehdy v drtivé většině pro zobrazování používal televizor s jemnějšími řádky, než byly tehdejší počítače schopny zobrazit (zní to možná neuvěřitelně, ale je to tak), a jednak záleželo na zvoleném grafickém módu. Například v klasickém textovém módu se 40 znaky na řádek to vlastně znamenalo, že každá řádka textu ve skutečnosti sestává z 8 grafických řádek té nejjemnější grafiky toho kterého počítače (u C64 to znamenalo 320 × 200).

U Atari byla situace ještě o něco komplikovanější – protože celý vzhled obrazovky popisoval program zvaný display list, znamenalo to, že v textovém módu znamenala rastrová řádka jednu řádku textu, zatímco v grafickém módu jednu řádku grafiky. To hrálo roli při různých grafických efektech, protože tzv. DLI přerušení neboli display list interrupt bylo vyvoláváno na rastrové řádce, nikoliv na řádce obrazové. Těm stále zmateným určitě pomůže následující výklad o programování na Atari, kde bude tento rozdíl jasně dokumentován.

Nástin programování osmibitových počítačů

Dnes máme na výběr mnoho různých nástrojů, které lze použít pro programování ve dvaatřiceti či čtyřiašedesáti bitech. Na osmibitovém Atari 800XL, na němž si programování osmibitových počítačů předvedeme, mnoho možností neexistovalo. Ovšem na druhé straně jsou vzpomínky na tyto doby nejen plny nostalgie, ale i sebeuspokojení ze schopnosti donutit i tento v podstatě jednoduchý a primitivní stroj k úkonům dodnes velmi zajímavým.

V následujících řádcích nepůjdeme nijak do hloubky. Není k tomu prostor a upřímně řečeno ani příliš mnoho důvodů. Je to jen pokus o stručný nástin toho, jak se programování na osmibitových počítačích lišilo od toho dnešního. Jediné, co budeme zkoumat, budou grafická „kouzla“, vše ostatní ponecháme historii.

Jak ale dnes programovat Atari nebo jiný osmibitový počítač? Jistě je možné získat ho z bazaru, jenže to asi nebude příliš praktické (už třeba jen kvůli komunikaci se záznamovými médii). Pro osvětlení úplně stejně poslouží emulátory. Pro OS X existuje skvělý emulátor Atari800MacX, který si můžete stáhnout z adresy http://www.atarimac.com, na Windows je výborný Atari800Win Plus 4.0 stáhnutelný z http: //www.a800win.atari-area.prv.pl. Verze pro OS X je výrazně lepší než cokoliv pod Windows – umožňuje například kopírování z clipboardu na Atari.

Výpis programu v Basicu dosáhneme příkazem LIST, spuštění pak RUN. Pokud si šipkami vyjedeme do vypsaného programu, není problém řádek editovat přepsáním a zmáčknutím klávesy Enter. Dále upozorňuji na rozdíl mezi Warm reset a Cold reset. Ten první reset je vlastně pouze emulace spuštění tlačítka reset, hodí se v situaci, kdy program pozměníte tak, že se počítač zasekne. V drtivé většině případů se objeví opět úvodní obrazovka a program zůstane v paměti. Při druhé variantě, tedy odpojení počítače od sítě, je pochopitelně paměť zcela prázdná.

Už padla zmínka o tom, že Atari bylo prvním počítačem se zákaznickými čipy, tedy s koncepcí koprocesorů, které hlavnímu mikroprocesoru výrazně ulehčovaly práci. V podstatě se Atari stalo prvním domácím počítačem s grafickým a zvukovým koprocesorem. Tato koncepce nám dnes připadá samozřejmá, každý z nás má v počítači speciální mikroprocesor na práci s grafikou, ovšem dříve to vůbec nebylo běžné.

V Atari se o zobrazování staraly celkem 2 procesory, a to čipy ANTIC a GTIA. ANTIC sestavoval vlastní vzhled obrazovky dle „programu“ nazývaného display list, který přesně popisoval, jak má obrazovka vypadat, jaké grafické módy na ní mají být použity, jaké přerušení či scrollování se má na té které řádce provádět a kde je umístěna obrazová paměť. ANTIC tedy měl schopnosti (například zobrazení několika různých grafických režimů na obrazovce zároveň), které nezvládají ani dnešní výkonné grafické karty. Tím samozřejmě není řečeno, že je ANTIC nějaký lepší, to rozhodně ne – dnes by nám totiž taková funkcionalita byla celkem k ničemu, proto není implementována. GTIA, druhý z čipů Atari, měl na starost správu barevných informací (tedy barvových registrů) a především player-missile graphics, což byly sprity. Ani sprity se dnes nepoužívají.

Vlastní mikroprocesor Atari, MOS 6502 měl celkem tři registry – A, X a Y. My v ukázce použijeme pouze dva. Procesor nebyl ortogonální, některé funkce šly proto provádět pouze s některým registrem. Konkrétně instrukce PHA, tedy ulož hodnotu Accumulatoru A na zásobník (či na stack), existovala pouze pro registr A. Pokud jste chtěli na zásobník uložit X, museli jste jej nejprve přehodit do A funkcí TXA.

Zásobník, to je pomocná paměť RAM, kam lze pomocí speciálních instrukcí mikroprocesoru ukládat různá data pro pozdější použití.

Tento text nemá ani v nejmenším sloužit jako učebnice assembleru pro 6502. Detaily programování ve strojovém kódu tohoto mikroprocesoru zde budou vysvětlovány jen s ohledem na pochopení podstaty uvedeného příkladu. Detailnější rozbor by znamenal sepsání další knihy s odlišným tématem.

Dále je třeba zmínit, že každá instrukce assembleru má svůj odpovídající číselný kód (zvaný opcode). Sám procesor totiž nerozumí assemblerovským instrukcím. Ty používáme pouze my, lidé, protože pro nás je takový zápis mnohem jednodušší. Mikroprocesor ale ví, že pokud provádí program a narazí na číslo 169, tak se jedná o instrukci LDA, tedy „LOAD ACCUMULATOR“, což znamená, že se do registru A uloží nějaká konkrétní hodnota.

Nelze zapomenout i na další zcela typickou vlastnost tvorby programů pro osmibitové počítače. Tyto stroje totiž neznaly žádnou ochranu paměti. Programátor ji měl celou k dispozici a mohl do ní volně zapisovat či z ní číst. Něco takového dnes není vůbec možné, protože každý operační systém hlídá, aby program pracoval pouze v pro něj přidělené oblasti. Pokud ale na tehdejších počítačích programátor zapsal něco, kam neměl, nemohl spoléhat na žádnou záchrannou brzdu v podobě správce procesů. Žádný tam nebyl.

Možnost volně zapisovat a číst paměť byla při programování osmibitů zcela zásadní, protože některé velmi důležité informace programátor zjistil z přesně daných adres v paměti, zatímco zapisováním na jiné konkrétní adresy se zajišťovaly některé velmi důležité činnosti počítače. Toho se v Basicu dosahovalo s pomocí příkazů PEEK (čtení paměti) či POKE (zápis do paměti). Jen trošku náročnější programy v Basicu se těmito příkazy přímo hemžily, protože dosáhnout příslušné funkcionality nebylo jinak možné. Jak to vše fungovalo, si lze lehce vyzkoušet zadáním příkazu POKE 710 X, kde X je libovolné číslo v rozsahu 0–255. Pokud tento příkaz zadáte, změní se barva pozadí dle zvoleného čísla. Samozřejmě, pro tento případ mělo Atari svůj vlastní příkaz v Basicu na změnu barvy (tudíž používání POKE nebylo nutné), ale zde byl demonstrován pouze jednoduchý princip.

Každý tehdejší programátor vlastnil detailní popis paměťových registrů Atari, jelikož bez něčeho takového bylo možné stvořit jen zcela základní programy bez jakýchkoliv grafických či jiných kouzel.

V našem ukázkovém programu se pokusíme o jediné – pomocí přerušení na rastrových řádcích obrazu změníme barvu více řádek a uděláme pro Atari typický barevný přechod. A ještě jej uděláme animovaný. Je až neuvěřitelné, jak je to jednoduché. Je to paradoxně mnohem jednoduší než na dnešních kartách se 24bitovou grafikou. Tam byste museli obrazovku neustále překreslovat, na Atari stačí měnit barvové registry. Tento trik se nazýval animace pomocí změny barvových registrů. Po Warm reset se obnoví původní vzhled obrazovky, ale program v paměti zůstane.

Předem je třeba vysvětlit, co znamená pojem přerušení. Je to situace, kdy procesor přestane vykonávat hlavní program a místo něj odskočí na úplně jiné místo v paměti a provede nějakou požadovanou rutinu. Posléze se vrátí zpět k hlavnímu programu.

Grafická kouzla se na Atari dosahovala právě s pomocí přerušení. Vcelku existovaly dva základní typy přerušení – VBI a DLI. VBI neboli „Vertical Blank Interrupt“ se provádí ve chvíli, kdy je vykreslen obraz a elektronový paprsek v televizoru se vrací zpět do horního levého rohu obrazovky, aby mohl začít s kreslením následujícího snímku. To znamená, že toto přerušení je prováděno padesátkrát za sekundu (u systému PAL). V našem příkladu jej používat nebudeme, místo něj si předvedeme pro Atari zcela specifické DLI neboli „Display List Interrupt“. Toto přerušení bylo vykonáno (pokud je programátor nastavil) před vykreslením nějaké konkrétní obrazové rastrové řádky. Na rozdíl od VBI mohl být tedy jeho kód vykonáván nikoliv jen padesátkrát během jedné sekundy, ale počet záležel na množství řádků, kde programátor toto přerušení nastavil. Pokud je nastavil na 10 řádcích, tak se takový kód za jedinou sekundu vykonal pětsetkrát (50 × 10).

Po vysvětlení těchto základních termínů se pusťme do díla. Nejprve je nutné zjistit, kde přesně v paměti RAM se nachází začátek display listu, který popisuje vzhled obrazovky. Jak jsme si pověděli, tento „program“ říká čipu ANTIC, jaký grafický mód se má na té které řádce použít – a mimo jiné lze právě pomocí něj i nastavit DLI přerušení pro příslušnou řádku. Abychom toto mohli nastavit, potřebujeme znát počátek display listu v paměti.

Ten zjistíme díky registrům 560 a 561, přičemž skutečná adresa se získá s pomocí vzorce PEEK(560) + 256*PEEK(561). Je tomu tak proto, že pro uložení nějaké adresy musely být v osmibitových počítačích (s obvyklou kapacitou RAM 64 kB) používány dvě paměťové buňky. Výše uvedeným výpočtem se poté zjišťovalo přesné umístění požadované informace.

Na adrese, která nám ve výpočtu vyjde, tedy začíná display list. Na jeho patnácti řádcích nastavíme požadavek pro DLI. To se v našem konkrétním programu provádí zápisem čísla 130 do příslušné paměťové buňky a je tomu tak proto, že její původní obsah (číslo 2, které ANTICu značí, že je třeba nakreslit řádek v textovém režimu) se navýší o 128, což je právě onen požadavek na provedení přerušení na této řádce obrazu.

Dále je nutné nahrát do paměti nějaký obslužný program tohoto přerušení, který ovšem nemůže být v Basicu, ale ve strojovém kódu. Takovéto programy se obvykle nahrávaly do paměti od adresy 1536, protože ta byla prázdná a ani Basic ji pro svou potřebu nevyužíval.

Tento vlastní obslužný kód přerušení vypadá takto:

Ty tři první hodnoty jsou skutečné adresy v paměti, kam se zapisuje. Jsou pevně dané a každý tehdejší programátor vlastnil detailní soupis obsahu paměti a všech důležitých registrů, pomocí kterých mohl počítač ovládat.

Při obsluze přerušení musíme nejprve uložit aktuální hodnotu registrů, se kterými budeme pracovat, na zásobník (stack) a na konci je zase musíme obnovit. Pokud bychom to neudělali, počítač by se zhroutil. Důvod je jednoduchý – náš kód přerušení se totiž volá v průběhu zpracovávání jiného programu, v našem případě v editoru Basicu. Ten pochopitelně registry mikroprocesoru využívá pro svůj chod a my s naší rutinou nesmíme jejich obsah změnit, respektive před ukončením našeho kódu musíme obnovit vše do původního stavu.

Příkazem PHA tedy uložíme hodnotu registru A do zásobníku. Příkazem TXA přehodíme hodnotu z registru X do registru A a opětovným PHA ji následně uložíme. Takto složitě to děláme proto, že mikroprocesor MOS6502 nemá speciální instrukci na uložení registru X na zásobník. Jeho obsah tak musíme přehazovat přes registr A.

Následně do registru A zapíšeme hodnotu barvy, na kterou chceme změnit znaky. Je vcelku jedno, jakou použijete, můžete experimentovat. Instrukce LDA je ono načtení hodnoty do A.

Potom do registru X načteme pomocnou hodnotu z pomocné paměťové buňky 203, kde je volný nevyužívaný prostor, takže nám tato buňka může hezky posloužit pro předávání hodnot mezi jednotlivými spuštěními tohoto obslužného kódu přerušení (jak jsme si řekli, kód se spouští na každé řádce obrazu, kde je nastaven požadavek na přerušení). Tuto hodnotu následně o jedničku zvýšíme (inkrementujeme). Tímto neustálým zvyšováním o jedničku měníme používanou barvu a tím vytváříme onu „duhu“.

Poté zapíšeme jakékoliv číslo do registru WSYNC. To proto, aby mikroprocesor nejprve počkal na chvíli, kdy elektronový paprsek vykreslí řádku obrazu a přesouvá se na další. Právě v této chvíli je ideální zapsat novou hodnotu barvy do barvového registru. To se provede následujícími dvěma instrukcemi STA a STX (v registru A máme onu konstantní barvu znaků, zatímco X se neustále mění dle aktuálně vykreslované řádky a slouží pro nastavení barvy pozadí).

Pak už se jen s pomocí sekvence PLA, TXA a PLA obnoví obsah registrů X a A a instrukce RTI značí návrat z přerušení.

Máme kód přerušení, ale ten musíme někam uložit do paměti. V našem prográmku to provádí řádky 30 a 40, a jak jsme si řekli, program je uložen od adresy 1536.

Program jsme do paměti vložili, ale ještě nejsme u konce. Nejprve je třeba na adresy 512 a 513 vložit začátek naší rutiny obsluhy přerušení (to je prováděno na řádku 50, přičemž se jedná o šestou stránku paměti, proto ta šestka na adrese 513: 1 536 = 6 × 256). Mikroprocesor by totiž jinak netušil, kde má ten náš kód přerušení v paměti hledat. Nakonec je třeba povolit přerušení na adrese 54 286 zapsáním hodnoty 192, přičemž proč zapisovat právě takovou hodnotu, je už nad rámec tohoto stručného textu.

Vlastní program v Basicu tedy vypadá takto:

Pokud si program spustíte, budete asi překvapeni nejen zbarvením obrazovky, to jste asi čekali, ale hlavně faktem, že vše běží na pozadí, můžete editovat program atd., a změna stále trvá. Barevné pruhy se neustále posouvají po obrazovce a počítač zdánlivě pouze čekal na vaše programování v Basicu. To je právě ono kouzlo přerušení.

Na uvedeném příkladu je vidět, že se mění barva celé textové řádky, která v tomto konkrétním případě znamená jednu rastrovou řádku obrazu. Pochopitelně, podobným způsobem bylo možné měnit barvu i v grafických režimech a vytvářet tak pro Atari zcela typickou duhu. Nic takového žádný tehdejší počítač nedokázal.

Podobným způsobem se programovalo i na ostatních osmibitových počítačích, ačkoliv se samozřejmě grafických či jiných triků dosahovalo různými způsoby, specifickými pro tu kterou platformu.

Šestnáct a více bitů, symbol moderního věku

Používat dvakrát více bitů se procesory naučily ve druhé polovině sedmdesátých let, ale nějakou chvíli trvalo, než pronikly i mezi normální uživatele. Ano, profesionálové se z pracovních stanic, postavených na těchto prvních šestnáctibitových zázracích, sice mohli těšit už koncem tohoto desetiletí, ale domácí uživatelé museli nějaký ten rok počkat.

Prvním šestnáctibitovým domácím počítačem se v červnu 1981 nestal žádný z dnes fenomenálních legend, ale počítač poněkud pozapomenutý, který svými schopnostmi stál tak trošku na pomezí těch osmi a šestnácti bitů. Tímto dnes už téměř neznámým počítačem byl Texas Instruments TI-99/4A. Byl postaven na jednom z prvních šestnáctibitových mikroprocesorů TMS9900. Jeho použití v tomto počítači byla z nouze ctnost, protože v Texas Instruments by klidně vzali zavděk mikroprocesorem osmibitovým, kdyby jej dokázali včas vyvinout. To se jim ale nepovedlo, proto se uchýlili ke staršímu osvědčenému výrobku, který byl v mnoha směrech unikátní – nabízel například pouze tři interní registry, ovšem jeden z nich, workspace register – byl v podstatě pouhým ukazatelem do rychlé RAM, kde se nacházelo dalších 16 šestnáctibitových registrů, které procesor dokázal využívat. Pouhou změnou onoho registru WP tak mohl programátor nastavit jinou sadu užívaných registrů, jež ovšem, což je nutné připomenout, ve skutečnosti byly umístěny v paměti RAM, a ne na čipu.

Na druhé straně uměl tento procesor standardně adresovat jen 64 kB paměti, což sice v době jeho vzniku v roce 1976 představovalo ohromné množství, ale počátkem osmdesátých let už to neodpovídalo době.

Další zásadní chybou počítače byl fakt, že kromě oné rychlé RAM o velikosti 256 bytů, sloužící pro uložení registrů, a kromě 16 kB videopaměti už počítač žádnou standardní RAM nenabízel. Nebyl problém ji rozšířit pomocí kartridže, ale samozřejmě šlo o další výdaje navíc.

Texas Instruments TI-99/4A

CPU

Texas Instruments TMS9900 / 3,3 MHz

FPU

Žádný

ROM

26 kB

RAM

16 kB videopaměti a 256 bytů pro registry procesoru

Záznamové médium

Žádné, pouze interface pro kazetový magnetofon s rychlostí 1 200 baudů

Rozšiřující sloty

Velmi speciální možnost rozšiřování pomocí ROM modulů, které nabízely např. další programovací jazyky kromě standardního Basicu, podporu disketové jednotky, sítě atd.

Grafika

Textové módy 32 × 24 – 16 barev, 40 × 24 – 2 barvy;

grafické módy 48 × 64 – 16 barev, 256 × 192 – 16 barev;

paleta 16 barev; 32 jednobarevných spritů velikosti 8 × 8

Zvuk

3 zvukové a jeden šumový kanál

I/O porty

2 joystickové porty, proprietární expanzní port, pomocí kterého bylo možné připojit speciální tiskárnu, disketovou jednotku či rozšířit paměť

K poněkud svérázné technické specifikaci se přidaly další dva problémy, které velmi pomohly k relativnímu neúspěchu počítače. V první řadě to byl nedostatek dostupné dokumentace, s jejíž pomocí by se vývojáři mohli pustit do práce na rozšiřujícím hardwaru pro tento počítač. Detailní schémata umožňující vyvíjení hardwaru se na veřejnost dostala až poté, co byla v roce 1983 výroba ukončena. To bylo v ostrém kontrastu s hlavním konkurentem, kterým se stala firma Commodore se svými počítači VIC-20 a C64. Od ní dostali vývojáři vše, co si jen mohli přát, takže se pro tyto počítače vyrojila přímo záplava různých vylepšení, která Commodore standardně nenabízel.

Druhým hřebíčkem do rakve byla cenová válka, s níž se Commodore pustil do boje o dominanci v domácnostech. Texas Instruments ve snaze držet krok také snižoval cenu. Vzhledem k použití dražšího mikroprocesoru se však jednalo o bitvu, kterou nešlo vyhrát. Po nějaké době cena klesla pod výrobní náklady, takže se nelze divit ukončení výroby. Počítač sice na nějaký čas získal 35 % trhu mezi domácími stroji, ale i když své konkurenty předčil kvalitou zpracování, nakonec patřil k poraženým, kteří svůj souboj o dominanci prohrály.

V srpnu 1981, tedy krátce po TI-99/4A, se na scéně objevil počítač, kterému měla jednou patřit budoucnost. Jen těžko ale hledat oblast, v níž ve své době nějak výrazně vynikal. Nenabízel ani nejvyšší výkon, ani nejnižší cenu, o grafických a zvukových schopnostech se sice zmíníme, ale milosrdné mlčení by asi bylo poněkud vhodnější. Ne, kdepak. IBM PC se ujalo jedině díky síle významné značky. Jinak by svět nikdy neovládlo.

IBM PC 5150

CPU

Intel 8088 / 4,77 MHz

FPU

Žádný, volitelně Intel 8087

ROM

64 kB

RAM

16 kB či 64 kB, později možné rozšíření až do 256 kB

Záznamové médium

Interface pro kazetový magnetofon s rychlostí 1 200 baudů, případně jedna až dvě disketové jednotky 5¼" s kapacitou 180 kB

Rozšiřující sloty

Pět osmibitových ISA slotů, pro budoucnost průmyslový standard

Grafika

Dle použité grafické karty textový mód u MDA grafické karty 80 × 25 znaků, případně grafická CGA karta s rozlišením 320 × 200 ve čtyřech barvách, 640 × 200 dvoubarevně

Zvuk

Zabudovaný reproduktor („pípací“)

I/O porty

Standardně pouze Centronics pro výstup na tiskárnu a připojení kazetového magnetofonu, ovšem pomocí rozšiřujících karet bylo možné získat jakékoliv porty

Naprosto nejořezanější systém se prodával bez disketové mechaniky, pouze s možností připojení magnetofonu a nahrávání programů z kazety. Takový systém ani neobsahoval MS-DOS, protože ten s kazetou pracovat nedokázal, místo toho obsahoval ROM s IBM Cassette BASIC. Ten v podstatě nahrazoval DOS a umožňoval aspoň nějakou práci s počítačem. Většina prodaných počítačů ovšem obsahovala aspoň jednu disketovou jednotku. Bez DOSu totiž nebyly prakticky k dispozici žádné dostupné programy, počítač tím pádem postrádal použitelnost.

Co se grafiky týče, počítač mohl být osazen buď monochromatickou textovou MDA, nebo CGA, která umožňovala výstup buď na monitor, či na televizi. CGA nabídla paletu 16 barev, přičemž v rozlišení 320 × 200 mohly být použity současně jen 4, a to ještě z dvou pevně daných palet barev. Při jejich výběru se v IBM skutečně předvedli, neboť ani cyan/magenta/bílá, ani červená/zelená/hnědá se nezdají být zrovna ideální.

Zvukové schopnosti počítače byly pozoruhodně konzistentní po následujících téměř deset let – pípající reproduktor si mnozí pamatují dodnes.

Ačkoliv byl počítač považován za pokus o proniknutí do domácností, docházelo k tomu jen velmi, velmi pomalu. Systém s disketovou jednotkou stál tři tisícovky dolarů, což se ukázalo přeci jen přespříliš, a lidé si raději zakoupili jiné levnější výrobky. Na druhé straně počítač zaznamenal úžasný úspěch v menších i ve větších firmách. Tím bylo postaráno o jeho budoucnost – místo hračky pro zábavu se stal seriózním kancelářským strojem.

IBM byla velmi překvapena nejen postupným úspěchem svého stroje, ale i naprosto nepochopitelným faktem, že konkurenční firmy pronikly na její píseček. Už v roce 1982 se totiž na trhu objevila grafická karta Hercules. Ta na rozdíl od striktně textové MDA nabídla uživatelům i grafický, byť monochromatický režim. Tím se vyřešil nepříjemný problém, protože pokud se uživatel spokojil s kartou CGA, měl sice jakžtakž barevnou grafiku, ale textové režimy této karty nebyly tak kvalitní jako u MDA. Ta pro změnu neuměla grafiku. Hercules zvládl oboje, a dokonce nabídl i možnost, aby byl v počítači použit zároveň s kartou CGA, díky čemuž šťastný majitel mohl pracovat na dvou monitorech zároveň. Něco takového bylo v roce 1982 naprosto dokonalé a ještě dlouho poté to žádný jiný počítač neuměl.

Vzhledem k této vtíravé konkurenci si IBM nemohla dovolit spát na vavřínech. Zatímco zvukové schopnosti svého dítěte vůbec nerozvíjela a vše ponechala jen na kartách menších firem (ty se ale objevily až koncem osmdesátých let), s grafikou se něco udělat muselo. Nejprve však přišel v roce 1983 první evoluční krok jménem XT.

Zkratka sice znamenala „extended technology“, ale jednalo se pouze o mírné vylepšení stávající koncepce. Přibyly především sloty ISA, jinak v podstatě vše zůstalo při starém s jedinou podstatnou výjimkou – přibalený MS-DOS 2.0 a BIOS už podporovaly harddisk.

IBM PC 5160 (PC XT)

CPU

Intel 8088 / 4,77 MHz

FPU

Volná pozice pro Intel 8087

ROM

64 kB

RAM

128 kB, později možné rozšíření až do 640 kB

Záznamové médium

Jedna až dvě disketové jednotky 5¼" s kapacitou 360 kB, harddisk o kapacitě 10 či 20 MB

Rozšiřující sloty

Osm osmibitových ISA slotů, pro budoucnost průmyslový standard

Grafika

Dle použité grafické karty textový mód u MDA grafické karty 80 × 25 znaků, případně grafická CGA karta s rozlišením 320 × 200 ve čtyřech barvách, 640 × 200 dvoubarevně

Zvuk

Zabudovaný reproduktor („pípací“)

I/O porty

Standardně pouze Centronics pro výstup na tiskárnu, ovšem pomocí rozšiřujících karet bylo možné získat jakékoliv porty

Až rok poté se IBM odhodlala ke skutečně zásadní proměně svého počítače a výsledkem se stal stroj, který v podstatě používáme dodnes.

IBM PC 5170 (PC AT)

CPU

Intel 80286 / 6 MHz, později 8 MHz

FPU

Volná pozice pro Intel 80287

ROM

64 kB

RAM

256 kB či 512 kB, později možné rozšíření až do 16 MB

Záznamové médium

Jedna až dvě disketové jednotky 5¼" s kapacitou 1,2 MB, harddisk o kapacitě 20 MB

Rozšiřující sloty

2 osmibitové ISA sloty, 6 šestnáctibitových ISA slotů, pro budoucnost průmyslový standard

Grafika

Dle použité grafické karty textový mód u MDA grafické karty 80 × 25 znaků, případně grafická CGA karta s rozlišením 320 × 200 ve čtyřech barvách, 640 × 200 dvoubarevně

Zvuk

Zabudovaný reproduktor („pípací“)

I/O porty

Standardně pouze Centronics pro výstup na tiskárnu a sériový port, ovšem pomocí rozšiřujících karet bylo možné získat jakékoliv porty

Takto v tabulce vypadá i AT jen jako mírné vylepšení, ale ve skutečnosti se zrodil mnohem výkonnější počítač. Nabízel větší množství IRQ a DMA kanálů, a tedy možnost výkonnějších karet, přibyly hodiny, zrychlen byl harddisk a vylepšena byla i klávesnice, takže získala v podstatě dnešní podobu. Sama IBM byla z tohoto výkonu poněkud nesvá, protože si velmi chránila svůj trh s mamutími sálovými počítači, a tak jejich miniaturního bratříčka uměle zpomalila použitím pomalejšího procesoru s 6 MHz. Na to odpověděli šikovnější uživatelé dodatečnou montáží rychlejšího krystalu generujícího impulzy pro CPU, takže i tento nepříjemný výkonnostní požár musela IBM hasit novým BIOSem, který obsahoval při spouštění kontrolu rychlosti počítače a omezení jeho rychlejšího běhu!

Počítač se stal velkým hitem, i když jeho začátky provázely problémy. Především nová disketová jednotka s obrovskou kapacitou představovala trvalý zdroj stížností. Všechny nadchlo to ohromné množství dat – uživatelé na disketu nahráli třikrát více než u současníka Apple Macintoshe. Problém byl ovšem se zpětnou kompatibilitou, protože zapisovat na starší diskety sice mechanika teoreticky uměla, ale vedlo to k jejich nečitelnosti na předchozích generacích počítače.

Jen o měsíc později přišla IBM s konečně použitelnou barevnou grafickou kartou. Karta EGA nabídla při standardním množství obrazové paměti režim 320 × 200 v šestnácti barvách z palety 64 barev, pokud jste si paměť rozšířili, získali jste možnost používat i 640 × 350 v šestnácti barvách, čímž se PC přiblížilo grafickým strojům, jako byla Amiga či Atari ST. Bohužel, hráče počítačových her karta poněkud zklamala, protože na nějaká kouzla se sprity či s jemným posuvem mohli zapomenout. I tak díky této kartě mohly konečně pro PC začít vznikat nejen slušné hry, ale i profesionální DTP či CAD programy. Maximální rozlišení, které karta nabízela, převyšovalo i vychvalovaný Macintosh. Ten měl ovšem jednu zcela zásadní výhodu, na kterou IBM ani nikdo jiný v oblasti PC zatím nedokázal odpovědět – uživatelsky mnohem příjemnější operační systém.

Moderní grafický uživatelský systém – zkráceně GUI – se zrodil v první polovině sedmdesátých let ve vývojovém středisku firmy Xerox na minipočítači Xerox Alto. Ten se jen obtížně srovnává s mikropočítači doposud zmiňovanými, nicméně jeho specifikace byla přibližně následující:

Xerox Alto

CPU

Vytvořena z více čipů Texas Instruments 74181 / 5,8 MHz

FPU

Žádný

ROM

1 kB

RAM

128 kB, rozšiřitelná na 512 kB

Záznamové médium

Harddisk 2,5 MB, později dva harddisky o kapacitě 3 MB

Rozšiřující sloty

Žádné

Grafika

Černobílá, monochromatická s rozlišením 606 × 808

Zvuk

Žádný

I/O porty

Pouze proprietární pro připojení počítačové sítě

Jednou z mnoha zajímavostí Alta byl jeho souborový systém, na svou dobu neuvěřitelně dokonalý – v době, kdy tehdy nejrozšířenější operační systém CP/M povoloval jména souborů o maximální délce 8 znaků (kapitálek) a 3 znaků na příponu, umožňovalo Alto pojmenovávat soubory velkými a malými písmeny s celkovou délkou 31 znaků. Jeho souborový manažer, nazývaný Alto Executive, znal dokonce i takové moderní vymoženosti jako automatické doplňování jména souboru při jeho postupném psaní.

Pomocí programu NetExecutive se daly na Altu spouštět programy ze sítě, což v té době také bylo velmi vzácné. Na síti mělo každé Alto své jméno, uživatelé si tudíž nemuseli pamatovat přesné IP adresy. Alto znalo takové moderní záležitosti jako sdílení disků a síťových tiskáren, přičemž uživatele asi vůbec nejvíce fascinovaly (a bavily) síťové hry.

Alto bylo prvním počítačem s grafickým uživatelským systémem, který představil to, co je dnes naprostou samozřejmostí – okna, menu, tlačítka. Standardní manipulace s okny na Altu byla ale zcela jiná, než známe dnes. Koncept posouvání oken pomocí horní lišty menu a změny velikosti pomocí pravého spodního rohu vymysleli až vývojáři pod bedlivým dohledem Steva Jobse.

Alto znalo jen kontextové menu daného okna, které se zobrazilo stiskem pravého tlačítka na jeho názvu. Toto kontextové menu obsahovalo základní příkazy pro přejmenování okna, minimalizaci, změnu velikosti či přesun, případně zavření a do jisté míry připomíná doposud existující systémové menu okna ve Windows.

Pokud jsme zvolili přesun okna, objevil se nám rámeček známý těm starším, co pracovali na minulých verzích Windows a podobných systémech, a tento rámeček bylo možno přesunout na novou polohu. Pro změnu velikosti systém umožnil nakreslit rámeček s novou velikostí na obrazovce a tam se okno objevilo.

Posouvání obsahu okna se dělo za pomoci posuvníků, které se samovolně objevily ve chvíli, kdy uživatel najel myší do oblasti okna.

Systém ještě neznal klasickou hlavní lištu menu, ale měl pouze kontextové menu se základními příkazy.

Pracovat dnes s tímto systémem by však bylo docela utrpení, protože se ovládal výrazně jinak, než jsme zvyklí (a objektivně vzato, ovládá se hůře, tolik let vývoje je znát). Nicméně, v oněch vzdálených časech se jednalo o to nejlepší, co mohly počítače uživatelům nabídnout.

Základ operačního systému Alta byl napsán v programovacím jazyce BCPL (Basic Computer Programming Language). Ten vznikl v roce 1966, a i když už dnes není používán, v šedesátých a sedmdesátých letech vystoupal na vrchol popularity především proto, že jeho kompilátor bylo velmi jednoduché implementovat. Právě z těchto důvodů se užíval na programování základních částí operačních systémů.

Zajímavé na tomto jazyce je především to, že jediným typem proměnných, se kterými umí pracovat, je typ word. Problém ovšem bylo, že word nemuselo znamenat šestnáctibitové slovo – existovaly architektury podporující slova dlouhá 32 a 64 bitů. Word totiž závisel na maximálně adresovatelné paměti, což opět na některých osmibitových počítačích činilo problémy. Na druhé straně to významně zjednodušovalo práci s proměnnými – nebylo třeba nic definovat, deklarovat atd. Neexistovaly typové kontroly, což sice komplikovalo programování, ale opět zjednodušovalo implementaci, a jazyk tak mohl být velice efektivní – stačí v tomto kontextu připomenout, že klasické C například z důvodů efektivity nekontroluje překročení mezí v poli. BPCL programovací jazyky významně ovlivnil, a co se jeho syntaxe týče, jde o zvláštní mix Basicu a C.

Tvůrci Alta byli nadšenými programátory, tudíž se nelze divit, že jim jazyk BPCL velmi rychle přestal vyhovovat, a proto si stvořili programovací jazyk MESA. Na rozdíl od BPCL s jeho jediným datovým typem byl MESA naopak jazyk silně typovaný, umožňující inkrementální kompilaci díky rozdělení zdrojových souborů na hlavičkové (neboli definující typy) a implementační a podporující na platformě nezávislé programování. Jeho vůbec nejoriginálnějším výdobytkem bylo umožnění ošetření výjimek, což do té doby žádný programovací jazyk neuměl. MESA umožňovala programování knihovních modulů, což se pro vývoj GUI a dalších rozsáhlých projektů velmi hodilo. MESA dále podporovala synchronizaci různých vláken při vícevláknovém programování, opět funkcionalita vhodná pro náročné aplikace.

Důvod, proč MESA dnes již neexistuje (na rozdíl od svých vrstevníků, jako je SmallTalk či jazyk C a Pascal), tkví v tom, že v Xeroxu dospěli k přesvědčení o nutnosti chránit si tento jazyk jako oko v hlavě, neboť jejich vývojářům nabízel výhodu větší produktivity než konkurenci. Díky tomu byla MESA a její následovník Cedar pouze specifikem xeroxovských stanic a nikdy se mimo ně nerozšířila. S ústupem Xeroxu od výroby pracovních stanic se nad ní jednou provždy zavřely vody počítačové historie. Inspirovala nicméně vývoj jazyků jako Modula či Java, takže ji rozhodně nelze považovat za slepou cestu, jež nestojí za zmínku.

Nejslavnějším programovacím jazykem, který se používal na Altu, se ale stal SmallTalk. Tento jazyk je, slušně řečeno, opravdu zvláštní. Má mnoho zapřisáhlých obhájců, ovšem i neméně odpůrců. Jeho snaha o naprosté vítězství koncepce objektového programování je velmi diskutabilní. Objektové programování není vůbec nová technika, a co je důležitější, není ani samospasitelná. Nesporně může být velmi efektivní, a pokud se umí využívat, lze si s ní výrazně zjednodušit práci, o přehlednosti kódu nemluvě. SmallTalk však dovedl myšlenku objektů do naprosté dokonalosti. Jeho tvůrci tak nějak usoudili, že výjimky netřeba udržovat, takže vše, na co si vzpomenete, je ve SmallTalku objekt. Pokud v něm například napíšeme jednoduchou rovnici x = 3 + 5, znamená to, že na objekt 3 se pomocí objektu „plus“ aplikuje objekt 5 a výsledek se zkopíruje do objektu x. Objekty si mezi sebou posílají zprávy, o to je výše uvedená akce náročnější. A právě z objektů a zpráv celé prostředí v podstatě sestává.

Jednou z velmi zajímavých vlastností SmallTalku je, že celé prostředí pracuje na jedné diskové „image“ a obsahuje desítky tisíc různých objektů, které lze jakkoliv měnit. Programátor si tedy může celé prostředí se všemi knihovnami a objekty upravit dle svého uvážení, přičemž se instaluje prostředí jako celek. V podstatě se stírá rozdíl mezi vývojovým nástrojem a operačním systémem. Ve své době byl tento koncept neuvěřitelně pokrokový. SmallTalk v podstatě počítá s tím, že uživatel dostane prostředí „na klíč“, a co mu bude chybět, to si doprogramuje. Tato koncepce je skvělá pro vývojové laboratoře či univerzitní kampusy, ovšem v dnešní době, kdy většinu uživatelů tvoří veřejnost, pro niž je programování neznámá věc, je to nesmysl.

Další velkou nevýhodou SmallTalku je rychlost – každému je asi jasné, že když se i elementární aritmetika řeší pomocí objektů a zpráv, tak to zřejmě bude na úkor efektivity. Toto výrazně vylepšilo Objective C, současný „základní jazyk“ na OS X, kde je možné řešit aritmetiku pomocí klasického céčka a využívat objektovou nástavbu podobnou SmallTalku.

Xerox nakonec svou technologii přivedl na kolbiště volného trhu v podobě počítače Xerox Star, ale ten se vzhledem k ceně zhruba šestnácti tisícovek dolarů neujal.

Koncept grafického uživatelského rozhraní převzal a zdokonalil Apple a výsledkem byl Apple Lisa.

Apple Lisa

CPU

Motorola MC68000 / 5 MHz

FPU

Žádný

ROM

16 kB

RAM

1 MB, rozšiřitelná na 2 MB

Záznamové médium

Jedna či dvě 5¼" diskety s kapacitou 871 kB, později harddisk s kapacitou 5 či 10 MB

Rozšiřující sloty

3 proprietární

Grafika

720 × 364 monochromatická

Zvuk

Pípá (ale určitě lépe než konkurenční IBM PC XT)

I/O porty

2 sériové, 1 paralelní

Bohužel přijetí Applu Lisa veřejností bylo díky přemrštěné ceně 10 000 dolarů jen vlažné, a tak se nepodařilo během pár let existence tohoto počítače nalézt cílovou skupinu. Jedním ze zásadních důvodů byl o rok později vydaný Apple Macintosh. Ne snad, že by byl lepším počítačem. Nabízel sice rychlejší mikroprocesor, ale jeho operační systém byl pouze jednoúlohový a zdaleka ne tak sofistikovaný jako u Lisy. Stál ovšem pouhou čtvrtinu a to rozhodlo.

Pár dní před vydáním legendy ale přišel na svět levný dvaatřicetibitový počítač firmy Sinclair (s cenou 399 liber), na který bychom neměli zapomínat. Stal se sice neúspěchem, stejně jako Lisa, ale Linus Torvalds se na něm naučil programovat a v devadesátých letech stvořil Linux. Sinclair QL si tedy aspoň drobné připomenutí zaslouží.

Sinclair QL

CPU

Motorola MC68008 / 7,5 MHz

FPU

Žádný

ROM

48 kB

RAM

128 kB, rozšiřitelná na 640 kB

Záznamové médium

2 × QL Microdrive o kapacitě 100 kB

Rozšiřující sloty

Žádné

Grafika

256 × 256 v osmi barvách, případně 512 × 256 ve čtyřech z palety 8 barev

Zvuk

Pípá (ale určitě lépe než konkurenční IBM PC XT)

I/O porty

2 sériové, dva joystickové, 2 × QLAN (speciální síťové rozhraní), slot pro externí ROM a Microdrive, proprietární expanzní konektor

Sinclair QL byl nemastný neslaný pokus o průnik do podnikové sféry, průnik předem odsouzený k nezdaru. Přišel pozdě, v době Macintoshe a pozdější Amigy a Atari ST, které jej naprosto deklasovaly. Kromě toho představoval sice laciný, ale málo výkonný stroj bez disketové jednotky, jež v polovině osmdesátých let představovala společně s harddiskem seriózní a uznávané médium pro ukládání dat. Sinclairův Microdrive, což byla nepříliš spolehlivá kazetopásková mechanika, pomalá a s malou kapacitou, disketu nahradit nemohl.

Ale 24. ledna 1984 byl nezapomenutelnou reklamní kampaní uveden Apple Macintosh. Jakkoliv je dnes zapřisáhlými fandy považován za přelomovou legendu, která okamžitě změnila svět, ve skutečnosti se o nějaký zázrak nejednalo.

Apple Macintosh 128k

CPU

Motorola MC68000 / 7,83 MHz

FPU

Žádný

ROM

64 kB

RAM

128 kB, absolutně nerozšiřitelná

Záznamové médium

Jedna 3½" disketa s kapacitou 400 kB, později 800 kB

Rozšiřující sloty

Žádné

Grafika

512 × 342 monochromatická

Zvuk

4 zvukové kanály, 22 kHz maximální vzorkovací frekvence

I/O porty

2 sériové, 1 konektor pro myš, 1 pro externí disketovou jednotku

Jak každý vidí, Macintosh byl naprosto uzavřený systém a jeho první verze měla neskutečně málo paměti, což v podstatě znemožňovalo seriózní práci. Pokud jste si jej zakoupili, firma Apple vám s tímto problémem vůbec nepomohla, i když pochopitelně existovala neautorizovaná řešení. Kvůli tomu se první model Macintoshe stal systémem, na němž spousta pozdějších programů nešla spustit. Jen velmi málo tvůrců softwaru se snažilo své výtvory optimalizovat pro tento první z dlouhé řady počítačů. Na konci roku 1984 přišla firma Apple s Macintoshem 512k, který už obsahoval půl megabytu paměti, softwarová knihovna pro Mac se tak začala rozvíjet. Majitelé starší verze ale většinou měli smůlu.

K počítači se sice později začaly vyrábět i harddisky, nicméně ten, který dodávala firma Apple, k němu připojit nešel bez výměny ROM. Problémem totiž bylo, že tento první Mac neznal hierarchický souborový systém, neznal vnořené adresáře, v kořenovém adresáři mohlo být jen 128 souborů a celkový počet souborů na disku byl omezen na 4 096. Toto všechno neznamenalo problém při práci s disketou, ovšem u harddisku už tato omezení nestačila. Apple nabídl balíček nové ROM společně se svým 20MB harddiskem, ovšem vzhledem k ceně poloviny celého počítače se nejednalo o zrovna laciný nákup. Kvůli neustálým stížnostem na nedostatek paměti přišla další nabídka z jablečné stáje – nešťastným majitelům prvního Macintoshe za 995 dolarů vyměnili základní desku, čímž získali novou ROM a půl megabytu paměti.

Apple Macintosh se tedy nikdy nestal platformou, která by sesadila z trůnu IBM PC. Firma Apple sice o tomto cíli stále dokola a dokola snila, ale nikdy jej nedosáhla. Macintosh se produktu IBM nemohl rovnat ani v rozšiřitelnosti, ani v počtu dostupných programů. Už od začátku totiž programátorům komplikoval život, a to navzdory skvělé vývojářské dokumentaci. Psát programy pro první generace jablečných počítačů, to vůbec nebyl jednoduchý úkol. Na systému s tak minimálním množstvím paměti se programovalo těžko – abyste mohli tvořit programy pro Macintosh, museli jste si nejprve koupit Lisu. Dále bylo nutno si pořídit Lisa Workshop, programovací prostředí s Lisa Pascalem a Assemblerem, k čemuž jste pro vývoj na Mac potřebovali sadu disket Lisa Macintosh Supplement, která obsahovala potřebné knihovny. Na novější verzi Lisy, která stejně jako Mac používala 400kB disketovou jednotku, jste si zkompilovali program, ten následně nahráli na disk a spustili na Macintoshi! Šlo samozřejmě o komplikované a nepohodlné řešení (o složitosti debuggingu nemluvě).

Jakkoliv byl systém Macintoshe novátorský, vývoj v něm postupoval pomaleji než pro mnohem jednodušší textové systémy. Místo textového výstupu jste museli řešit okna, menu, zdroje a události. To vše samozřejmě znamenalo v té vzdálené době novinku a bylo třeba se to nejprve naučit. Mnozí z programátorů byli též poněkud nesví z prostého faktu, že Mac jim na rozdíl od předchozích systémů nedovolil přímý přístup k zařízením počítače, jako například k obrazovce či disku. Místo toho museli používat příslušné funkce API a zvládnout práci s nimi pochopitelně zabralo čas. Přestože byly na svou dobu systém a API (jmenovala se User Interface Toolbox) vcelku dobře navrženy (v první verzi systému existovalo asi 500 rutin, v devadesátých letech se už tento počet pětkrát zvýšil), nejednalo se o objektový systém a návrh jednotlivých částí nelze považovat za příliš konzistentní. Do značné míry za to mohl Lisa Pascal, v němž byla část programů vytvořena a s nímž systém musel být kompatibilní. Pascal bohužel trpěl závažnou chybou, neboť jeho identifikátory limitovala délka osmi znaků, což znemožňovalo použití rozumného pojmenování rutin systému.

Po vydání Macintoshe 512k vyšel Apple vývojářům vstříc a představil Macintosh Development System, který umožňoval vývoj v assembleru. Posléze v roce 1986 s ukončením výroby Lisy bylo třeba něčím nahradit její vývojářské prostředí pro Macintosh, což splnil Macintosh Programmer’s Workshop, v podstatě adekvátní balíček vývojových aplikací jako ten původní na Lise. To vše ale nastalo až dva roky po uvedení nové platformy.

V roce 1986 už však na trhu existovalo více počítačů s grafickým uživatelským rozhraním. Apple sice získal prvenství, pak je nicméně trestuhodně promrhal neschopností dát lidem k dispozici nejen skvělé ovládání, ale i výkonný a rozšiřitelný stroj. Toho využila konkurence.

Atari 520ST

CPU

Motorola MC68000 / 8 MHz

FPU

Žádný

ROM

192 kB

RAM

512 kB, rozšiřitelná na 4 MB

Záznamové médium

Jedna 3½" disketa s kapacitou 360 kB, později 720 kB, kompatibilní s IBM PC formátem

Rozšiřující sloty

Žádné

Grafika

Paleta 512 barev (3 bity na každou z barev RGB)

320 × 200 × 16 barev

640 × 200 × 4 barvy

640 × 400 × 2 černobílý neprokládaný obraz s frekvencí 72 Hz

Žádný hardware pro podporu spritů

Zvuk

Yamaha YM2149F PSG – 3 zvukové kanály

I/O porty

1 sériový, 1 Centronics pro tiskárnu, MIDI, 2 joystickové porty, port pro externí disketovou jednotku, ACSI (podobné SCSI) pro harddisk, ST kartridž

Každý jistě ihned postřehl ten rozdíl mezi originálem a kopií. Jacintosh, jak se Atari ST přezdívalo, byl na rozdíl od Applu plný portů a rozšířit jej bylo jednoduché. To samozřejmě neznamenalo, že by Atari ST bylo dokonalým výrobkem, prostým jakýchkoliv obtíží. Iritující byl například fakt, že první verze ST nabízela pouze jednostrannou disketovou jednotku, což mělo nepříznivý vliv do budoucnosti. Když totiž začala být standardem oboustranná jednotka, zůstali výrobci softwaru pro jistotu věrni pouze jednostranným disketám.

Jednou ze zásadních výhod Atari ST (oproti například Amize) byla možnost práce na monochromatickém monitoru. V roce 1986 nabízelo Atari stroj 1024ST s monochromatickým monitorem za tisíc dolarů, což bylo výrazně méně, než stál tehdejší Macintosh Plus (2 195 dolarů) či Amiga 1000 (1 795 dolarů). Kromě toho Atari umělo zobrazit jemnější rozlišení než Macintosh. Dá se tedy říci, že jediné, co zachránilo firmu Apple v těchto letech, byla její dobrá pověst, protože její počítače patřily k těm dražším a nenabízely větší výkon.

Oproti zmiňované Amize mělo jak ST, tak i Macintosh jednu zásadní nevýhodu. Když pomineme méně barev, neexistenci spritů a horší grafické módy, tak tím zásadním rozdílem byl chybějící blitter. Toto hardwarové zařízení sloužilo pro výrazné urychlení tzv. rastrových operací, kterých je okenní systém plný, neustále je třeba v grafické paměti něco někam kopírovat či přesouvat, uživatel posune okno a procesor se může uhnat. Už na Altu se to řešilo hardwarově, kdy systém podporoval rastrové operace nad obrazovými (i jinými) daty v paměti a díky nim bylo možné kopírovat s pomocí masky grafiku apod. Alto ani Xerox Star k takovým účelům ještě neměly vlastní čip, nicméně existovala zde hardwarová podpora. Na Macu, Lise i Atari ST blitter velmi chyběl, prvním domácím počítačem, který jej představil, byla Amiga. I proto se na ní práce se systémem zdála svižnější než na výše jmenovaných počítačích – procesor se mohl místo neustálého kopírování dat věnovat užitečnějším věcem, a to navzdory faktu, že byl nataktován na nižší frekvenci než konkurence.

Zrozením Atari 520ST pochopitelně firma neusnula na vavřínech. Objevila se nová platforma, průběžně vylepšovaná a rozvíjená, i když je fakt, že onen základ se po celou dobu zásadně nezměnil.

O rok později po 520ST nabídla firma Atari 1040STf, což byl první počítač, kde se cena 1 MB paměti dala pořídit pod tisícovku dolarů, čímž se pochopitelně Atari neopomnělo pochlubit. Kromě toho nabídl tento počítač i integrovanou disketovou jednotku a zdroj, a tak se poněkud eliminoval zmatek v kabelech připojených k počítači.

Pro firemní zákazníky nabídlo Atari řadu Mega ST, tedy profesionální počítače s oddělenou kvalitní klávesnicí a větším množstvím snáze rozšiřitelné paměti.

Poté se celá tři léta nic nedělo, až v roce 1989 spatřilo světlo světa Atari 520 a 1040STE. Vývojáři rozšířili barevnou paletu na 4 096 barev, přidali podporu hardwarového scrollování, přibyl blitter, zvuk byl vylepšen na 2 kanály podporující až 50kHz osmibitový zvuk s přehráváním přes DMA, paměť se lehce dala rozšířit pomocí SIMM modulů až do 4 MB, hardwarově bylo možné použít Genlock. Atari tímto modelem v podstatě dotáhlo náskok Amigy.

Později vznikly ještě další profesionální počítače. Jednalo se o Mega STE, které těžilo z technologie STE, ovšem v profesionálním hávu. Jeho velmi unikátní vlastností bylo softwarové přepínání rychlosti procesoru MC68000, který buď pracoval ve výkonnějším taktu 16 MHz, nebo v kompatibilním originálním 8 MHz. Díky tomu byl tento profesionální počítač stále značně kompatibilní s původním ST, na rozdíl od modernější a výkonné řady Atari TT. Ta nabídla bohatším uživatelům moderní MC68030 o vyšším taktu, ale toho všeho bylo pochopitelně dosaženo na úkor jisté kompatibility.

Posledním z řady ST byl velmi zajímavý počítač jménem Atari Falcon. Představoval poslední pokus firmy Atari zachránit svou pozici jakožto výrobce počítačů. Falcon byl skvělým strojem, jeho v podstatě hlavní nevýhoda spočívala v prostém faktu – přišel pozdě. V roce 1992 se jednalo o to zdaleka nejlepší, co na poli levných domácích počítačů bylo k mání, ani tehdejší Amigy s Falconem nedržely krok. Bohužel, z důvodů kompatibility použila firma sice plně 32bitový čip MC68030, ale na 16bitové datové sběrnici. To velmi omezilo výkonnost systému. Falcon nabídl uživatelům MC68030/16 MHz s možností použití FPU, zvuk bylo možné tvořit jednak jako na starších ST počítačích pomocí Yamaha YM2149F PSG, jednak s použitím moderního DSP Motorola 56001/32 MHz 8kanálovým zvukem 16 bit/50 kHz, graficky počítač kromě starších režimů zvládal i VGA 640 × 480 × 256 barev či 320 × 480 × 65 535 barev, barevná paleta byla 18bitová (262 144 barev). RAM byla rozšiřitelná až na 14 MB a ROM měla 512 kB s TOS 4.04. Atari přibalovalo i multitaskingový MultiTOS, čímž se na platformě ST multitasking objevil vůbec poprvé. Ano, Falcon byl skvělým počítačem, který přišel pozdě.

Tím hlavním soupeřem, vůči kterému se Atari ST po celou svou existenci vymezovalo, se stala Amiga. Tento dnes již poněkud pozapomenutý počítač se stal jistým vrcholem koncepce počítače se zákaznickými obvody.

Commodore Amiga 1000

CPU

Motorola MC68000 / 7,16 MHz

FPU

Žádný

ROM

8 kB, 256 kB WCS, speciální paměť pro nahrání kickstartu, který měly už pozdější Amigy v ROM

RAM

256 kB, rozšiřitelná na 8,5 MB

Záznamové médium

Jedna 3½" disketa s kapacitou 880 kB, později dostupný harddisk s kapacitou 20 MB

Rozšiřující sloty

Proprietární expanzní port a slot pro rozšíření RAM

Grafika

Paleta 4 096 barev (4 bity na každou z barev RGB)

320 × 200 při 32 barvách nebo HAM-6 (4 096 barev)

320 × 400i při 32 barvách nebo HAM-6 (4 096 barev)

640 × 200 při 16 barvách

640 × 400i při 16 barvách

Mód EHB u pozdějších verzí nabízel 320 × 200 v 64 barvách

Zvuk

Paula: 4 hlasy / 2 kanály (stereo) 8bitové rozlišení / 6bitová úroveň hlasitosti, vzorkovací frekvence 28 kHz

I/O porty

1 sériový, 1 Centronics pro tiskárnu, 2 joystickové porty, port pro externí disketovou jednotku

Jak jsme si již řekli, za zrozením legendy stojí nejen génius Jaye Minera, entuziasmus jeho i dalších vývojářů, ale též peníze posléze hlavního konkurenta, firmy Atari. Právě v tom zvláštním propletenci historie je skryto hodně ironie dějin. Atari dalo život svému největšímu soupeři.

Minerův plán se zakládal na tom, že počítač bude evolucí až revolucí původních nápadů z Atari 800. Vše, co dokázalo Atari 800, měla umět i Amiga, ale pochopitelně lépe a rychleji. Amiga původně vznikala jako herní konzole, avšak Miner toužil po profesionálním počítači, který by za levnější peníz dokázal soupeřit s grafickými stanicemi. Nechtěl stvořit jen jakousi malou domácí mašinku ve stylu Atari 800. Chtěl levného pomocníka pro menší videostudia, televize atd. Už z tohoto důvodu byla Amiga připravena na použití genlocku, tedy na možnost synchronizace počítačového a televizního obrazu. Proto byl také generovaný obraz kompatibilní s televizní normou (PAL či NTSC), což se bohužel pro budoucnost neukázalo jako zrovna šťastné rozhodnutí. Sice se tím skvěle otevřel trh pro levné zpracování videa (a tam se aspoň v USA Amiga široce uplatnila), ale bohužel se nemohla prosadit jakožto počítač vhodný pro DTP. Pro takovou práci totiž potřebujete nejen hodně barev a jemné rozlišení, ale i stabilní obraz. Amiga zvládala nejjemnější rozlišení (640 × 400 v 60 Hz pro normu NTSC) zobrazit pouze prokládaně, obraz se díky tomu jemně chvěl a pro seriózní práci se nedal použít. Další její rozlišení 640 × 200 však nebylo o tolik lepší, než co uměly tehdejší osmibity, pouhých 200 řádků bylo pro DTP zásadním limitujícím prvkem. Řešením, jak tento problém obejít, byl buď speciální grafický mód pro monitor, jaký mělo Atari ST, nebo použití flickerfixeru, tedy přídavného hardwaru, který zdvojnásobil horizontální frekvenci, což umožnilo použít klasický VGA monitor.

Prokládané řádkování je pojem mnohým mladším počítačovým nadšencům neznámý a je načase si jej vysvětlit. Souvisí s otázkou, proč tolik tehdejších mikropočítačů připojitelných k televizi nabízelo jakožto nejvyšší grafické rozlišení mód s dvěma sty řádek. Proč tam těch řádek nebylo více? Vždyť taková VGA má 640 × 480 – tak proč něco takového nešlo na televizi?

Odpověď je překvapivě jednoduchá. Souvisí s tím, že televizní obraz je prokládaný, a to jak u normy PAL, tak u americké normy NTSC, pro niž tyto počítače v prvé řadě vznikaly a na které si to vysvětlíme.

Tato norma má rozlišení obrazu 720 × 480i při 60 Hz. To ovšem neznamená, že se šedesátkrát za sekundu vysílá 480 řádků, ale jen polovina, tedy 240. V lichých šedesátinách se vysílají liché řádky, v sudých sudé. Lidské oko je příliš nedokonalé, takže si tyto liché a sudé řádky spojí do jednoho obrazu.

Problém nastává ve chvíli, kdy nechceme vysílat pohyb, ale přesně daný statický obraz z počítače. Až do 240 řádků nám vše bude fungovat skvěle – počítač prostě bude pro každý řádek „mít co vysílat“ na televizi.

Ještě jinými slovy, řádky jsou vysílány dvojitě, takže jak v liché, tak v sudé šedesátině jsou zobrazována nějaká data. Ovšem ve chvíli, když bychom chtěli do televizoru „dostat“ řádků více, třeba 400, budeme mít problém. Nějaké řádky prostě nejdou zobrazit, respektive zobrazují se jen každou lichou či sudou šedesátinu sekundy. To má za následek nepříjemné lehoučké chvění celého obrazu a v důsledku nepoužitelnost takového zobrazení pro seriózní práci. Prokládané řádkování vzniklo kdysi za úsvitu televizní techniky jako nouzové opatření, vedoucí ke zvětšení plochy obrazovky s tehdy dostupnými technickými možnostmi. Navzdory své nešikovnosti a všem omezením je s námi dodnes.

Pokud jste v polovině osmdesátých let chtěli stvořit počítač s grafickým uživatelským rozhraním, měli jste na výběr vcelku tři možnosti. Tou první bylo použití standardního procesoru, který měl co dělat, aby zvládal složité překreslování obrazovky a zároveň plnil přání uživatele. V některých náročnějších situacích museli vlastníci takových počítačů prokázat značnou dávku trpělivosti. Touto cestou se vydal Apple se svým Macem, stejně jako Atari se svým ST. Druhá možnost znamenala použít mnohem výkonnější procesor než jen ty cenově dostupné, případně sestavit víceprocesorový systém. Touto cestou se vydali tvůrci grafických stanic, jako například SGI. Nutno zdůraznit, že toto nebyla cesta normálnímu smrtelníkovi dostupná. Třetí variantu představovalo použití klasického procesoru a na výpomoc vyvinutí několika podpůrných obvodů – zákaznických čipů. Tuto cestu si Miner vyzkoušel už s Atari 800 a zopakoval ji v Amize. Dodejme, že tento směr postupně přijaly i počítače IBM PC – grafické karty se naučily podporovat procesor, stejně tak jako se operační systém Microsoftu postupně naučil využívat jejich možností. Trvalo to ale značně dlouhou dobu, Amiga to uměla už v půli osmdesátých let.

Zákaznické obvody Amigy se jmenovaly Denisa, Paula a Agnus. Čip jménem Agnus kromě jiného obsahoval i dva logické obvody jménem Blitter a Copper, jejichž jména se při detailním popisu hardwaru Amigy zmiňují, jako by šlo o fyzicky odlišné entity, přičemž ve skutečnosti oba byly součástí jednoho chytrého obvodu. Agnus byl určen pro řízení přístupu k operační paměti počítače a po první verzi, schopné adresovat 512 kB RAM, se objevily další s adresací až 2 MB.

Copper se určitým způsobem podobal dávnému ANTICu z Atari 800. Byl stejně jako jeho předchůdce v jistém směru programovatelný, přičemž znal tři instrukce – WAIT, MOVE a SKIP. Ta první měla za úkol pozastavit vykonávání copperovského programu, dokud nebude elektronový paprsek při vykreslování obrazovky na přesně daném místě. Druhá měla na starosti přesun hodnot v paměti z jedné buňky do druhé. To se dalo použít ke změně barevné palety na určitém řádku (tedy například k vytvoření „duhy“ jako na Atari), k optickému navýšení počtu spritů pomocí změny horizontální pozice nějakého z nich, případně ke změně grafického režimu na přesně daném řádku apod. Na rozdíl od dříve vzpomínaného ANTICu uměl Copper zpracovávat svůj „miniprogram“ (tedy třeba změnit nějakou barvu v barvovém registru) nejen pro celý řádek, ale dokonce i v průběhu vykreslování řádku. Obvykle se udávala přesnost cca 4 obrazové pixely, kdy byl Copper schopný akce.

Blitter byl druhý z funkčních bloků Agnusu, jenž měl za cíl rychlé kopírování či bitové manipulace nad různými zdroji dat. Blitter uměl vzít data z jedné oblasti, nějakým způsobem je modifikovat či ponechat beze změny a následně zkopírovat do druhé oblasti. Vše probíhalo naprosto automaticky, bez zásahu hlavního CPU a ještě k tomu zhruba dvakrát rychleji, než by to ten CPU zvládl. Procesor pouze nastavil a spustil danou operaci a mohl se věnovat něčemu užitečnějšímu.

Dnes to, co uměl blitter, umí i ta nejlevnější grafická karta, ale Amiga byla prvním počítačem, který takovéto šikovné zařízení představil jako malý černý čip, zasunutý do základní desky.

Druhým zákaznickým čipem byla Denise, jež měla za úkol zobrazení grafických režimů a některé další triky s nimi související. Denise uměla pracovat se dvěma základními rozlišeními o šířce buď 320, či 640 obrazových bodů. Počet řádek se dal zvolit: buď (v NTSC režimu) 200 neprokládaných, nebo 400 prokládaných (tedy prakticky nepoužitelných na normální televizi).

Celkově uměla Denise pracovat až s šesti bitovými rovinami neboli bitplány (viz níže) v nižším rozlišení, či čtyřmi ve vyšším. Vzhledem k tomu, že znala jen 32 barvových registrů, tak je zcela logické se ptát, co to bylo za mód se šesti bitplány, který dává možnost použít 64 barev. Tento mód se jmenoval Extrahalfbrite a umožňoval použít jednak oněch 32 základních barev a jednak k tomu dalších 32 barev s polovičním jasem.

Další z velmi zvláštních dosud nezmíněných konceptů byl HAM. Původně jej Jay Miner navrhl proto, že se uvažovalo pouze o NTSC verzi konzole, kde se tato myšlenka přímo nabízí, neboť NTSC signál je založen na změně odstínu a svítivosti bodů. Později bylo rozhodnuto i o PAL verzi čipu a posléze měl být vyveden i přímo RGB signál pro připojení monitoru. Jay Miner se proto domníval, že HAM je zbytečný, a požádal kolegu, aby jej z návrhu čipu vyjmul. Dostalo se mu odpovědi, že to by znamenalo překopání celé koncepce, proto zůstal HAM zachován. Jay Miner se mýlil, mód HAM (viz níže) se skvěle uplatnil v práci s digitalizovanou grafikou, případně při kreslení statických obrázků. Amiga byla ve své době jediným počítačem schopným zobrazit fotky v akceptovatelné kvalitě. V tomto směru ji nepředstihl ani Macintosh II, který sice dostal do vínku grafickou kartu s možností zobrazení 256 barev, ale jakkoliv se to zdá hodně, na fotku je to málo.

Poslední opravdu originální schopností Denisy byl mód zvaný Dual Playfield. Ten fungoval tak, že si programátor seskupil bitplány do dvou oddělených skupin, které pak fungovaly jako svého druhu popředí a pozadí. Pokud jste tedy použili nejobvyklejší kombinaci – dvě skupiny po třech bitplánech, mohli jste do jedné trojice nakreslit třeba ovládací pult kosmické lodě a ve druhé se zobrazovalo pozadí viditelné „průhledy“. Nevýhodou bylo samozřejmě jen osm barev pro každou skupinu, výhodou naprosto nezávislé zobrazení, scrollování atd.

Co se spritů týče, Amiga byla posledním domácím počítačem, který tuto technologii implementoval. Dokázala jich na jednom horizontálním řádku zobrazit osm, měly šířku šestnáct bodů a čtyři barvy pro každý, mohly se i kombinovat, sestavit ze dvou spritů jediný, který už měl barev šestnáct. Jednalo se tedy o něco vyspělejší řešení než sprity na C64. Sprity byly koncepcí v době vzniku Amigy již na ústupu, neboť počítače už měly dostatečný výkon, který umožňoval obejít se bez nich, a vývojáři tak aspoň ušetřili DMA kanály, které si jinak pro ně museli rezervovat.

Ten zvláštní pojem „bitová rovina“ neboli bitplán souvisí s organizací grafické paměti a jako vše na světě má své výhody a nevýhody. V bitplánové grafice se grafická paměť sestává z bitových ploch (bitplánů), přičemž barva toho kterého obrazového bodu odpovídá kombinaci složené z bitů na příslušném místě všech těchto ploch, jež ale nemusejí ležet v paměti nějak uspořádaně, což je velkou výhodou vzhledem k prevenci se segmentací paměti. Pokud bychom například použili pět bitových ploch v režimu 320 × 200, znamená to, že v paměti obsadíme pět oblastí o velikosti 320 × 200 / 8, tedy 8 kB. Pokud chceme zjistit barvu prvního bodu na obrazovce v levém horním rohu, podíváme se na první bit prvního bitplánu, poté na první bit druhého bitplánu atd., sestavíme je dohromady, převedeme takto vzniklé binární číslo na číslo dekadické, podíváme se, jakou barvu jsme nastavili v barvovém registru, který nám tímto výpočtem vyšel, a následně tento bod zobrazíme.

Možná to někomu přijde krkolomné, protože se musíme neustále dívat někam do paměti a převádět binární vzorky na čísla barvových registrů, ale toto uspořádání má své výhody. Velmi lehce se v něm realizuje v daném rozlišení použití v podstatě jakéhokoliv množství barev. Máme-li barev málo, stačí přidat další bitovou rovinu. Zatímco na PC bylo možné použít pouze 16 barev, nebo rovnou barev 256, Amiga nabízela v tomto daleko více variability. Použití menšího množství barev umožňuje šetřit paměť. Pokud pro náš případný program stačí barev osm, na Amize nemáme problém. Na PC bychom pamětí plýtvali.

Na následujícím obrázku si ukážeme, jak by vypadala situace se čtyřmi bitplány. Vezmeme první bod v levém horním rohu, sestavíme z něj bitový vzorek, podíváme se do příslušného barvového registru – a víme, jakou barvou tento bod namalovat.

Bitplánová grafika má ale jednu zásadní nevýhodu, a to při práci s 3D grafikou. Zde Amiga naprosto selhávala a velmi se to projevilo s nástupem 3D her, jako byl Wolfenstein a Doom. Zatímco PC je výkonnější, takže spočítat obraz pro něj je mnohem snazší, i samotný zápis do videopaměti věc komplikoval. Na PC jste spočítali barvu příslušného bodu a následně jste na příslušném místě videopaměti přepsali dotyčný byte (či 3 byty). Na Amize jste spočítali barvu bodu, což s jejím výpočetním výkonem byl solidní problém, a následně jste museli zapsat do 8 různých míst paměti svůj výsledek (v případě 256 barev). Dá se říci, že nástup 3D her znamenal zásadní hřebík do rakve Amigy.

Mód HAM, zmiňovaný výše, je taktéž třeba vysvětlit, neboť se jedná o velmi důvtipné technické řešení, které i na velmi skromném hardwaru zajistilo práci s velkým množstvím barev. Tento grafický mód funguje s šesti bitplány v nižším rozlišení (320 bodů na řádek). První dva řídící bity volí, jak se budou požívat zbývající čtyři bity datové. Buď se použije jeden ze 16 barvových registrů, nebo se modifikuje barva z předchozího bodu na obrazovce. Tím je možné zobrazit různé barevné přechody atd., tedy přesně to, co obsahují fotografie. Dostupné kombinace řídících bitů nabízely následující:

Bit 5

Bit 6

0

0

Pro zobrazení bodu se použije jeden ze 16 barvových registrů dle nastavení 4 předchozích bitů

0

1

Změna modré složky

1

0

Změna červené složky

1

1

Změna zelené složky

Jak je vidět, mód neumožňuje absolutní volnost v zobrazení, protože barvy bodů na řádku spolu souvisejí.

Možná někoho méně technicky zdatného napadlo, proč Amiga znala takový podivný počet barev. 4 096 – to je opravdu dost nepochopitelné číslo. Proč?

Odpověď je jednoduchá a souvisí s kódováním barev v počítači. Každá barva se skládá ze tří složek – červené, zelené a modré. Každou z těchto složek uměla Amiga zobrazit v šestnácti odstínech. Takže počet kombinací – 16 × 16 × 16 = 4 096 – nám dává kýžené číslo.

U zvukového čipu Paula se zastavíme jen krátce. Zvuk měla Amiga na svou dobu vynikající, ale zdaleka nepředstihla konkurenci tolik jako v grafice. Paula byla schopna „zvučit“ celkem čtyřmi kanály o maximální vzorkovací frekvenci 28 867 Hz s osmibitovým rozlišením vzorků, hlasitost se dala nastavit v 64 úrovních. Zvuk se vytvářel stereofonní, dva kanály měla Amiga pevně přivedeny na pravý, zbylé dva na levý výstup. Toto jednoduché řešení stačilo při použití reproduktorů, ale pokud jste zkusili sluchátka, už jste toto rozdělení vnímali.

Dále Paula znala i jistý jednoduchý vysokofrekvenční filtr, díky kterému se dosahovalo efektu ve stylu „Dolby“ a výsledkem byl velmi nepočítačový zvuk, který dlouho neměl konkurenci. I pozdější karty Soundblaster pro PC, které zvládaly více kanálů, větší frekvenci i větší rozlišení, měly podání zvuku horší než stařičká Amiga.

Nevýhoda koncepce Amigy ale spočívala v tom, že jakákoliv změna systému znamenala mnohem složitější přestavbu celé konfigurace než u jiných počítačů. Protože čipset Amigy byl dokonale sladěn, ve chvíli i jen změny hlavního procesoru jste se dostali do situace, kdy dokonalá kompatibilita všech aplikací byla otázkou štěstí. Tato nemodulární koncepce Amigu nakonec i zabila, respektive byla jednou z důležitých příčin zániku této platformy. Zatímco na PC se naprosto běžně při instalaci nového programu spouštěl i setup, ve kterém se nastavovala používaná grafická či zvuková karta, na Amize nic takového neexistovalo, protože se automaticky předpokládalo, že aplikace je spouštěna na standardní konfiguraci. Ve výsledku to znamenalo, že pokud jste si pořídili lepší grafickou či zvukovou kartu (což u profesionálních Amig možné bylo), tak ne všechny (spíše jen velmi málokteré) programy uměly ty rozšiřující možnosti využít. Tudíž si podobné vymoženosti pořizoval pouze málokdo a bludný kruh stagnace se uzavřel.

K této jisté „koncepční nevýhodě“ se přidala ještě jedna naprosto klíčová – použití bitplánové grafiky. Ta byla považována za základ okenního systému, a proto ji Amiga měla implementovánu nativně. Ale jakmile se objevily 3D hry, ztratila Amiga tu poslední výhodu oproti tehdejším počítačům PC.

Kromě bitplánové grafiky je dobré zmínit další zvláštnost hardwaru Amigy. Na rozdíl od dneška, kdy máme striktně rozdělenu paměť na velmi rychlou VideoRAM na grafické kartě a vlastní paměť počítače, přičemž videopaměť systém používá jen pro obrazová data, v Amize se takto paměť nedělila. V Amize existovala tzv. Chip Ram a Fast Ram. Ta první byla paměť, ke které měl přístup čipset, tedy čipy Agnus, Denise a Paula. Do této paměti se zapisovala všechna grafická a zvuková data. Fyzicky se jednalo o počátek paměťového prostoru, od „mytické“ buňky 0 po 256 / 512 / 1 024 / 2 048 kB v závislosti na použitém čipu Agnus a jeho schopnosti adresace. Paměť byla pomalejší, neboť se v přístupu k ní střídal procesor i zákaznické čipy. Co je ale třeba říci, kromě fyzické pomalosti se nikterak neodlišovala od té druhé – Fast Ram, která se nacházela „nad“ ní, a o přístup do ní se procesor nemusel s nikým dělit. Samozřejmě, že v Chip Ram nemusela být pouze obrazová a zvuková data a také tam nebyla. Zvláště počítače pro domácnost a hry A500 a A1200 jste si zakoupili pouze s Chip Ram, a pokud jste jej rozšířili o Fast Ram, systém se viditelně zrychlil. Takže na rozdíl od současnosti neexistovalo striktní rozdělení paměti, což mělo své výhody (systém už od počátku měl „v podstatě“ půl MB videopaměti, v té době něco neuvěřitelného). Dnes se speciálními super rychlými paměťmi na videokartách se pochopitelně jedná o anachronismus, ovšem myšlenka, že by se videopaměť mohla využívat i pro něco jiného než jen pro grafická data, by se v Redmondu či Cupertinu mohla uhnízdit.

Nesmíme zapomenout ani na jednu velkou zvláštnost Amigy, alespoň ve srovnání s moderní dobou. Tehdy to bylo celkem běžné, dnes to v počítačích vůbec nevidíte – Amiga obsahovala značně velkou ROM. Pochopitelně, na svou dobu. Všechny tehdejší počítače tímto způsobem rozšiřovaly omezenou RAM. Apple měl ROM o velikosti 128 kB, Atari ST se vzmohlo na 192 kB, Amiga už měla 256 kB, v pozdějších verzích dokonce 512 kB. V relativním porovnání s tehdy obvyklou velikostí RAM to znamená, že dnes bychom měli mít v počítači gigabytový BIOS. Zatímco Atari ST mělo v ROM kompletně celý systém, což znamenalo velmi pohodlné řešení, Apple i Amiga tam měly pouze část systému. V případě Amigy se jednalo o tzv. Kickstart, tedy v podstatě o firmware, a následně o některé ze základních systémových knihoven. Díky tomuto řešení byl například start systému na těch dávných počítačích velice rychlý. Na Atari ST to trvalo sedmnáct sekund, počítač vůbec nesáhl na disk. Amize trvalo spuštění jen o pár sekund déle. Pokud jste měli harddisk, spustili jste systém stejně rychle jak na onom Atari. Rychlostmi spouštění dokáží tyto dnes překonané počítače konkurovat i svým dnešním následovníkům, což je s ohledem na výkon jejich hardwaru skutečně obdivuhodné.

Když srovnáváme operační systémy Applu, Atari a Amigy, připadají nám dnes pochopitelně primitivní, ale představovaly vrchol technologie pro domácí použití. Nicméně navzdory tomu, že systém Amigy byl bezesporu nejpropracovanější, nejvíce profesionální (už třeba jenom tím, že na rozdíl od ostatních dvou znal konzoli podobnou Unixu a umožňoval uživateli velmi detailní práci se systémem), tak to možná paradoxně znamenalo spíše chybu. Pro méně zkušené uživatele byl Macintosh dokonalý právě pro svou jednoduchost. Vedl vás, nic moc jste v něm sice nemohli, ale na druhé straně jste tím pádem ani nic nezkazili. S Atari TOS to bylo obdobné. Naproti tomu Amiga odrazovala svou složitostí. Zatímco v Applu se primárně zaměřili na uživatelský komfort, u Amigy chtěli implementovat co nejvíce hi-tech vlastností. Kromě toho se Atari i Apple obvykle profesionálně užívaly s monochromními monitory. Oproti nim vypadal systém Amigy se svou bizarní modro-oranžovo-černo-bílou kombinací primitivně a amatérsky. A to bez ohledu na to, že byly tyto barvy zvoleny právě pro vysoký kontrast, kdy tvůrci zkoušeli Amigu připojit k těm nejhorším televizím, jaké mohli sehnat...

V polovině osmdesátých let tedy existovaly tři významné platformy, které vyráběly domácí či poloprofesionální počítače založené na MC68000. Atari a Commodore dnes neexistují, Apple je tu stále. Proč? Nabízel snad ty nejlepší výrobky? Byl oproti konkurenci nejdále?

I když nelze snižovat kvality produktů jablečné firmy, přesto je možné tvrdit, že zhruba kolem poloviny osmdesátých let byly její výtvory horším a jednoznačně nejdražším, co jste si s procesorem MC68000 mohli koupit. Apple měl skvělý a uživatelsky příjemný systém a kromě toho ergonomický monitor s jemným rozlišením. Tím veškeré výhody končily a začínala spousta nevýhod, mnohé zde již zmíněné. O cenové politice se vůbec nemá smysl bavit. Čím se Apple tak výrazně lišil?

Samozřejmě tím, že se mu podařilo vytvořit komunitu stálých zákazníků, kteří nadšeně věřili, že vše s nakousnutým jablíčkem je prostě nejlepší. I v tomto směru je situace dodnes stejná. Ovšem, a to je třeba zdůraznit, i fandové Atari či Amigy se vyznačovali věrností a ochotou zůstat u své milované značky. Ale bylo jich přeci jen méně.

Ten zásadní rozdíl je jednoduchý – Apple jako velmi bohatá firma měl více prostředků než zbylé dvě dohromady. Byl schopen vyrábět nejen počítače, ale i tiskárny a síťový hardware, čímž získal zásadní pozici jako výhradní volba DTP studií. Apple řídili špičkoví manažeři, v těchto dobách jej vedli skutečně perfektně, i když se později dopouštěli stále více a větších chyb. John Sculley, CEO Applu, byl formát a udělal z něj velkou firmu. Jack Tramiel sice též uměl skvěle vést, ale neměl za sebou takovou sílu kapitálu. V Commodoru neměli ani tak dobrého šéfa, ani tolik peněz. Proto také Commodore skončil nejdříve.

Všechny firmy se dopustily velmi drahých chyb. Apple se svým Newtonem či dlouhodobou neschopností vyvinout objektový operační systém a dát základní řadě Maců barevný displej. Atari ST svým STacy či Lynxem, Commodore svou A600. Jenže Apple si tyto chyby prostě mohl dovolit. Commodore a Atari na to zkrátka neměly.

Je nutné si uvědomit, že v těchto dobách vlastně každá z těchto firem musela vyvíjet vše od hardwaru po software. Nic takového dnes už neexistuje. Dnes už si společnosti nestaví počítače s vlastním speciálním hardwarem a operačním systémem, tedy s výjimkou strojů pro specifické, často průmyslové účely.

Tehdy muselo jak Atari, tak Apple či Commodore vyvíjet vše od píky. Postavit železo a na jeho bázi i operační systém. To stálo nějaké peníze. Ve firmách bojovali a předháněli se, přičemž jako kdyby si vůbec neuvědomovali, že za zády jim roste konkurent, který má všechny trumfy v rukou. Počítače PC totiž nebyly uzamknuty licencí, tudíž se spousta firem pustila do jejich vývoje. Už první PC s 80386 nepředstavila „Big Blue“, ale Compaq. Grafické karty, zvukové karty, základní desky, řadiče… každý jistě ví, kolik je v této oblasti výrobců. Je tudíž naprosto pochopitelné, že i když byly počítače PC zprvu vůči například Amize poněkud zaostalé, postupně ji dohnaly a předehnaly. Ani ta nejbohatší firma prostě nemůže vést závod s takovou přesilou. A Commodore rozhodně k nejbohatším nepatřil. Dokonce i Apple to po tolika letech musel vzdát a dnes nabízí jen v podstatě standardní PC, což lze považovat za jisté zklamání.

Commodore se pochopitelně pokoušel Amigu dále rozvíjet, každý ve firmě chápal, že zůstat sedět na vavřínech technologie z roku 1985 nelze věčně. Bohužel ale inženýři promrhali spoustu let jen postupným vylepšováním stávající koncepce a původních zákaznických obvodů, což je sice z hlediska snahy o zachování kompatibility pochopitelné, ale například takový Apple při svém přechodu na architekturu PowerPC předvedl, že možné je takřka vše.

V roce 1987 uvedl Commodore dva nové počítače, které však ve skutečnosti byly identické s původní Amigou 1000. A500 představovala lacinou domácí variantu, schopnou přímo soupeřit s Atari 520ST, zatímco A2000 byla skvělou volbou pro profesionály, konkurencí mnohem dražšímu Macintoshi II.

Commodore Amiga 2000

CPU

Motorola MC68000 / 7,16 MHz

FPU

Žádný

ROM

256 kB, 512 kB u pozdějších verzí

RAM

1 MB, rozšiřitelná na 9 MB, v případě výměny procesoru za výkonnější až na 128 MB

Záznamové médium

Jedna 3½" disketa s kapacitou 880 kB, později dostupná karta s SCSI a mnoho variant harddisků

Rozšiřující sloty

5 slotů Zorro II

2 sloty ISA – šestnáctibitové, často používané pro karty s Intel procesory pro emulaci IBM PC

2 sloty ISA – osmibitový

1 proprietární slot pro výměnu procesoru

1 videoslot pro lepší grafickou kartu

Grafika

Paleta 4 096 barev (4 bity na každou z barev RGB)

320 × 200 při 32 barvách nebo HAM-6 (4 096 barev)

320 × 400i při 32 barvách nebo HAM-6 (4 096 barev)

640 × 200 při 16 barvách

640 × 400i při 16 barvách

Mód EHB nabízel 320 × 200 v 64 barvách

Zvuk

Paula: 4 hlasy / 2 kanály (stereo) 8bitové rozlišení / 6bitová úroveň hlasitosti, vzorkovací frekvence 28 kHz

I/O porty

1 sériový, 1 Centronics pro tiskárnu, 2 joystickové porty, port pro externí disketovou jednotku

Okamžitě začaly práce na nových čipech pod názvem AAA, nicméně vývoj měl trvat dlouho. Fandové Amigy se tak postupně dočkali čipů ECS, které znamenaly jen velmi mírný pokrok, a posléze konečně i AGA, se kterými se v roce 1992 objevila domácí Amiga A1200 a profesionální Amiga A4000. AGA nabídl módy s 256 barvami, mnoho nových vysokých rozlišení a podporu VGA či Multiscan monitorů. Blitter AGA čipsetu nicméně nikdo významně nevylepšil, proto při plných 256 barvách byla grafika dost pomalá.

Commodore Amiga 4000

CPU

Motorola MC68EC030 nebo 68040 / 25 MHz

FPU

Integrovaný u verze s 68040 procesorem

ROM

512 kB

RAM

2–16 MB dle verze, rozšiřitelná na 512 MB

Záznamové médium

Jedna 3½" disketa s kapacitou 1,76 MB, 120 MB IDE harddisk

Rozšiřující sloty

4 sloty Zorro III

3 sloty ISA – šestnáctibitové

1 proprietární slot pro výměnu procesoru

1 videoslot pro lepší grafickou kartu

4 sloty pro SIMM RAM rozšíření

Grafika

Paleta 16 milionů barev. Mnoho grafických módů, například:

320 × 200 při 256 barvách nebo HAM-8 (262 144 barev)

1 280 × 400i při 256 barvách nebo HAM-8 (262 144 barev)

VGA 640 × 480 při 256 barvách v 72Hz ergonomickém zobrazení, ovšem pouze na VGA monitoru

800 × 600 při 256 a v 60Hz zobrazení na VGA monitoru

Zvuk

Paula: 4 hlasy / 2 kanály (stereo) 8bitové rozlišení / 6bitová úroveň hlasitosti, vzorkovací frekvence 28 kHz

I/O porty

1 sériový, 1 Centronics pro tiskárnu, 2 joystickové porty, port pro externí disketovou jednotku, ATA rozhraní pro harddisk

Nejhorší bylo, že se tímto čipsetem Amiga nestala trhákem, ale pouze dýchavičně dohnala konkurenci. V té době už bylo naprosto běžné mít na PC grafickou kartu s 512 kB videopaměti, což umožňovalo používat rozlišení až 1 024 × 768 s alespoň 16 barvami. Něco takového AGA prostě nezvládl.

Amiga se stávala čím dál více jen a jen herním počítačem. Profesionálové už dávno přešli na platformu PC a posléze je následovali i zapálení amatéři. Amiga jim už zkrátka svým výkonem a schopnostmi nestačila. Když pak vypukl zcela nový fenomén 3D her, přestala Amiga vyhovovat i hráčům.

Hra Doom byla senzací, zcela novým typem 3D akce. Už jeho předchůdce Wolfenstein 3D naznačil, kam se bude vývoj her ubírat. Doom znamenal pro Amigu obrovský problém. Všechna její grafická kouzla, blitter, copper, sprity, dual playfiled, to vše bylo náhle k ničemu. Na Doom Amiga neměla.

Naopak svět PC, jenž byl postaven na myšlence brutálního výkonu CPU, v Doomu triumfoval. Postupně samozřejmě vznikly speciální 3D grafické akcelerátory, které tu zátěž obrovského počtu nutných výpočtů sňaly z hlavního mikroprocesoru, ale původní Doom nepotřeboval nic jiného než hodně velký výkon CPU – a to PC mělo. Amiga ne. A tak 29. dubna 1994 přišlo to, co přijít muselo – bankrot.

Zatímco Amiga byla prvním domácím cenově dostupným počítačem, který nabídl svým uživatelům multitasking, tedy schopnost současného běhu více aplikací, a kromě toho nabídla svůj grafický operační systém v barvách, Applu nějaký čas trvalo, než se s tímto náskokem dokázal vypořádat. To se mu podařilo v roce 1987 ovšem pouze v oblasti profesionálních počítačů s cenou mnoha tisíců dolarů. Pro domácí a amatérské využití si uživatelé této platformy museli na barvu počkat až do roku 1993 a příchodu Macintosh Color Classic.

V roce 1987 tedy Apple přišel s nabídkou pro profesionály, i když se jednalo o nabídku za opravdu velký peníz pěti tisíc dolarů. Macintosh II se ale navzdory ceně ujal.

Apple Macintosh II

CPU

Motorola MC68020 / 16 MHz

FPU

Motorola MC68881

ROM

256 kB

RAM

1 MB, rozšiřitelná na 20 MB, případně až na 128 MB při updatu ROM

Záznamové médium

Jedna 3½" disketa s kapacitou 800 kB, harddisk 40 MB

Rozšiřující sloty

6 NuBus slotů

Grafika

640 × 480 monochromatická, případně s 256 barvami dle použité grafické karty

Zvuk

4 zvukové kanály, 22 kHz maximální vzorkovací frekvence

I/O porty

2 sériové, 1 konektor pro myš, 1 pro externí disketovou jednotku, SCSI

Nová řada profesionálních počítačů se stala mezi náročnými uživateli oblíbenou a postupně se objevila i na pracovních stolech movitějších amatérů. V dalších a dalších modelech se postupně zlepšovaly parametry, až se strojem Macintosh IIci došlo k menší revoluci, neboť grafická karta už byla integrovaná, i když pochopitelně náročnější uživatel mohl použít nějakou jinou.

Mezitím se Apple pokusil proniknout do zcela nového segmentu trhu – mezi přenosné počítače. Jeho první pokus bohužel tak zcela nevyšel, a to především kvůli váze přes sedm kilogramů (a i vysoké ceně).

Apple Macintosh Portable

CPU

Motorola MC68HC000 / 16 MHz

FPU

Žádný

ROM

256 kB

RAM

1 MB, rozšiřitelná na 9 MB

Záznamové médium

Jedna 3½" disketa s kapacitou 800 kB, harddisk 20 či 40 MB

Rozšiřující sloty

Žádné

Grafika

640 × 400 monochromatická

Zvuk

4 zvukové kanály, 22 kHz maximální vzorkovací frekvence

I/O porty

2 sériové, 1 konektor pro myš, 1 pro externí disketovou jednotku, SCSI

Vznik mnoha různorodých a velmi výkonných šestnácti- či dvaatřicetibitových platforem, z nichž některé – a jen ty nejdůležitější – jsme si představili na předchozích stránkách, pochopitelně poněkud znejistěl firmu IBM v jejím sebevědomí a předpokladu o věčné dominanci. Konkurenti postupně platformu PC dokázali předstihnout ve výkonu, v grafice i zvuku, a s Macintoshem II dokonce i v rozšiřitelnosti. Kdyby jenom to. Společnosti IBM šlapali na paty i tvůrci klonů PC, protože IBM kdysi opominula chránit patenty původní technologii, takže kdokoliv, kdo dokázal zkopírovat její BIOS, si byl schopen z komponent sestavit kompatibilní počítač a prodávat jej pod svou značkou. Samotná IBM z toho nic neměla a to se jí pochopitelně nelíbilo. Neměla nic proti tomu, aby i jiní vyráběli počítače kompatibilní s PC. Klidně, proč ne. Ale ať z nich platí nějaké licenční poplatky!

Z těchto důvodů spatřila světlo světa nová řada počítačů IBM PS/2, která nabídla výrazná vylepšení předchozí koncepce. Tentokrát už ale IBM neponechala nic náhodě a rozhodla se svou pozici hájit. Nová rozšiřující sběrnice MCA, která nahradila starší ISA, byla chráněna patentem. IBM byla ochotna komukoliv prodat licenci na její používání, ovšem jedině pod podmínkou, že zaplatí slušný poplatek. A to nejen za všechny v budoucnu vyrobené kompatibilní počítače, ale i zpětně za ty dosavadní prodané. Každému je asi jasné, jak takovéto požadavky přijali výrobci klonů. A tak se stalo nemyslitelné. I když byla sběrnice MCA mnohem dokonalejší než starší ISA, i když trvalo mnoho let, než se jí nyní využívaná sběrnice PCI vyrovnala, přesto se mimo počítače IBM nikdy neujala. Jednak nebyla zpětně kompatibilní s ISA, jednak se výrobci spokojili pro začátek s EISA, která tuto kompatibilitu zajistila a měla i některé z nových výdobytků MCA. Postupně byly vyvinuty i další sběrnice, jako například VESA či PCI, takže MCA nakonec skončila takřka v zapomnění, navzdory své neoddiskutovatelné technické superioritě.

Mnoho z nápadů, jež byly původně specifické pro PS/2, se objevilo i mimo stroje od IBM, a to navzdory faktu, že tyto stroje platformě PS/2 neodpovídaly. Šlo o speciální nové PS/2 konektory pro myš a klávesnici, novou disketovou mechaniku 3½" s kapacitou 1,44 MB, SIMM moduly RAM, ovšem především o skvělou novou grafickou kartu VGA. Ta posunula svět PC na přední místo v grafických schopnostech. Na rozdíl od Amigy původní grafické karty neobsahovaly žádné koprocesory jako zmíněný blitter pro zrychlení práce s daty. Nabídly však mnohem lepší rozlišení i počet zobrazitelných barev. Amiga ani žádný jiný domácí počítač schopnosti platformy PC už nikdy nepřekonala.

IBM vytvořila mnoho modelů svých PS/2 strojů, zde si představíme jeden z prvních, a to základní profesionální variantu.

IBM PC 8550 (PC PS/2 model 50)

CPU

Intel 80286 / 10 MHz

FPU

Volná pozice pro Intel 80287

ROM

64 kB

RAM

1 MB, rozšiřitelná až do 2 MB

Záznamové médium

Jedna až dvě disketové jednotky 3½" s kapacitou 1,44 MB, 20MB harddisk

Rozšiřující sloty

3 šestnáctibitové MCA sloty

Grafika

Grafická karta VGA

Zvuk

Pípá s pomocí reproduktoru

I/O porty

Standardně pouze Centronics pro výstup na tiskárnu a sériový port, k tomu 2 PS/2 porty pro připojení klávesnice a myši, ovšem pomocí rozšiřujících karet lze získat jakékoliv další

Původní verze VGA karet nabízela rozlišení 640 × 480 v 16 barvách nebo 320 × 200 ve 256 barvách, to vše s výběrem palety z 262 144 barev. VGA podporovala i starší EGA a CGA rozlišení. Později se k výše uvedeným přidala podpora 800 × 600, zprvu v 16 barvách (pro takové rozlišení dostačovala grafická paměť 256 kB).

Kartu VGA od IBM záhy ostatní výrobci okopírovali a nabídli ji i majitelům starších strojů se sběrnicí ISA. Postupně se karty neustále vylepšovaly, až vznikl celkem slušný chaos, protože ve světě PC se jen těžko hledala nějaká shoda. Karty s rozšířenými vlastnostmi se nazývaly SVGA, ovšem už tu chyběla sjednocující ruka IBM, takže navzájem nebyly příliš kompatibilní. Každá proto vyžadovala vlastní ovladač a při instalaci nového grafického programu či hry byl mnohdy uživatel dotazován, co za grafiku má vlastně v počítači. Navzdory odlišnému ovládání měly grafické schopnosti karty vcelku stejné – v závislosti na množství dostupné grafické paměti nabízely rozlišení 640 × 480 ve 256 barvách, 800 × 600 ve 256 barvách a 1 024 × 768 v 16 a 256 barvách. Dnes nás tyto hodnoty nijak neohromí, ovšem rozdíl v efektivitě práce mezi nejnižším a nejvyšším rozlišením je propastný.

Počátek devadesátých let byl ve znamení RISC mikroprocesorů. Neustále se zdůrazňovala modernost této koncepce oproti starší, tedy CISC. Čím se lišily?

CISC (complex instruction set computing), starší koncepce stavby CPU, má plnou instrukční sadu, bohaté možnosti adresování a obvykle malý počet registrů. V principu jsou to stovky různých instrukcí strojového kódu, kterým procesor rozumí a umí je zpracovat. Když si ale později výrobci procesorů začali dělat statistický průzkum, které instrukce programátoři skutečně používají, zjistili šokující věc. Zatímco doposud se domnívali, že čím více instrukcí v procesoru implementují, tím to bude pro programátory lepší a jejich programy budou efektivnější, platil pravý opak. Programátoři spoustu instrukcí opomíjeli, ale nešlo ani tak o chybu jejich, nýbrž především záležitost kompilátorů, které bohatost instrukcí a adresovacích módů neuměly využívat. Jejich implementace v čipu byla tudíž zbytečná, zabíraly místo něčemu jinému, co se mohlo hodit více. Proto vznikla koncepce RISC (reduced instruction set computing), která má sice na jedné straně redukovanou instrukční sadu, ale pro změnu má daleko větší množství rychlých vnitřních registrů (například produkt Motoroly MC88100 měl 32 celočíselných a 32 registrů s pohyblivou řádovou čárkou). V principu je takový procesor schopen pracovat rychleji než procesor CISC na stejné frekvenci. Dekódování a zpracování instrukcí mu zkrátka trvá kratší dobu (nemusí jich tolik znát).

Je ovšem třeba dodat, že v současné době, po letech optimalizace, se obě „rodiny“ začínají velmi podobat.

RISC procesorů existovalo velké množství a zmiňovaný od Motoroly byl pouze jedním z nich, který se ale neujal. Zdá se to zvláštní, protože Motorola s tímto mikroprocesorem spojovala velké plány, měl být logickým nástupcem velmi úspěšné řady MC68000, s níž však neměl vůbec nic společného. Apple i další firmy, které tvořily počítače založené na MC68000, původně plánovaly jeho použití v nové generaci svých počítačů, ale nestalo se. Tento první RISCový procesor firmy Motorola bídně zhynul z několika důvodů. Přišel pozdě, konkurence nabídla RISCové procesory srovnatelné výkonnosti dříve. Navíc nebyl kompatibilní s velmi oblíbenou předchozí rodinou, takže začínal z čistého stolu, a konstruktéři tudíž neměli důvod, proč být firmě Motorola věrni. Původní MC88100 neměl integrovanou MMU (tedy jednotku pro správu paměti), kterou Motorola nabízela separátně jako 88200. To samozřejmě prodražovalo stavbu základních desek, i když originální idea (jedna 88200 mohla podporovat až čtyři 88100, čímž mohl být systém levnější) nebyla špatná. Bohužel, pro jednoprocesorový systém se ale jednalo o zásadní navýšení nákladů.

Kromě toho se na neúspěchu podepsalo soupeření mezi divizemi v Motorole. Divize vývoje MC68000 se totiž zasadila o nastavení takové cenové laťky MC88000, aby se starší generaci nekonkurovalo. To však znamenalo, že novinka nebyla prodejná a neuspěla.

Nakonec se proto Motorola spojila s IBM a Applem a výsledkem byla platforma mikroprocesorů PowerPC, o níž se jistou dobu hovořilo jako o zaručeném nástupci mikroprocesorů firmy Intel řady 80x86. V první polovině devadesátých let to totiž vypadalo, že klasické CISC procesory už nepůjde dále zásadně vylepšovat, takže je noví RISC konkurenti postupně převálcují. Motorola ukončila svoji slavnou rodinu procesorů posledním typem MC68060, který se sice v žádném sériovém mikropočítači neobjevil, ale stal se velmi oblíbeným v akceleračních kartách pro Macintosh, Atari ST i Amigu. Intel ve stejné době prodával první generaci svých Pentií, která byla s výše zmíněným procesorem výkonově srovnatelná, tedy s výjimkou matematických operací, kde měl Intel jasně navrch. Tvůrci PowerPC měli pocit, že jakmile se podaří tento procesor výrazně zrychlit, bude možné jej použít v počítačích IBM PC, kde bude emulovat procesor z rodiny Intelu, a i tak bude výkonnější. To se ale nestalo, protože Intel se nepřekvapivě nemínil smířit s rolí statisty. Pracoval na dalších a dalších generacích Pentií a postupně do nich integroval mnoho z šikovných nápadů rodiny RISC, čímž jednak zachránil svoji neotřesitelnou pozici na trhu a jednak dokázal, že lze vyrobit procesor velmi moderní a v jádru RISCový, nicméně zpětně kompatibilní s původním pravzorem. Motorola, která vždy věřila v nutnost počátečního čistého stolu a kompatibilitu nezachovávala, byla poražena. Zatímco nekompatibilita mezi osmibitovým MC6800 a dvaatřicetibitovým MC68000 nevadila, u následující generace se už ale jednalo o chybu, za kterou Motorola těžce zaplatila. I procesory PowerPC nakonec skončily v zápase o dominanci na trhu mikropočítačů na straně poražených.

Kromě zmíněných procesorů však existuje ještě jedna platforma, která v současné době představuje, co se počtů týče, nejprodávanější mikroprocesorovou rodinu.

Vše začalo v roce 1983, kdy Acorn, úspěšný výrobce BBC Micro, dospěl k závěru, že pro další generaci svých počítačů mu nevyhovuje žádný z dostupných mikroprocesorů na trhu, takže si vyvine vlastní. Podobný nápad měli i v Applu a vypadal dost šíleně. Soupeřit se zavedenými výrobci jako Motorola či Intel, kteří mohli nasadit obrovské týmy inženýrů složené z nejvýznamnějších odborníků v branži, to se zdálo naprosto iluzorní. Apple to také nezvládl, navzdory investovaným milionům a nákupu superpočítače Cray.

Acorn si nemohl dovolit utratit tolik, proto místo gigantického projektu vsadil na malý schopný tým. Otci nového mikroprocesoru se stali Steve Furber a Roger Wilson (později si změnil pohlaví a stal se Sophií Wilsonovou). Rozhodnutí o vývoji procesoru padlo poté, co se v Acornu seznámili s projektem Berkeley RISC, kde se studenti v rámci studia pustili do vývoje mikroprocesoru. Britští inženýři dospěli k závěru, že co dokáže partička studentů, zvládnou taky, když ovšem na věc půjdou chytře. Tím se velmi odlišili od Applu, který sice utratil miliony, ale bez výsledku.

Projekt Acorn RISC Machine započal v říjnu 1983 a v dubnu 1985 byl hotový první procesor, ARM1. Po zkušenostech s ním trvalo rok vyvinutí druhé generace, jejíž ARM2 se zprvu ujal v rozšiřujících kartách pro BBC Micro, kde se pro něj dal vytvářet software a dala se testovat jeho výkonnost. ARM2 byl vytvořen velmi úsporně a stačila mu ani ne polovina tranzistorů (30 000) ve srovnání se slavným MC68000. Byl přitom minimálně čtyřikrát výkonnější, v pozdějších verzích s vyšším taktem překonal slavné dítě Motoroly až sedmkrát. To vše se přitom dokázalo s mnohem menší spotřebou energie a tím i mnohem nižším vyzařovaným teplem. Nárůst počtu tranzistorů mezi druhou a třetí generací nebyl přitom nijak výrazný – pouze dalších 5 000, přičemž výkon stoupl až na 28 MIPS (oproti původním čtyřem). Touto výkoností dokázal ARM soupeřit i s procesory firmy Intel, přičemž v nízké spotřebě neměl na trhu konkurenci.

Vzhledem k úspěchu těchto procesorů založil Acorn dceřinou společnost Advanced RISC Machines, která existuje dodnes – na rozdíl od své mateřské společnosti. ARM ale žádné procesory nevyrábí ani neprodává, vše, čím se živí, je vývoj nových a nových generací ARM procesorů a prodej licencí na jejich výrobu. Díky tomu se jejich procesory objevují v mnoha mobilních přístrojích, od telefonů po tablety, ale i v tiskárnách, digitálních fotoaparátech, navigačních systémech a počítačích.

Tím prvním mikropočítačem, který tento procesor použil, byl Acorn Archimedes v roce 1987. Acorn se s touto novou platformou pokusil konkurovat Amize a Atari ST a navázat na úspěch se svým BBC Micro. To se mu ve Velké Británii celkem podařilo, ale jinde neuspěl. Důvody nebyly technické, protože tyto počítače nabízely velmi vysoký výkon a velmi slušné multimediální schopnosti, ovšem za přeci jen vyšší peníz než Atari a Commodore. Proto se ve zbytku světa neujaly, což je možná škoda. Zde si představíme nejnižší prodávaný model, další měly větší paměť, integrovaný harddisk či rozšiřující sloty.

BBC Archimedes A 305

CPU

ARM-2 / 8 MHz

FPU

Žádný

ROM

512 kB

RAM

512 kB, rozšiřitelná až do 16 MB

Záznamové médium

Disketová jednotka 3½" s kapacitou 800 kB, připojitelný 20MB harddisk

Rozšiřující sloty

Žádné, ale možnost dodatečné instalace 2 slotů

Grafika

VIDC1 grafický čip, popsaný níže

Zvuk

Osmikanálový stereozvuk

I/O porty

Centronics pro výstup na tiskárnu, sériový port, Econet pro připojení sítě

Grafické schopnosti počítačů Archimedes byly na svou dobu velmi slušné, ačkoliv v souboji s Amigou to měla tato platforma složité. Počítače sice nabízely kvalitnější rozlišení, nicméně s mnoha omezeními a bez jakékoliv hardwarové podpory pro přesuny grafických dat. Amiga byla mnohem méně výkonná, ale vzhledem k blitteru nabízela překvapivě svižnou grafiku.

Čip VIDC1 nabízel maximální rozlišení 640 × 512 v 16 barvách a nižší rozlišení až ve 256 barvách. Na první pohled to vypadá lépe, než zvládala ve stejné době grafická karta VGA. Skutečnost byla horší – v případě módu s 256 barvami jste si totiž mohli nastavit volně jen 64 barev, zbylé byly jejich automaticky vygenerované odstíny. Vzhledem k tomu, že videopaměť byla součástí hlavní paměti počítače, byly grafické módy s maximálním počtem barev na hranici paměťové propustnosti a tedy celkem pomalé. Čip také neobsahoval blitter a disponoval pouze jediným čtyřbarevným spritem.

Firma Acorn místo na nějaká specifická hardwarová kouzla vsadila vše na maximální výkon svého RISCového CPU, který ve své době v této kategorii počítačů neměl konkurenci. Bohužel, vzhledem k ceně počítače se nakonec žádná velká sláva nekonala a Acorn Archimedes patří k téměř zapomenutým strojům.

Firma Apple se po neúspěchu tvorby vlastního RISCového procesoru a po mnoha peripetiích s pokusem o použití MC88100 nakonec rozhodla pro zcela jinou volbu. Konsorcium Applu, IBM a Motoroly se totiž pustilo do přímého střetu s Intelem, když představilo svůj nový plánovaný procesor PowerPC. Ten už ve svém názvu naznačoval, že by možná někdy mohl v počítačích hrát prim, že by se díky němu mohla zrodit nová platforma, která postupně nahradí klasické IBM PC. Tento velký entuziasmus v první polovině devadesátých let vedl dokonce i Microsoft k vývoji varianty Microsoft NT 3.51 pro PowerPC, podobně SUN nabídl pro tento procesor svůj Solaris. Zákazníci se ale nehodlali přizpůsobit všem vizionářům, kteří hlásali skvělou budoucnost. Zůstali věrni Intelu a jeho architektuře, takže z velkého boomu nakonec nebylo nic. Jediný Apple dokázal tuto procesorovou rodinu rozsáhle využívat ve svých počítačích, přičemž přechod od stárnoucí varianty MC68000 na nový RISCový procesor (při zachování maximální zpětné kompatibility starších aplikací za pomocí emulace) byl velmi nelehkou, ovšem nakonec zdárně zvládnutou záležitostí. Dá se říci, že žádné firmě se něco tak komplikovaného nepovedlo tak dokonale jako té s jablíčkem ve znaku.

Technická specifikace prvního základního modelu s PowerPC byla následující:

Apple PowerMac 6100

CPU

PowerPC 601 / 60, později 66 MHz

FPU

Integrovaný

ROM

4 MB

RAM

8 MB na desce, dále 2 rozšiřující sloty, max. 72 MB

Záznamové médium

Disketová jednotka 3½" s kapacitou 1,44 MB, SCSI harddisk 250–700 MB, CD-ROM

Rozšiřující sloty

1 slot NuBus, 1 slot PDS

Grafika

Integrovaná s 640 kB sdílené VRAM, maximální rozlišení 640 × 480 ve 65 536 barvách či 832 × 624 ve 256 barvách, s přídavnou grafickou kartou dokázal počítač zobrazit až 1 152 × 870 ve 65 536 barvách

Zvuk

Šestnáctibitový stereozvuk v CD kvalitě

I/O porty

1 × ADB, 2 × sériový, 1 × Ethernet, 1 × SCSI

Pro ty, kteří nutně potřebovali kompatibilitu s IBM PC, nabízel Apple speciální procesorovou kartu s i80486 procesorem, takže uživatel tak získal možnost práce na dvou platformách.

Tento přechod na nový procesor nezůstal u firmy Apple jediným. V roce 2006 se uskutečnila další změna, tentokrát směrem k Intelu. Počítače firmy Apple již přestávají být čímsi podezřelým a cizím, dá se bez nadsázky říci, že jsou obyčejnými počítači kompatibilními s IBM PC, pouze se speciálním upraveným BIOSem. Z původně luxusní záležitosti se stala běžná spotřební elektronika, nad kterou se nikdo nepodivuje. Normální pracovní pomůcka, něco jako lopata pro kopáče.

Zatímco počátkem devadesátých let znamenalo vlastnictví osobního počítače buď znak dobré finanční situace, nebo nadšenectví pro moderní techniku, postupem doby se počítače staly stejnou samozřejmostí, jakou je mikrovlnná trouba či CD přehrávač. Staly se stejnou samozřejmostí jako spotřebiče, které v prvních letech po pádu komunismu též vyvolávaly opatrný zájem a nevěřícně kroucení hlavou. A se samozřejmostí skončila s konečnou platností i mikropočítačová revoluce. Nastal normální život s počítači, postrádající to počáteční oslnění a uctívání, přinášející každodenní problémy a radosti. Počítače se z opečovávaných miláčků a chlouby staly běžnou pomůckou v zábavě i práci. A tak to asi má být. Mikropočítačová revoluce skončila – a ani si toho nikdo nevšiml.

Table of Contents

Tiráž

Obsah

Předmluva

Mikroprocesor

Technické dodatky

Časy osmi bitů

Nástin programování osmibitových počítačů

Šestnáct a více bitů, symbol moderního věku