Historie vývoje počítačových her (166. část – BBC Micro: jeden z prvních vážných konkurentů IBM PC)

23. 4. 2015
Doba čtení: 19 minut

Sdílet

Mikropočítače IBM PC popsané v předchozí části tohoto seriálu sice zahájily vývoj dnes dominantní platformy osobních počítačů, ovšem na začátku osmdesátých let minulého století jim konkurovaly další platformy. Jedním z úspěšných konkurentů byl i BBC Micro, pro nějž mj. vznikla i legendární hra Elite.

Obsah

1. Historie vývoje počítačových her (166. část – BBC Micro: jeden z prvních vážných konkurentů IBM PC)

2. Architektura počítače BBC Micro

3. Operační paměť a moduly ROM

4. Grafický subsystém

5. Textový režim kompatibilní s Teletextem

6. Generátory zvuku v dobách osmibitových mikropočítačů

7. Zvukový subsystém počítače BBC Micro

8. Rozšiřující moduly a desky s přídavnými mikroprocesory

9. BBC Basic

10. Legendární hra Elite

11. Odkazy na Internetu

1. Historie vývoje počítačových her (166. část – BBC Micro: jeden z prvních vážných konkurentů IBM PC)

V předchozí části seriálu o historii vývoje počítačových her i herního hardware jsme se zabývali popisem platformy IBM PC, konkrétně prvních dvou modelů postavených na bázi 8/16bitového mikroprocesoru Intel 8088. IBM PC bylo v dobových reklamách prezentováno především jako kancelářský počítač, což ostatně i velmi dobře odpovídá orientaci společnosti IBM na středně velké firmy a korporace. Posléze se ovšem IBM PC rozšířilo i do dalších oblastí a právě tehdy – přibližně po roce 1984 – můžeme vidět i postupný nárůst počtu her naprogramovaných pro tuto platformu. Ovšem IBM PC samozřejmě nebyl jediným mikropočítačem, pro nějž vznikaly hry. Kromě již popsaných platforem (osmibitových mikropočítačů určených především do domácností) vyrostla PCčkům konkurence ve Velké Británii. Jednalo se o poměrně vyspělý osmibitový mikropočítač nazvaný BBC Micro, protože právě společnost BBC (British Broadcasting Corporation) se zapříčinila o jeho propagaci a šíření.

Obrázek 1: Dobový plakát s počítačem Acorn BBC Micro.

BBC Micro byl a vlastně doposud je ve Velké Británii velmi populárním mikropočítačem, který se usadil (spolu s u nás mnohem známějšími počítači ZX-80, ZX-81 a ZX Spectrum) na samotné špičce prodejnosti. BBC Micro měl být určen pro seznámení široké veřejnosti s počítači v rámci ambiciózního projektu Computer Literacy Project. Z toho důvodu musela být i cena celého řešení nízká. Počáteční jednání při návrhu počítače byla dokonce vedena i se sirem Clivem Sinclairem, z těchto jednání však posléze sešlo a BBC Micro navrhl jiný tým pracovníků ze společnosti Acorn, zejména pak Steve Furber a Sophie Wilson (současně se jedná o tvůrce fenomenálně úspěšné architektury ARM).

Počítače BBC Micro měly skutečně velký vliv na celou generaci programátorů a například tvůrci dnes populárního Raspberry PI se k odkazům na BBC Micro přímo hlásí, což je ostatně patrné i na prakticky stejném způsobu označování modelů BBC Micro a Raspberry PI. Ostatně jeden z architektů RPI Eben Upton říká:

„I've got a BBC Micro on my desk because I do word processing on my BBC Micro. I hit the button and it's on. If I set the jumpers right I can even configure it to boot into a word processor in one second. Obviously we've gained a lot. But from a strict usability point of view it's really suprising how much everything hasn't got any better.“

(citace z rozhovoru pro Linux Voice, pravděpodobně se mluví o software WordWise)

Obrázek 2: Osmibitový mikropočítač Acorn BBC Micro.

2. Architektura počítače BBC Micro

Hardwarová konfigurace počítače BBC Micro byla poměrně zajímavá, i když zde můžeme vidět určitý nepoměr mezi kapacitou operační paměti a požadavky na video paměť, popř. neexistenci čipu specializovaného pro hardwarové vykreslování spritů, což poněkud ztížilo pozici tohoto počítače na trhu s platformami pro počítačové hry (ostatně firma Acorn je známá tím, že věnovala více úsilí pro zvýšení výpočetního výkonu mikroprocesoru a mnohem méně úsilí do tvorby specializovaných zákaznických obvodů pro grafiku). Vraťme se však k popisu počítačů BBC Micro. Tento počítač byl založen na populárním osmibitovém mikroprocesoru MOS 6502, konkrétně na čipu MOS 6502A resp. Rockwell Semiconductor 6512A s hodinovou frekvencí nastavenou na celé 2 MHz. V dobovém kontextu se jedná o vysokou hodnotu, neboť další osobní počítače založené na stejném mikroprocesoru (Apple II, Atari, Commodore) pro ten stejný čip používaly nižší frekvenci, která dokonce u Commodore C64 klesla pod 1 MHz u evropské verze určené pro televizní normu PAL.

Obrázek 3: Originální mikropočítač Apple II řízený osmibitovým mikroprocesorem MOS 6502.

Čip MOS 6502 navrhl Chuck Peddle a sedm jeho spolupracovníků (Harry Bawcum, Ray Hirt, Terry Holdt, Mike James, Will Mathis, Bill Mensch a Rod Orgill), kteří spolu s ním opustili firmu Motorola. Důvodem k tomu, že někteří klíčoví zaměstnanci Motorolu opustili, byla jak tehdejší hospodářská recese v USA (a s tím související nepopulární reorganizace ve firmě), tak i to, že se zaměstnancům nelíbilo stěhování z Phoenixu do nově otevřené pobočky v Austinu. Nicméně se vraťme k Chucku Peddlemu a firmě MOS Technologies. V době, kdy Intel prodával svůj osmibitový mikroprocesor Intel 8080 za 179 dolarů (zaváděcí cena pro jeden kus byla dokonce 360 dolarů) a jeho hlavní konkurent firma Motorola svůj čip MC6800 za přesně tutéž částku 179 dolarů (zajímavá shoda že? :-), přišla firma MOS Technologies se zaváděcí cenou pouhých 25 dolarů.

pc7003

Obrázek 4: Jedna z variant základní desky počítače C64. Tento počítač byl postaven na osmibitovém mikroprocesoru MOS 6510 (což je vylepšená varianta MOS 6502), grafickém čipu VIC-II, zvukovém čipu SID a dvojici vstupně-výstupních čipů SIO.

Zpočátku byla potenciálním zákazníkům tak nízká cena podezřelá, ale po skokovém zlevnění jak 8080, tak i MC6800 (rychlá reakce obou konkurentů na nabídku firmy MOS) se začal MOS 6502 prodávat ve velkém. Důvod pro tak nízkou cenu MOS 6502 byl jednoduchý – Chuck Peddle a jeho spolupracovníci použili vylepšenou metodu tvorby masky čipu, která jim dovolovala dělat pozdější opravy a především zvýšila výtěžnost výroby, tj. poměr dobrých čipů oproti zmetkům. Uvádí se, že 6502 měl až několikanásobně větší výtěžnost než 8080.

pc6612

Obrázek 5: Herní konzole Atari 2600 vybavená mikroprocesorem MOS 6507, což je opět varianta původního čipu MOS 6502, ovšem s omezeným počtem pinů adresové sběrnice.

Dalším důvodem bylo zjednodušení samotného čipu – například byl použit pouze jeden osmibitový akumulátor (A), oba indexové registry X a Y byly osmibitové a osmibitový byl taktéž ukazatel na vrchol zásobníku SP (horních osm bitů adresy bylo nastaveno na 0×01, tj. zásobník byl v operační paměti umístěn na adresách 256 až 511). Právě příznivý poměr cena/výkon vedl k tomu, že se MOS 6502 objevil v mnoha úspěšných mikropočítačích, včetně dnes popisovaného BBC Micra.

pc6613

Obrázek 6: Schéma zapojení herní konzole Atari 2600 s osmibitovým mikroprocesorem MOS 6507.

3. Operační paměť a moduly ROM

Existovalo několik modelů počítače BBC Micro, počínaje nejlevnějším Modelem A a konče Modelem B+128. Kapacita operační paměti RAM byla u modelu A rovna pouze šestnácti kilobajtům, u modelu B 32 kB a u modelu B+128 mohla dosahovat až na tehdejší dobu takřka nevyčerpatelných 128 kB :-). Paměť ROM měla u základních modelů A a B kapacitu plných 32 kB a obsahovala dodnes populární BBC Basic, který ze zmíněných 32 kB zabral celých 16 kB ROM. To mohlo být na začátku osmdesátých let minulého století považováno za poměrně velké plýtvání, protože ostatní Basicy se většinou vešly do 8 kB.

Obrázek 7: Úvodní obrazovka BBC BASICu ve verzi pro ZX Spectrum. Tato verze vznikla později než původní dialekt pro počítače Acorn BBC Micro, mj. i z toho důvodu, že nejdříve musel být tento dialekt BASICu portován na mikroprocesory Intel 8080 a Zilog Z80 (a samozřejmě také proto, že ZX Spectrum začalo být prodáváno později než Acorn BBC Micro).

Na druhou stranu vyžadovalo zmenšení interpretru na 8 kB mnohé kompromisy, například absenci některých příkazů pro grafiku či práci s řetězci, takže 16 kB pro kvalitní BBC Basic je možné brát jako důkaz snahy o prosazení tohoto počítače hlavně do školství, kde se tento jazyk poměrně intenzivně používal. Paměť RAM byla taktovaná na 4 MHz, což znamenalo, že při přístupu do paměti nemusel procesor nikdy čekat na data, a to ani v případě přístupu do framebufferu (opět odlišnost od některých konkurenčních osmibitových počítačů, nehledě již na IBM PC a grafickou kartu CGA s velmi problematickým přístupem do VRAM).

Konkrétní kapacity a konfigurace RAM a ROM pro jednotlivé modely počítače BBC Micro jsou vypsány v následující tabulce:

Model ROM RAM Rozdělení RAM
Model A 32 kB 16 kB základ (jediný blok)
Model B 32 kB 32 kB základ (jediný blok)
Model B+64 48 kB 64 kB 32 kB základ + 20 kB shadow video + 12 kB extended
Model B+128 48 kB 128 kB 32 kB základ + 20 kB shadow video + 76 kB extended

Poznámka: vzhledem k malé kapacitě paměti RAM u Modelu A nebylo možné na tomto počítači využít ty grafické režimy, které vyžadovaly 20 kB RAM. Jedná se konkrétně o režimy 0 až 3, viz též tabulky použité v následující kapitole.

Obrázek 8: Vývojové prostředí konkurenčního Beta BASICu spuštěného na ZX Spectru. V horní části obrazovky se nachází program vypsaný menším fontem s maskou velikosti 4×8 pixelů (v této ploše se znaky vypisují do rastru o rozměrech 3×6 pixelů), zatímco příkaz v editačním řádku na spodní straně obrazovky používá font standardní s maskou velikosti 8×8 pixelů.

4. Grafický subsystém

Čipem, který se staral o vytváření obrazu na monitoru či televizoru, byl v počítači BBC Micro integrovaný obvod Motorola 6845, s nímž jsme se seznámili již minule při popisu možností grafické karty CGA. Ovšem v BBC Micro byl tento čip nakonfigurován takovým způsobem, že nabízel větší množství grafických a/nebo textových režimů než nepovedená karta CGA. Originální modely BBC Micro určené pro evropský trh, a tím pádem i pro televizní normu PAL, nabízely uživatelům následující grafické režimy:

Číslo režimu Rozlišení Bitů/pixel Počet barev Obrazení paměti
0 640 × 256 1 2 20 kB
1 320 × 256 2 4 20 kB
2 160 × 256 4 16 20 kB
3 640 × 200 1 2 16 kB
4 320 × 256 1 2 10 kB
5 160 × 256 2 4 10 kB
6 320 × 200 1 2 8 kB

Režimy číslo 3 a 6 jsou poněkud zvláštní, neboť byly určeny převážně pro zobrazení textů. Menšího vertikálního rozlišení a tím pádem i menších nároků na alokovanou operační paměť bylo dosaženo takovým způsobem, že se do obrazu v pravidelných intervalech vkládal prázdný řádek. Pokud byl takový režim použit pro zobrazení grafiky, vedlo to k viditelným chybám, při zobrazení textů to však až tak nevadilo. Počítače exportované do USA používaly odlišný počet obrazových řádků kvůli omezením daným použitou TV normou NTSC:

Číslo režimu Rozlišení Bitů/pixel Počet barev Obrazení paměti
0 640 × 200 1 2 16 kB
1 320 × 200 2 4 16 kB
2 160 × 200 4 16 16 kB
4 320 × 200 1 2 8 kB
5 160 × 200 2 4 8 kB

U modelů B+64 a B+128 byl podporován double buffering, kdy se druhý buffer uložit do stínové paměti (shadow video).

Obrázek 9: Ukázka grafických schopností BBC Micro – slavná hra Sentinel.

5. Textový režim kompatibilní s Teletextem

Kromě grafických režimů popsaných v předchozí kapitole byl navíc k dispozici i speciální textový režim číslo 7, který byl nazývaný „Teletext“ a to z toho prostého důvodu, že ho bylo možné použít právě pro generování teletextu (s využitím modulu založeného na čipu Mullard SAA5050). V tomto textovém režimu bylo možné zobrazovat 40 znaků textu na řádku, celkový počet textových řádků byl roven 25. Teletext režim vyžadoval pouhý jeden kilobajt operační paměti (přesněji řečeno 1000 bajtů) a navíc bylo možné v případě potřeby používat speciální znaky pro tvorbu pseudografiky. Zatímco u ostatních mikropočítačů (včetně IBM PC) se ve znakové sadě nacházely znaky s „pixely“ v mřížce 2×2 (celkem je možných šestnáct kombinací), u BBC Micro se jednalo o 64 znaků, z nichž každý představoval jednu kombinaci bitmapy o velikosti 2×3 pixely (pro zajímavost – tyto bitmapy se nazývaly sixel(s)). Celá obrazovka využívající tyto speciální pseudografické znaky tedy měla rozlišení 80×75 „pixelů“.

Obrázek 10: Znaky použité v režimu číslo 7 pro tvorbu pseudografiky.

6. Generátory zvuku v dobách osmibitových mikropočítačů

Kromě grafického subsystému byl počítač BBC Micro vybaven i relativně dobře vyváženým zvukovým subsystémem, kde slovem „vyvážený“ myslím poměr ceny potřebných čipů a možnosti počítače při tvorbě zvuků a hudby. Zatímco minule popsaná platforma IBM PC namísto plnohodnotného zvukového čipu používala pouze generátor obdélníkových impulsů generovaných čítačem/časovačem, na něž byl (přes zesilovač) připojen PC Speaker, prakticky všechny další domácí i osobní mikropočítače byly vybaveny sofistikovanějšími čipy (výjimkou je ZX 80/81 a ZX Spectrum 48k).

obr

Obrázek 11: ZX Spectrum +128K, jenž byl taktéž vybavený zvukovým čipem řady AY-3–8910.

V době kralování osmibitových mikroprocesorů se jednalo o programovatelné zvukové generátory, které byly implementovány jako samostatné integrované obvody v některých případech doplněné o další funkce (paralelní či sériový port apod.):

# Jméno čipu Výrobce Použití
1 AY-3–8910 General Instrument Amstrad CPC, ZX Spectrum 128+
2 YM2149 Yamaha Atari ST (založeno na AYčku)
3 SN76489 Texas Instruments BBC Micro, Sega SG-1000, Sega Master System…
4 TIA Atari Atari 2600 (navíc je TIA i grafický čip)
5 POKEY Atari řady Atari 400/800/XL/XE, …
6 SID Commodore Commodore C64

Obrázek 12: Osmibitový domácí počítač Atari 800 XL vybavený mikroprocesorem MOS 6502 a pomocnými koprocesory ANTIC, GTIA a taktéž programovatelným generátorem zvuků POKEY.

7. Zvukový subsystém počítače BBC Micro

Pro BBC Micro byl vybrán integrovaný obvod nazvaný Texas Instruments SN76489. Jedná se o poměrně jednoduchý čip dodávaný v pouzdru DIL o šestnácti vývodech, který byl určený pro generování (obdélníkových) zvukových signálů s volitelnou frekvencí a taktéž amplitudou (to je velmi důležitý rozdíl oproti PC Speakeru). Čip SN76489 obsahoval tři tónové generátory vytvářející periodický obdélníkový signál a jeden generátor šumu s periodou 215-1. Frekvence každého tónového generátoru byla určena desetibitovou konstantou uloženou do řídicího registru čipu SN76489. Tato konstanta byla použita ve frekvenční děličce (de facto běžném čítači), přičemž reálná frekvence vytvářeného obdélníkového signálu se vypočítala dělením vstupní frekvence.

Obrázek 13: Zvukový čip SN76489.

U každého tónového generátoru bylo taktéž možné určit amplitudu pomocí čtyřbitové hodnoty. Na výstupu se všechny zvukové signály sečetly, takže se rychlou změnou amplitudy a vhodným nastavením frekvencí jednotlivých zvukových kanálů daly generovat i poměrně složité melodie nebo zvuky ve hrách. Jak jsme se již řekli v předchozím odstavci, obsahoval tento čip navíc jeden generátor šumu, který byl implementován pomocí posuvného registru o šířce 15 bitů se zpětnou vazbou (bit, který se vracel na vstup posuvného registru, byl získán logickou operací nonekvivalence (XOR) nejvyšších bitů posuvného registru). Pro generátor šumu bylo možné zvolit pouze tři frekvence: Fosc/64, Fosc/128 a Fosc/256. Poněkud nešikovné je to, že obsah generátoru šumu nebylo možné přečíst mikroprocesorem, protože by se tato funkce mohla hodit ve hrách, které mnohdy vyžadují generátor (pseudo)náhodných čísel (tuto možnost nabízel například POKEY u Atari).

Obrázek 14: Způsob zapojení čipu SN76489.
Zdroj: firemní dokumentace k tomuto čipu.

Čip SN76489 obsahoval osm řídicích registrů – tři registry pro uložení konstanty pro děličky frekvence tónových generátorů, tři registry pro zápis amplitudy tónových generátorů, registr pro řízení generátoru šumu a konečně registr pro řízení amplitudy a frekvence generátoru šumu. Jak je z tohoto popisu patrné, byly možnosti zvukového čipu SN76489 poněkud menší než možnosti konkurenčních čipů AY-3–8910 či POKEY, na druhou stranu ovšem mnohem lepší, než u již dvakrát zmíněného nemotorného PC Speakeru.

Obrázek 15: Herní konzole SG-1000, která je taktéž vybavena zvukovým čipem SN76489.

8. Rozšiřující moduly a desky s přídavnými mikroprocesory

Počítač BBC Micro byl navržen takovým způsobem, že ho bylo možné relativně snadno rozšiřovat. Základními rozšiřujícími moduly byly desky s ROM, do nichž mohly být nahrány například uživatelské programy (viz citace zmíněná v první kapitole). Díky těmto ROM mohl být uživatelský program spuštěn prakticky ihned po zapnutí počítače, což je vlastnost, kterou se dnešní PC (ani tablety) zdaleka nemůžou chlubit :-) Kromě modulů s ROM však existovaly i další moduly určené například pro vytvoření počítačové sítě (Econet), řadič pevných disků a dokonce i moduly s koprocesory – MOS 6502 (pracující v tandemu s původním MOS 6502), Z80 (pro spuštění CP/M a programů pro tento systém, včetně populárního Pascalu) a dokonce později i modul s RISCovými procesory ARM. Mezi přídavné moduly patřil i adaptér pro generování teletextu, který byl zmíněn v souvislosti s grafickým režimem číslo 7.

9. BBC Basic

Nedílnou součástí počítače BBS Micro je dialekt jazyka Basic nazvaný BBC Basic, který byl velmi úspěšný především v západních zemích (ovšem nikoli v ČSSR, kde panovala, podobně jako v dalších státech RVHP, poněkud jiná situace). Původní hlavní autorkou je Sophie Wilsonová a mezi další autory, kteří například provedli portaci tohoto programovacího jazyka na jiné platformy, patří i známý Richard Russell.

Obrázek 16: Programovací jazyk BBC BASIC byl portován dokonce i na osobní počítače PC s nainstalovaným operačním systémem Microsoft Windows.

Firma Acorn již před vznikem BBC Micro konstruovala svoje počítače nazvané Atom vybavené sice poměrně rychlým, zato však omezeným a nekompatibilním dialektem BASICu, který se ukázal být nepříliš vhodný pro počítač určený mj. i pro výuku (jednou z pozitivních vlastností interpretru tohoto BASICu byla možnost zápisu assembleru spolu s BASICovými programy, která se později objevila i v BBC BASICu). Z tohoto důvodu BBC zpočátku uvažovala o tom, že nakoupí licence na dialekt BASICu nabízený firmou Microsoft, ovšem tento programovací jazyk, přesněji řečeno jeho varianta pro osmibitové mikroprocesory, postrádal některé vlastnosti, které byly vyžadovány k tomu, aby bylo možné tento dialekt použít pro potřeby výuky – týkalo se to například nedostupnosti již zmíněných programových konstrukcí umožňujících strukturované programování, taktéž nemožnosti použití dlouhých názvů proměnných (nikoli pouze jedno- či dvouznakových) atd. (prostě typický produkt Microsoftu :-)

Obrázek 17: Screenshot obrazovky původního BBC BASICu spuštěného v emulátoru počítače Acorn BBC Micro.

Z těchto důvodů bylo nakonec od myšlenky licencování Microsoft BASICu odstoupeno a pro nově vznikající platformu byl vytvořen nový jazyk s názvem BBC BASIC, který byl mj. navržen takovým způsobem, aby nebyl závislý na konkrétní počítačové platformě. Původní verze programovacího jazyka BBC BASIC z roku 1981 byla určena pro počítače vybavené osmibitovými mikroprocesory MOS 6502, ovšem v pozdějších letech došlo k jeho rozšíření i na další mikroprocesory a počítačové platformy, viz též údaje na stránce http://mdfs.net/Software/BBCBasic/.

Obrázek 18: BBC BASIC byl portován i na programovatelné kalkulačky TI-83+/TI-84+ s grafickým displejem. Zde je výsledek běhu programu pro výpočet Mandelbrotovy množiny.

Další vlastností BBC BASICu, která se postupem času rozšířila i na některé další dialekty tohoto programovacího jazyka, byla možnost práce s celočíselnými proměnnými, které byly na většině platforem interně ukládány jako 32bitové hodnoty ve dvojkovém doplňku. Celočíselné proměnné se od proměnných reálných (přesněji řečeno od proměnných uložených ve formátu plovoucí řádové čárky) odlišovaly tím, že se za jejich název přidával znak ‚%‘ (procento), což spolu s existencí řetězcových proměnných znamenalo, že identifikátory TEST, TEST% a TEST$ byly považovány za tři odlišné proměnné (dnes bychom pravděpodobně řekli, že celočíselné, reálné a řetězcové proměnné měly oddělené jmenné prostory :-). Pro práci s řetězci byly zvoleny stejně pojmenované funkce, jaké můžeme nalézt v interpretrech MS BASICu – LEFT$, RIGHT$ a MID$ (tyto funkce se však daly použít i na levé straně přiřazovacího příkazu jako omezovače podřetězce, který se měl změnit), navíc bylo možné pro nalezení podřetězce v řetězci použít příkaz INSTR.

Obrázek 19: Programovatelná grafická kalkulačka TI 83+, na níž byl taktéž portován BBC BASIC.

Ovšem největší předností BBC BASICu byla možnost zapisovat programové smyčky s využitím strukturovaných výrazů, nikoli s použitím příkazu GOTO, i když tato možnost zůstala zachována. Spolu s odstraněním nutnosti používat GOTO byla z BBC BASICu odstraněna povinnost číslovat všechny programové řádky. Poněkud paradoxní přitom je, že poslední verze učebnice BBC BASICu (která je mj. dostupná i na Internetu), se o příkazu GOTO a o číslování řádků zmiňuje pouze okrajově, což znamená, že tento příkaz již dávno není zapotřebí ani pro psaní školních ani reálných aplikací.

10. Legendární hra Elite

Jednou z nejznámějších a současně i nejpropracovanějších her pro osmibitové mikropočítače je hra Elite, o níž se před několika lety pěkně rozepsal Petr. První verze této hry vznikla již v roce 1984 a jejími autory jsou Ian Bell a David Braben (což jsou v oblasti vývoje her velmi známé osobnosti). Zajímavé je, že v době vzniku této hry měl David Braben 19 let a Ian Bell byl o pouhý jeden rok starší. Elite, která původně vznikla právě pro BBC Micro, znamenala v oblasti vývoje her dosti velký průlom, protože se jednalo o jednu z prvních her s trojrozměrnou grafikou a otevřeným světem (technicky podobná hra Mercenary vznikla až o rok později). Navíc šlo o hru určenou i pro běžné osmibitové domácí mikropočítače, včetně ZX Spectra a je nutné říci, že vidět plynule rotující modely kosmických lodí na ZX Spectru byl v polovině osmdesátých let skutečný zážitek.

Obrázek 20: Úvodní obrazovka s předváděním kosmických lodí.

Navíc byl ve hře Elite do všech detailů rozvinut koncept otevřených světů, s čímž souvisí nejenom prakticky naprostá svoboda hráče, ale i fakt, že si hráč sám zvolí cíl, kterého chce ve hře dosáhnout. Je například možné se zabývat legálním obchodem a převážet zboží mezi několika hvězdnými soustavami; lze se však také přidat na stranu pirátů, pašovat zboží atd. atd. K dispozici má hráč obrovské vesmírné prostory a pokud má dostatek kreditů, tak si může například vylepšit svoji kosmickou loď apod. Je to právě tato volnost pohybu a svoboda rozhodování, která udělal z Elite kultovní hru.

Obrázek 21: Informace o autorech.

Hra byla naprogramována v assembleru a vzhledem k absenci rastrových obrázků a textur měla velikost jen několika desítek kilobajtů. Portace hry na další platformy opět probíhala přes assembler, což je z dnešního pohledu téměř neuvěřitelné množství práce, která však byla dána nutností vykreslovat 3D scény i na počítačích vybavených osmibitovými mikroprocesory s taktovací frekvencí mnohdy nepřesahující jeden MHz.

Obrázek 22: Nákup paliva a vybavení pro kosmickou loď.

Obrázek 23: Mapa blízkých hvězdných systémů.

ict ve školství 24

Obrázek 24: Informace o hvězdném systému.

Obrázek 25: Na čem se tak dá nejlépe vydělat?

11. Odkazy na Internetu

  1. BBC Basic: Graphics and Colours
    http://www.bbcbasic.co.uk/bbcwin/ma­nual/bbcwin3.html
  2. BBC Basic: MODE 7 – Teletext
    http://www.bbcbasic.co.uk/bbcwin/ma­nual/bbcwinh.html
  3. BBC Micro (Wikipedia)
    https://en.wikipedia.org/wi­ki/BBC_Micro
  4. The BBC Microcomputer User Guide
    http://central.kaserver5.or­g/Kasoft/Typeset/BBC/Conten­ts.html
  5. BBC Micro Screen Formats
    http://www.dfstudios.co.uk/ar­ticles/retro-computing/bbc-micro-screen-formats/
  6. BBC Micro Screen Formats Part 2
    http://www.dfstudios.co.uk/ar­ticles/retro-computing/bbc-micro-screen-formats-part-2/
  7. SN76489 sound chip details
    http://web.inter.nl.net/u­sers/J.Kortink/home/articles/sn76489/
  8. SN76464 datasheet
    http://www.ic-on-line.cn/view_online.php?id=1106623&fi­le=0054%5Csn76494_409323.pdf
  9. Texas Instruments SN76489 (Wikipedia)
    http://en.wikipedia.org/wi­ki/Texas_Instruments_SN76489
  10. SN76489
    http://www.smspower.org/De­velopment/SN76489?sid=ae16503f2fb18070f3f40f2af­56807f1
  11. Inside BBC Micro
    http://8bs.com/inbbc.htm
  12. Acorn BBC
    http://www.old-computers.com/MUSEUM/computer.asp?c=29
  13. Sound Chip (Wikipedia)
    https://en.wikipedia.org/wi­ki/Sound_chip
  14. Programmable Sound Generator (Wikipedia)
    https://en.wikipedia.org/wi­ki/Programmable_sound_gene­rator
  15. The 8086/8088 Primer
    http://stevemorse.org/8086/index.html
  16. Birth of a Standard: The Intel 8086 Microprocessor
    http://www.pcworld.com/ar­ticle/146957/birth_of_a_stan­dard_the_intel_8086_micro­processor.html
  17. A Brief History of Computing
    http://trillian.randomstuf­f.org.uk/~stephen/history/8086­.html
  18. Intel 8086
    http://en.wikipedia.org/wi­ki/Intel_8086
  19. Support/peripheral/other chips – 6800 family
    http://www.cpu-world.com/Support/6800.html
  20. Motorola 6845
    http://en.wikipedia.org/wi­ki/Motorola_6845
  21. The 6845 Cathode Ray Tube Controller (CRTC)
    http://www.tinyvga.com/6845
  22. IBM Monochrome Display Adapter
    http://en.wikipedia.org/wi­ki/Monochrome_Display_Adap­ter
  23. Color Graphics Adapter
    http://en.wikipedia.org/wi­ki/Color_Graphics_Adapter
  24. Magic Mushroom (demo pro PC s DOSem)
    http://www.crossfire-designs.de/download/articles/sou­ndcards//mushroom.rar
  25. Píseň Magic Mushroom – originál
    http://www.crossfire-designs.de/download/articles/sou­ndcards/speaker_mushroom_con­verted.mp3
  26. Píseň Magic Mushroom – hráno na PC Speakeru
    http://www.crossfire-designs.de/download/articles/sou­ndcards/speaker_mushroom_spe­aker.mp3
  27. Pulse Width Modulation (PWM) Simulation Example
    http://decibel.ni.com/content/docs/DOC-4599
  28. Resistor/Pulse Width Modulation DAC
    http://www.k9spud.com/trax­mod/pwmdac.php
  29. Class D Amplifier
    http://en.wikipedia.org/wi­ki/Electronic_amplifier#Clas­s_D
  30. Wikipedia EN: PC speaker
    http://en.wikipedia.org/wi­ki/PC_speaker
  31. Wikipedia EN: Intel 8253
    http://en.wikipedia.org/wi­ki/Intel_8253
  32. Wikipedia EN: Intel 8255
    http://en.wikipedia.org/wi­ki/Intel_8255
  33. Memory mapped I/O
    http://www.sharpmz.org/mz-700/memio.htm
  34. Using an 8255 PPI chip
    http://drew.hickmans.net/8255.htm
  35. Programming the PC Speaker
    http://www.gamedev.net/re­ference/articles/article442­.asp
  36. SG-1000 (Wikipedia)
    http://en.wikipedia.org/wiki/SG-1000
  37. Great Microprocessors of the Past and Present (V 13.4.0)
    http://jbayko.sasktelwebsi­te.net/cpu.html
  38. Wikipedia: 6502:
    http://en.wikipedia.org/wiki/6502
  39. The Western Design Center, Inc.:
    http://www.westerndesigncenter.com/
  40. Apple II History Home:
    http://apple2history.org/
  41. www.6502.org:
    http://www.6502.org/
  42. Root.cz: Elite – The New Kind
    http://www.root.cz/clanky/elite-the-new-kind/
  43. Acorn Elite Pages
    http://elite.acornarcade.com/in­dex.htm

Autor článku

Vystudoval VUT FIT a v současné době pracuje na projektech vytvářených v jazycích Python a Go.