Obsah
1. Historie vývoje počítačových her (33.část – osmibitová kapesní herní konzole Atari Lynx)
2. Pozice společnosti Atari na trhu s herními konzolami
3. Od Atari Cosmos ke konzoli Atari Lynx
4. Základní technické parametry Lynxu
5. Displej z tekutých krystalů (LCD)
6. Grafický subsystém – framebuffer a sprity
7. Zvukový subsystém konzole Atari Lynx
8. Vývoj pro Atari Lynx v současnosti
1. Historie vývoje počítačových her (33.část – osmibitová kapesní herní konzole Atari Lynx)
Předchozí čtyři části seriálu o historii vývoje výpočetní techniky byly z velké části věnovány popisu osmibitové kapesní herní konzole Game Boy i jejímu přímému následovníku – zařízení Game Boy Color. Jednalo se o komerčně velmi úspěšné herní konzole, takže není divu, že pro ně vznikaly nové herní tituly ještě doslova před několika lety. Ovšem částečně ve stínu Game Boye bylo zkonstruováno i několik konkurenčních osmibitových kapesních herních konzolí, tj. konzolí vybavených displejem z tekutých krystalů, které obsahovaly některou z variant levných a přitom dostatečně výkonných osmibitových mikroprocesorů. Jednou z těchto konzolí je i Atari Lynx, jenž se ale i přes některé technické přednosti neprosadil do takové míry, aby v počtu prodaných kusů překonal Game Boye. I z tohoto důvodu je dnes Atari Lynx méně známou herní konzolí, a i počet vydaných her je menší, než v případě Game Boye a Game Boy Color.
Obrázek 1: První verze kapesní herní konzole Atari Lynx – pohled na levou stranu s D-padem a tlačítky On/Off.
Pod tímto odstavcem je umístěna tabulka, se kterou jsme se sice v tomto seriálu již setkali, ale možná nebude na škodu si ji uvést znovu. Jsou zde totiž vypsány základní parametry nejznámějších (ovšem ne zcela nutně nejprodávanějších) univerzálních kapesních herních konzolí, které byly na trh uváděny v rozmezí let 1979 až 1993. Jedná se vesměs o konzole vybavené osmibitovými mikroprocesory a jejich displeje z tekutých krystalů mají až na několik výjimek většinou rozlišení 160×102 až 160×160 pixelů:
# | Konzole | Rok vydání | Procesor | Displej | Rozlišení |
---|---|---|---|---|---|
1 | Microvision | 1979 | Intel 8021/TMS1100 | pasivní monochromatický LCD | 16×16 pixelů |
2 | Epoch Game Pocket Computer | 1984 | NEC µPD78c06 | pasivní monochromatický LCD | 75×64 pixelů |
3 | Game Boy | 1989 | Sharp LR35902 | pasivní monochromatický LCD | 160×144 pixelů |
4 | Atari Lynx | 1989 | MOS 65S02 | podsvícený barevný LCD | 160×102 pixelů |
5 | Sega Game Gear | 1990 | Zilog Z80 | podsvícený barevný LCD | 160×144 pixelů |
6 | TurboExpress | 1990 | HuC6280 | barevný LCD | 400×270 pixelů |
7 | Bitcorp Gamate | 1990 | NCR 81489 | pasivní monochromatický LCD | 160×144 pixelů |
8 | Atari Lynx II | 1991 | MOS 65S02 | podsvícený barevný LCD | 160×102 pixelů |
9 | Watara Supervision | 1992 | MOS 65C02 | pasivní monochromatický LCD | 160×160 pixelů |
10 | Mega Duck | 1993 | klon Zilog Z80 | pasivní monochromatický LCD | 160×144 pixelů |
Obrázek 1: První verze kapesní herní konzole Atari Lynx – pohled na pravou stranu s ovládacími tlačítky, které naznačují, že konzoli bylo možné používat i otočenou o 90° a 180°.
2. Pozice společnosti Atari na trhu s herními konzolami
Ještě než začneme s popisem technických parametrů herní konzole Atari Lynx, musíme se alespoň na chvíli podívat do historie společnosti Atari. Pozice této firmy na trhu s elektronickými hrami byla zpočátku prakticky neotřesitelná, protože tato společnost vyráběla jak klasické video automaty, tak i osmibitové domácí herní konzole – samozřejmě se jedná o již popsané série Atari 2600, Atari 5200 a Atari 7800. Ovšem právě v případě konzolí Atari 5200 a Atari 7800 se již začaly projevovat některé nedokonalosti v konstrukci i způsobu prodeje těchto zařízení, čehož začala využívat konkurence, převážně firmy pocházející z Asie (mezi tyto konkurenty patřily zejména společnosti Sega a Nintendo).
Obrázek 3: Jedna z konkurenčních herních konzolí – Sega Game Gear.
Inženýři pracující pro firmu Atari si již na konci sedmdesátých let minulého století uvědomili, že kromě dvou již alespoň částečně obsazených segmentů trhu s video automaty a herními konzolemi připojovanými k televizoru vznikl ještě v té době zcela nový segment s kapesními herními konzolami. Bylo jen logické, že se společnost Atari snažila obsadit i tento trh (už jen kvůli autorským právům na mnoho slavných her). Zpočátku vznikly návrhy jednoúčelových kapesních herních konzolí obsahujících hry typu Breakout nebo Space Invaders (pro zobrazení se používaly LED), ovšem již v roce 1978 začala práce na alespoň částečně univerzální konzoli pracovně nazývané Atari Cosmos. Za vznikem této konzole stáli především Allan Alcorn (pravděpodobně ho již není zapotřebí znovu představovat, protože jsme se s tímto inženýrem seznámili v souvislosti se světoznámou hrou Pong) a dále pak Harry Jenkins a Roger Hector.
Obrázek 4: Reklama na konzoli Atari Cosmos.
3. Od Atari Cosmos ke konzoli Atari Lynx
Herní konzole Atari Cosmos byla v mnoha směrech dosti neobvyklá. Vzhledem k tomu, že její vývoj začal již v roce 1978, byla namísto displeje z tekutých krystalů (LCD) použita matice složená z LED, což samozřejmě znamenalo dosti velké omezení možností grafického výstupu. Aby toto omezení nebylo tak velké a na první pohled viditelné, rozhodli se konstruktéři pro dosti odvážný krok – před samotnou matici LED byl umístěn dvouvrstvý holografický obrázek, přičemž vždy jedna z vrstev mohla být osvětlena a tedy viditelná. To znamenalo, že tvůrci her mohli „nakreslit“ dvojici statických trojrozměrných obrázků a ty pak použít ve hře, protože se plánovalo, že se holografické vrstvy budou dodávat současně s paměťovým modulem. Z technologického hlediska se sice jednalo o zajímavé řešení, které však bylo velmi drahé (výroba matrice pro holografické obrázky v porovnání s prostým zápisem binárního kódu hry do EPROM) a navíc to vlastně vůbec neumožňovalo tvorbu her se scrollujícím pozadím atd.
Další zajímavostí bylo to, že se – pravděpodobně kvůli matici s LED – počítalo s tím, že tato herní konzole nebude vybavena bateriemi, ale pouze síťovým zdrojem, což dosti zásadním způsobem omezovalo její použitelnost. Není tedy divu, že i přes původní plány na výrobu několika tisíc konzolí hned v první sérii se nakonec vyrobilo pouze přibližně 250 kusů tohoto zařízení a v současnosti je známá existence pouze pěti kusů Atari Cosmos (z nichž navíc ne všechny fungují). Mimochodem: kromě vlastní konzole se pracovalo i na několika hrách určených pro Atari Cosmos, především na:
# | Název hry |
---|---|
1 | Asteroids |
2 | Basketball |
3 | Dodge 'Em |
4 | Football |
5 | Outlaw |
6 | Road Runner |
7 | Sea Battle |
8 | Space Invaders |
9 | Superman |
4. Základní technické parametry Lynxu
Další pokus o vstup společnosti Atari na trh s kapesními herními konzolemi se uskutečnil až o přibližně deset let později a není úplně bez zajímavosti, že se v tomto případě jednalo o konzoli, jejíž návrh byl proveden v jiné firmě – konkrétně ve společnosti Epyx. Epyx totiž na konci osmdesátých let minulého století hledala partnera, který by zajistil masovou výrobu a propagaci kapesní herní konzole, jejíž původní název zněl Portable Color Entertainment System. Již z názvu je patrné, co mělo být největším „tahákem“ tohoto zařízení – samozřejmě šlo o barevný displej z kapalných krystalů, navíc se jednalo o displej sice pasivní (což je pochopitelné s ohledem na dobu vzniku), ale zato podsvětlený. Společnost Atari nakonec uzavřela s Epyxem smlouvu zaručující, že se Atari skutečně ujme výroby a prodeje, zatímco Epyx zajistí softwarovou podporu, tj. vývoj her a popřípadě i dalších softwarových nástrojů.
Obrázek 5: Druhá varianta herní konzole Lynx: Atari Lynx II.
Výsledná herní konzole, která z této spolupráce vznikla, byla pojmenována Atari Lynx a do prodeje se dostala v roce 1989, což byla mj. i doba, kdy byl na trh uveden nejvážnější konkurent Atari Lynxu – kapesní herní konzole Game Boy. Zajímavé je již povrchní porovnání obou konzolí – Game Boy byl po technologické stránce jednodušší (snad až na zvukový subsystém), měl odlišný design s přibližně čtvercovým pasivním monochromatickým displejem z tekutých krystalů a tlačítky i D-padem umístěnými pod tímto displejem. Prodejní cena začínala na 90 dolarech. Naproti tomu Atari Lynx (původně za 180 dolarů) byl vybaven barevným pasivním LCD, který nebyl čtvercový, ale obdélníkový. To umožňovalo tvůrcům her, aby si sami zvolili, zda bude herní scéna zobrazená na šířku (landscape) či na výšku (portrait), protože kapesní konzoli samozřejmě bylo možné otočit, na rozdíl od televizoru v případě „klasických“ herních konzolí. Otočení dokonce mohlo být provedeno o 180°, takže se D-pad mohl ovládat jak levou, tak i pravou rukou.
Obrázek 6: Další pohled na Atari Lynx II.
5. Displej z tekutých krystalů (LCD)
Nejmarkantnějším rozdílem mezi konzolemi Atari Lynx a Game Boy je použitý displej, neboť právě ten do značné míry určoval jak grafické možnosti obou konzolí, tak i jejich výslednou výrobní a nepřímo pak i prodejní cenu. V případě Atari Lynxu se jeho konstruktéři rozhodli použít displej s tekutými krystaly, jenž měl úhlopříčku 3,5 palce a rozlišení 160×102 pixelů, tedy nepatrně méně, než tomu bylo u Game Boye, jehož displej (taktéž s tekutými krystaly) měl rozlišení 160×144 pixelů. Ovšem Game Boy měl pouze monochromatický displej se čtyřmi stupni šedi, zatímco Atari Lynx v možnosti barevného zobrazení překonával i většinu „televizních“ osmibitových herních konzolí, protože dokázal zobrazit až 4096 barevných odstínů. Pro každou barevnou složku (R,G,B) bylo možné zvolit jednu ze šestnácti úrovní, což skutečně odpovídá 16×16×16=4096 barvám (určitým omezením možnosti práce s barvami se budeme zabývat v následující kapitole).
Obrázek 7: Atari Lynx II potřetí.
Mezi další zajímavosti displeje, resp. celého grafického subsystému Lynxu patří to, že bylo možné programově volit frekvenci obnovování obrazu. Nejmenší použitelná frekvence činila 50 Hz, největší pak 75 Hz (teoreticky to bylo 78,7 Hz, prakticky se však používala právě frekvence 75 Hz). Jedná se o zajímavou vlastnost, která tvůrcům her dávala určitou volnost při programování grafického „jádra“ her: pokud se zobrazovaly převážně statické obrázky, mohla se použít vysoká frekvence obnovy displeje a tím i stálejší obraz, zatímco pokud hra „nestíhala“, mohla se frekvence snížit a tím pádem i ponechat více strojových cyklů na výpočty (menší množství čtení údajů z framebufferu v podstatě znamenalo, že procesor nebyl zastavován kvůli paralelnímu přístupu do obrazové paměti).
6. Grafický subsystém – framebuffer
Kapesní herní konzole Atari Lynx byla založena na dvou zákaznických čipech nazvaných Mikey a Suzy. V čipu Mikey byl implementován především řadič dynamických pamětí, grafický subsystém a navíc i osmibitový mikroprocesor kompatibilní se slavným čipem MOS 6502, přesněji řečeno s jeho variantou MOS 65C02. V případě výběru mikroprocesoru se jednalo o logickou volbu, protože na tomto čipu byly postaveny jak všechny dřívější „televizní“ herní konzole firmy Atari, tak i její osmibitové domácí počítače (Atari 400, Atari 800, řada XL, XE…). Pojďme se nyní říci základní informace o grafickém subsystému této herní konzole. Ten byl, jak bylo ostatně u většiny osmibitových konzolí zvykem, založen na zobrazení dvou typů grafických údajů – pozadí (background nebo též playfield) a spritů (sprite). Jednodušší je práce s pozadím: šlo o bitmapu uloženou v operační paměti, jejíž rozlišení přesně odpovídalo rozlišení displeje, tj. 160×102 pixelům.
Obrázek 8: Pro Atari Lynx vznikaly a vznikají i zajímavé projekty na amatérské bázi.
Pro každý pixel byly v obrazové paměti alokovány čtyři bity, takže celková velikost framebufferu byla rovna 160×102×4=65280 bitům, tj. 8160 bajtům. Pozadí mohlo být umístěno v libovolném místě virtuální kreslicí plochy o rozměrech 65536×65536 pixelů, tj. pozadím bylo možné posouvat vůči všem spritům atd. (pro horizontální i vertikální souřadnici horního levého rohu pozadí byly určeny řídicí registry, z nichž každý měl šířku šestnáct bitů). Vzhledem k tomu, že pro každý pixel byly ve framebufferu vyhrazeny pouze čtyři bity, znamenalo to, že počet současně zobrazených barev byl omezen na šestnáct, tudíž se používala barvová paleta (look up table) pro výběr oněch šestnácti barev z barvové škály 4096 barev. Obsah této palety ovšem bylo možné na každém obrazovém řádku změnit, takže každý řádek mohl obsahovat jiné barevné odstíny. Sice se jednalo o určité omezení, ve většině her se však tato technika používala docela snadno.
Obrázek 9: Slavný Marble Madness pro Atari Lynx (amatérská hra).
7. Grafický subsystém – sprity
Kromě zobrazení pozadí se mohlo v herní scéně objevit i libovolné množství spritů, tj. pohyblivých objektů vykreslovaných nezávisle na pozadí. Zatímco o kresbu pozadí se staral čip Mikey (viz předchozí kapitola), byly sprity řízeny samostatným čipem Suzy. Podobně jako tomu bylo u pozadí, i sprity byly umisťovány do virtuální kreslicí plochy o rozměrech 65536×65536 pixelů (každý sprite měl vyhrazeno šestnáct bitů pro horizontální i vertikální pozici) a zajímavé bylo, že počet spritů ani jejich velikost nebyly nijak zásadním způsobem omezeny. Horizontální velikost každého spritu mohla dosahovat až 254 bajtů, tj. 508 pixelů v případě, že sprite nebyl zvětšen (při zvětšení to mohlo být i více). Vertikální velikost spritů byla omezena jen volnou kapacitou paměti (zde si dovolím situaci poněkud zjednodušit, pro první přiblížení možností grafického subsystému Lynxu to však možná není škodu).
Obrázek 10: Marble Madness pro Atari Lynx (amatérská hra).
U spritů bylo kromě jejich pozice na displeji možné měnit i jejich horizontální velikost (a to samostatně na každém obrazovém řádku), počet bitů na pixel (1, 2, 3 či 4), horizontálně i vertikálně je zrcadlit atd. atd. Navíc byl k dispozici kolizní buffer (částečně podobný selection bufferu v OpenGL), který umožňoval detekovat kolizi dvou či více po sobě vykreslovaných spritů. Z výše uvedeného výčtu vyplývá, že systém spritů v Lynxu byl jak velmi flexibilní, tak i překvapivě výkonný.
8. Zvukový subsystém konzole Atari Lynx
Jestli se herní konzole Atari Lynx v něčem přibližuje ostatním osmibitovým zařízením vyráběným v minulosti společností Atari, je to její zvukový subsystém. Již od dob Atari 2600 a video automatů byla většina zvukových čipů založena na generátorech obdélníkového signálu o volitelné frekvenci a amplitudě doplněných o takzvaný poly counter, tj. o posuvný registr se zpětnou vazbou, který zajišťoval generování šumu s různými vlastnostmi. Tyto dva implementačně velmi jednoduché elektronické obvody byly použity mj. i v čipu TIA (Atari 2600), čipu POKEY (video automaty, osmibitové mikropočítače, některé konzole) a v neposlední řadě právě i v herní konzoli Atari Lynx, kde měli programátoři k dispozici čtyři na sobě nezávislé zvukové kanály doplněné na výstupu o jednoduchý analogový filtr (konkrétně o RC filtr realizující dolní propust). Ovšem navíc bylo možné každý kanál přepnout do integračního režimu, takže se namísto obdélníkového průběhu generovala vlna o přibližně trojúhelníkovém průběhu.
Obrázek 11: Lynx Flash Card.
U každého zvukového kanálu bylo možné pomocí osmibitového řídicího registru měnit jeho výstupní frekvenci (udávala se hodnota děliče frekvence, přičemž vstupní frekvence byla odvozena od frekvence krystalu 16 MHz), dále pak nastavovat hodnotu posuvného registru (ten měl šířku 12 bitů), měnit hlasitost (7/8 bitů) a taktéž tvar vlny (zde postačoval jednobitový příznak). Pokud tyto možnosti zvukového subsystému nestačily, což se týkalo především samplovaných nástrojů či hlasového doprovodu, a programátor měl k dispozici dostatek volných strojových cyklů, bylo samozřejmě možné ovládat hlasitost každého kanálu přímo programově a získat tak čtyři na sobě nezávislé osmibitové D/A převodníky, tedy zhruba stejný systém, jako nabízela například Commodore Amiga (až na to, že Lynx neměl pravý stereo výstup, protože první pokus o stereo se objevil až v Lynxu II).
9. Odkazy na Internetu
Poznámka: vzhledem k tomu, že počet odkazů již vzrostl do takové míry, že je zhruba stejně rozsáhlý jako vlastní článek :-), jsou všechny odkazy týkající se zejména již popsaných herních konzolí uloženy ve zvláštním souboru. Níže se nachází pouze odkazy vztahující se přímo ke konzoli Atari Lynx.
- The Atari Cosmos Holoptic Tabletop Game
http://www.atarimuseum.com/videogames/dedicated/cosmos/cosmos.html - Atari Lynx Emulators
http://www.atariage.com/Lynx/emulation/index.html - Atari Lynx ROMS
http://www.atariage.com/system_items.html?SystemID=LYNX&ItemTypeID=ROM - Atari Lynx Hardware and Accessories
http://www.atariage.com/Lynx/archives/hardware/index.html - Diary of an Atari Lynx developer
http://atarilynxdeveloper.wordpress.com/ - Atari Lynx
http://en.wikipedia.org/wiki/Atari_Lynx - Atari Lynx: Black Magic (aka Programming Information)
http://amigan.1emu.net/kolsen/programming/index.html - Lynx Programming Page
http://jum.pdroms.de/lynx/lynxprog.html - Lynx-Documentation
http://www.monlynx.de/lynx/lynxdoc.html - FlashCard information and news
http://www.atariage.com/forums/topic/159711-flashcard-information-and-news/