Obsah
1. Osmibitová herní konzole Vectrex
2. Základní technické parametry herní konzole Vectrex
3. Srdce herní konzole Vectrex: mikroprocesor Motorola 6809
4. Unikátní vlastnosti mikroprocesoru Motorola 6809
5. Zvukový subsystém: čip AY-3–8912
7. Grafický subsystém: řadič vektorového displeje
8. Obsah následující části seriálu
1. Osmibitová herní konzole Vectrex
V dnešní části seriálu o historii vývoje výpočetní techniky se seznámíme s poměrně unikátní osmibitovou herní konzolí pojmenovanou Vectrex. Tato herní konzole se od dalších podobných zařízení odlišuje především v tom, že přímo v konzoli je zabudován poměrně malý vektorový displej. Vzhledem ke způsobu generování obrazu na vektorovém displeji se nejedná o konzoli, kterou by bylo možné připojit k běžnému televizoru či monitoru. Teoreticky je však možné pro zobrazení použít osciloskop, u nějž je možné připojit externí signál i na X-ovou osu namísto časové základny :-) [http://www.youtube.com/watch?v=_eUoBMiaW0M]. Vzhledem k tomu, že tato herní konzole vznikla později, než například dříve popsané konzole Atari 2600 či Magnavox Odyssey2, mohli její konstruktéři využít výkonný a v některých ohledech vlastně i nejpropracovanější osmibitový mikroprocesor nabízený na trhu – jednalo se o čip Motorola 6809 s ručně optimalizovanými interními strukturami, který mj. obsahoval i hardwarovou násobičku, což je v oblasti osmibitových mikroprocesorů poměrně neobvyklá součást čipu.
Obrázek 1: Herní konzole Vectrex (jedná se o prostorový model, nikoli o fotografii reálné konzole).
Historie herní konzole Vectrex se začala psát již v roce 1981, kdy se John Ross a Mike Purvis zabývali myšlenkou na vytvoření herního zařízení se zabudovanou obrazovkou (přitom při svých pokusech používali starší monochromatickou obrazovku získanou z výprodeje). Mělo se jednat o snadno přenosné zařízení, které by obsahovalo všechny ovládací prvky a možná i napájení v jediné krabičce. Mimochodem: podobné „minikonzole“ později skutečně vznikly, většinou se však jednalo o zařízení obsahující pouze jedinou hru a LCD s předkreslenými postavičkami a herním prostředím; u nás byly známé zejména sovětské hry Elektronika IM, například hra „Jen počkej!“ (i těmito, pro někoho dosti nostalgickými hrami se budeme ještě v dalších částech tohoto seriálu zabývat). Vraťme se však k Vectrexu. John Ross a Mike Purvis byli zaměstnanci společnosti Western Technology/Smith Engineering a tato firma se začala na jejich popud zabývat projektem, který nesl původně název Mini Arcade a později též HP-3000 či Vector-X.
Obrázek 2: Herní konzole Vectrex je mj. vybavena pravděpodobně nejvýkonnějším mikroprocesorem osmibitové éry Motorola M6809, zvukovým čipem AY-3–8912 („aýčkem“ známým i ze ZX Spectra 128+ a Atari ST) a vlastním řadičem vektorového displeje.
Původně konstruktéři uvažovali o možnosti, že by herní konzole MiniArcade/HP-3000/Vector-X byla vybavena miniaturním pětipalcovým vektorovým displejem (což by vedlo k téměř kapesnímu formátu, velikostí možná dokonce srovnatelného s legendárním Nintendem), ovšem posléze – společně s převzetím celého projektu firmou Consumer Electronics (GCE) – došlo k mnoha úpravám a k použití devítipalcového displeje (přibližně s rozměry 8×11 palců orientovaným dosti neobvykle na stojato) a taktéž ke změně názvu konzole na Vectrex, což je skutečně název, který nenechává prakticky nikoho na pochybách, jaké typy grafických objektů dokáže tato herní konzole na svém interním displeji zobrazit.
Obrázek 3: Použitím vektorové obrazovky se vlastně konzole Vectrex vrátila na samotný začátek historie vývoje počítačových her. Na tomto obrázku je osciloskop, na němž je zobrazena hra Tennis for Two z padesátých let minulého století.
2. Základní technické parametry herní konzole Vectrex
Ke konci roku 1981 už byly úspěšně odzkoušeny různé prototypy Vectrexu a rozeběhl se vývoj skutečné, komerčně prodejné konzole. Zajímavé je, že původně měla být tato herní konzole osazena osmibitovým mikroprocesorem MOS 6502, s nímž jsme se již v tomto seriálu několikrát setkali, ovšem posléze došlo ke změně a byl vybrán výkonnější mikroprocesor Motorola 6809, přesněji řečeno varianta Motorola 68A09 s taktovací frekvencí 1,5 MHz. O generování hudby a zvuků se staral zvukový čip AY-3–8912, který byl mj. použit i v některých herních automatech a především pak v osmibitovém mikropočítači ZX-Spectrum 128k a taktéž v osobním počítači Atari ST. Vzhledem k tomu, že zobrazení na vektorovém displeji využívalo i analogové obvody (v podstatě lineární interpolátory, jejichž výstup byl přiváděn do horizontálního a vertikálního vychylovacího obvodu), není divu, že i herní ovladače konzole Vectrex byly analogové – jednalo se vlastně o obdobu ovladačů paddle, které byly již dobře známy například uživatelům konkurenční herní konzole Atari 2600.
Obrázek 4: U příležitosti padesátého výročí vzniku hry Tennis for Two vznikla rekonstrukce původního analogového počítače, obou ovladačů i zobrazovací jednotky.
Konzole Vectrex obsahovala i interní paměť ROM s kapacitou osmi kilobajtů (jednalo se o paměť umístěnou na čipu 2363). Obsah této paměti byl rozdělen na dvě části: v prvních čtyřech kilobajtech byla uložena hra Mine Storm, ve druhých čtyřech kilobajtech pak firmware nazvané Executive. Ve firmware byly uloženy různé podprogramy využívané hrami, například rutiny pro ovládáni časovačů, rutiny pro kreslení úseček atd. Paměť RAM byla sestavena z dvojice čipů 2414, přičemž každý z těchto čipů měl kapacitu 1kB×4B, tj. celková kapacita RAM byla pouhý jeden kilobajt (což je na druhou stranu osmkrát větší kapacita, než měli k dispozici skromní programátoři na Atari 2600 :-). V adresovém rozsahu mikroprocesoru Motorola 6809 bylo prvních 32kB vyhrazeno pro obsluhu externích paměťových modulů s hrami, ve skutečnosti však měla většina modulů kapacitu 4kB nebo 8kB, ve výjimečných případech pak 4kB+8kB (kombo). Viz též přiložená tabulka s mapou paměti herní konzole Vectrex:
Adresový rozsah | Popis |
---|---|
$0000-$7FFF | adresy paměťového modulu se hrou |
$Dxx0-$DxxF | řídicí registry čipu 6522 (jsou zrcadleny) |
$E000-$EFFF | Zabudovaná hra Mine Storm |
$F000-$FFFF | Executive (základní rutiny firmware) |
Obrázek 5: Automatová (a tedy i komerční) varianta hry Lunar Lander s vektorovým displejem a ovládáním joystickem namísto numerických vstupů. Možná i zde se konstruktéři Vectrexu nechali inspirovat.
Mikroprocesor Motorola 6809 a zvukový čip AY-3–8912 byly doplněny obvodem 6522 tvořícím rozhraní mezi „digitální“ a „analogovou“ částí konzole a taktéž digitálně-analogovým převodníkem MC1408, který byl v zařízení přítomen pouze v jednom provedení, i když ve skutečnosti přes multiplexer ovládal celkem tři analogové výstupy. I když je mikroprocesor Motorola 6809 v některých ohledech výkonnější, než například MOS 6502, je poněkud paradoxně herní konzole Vectrex interně prakticky stejně jednoduchá, jako Atari 2600 a jednodušší než minule popsaná konzole Atari 5200, v níž byly použity hned čtyři čipy se střední či vysokou úrovní integrace (nepočítaje v to paměti ROM a RAM).
Obrázek 6: Snímek z „vektorové“ podoby hry Lunar Lander: začátek hry (snímek byl získán z emulátoru hracích automatů MAME).
Po komerčním neúspěchu Vectrexu se firma vlastnící práva na konzoli i software rozhodla k netradičnímu kroku – vše je uvolněno k bezplatnému používání za předpokladu, že se bude jednat o nevýdělečnou činnost. Mnoho firem vlastnících práva ke hrám osmdesátých let se k tomuto kroku ještě neodhodlalo :-(
3. Srdce herní konzole Vectrex: mikroprocesor Motorola 6809
Již v předchozích dvou kapitolách jsme se zmínili o tom, že herní konzole Vectrex byla vybavena osmibitovým mikroprocesorem Motorola (MC)6809. Tento mikroprocesor uzavírá celou řadu osmibitových čipů navržených a vyráběných společností Motorola (určité pokračování můžeme nalézt v osmibitových mikrořadičích 68HCxx, těmi se však zde nebudeme zabývat). Na začátku této „osmibitové“ řady stál historicky významný čip MC6800, který byl následovaný méně známými čipy MC6801 a MC6802. Po vzniku těchto dvou mikroprocesorů se vedení společnosti Motorola rozhodlo rozdělit další vývoj svých programovatelných čipů na dvě části. První skupina vývojářů se soustředila na vývoj zcela nové generace mikroprocesorů – jednalo se o později slavnou řadu 68000 (68k), jejíž tvůrci vlastně zcela přeskočili generaci šestnáctibitových procesorů, protože čipy Motorola 68000 byly v mnoha ohledech 32bitovými mikroprocesory. Druhá skupina vývojářů mezitím pracovala na novém typu osmibitového mikroprocesoru, který převzal mnoho svých vlastností jak z původního procesoru MC6800, tak i z konkurenčního čipu MOS 6502 (zde se konstruktéři nechali „inspirovat“ především nultou stránkou paměti a jejím efektivním adresováním).
Obrázek 7: Snímek z „vektorové“ podoby hry Lunar Lander: průběh hry ve chvíli, kdy je modul ještě vzdálený od povrchu Měsíce.
Výsledkem těchto snah byl s velkou pravděpodobností nejvýkonnější osmibitový mikroprocesor, který byl kdy vyroben. Jednalo se o procesor nazvaný MC6809, který programátorům nabízel několik v té době poměrně unikátních vlastností, například téměř zcela ortogonální instrukční sadu (samozřejmě se jednalo o procesor s architekturou CISC), dvojici šestnáctibitových index registrů či dva ukazatele na vrchol zásobníku ideální například pro implementaci programovacího jazyka Forth. Tento mikroprocesor sice programátorům ve své instrukční sadě nabízel „pouze“ 59 instrukcí, ovšem vzhledem k velkému množství adresovacích režimů a ortogonalitě instrukční sady dokázal provádět všechny instrukce původního čipu MC6800 (78 instrukcí) a samozřejmě i vykonávat mnohé další operace.
Obrázek 8: Hra Mine Storm dodávaná společně s konzolí Vectrex (spuštěno v emulátoru Vectrexu).
Pro zajímavost jsou v následující tabulce vypsány některé základní vlastnosti „programátorského modelu“ osmibitových mikroprocesorů a mikrořadičů přímo či nepřímo odvozených od původního čipu MC6800 (D je označení pro double accumulator, 16bitový akumulátor vytvořený z dvojice osmibitových akumulátorů A a B):
Čip | Typ | Akumulátor(y) | D=A+B (16b) | Index registr(y) | Čítač instrukcí | Zásobníkové registry | Spec. registry |
---|---|---|---|---|---|---|---|
Motorola MC6800 | CPU | A (8b), B (8b) | ne | X (16b) | PC (16b) | SP (16b) | CCR (6b) |
Motorola MC6809 | CPU | A (8b), B (8b) | ano | X (16b), Y (16b) | PC (16b) | S (16b), U (16b) | CCR (8b), DP (8b) |
Motorola 68HC05 | MCU | A (8b) | ne | X (8b) | PC (13b) | SP (16b) | CCR (5b) |
Motorola 68HC08 | MCU | A (8b) | ne | H:X (16b) | PC (16b) | SP (16b) | CCR (6b) |
Motorola 68HC11 | MCU | A (8b), B (8b) | ano | X (16b), Y (16b) | PC (16b) | SP (16b) | CCR (8b) |
MOS 6502 | CPU | A (8b) | ne | X (8b), Y (8b) | PC (16b) | S (8b) | P (7b) |
Obrázek 9: Osmibitový mikroprocesor Motorola MC6800 je předchůdcem čipu MC6809.
4. Unikátní vlastnosti mikroprocesoru Motorola 6809
Jak původní mikroprocesor MC6800, tak i konkurenční čip MOS 6502 obsahoval speciální adresní režimy, s jejichž pomocí bylo možné přistupovat k prvním 256 bajtům operační paměti, a to rychlejším způsobem, než v případě použití plné 16bitové adresy (navíc byly instrukce i o jeden bajt kratší, což nebylo v dobách počítačů s maximálně 64 kB RAM nezanedbatelné). Konstruktéři mikroprocesoru MC6809 tuto možnost zachovali a navíc speciální osmibitové adresní režimy rozšířili o registr nazvaný DP (zkratka Direct Page), kterým bylo možné vybrat jakoukoli stránku v rámci paměťového prostoru 64 kB, kterou bylo následně možné použít v součinnosti s osmibitovou adresou (důležité je, že se neprovádělo časově náročné sčítání dvou adres, nejedná se o obdobu neblahého adresování typu segment:offset, kterým nás oblažila firma Intel :-). Nově přidána byla taktéž instrukce umožňující provést vynásobení dvou osmibitových operandů. Hardwarová násobička přitom nebyla u osmibitových mikroprocesorů příliš častým příslušenstvím, protože její implementace zabírala příliš mnoho cenné plochy čipu (počet tranzistorů na čipu je přímo úměrný jeho ploše a nepřímo úměrný použité technologii litografie).
Obrázek 10: Další fotografie osmibitového mikroprocesoru Motorola MC6800
(Zdroj: Wikipedia).
Zajímavé a i v dnešní době poněkud neobvyklé bylo též přidání druhého ukazatele na vrchol zásobníku U. To umožňovalo jak rychlé přepínání mezi různými procesy (operační systém → uživatelský program, uživatelský program → obslužná přerušovací rutina), tak i například snadnou implementaci interpretru programovacího jazyka Forth, který dvojici zásobníků používá. Vzhledem k tomu, že řadič i aritmeticko-logická jednotka mikroprocesoru MC6809 byly ručně optimalizovány (šlo o možná poslední procesor typu CISC, jehož interní struktura byla „zadrátována“ bez použití mikrokódu), jednalo se o velmi rychlý procesor, a to i v případě, že byl použit relativně pomalý zdroj hodinového signálu – původní MC6809 měl maximální hodinovou frekvenci rovnu 1MHz, model MC68A09 1,5 MHz (právě tento model byl použit v herní konzoli Vectrex) a konečně model MC68B09 mohl být taktován hodinovým signálem o frekvenci až 2 MHZ.
Obrázek 11: Mikroprocesor Motorola MC6809.
Z mnoha pohledů se tak jednalo o technologicky velmi dobře navržený mikroprocesor, který však přišel na trh již poměrně pozdě – v době nástupu šestnáctibitových a 32bitových čipů (ostatně to samé je možné říci i o herní konzoli Vectrex, které se „podařilo“ přijít na trh téměř v době, kdy v USA začala velká krize na trhu s herními konzolemi i hrami určenými pro tyto konzole). Vzhledem k technologickým kvalitám 6809 je poměrně zajímavý a poněkud nepochopitelný fakt, že mikrořadiče firmy Motorola, zejména pak čipy rodiny 68HC11, NEbyly založeny na 6809 ale na starším a ne tak výkonném čipu MC6800, což je z dnešního pohledu možná poněkud škoda (například o instrukční sadě 68HC11 lze říci cokoli, jen ne to, že je ortogonální a snadno naučitelná).
Obrázek 12: Zvukový čip AY-3–8910 ve čtyřicetipinovém pouzdře DIL (originál od firmy General Instrument)
5. Zvukový subsystém: čip AY-3–8912
Další nedílnou a velmi důležitou součástí herní konzole Vectrex byl i zvukový čip nazvaný AY-3–8912. Jedná se o jednu z variant zvukového generátoru AY-3–8910 vyráběného původně společností General Instruments (GI) a později taktéž firmou Yamaha pod označením YM2149 (největší rozdíly mezi jednotlivými variantami lidově nazvaného „á–ýčka“ spočívaly v existenci či neexistenci přídavných osmibitových paralelních portů). Tato společnost ovšem ve stejné době vyráběla i mnoho dalších zvukových čipů a zajímavé je, že jádro YM2149 se dodnes používá v dalších integrovaných obvodech určených pro video hry nebo mobilní telefony. Jedná se především o čip YM-2203 (označovaný též zkratkou OPN), který původní AY-3–8910 rozšiřuje o frekvenční modulaci. Integrované obvody řady AY-3–8910/YM2149 nebyly využívány pouze v herní konzoli Vectrex, ale najdeme je taktéž v osmibitovém počítači ZX Spectrum 128k, herní konzoli Intellivision, některých herních automatech a v neposlední řadě taktéž v osobních počítačích Atari ST. Není tedy divu, že je tento čip stále populární (a to v poměrně velké komunitě) a vznikají pro něj nové skladby (chiptunes), podobně jako pro konkurenční čip SID (Commodore C64) či POKEY (Atari 5200, Atari 800/130 XL/XE).
Obrázek 13: Zapojení pinů zvukového čipu AY-3–8910. Kromě dvou vstupně/výstupních osmibitových portů na obrázku vidíme i piny určené pro připojení obvodu k adresové a datové sběrnici počítače, vstup pro hodinový signál (z něho jsou odvozeny všechny frekvence zvukových generátorů, generátoru šumu i generátoru obálky) a analogové výstupy všech tří zvukových kanálů.
Již v předchozím odstavci jsme se zmínili o tom, že zvukový čip AY-3–8910 byl vyráběn ve více variantách. Tyto varianty, které byly rozlišovány poslední číslicí AY-3–8910, AY-3–8912 a AY-3–8913, se však nelišily způsobem generování zvuků (funkční bloky pro práci se zvukem zůstávaly nezměněné), ale především počtem osmibitových vstupně/výstupních portů ovládaných přes řídicí registry. AY-3–8910 se totiž v některých počítačích či herních konzolích používal kromě práce se zvuky a hudbou také pro ovládání dalších zařízení; mohl například pracovat jako jednoduchý programově řízený paralelní port, rozhraní pro připojení digitálních joysticků, přepínač mezi bankami operační paměti atd. Počítače či herní konzole, které pro ovládání dalších zařízení využívaly jiný obvod (například Intel 8255 či obvod 6522 v případě dnes popisované herní konzole Vectrex), tak obsahovaly buď nejmenší a samozřejmě i nejlevnější čtyřiadvacetipinovou variantu AY-3–8913, popř. osmadvacetipinovou variantu AY-3–8912 (právě tato varianta byla mezi výrobci počítačů a taktéž herních konzolí nejpopulárnější).
Obrázek 14: Fotografie herní konzole Vectrex.
Základní vlastnosti všech tří variant zvukového čipu AY jsou vypsány v následující tabulce:
Označení čipu | Počet osmibitových I/O portů | Počet pinů |
---|---|---|
AY-3–8910 | 2 | 40 (pouzdro DIL) |
AY-3–8912 | 1 | 28 (pouzdro DIL) |
AY-3–8913 | žádný | 24 (pouzdro DIL) |
Obrázek 15: Osobní počítač Atari 520ST osazený „á-ýčkem“.
6. Vlastnosti čipu AY-3–8912
Čip AY-3–8910 i všechny jeho varianty používá pro tvorbu zvuků a hudby tři samostatně nastavitelné tónové generátory, které produkují obdélníkové signály o zadané frekvenci (rozsah je 8 oktáv, každý kanál obsahuje dvanáctibitový dělič), jenž jsou dále zpracovávány. Každý tónový generátor vytváří zdroj zvukového signálu pro jeden ze zvukových kanálů – celkem jsou tedy k dispozici tři zvukové kanály, přičemž výstup každého z kanálů je vyveden na samostatný pin. Jedná se o analogový výstup, na který lze například přímo zapojit zesilovač. To je ovšem velmi netypické zapojení, u většiny ostatních zvukových čipů jsou zvuky z jednotlivých kanálů namixovány přímo na čipu do jednoho výstupu; na druhou stranu je však možné velmi jednoduše i s pomocí pouze jediného AY-3–8910 vytvářet stereo hudbu. Kromě tónových generátorů je možné použít i generátor šumu, jehož výstup lze přivést do zvoleného (či zvolených) zvukových kanálů. Generátor šumu se často používá například pro napodobení zvuku perkusních nástrojů, podobně jako tomu je u již zmíněného zvukového čipu POKEY a taktéž SID.
Obrázek 16: Herní automat se hrou Spy Hunter, o níž jsme se již v tomto seriálu při jiné příležitosti zmiňovali, byl vybaven dvojicí čipů AY-3–8910.
Obdélníkový signál vytvářený v tónových generátorech lze upravit pomocí takzvané obálky, která je však generována poněkud odlišným způsobem, než v případě čipu SID (u SIDu je použita obálka typu ADSR – attack, decay, sustain, release). Obálka má u AYčka tvar digitalizovaného periodického nebo neperiodického pilového či trojúhelníkového signálu. Taktéž je možné obálku ovládat programově, což vlastně znamená, že se pomocí zápisu do jednoho z řídicích registrů mění amplituda generovaného obdélníkového signálu. Na výstupu se nachází nelineární digitálně/analogový převodník, který slouží k převodu čtyřbitové hodnoty získané modifikací obdélníkového signálu obálkou na napěťovou úroveň v rozsahu do 1,35 Voltů (při zatížení analogového výstupu obvodem s odporem 1 kΩ). Díky nelineárnímu D/A převodníku se signál s původně lichoběžníkovým průběhem (výsledek změny amplitudy obdélníkového signálu pomocí obálky) mění na signál se „špičkami“, které dodávají hudbě vytvářené na čipu AY-3–8910 typické zabarvení, které se snaží s větším či menším úspěchem napodobovat i emulátory.
Obrázek 17: JAM – přehrávač hudby vytvořené původně pro čip AY.
Na osmnáctém obrázku je zobrazeno blokové schéma zvukového čipu AY-3–8910. Na tomto schématu můžeme v horní části vidět piny, pomocí kterých se AY připojoval k adresové a datové sběrnici počítače (předpokládá se, že se používá osmibitová datová sběrnice multiplexovaná s dolními osmi bity sběrnice adresové). Na vstupy BDIR, BC1 a BC2 mohou být připojeny řídicí signály, na piny DA0 až DA7 se připojují multiplexované adresové a datové vodiče a vstupy A8 a !A9 slouží pro výběr čipu (to, zda jsou přímo zapojeny na adresovou sběrnici, či zda je před nimi předřazen dekodér, je již závislé na architektuře počítače). Vstupně výstupní osmibitové porty jsou vyvedeny na piny IOA0 až IOA7 (první port) a IOB0 až IOB7 (druhý port). Posledními digitálními vstupy jsou CLOCK (hodiny, od nichž jsou odvozeny frekvence generovaných tónů) a !SEL (zamknutí hodin). Na poslední tři piny označené ANALOG A, ANALOG B a ANALOG C jsou vyvedeny výstupy ze všech tří zvukových kanálů. Tyto výstupy buď mohou být přivedeny do jednoho zesilovače (mono zvuk) nebo do více zesilovačů (stereo zvuk, tři hlasy).
Obrázek 18: Blokové schéma zvukového čipu AY-3–8910.
Užitečné odkazy týkající se zvukového čipu AY-3–8910/8912:
- General Instrument AY-3–8910,
http://en.wikipedia.org/wiki/General_Instrument_AY-3–8910 - AY programy, hudba, etc.,
http://bulba.untergrund.net/main_e.htm - Project AY,
http://www.worldofspectrum.org/projectay/ - AY Players,
http://www.worldofspectrum.org/projectay/ayplayers.htm - Chiptune,
http://en.wikipedia.org/wiki/Chiptune - SNDH – Atari ST YM2149 Archive,
http://sndh.atari.org/ - 8bitcollective,
http://www.8bitcollective.com/ - Chiptune,
http://www.chiptune.com/ - STsndplay,
http://www.nocrew.org/software-stsndplay.html - Jam for Windows (Just Another Musicplayer),
http://creamhq.de/ - SND Player,
http://sndplayer.atari.org/ - AY Hudba,
http://www.dmoz.org/Computers/Multimedia/Music_and_Audio/Audio_Formats/AY/
7. Grafický subsystém: řadič vektorového displeje
Použití mikroprocesoru Motorola MC6809 a současně zvukového čipu AY-3–8912 je sice v oblasti osmibitových herních konzolí poněkud neobvyklý počin, ovšem nejvýrazněji se tato konzole od veškeré konkurence odlišila v použití vektorového displeje. Samotný termín „vektorový displej“ je možná poněkud zavádějící, protože se jednalo o poměrně běžnou obrazovku (CRT) typu Samsung 240RB40 o rozměrech stínítka přibližně 8×11 palců. Neobvyklé ovšem bylo ovládání této obrazovky, protože se namísto rozmítání elektronového paprsku po jednotlivých řádcích s využitím dvojice pilových signálů (jak je to běžné u televizorů a monitorů s CRT) bylo horizontální i vertikální vychylování paprsku řízeno přímo herní konzolí pomocí dvojice lineárních interpolátorů vytvořených s využitím integračních článků. Taktéž intenzita elektronového paprsku a tím pádem i intenzita zobrazené stopy na stínítku byla řízena konzolí, což znamenalo, že bylo možné zobrazovat 2D a 3D objekty složené z úsečkových segmentů (teoreticky sice bylo možné pracovat i s křivkami, zde však nedostačoval potřebný výpočetní výkon i rychlost integračních článků).
Obrázek 19: První část zapojení řízení displeje herní konzole Vectrex. Na levé straně je zobrazen D/A převodník, jehož výstup je přes operační zesilovač přiveden do analogového přepínače.
Schema zapojení obvodů použitých pro řízení elektronového paprsku je zobrazeno na obrázku číslo 19 a 20. Základem je digitálně-analogový převodník MC1408, jehož výstupní signál je přes operační zesilovač přiváděn do analogového přepínače CD4052. Tři výstupy tohoto přepínače slouží pro řízení elektronového paprsku v horizontálním směru, ve vertikálním směru a taktéž k ovládání jeho intenzity. Analogové úrovně pro změnu horizontálního a vertikálního směru paprsku jsou přiváděny na integrační články, které paprsek postupně přesouvají do požadované pozice na obrazovce. Vzhledem k tomu, že se paprsek většinou po dosažení této pozice na chvíli zastaví, tvoří se na stínítku typické stopy v místech, kde dochází ke styku dvou úsečkových segmentů, popř. v místech začátku a konce segmentů. I tento (mimochodem velmi pěkný efekt) se mnoho emulátorů snaží napodobit, i když to samozřejmě není na rastrové obrazovce stoprocentně možné.
Obrázek 20: Druhá část zapojení řízení displeje herní konzole Vectrex. Ve střední části jsou zobrazeny oba integrační články pracující jako lineární interpolátory.
Ve firmware byly programátorům k dispozici rutiny umožňující vykreslení buď sekvence na sebe navazujících úseček, nebo též prakticky libovolného obrazce popsaného příkazy typu MOVETO a LINETO. Tyto rutiny vyžadovaly seznam souřadnic (dvojic) resp. seznam příkazů+souřadnic (trojic), který byl rutinou zpracován co nejrychlejším způsobem, aby se zamezilo poblikávání obrazce.
8. Obsah následující části seriálu
V následující části tohoto seriálu se zaměříme na popis emulátorů konzole Vectrex a taktéž si ukážeme některé hry, které pro tuto konzoli vznikly, a to jak v minulosti (komerční tituly), tak i v současnosti (hry vznikající na amatérské bázi, které jsou mnohdy lepší než komerční tituly).
9. Odkazy na Internetu
- Vectrex System History – The Mini Arcade
http://vectrexmuseum.com/vectrexhistory.php - GCE Vectrex: unique system, unique subculture. Part 2. Unique subculture
http://lady-eklipse.livejournal.com/ - Novinky.org: PSPVE v1.0.2 (Emulátor konzole Vectrex)
http://psp.novinky.org/view.php?cisloclanku=2008060010 - 3 Generations of Game Machine Architecture
http://www.atariarchives.org/dev/CGEXPO99.html - Atari 5200
http://www.atariage.com/software_search.html?SystemID=5200 - Atari 5200 Hardware and Accessories
http://www.atariage.com/5200/archives/hardware.html - Atari 5200 Screenshots
http://www.atariage.com/system_items.html?SystemID=5200&ItemTypeID=SCREENSHOT - History of video game consoles (second generation): Wikipedia
http://en.wikipedia.org/wiki/History_of_video_game_consoles_(second_generation) - Atari 5200: Wikipedia
http://en.wikipedia.org/wiki/Atari_5200 - 6502 – the first RISC µP
http://ericclever.com/6500/ - The Video Game Console Library: Fairchild Channel F
http://www.videogameconsolelibrary.com/pg70-fairchild.htm - Jerry Lawson
http://www.vintage.org/2006/main/bio.php?id=1586 - Fairchild Semiconductor F8
http://www.nyx.net/~lturner/public_html/F8_ins.html - Fairchild Channel F 101: A Beginner's Guide
http://www.racketboy.com/retro/fairchild-channel-f-101-a-beginners-guide - Lowell O. Turner: This old microprocessor
http://www.nyx.net/~lturner/public_html/OldCPU.html - VC&G Interview: Jerry Lawson, Black Video Game Pioneer
http://www.vintagecomputing.com/index.php/archives/545 - Fairchild Channel F
http://en.wikipedia.org/wiki/Fairchild_Channel_F - The Great CPU List Part II: Fairchild F8, Register windows
http://jbayko.sasktelwebsite.net/cpu2.html#Sec2Part2 - Fairchild F8
http://en.wikipedia.org/wiki/Fairchild_F8 - 6+ Nostalgic Emulators For Vintage Video Gaming Enthusiasts (1972–1980)
http://www.makeuseof.com/tag/6-nostalgic-emulators-vintage-video-gaming-enthusiasts-19721980/ - Channel F
http://www.giantbomb.com/channel-f/60–66/ - MESS Wiki
http://www.mess.org/ - O2 Homepage
http://www.the-nextlevel.com/odyssey2/ - Magnavox Odyssey2 (1978), Philips Videopac G7000 / C52 (1979)
http://www.mess.org/sysinfo:odyssey2 - The Video Game Critic's Odyssey 2 Reviews
http://videogamecritic.net/odd.htm - Computer Closet Collection: Magnavox Odyssey2
http://www.computercloset.org/MagnavoxOdyssey2.htm - PHILIPS Videopac C52
http://old-computers.com/museum/computer.asp?c=1060 - O2 Tech. Manual V.1.1 (PDF dokument)
http://www.atarihq.com/danb/files/o2doc.pdf - Magnavox Odyssey2
http://www.game-machines.com/consoles/odyssey2.php - Magnavox Odyssey2 (Wikipedia EN)
http://en.wikipedia.org/wiki/Odyssey2 - Magnavox Odyssey2 Games (Wikipedia EN)
http://en.wikipedia.org/wiki/List_of_Videopac_games - The FPGA Videopac Project
http://www.fpgaarcade.com/videopac.htm - Last minute addition: Odyssey 2 (P824×) VDC chip!
http://ploguechipsounds.blogspot.com/2009/10/last-minute-addition-odyssey-2-p824×.html - Space Invaders (Killer List of Video Games)
http://www.arcade-museum.com/game_detail.php?game_id=9662 - Spy Hunter (Killer List of Video Games)
http://www.arcade-museum.com/game_detail.php?game_id=9742 - Spy Hunter (Wikipedia)
http://en.wikipedia.org/wiki/Spy_Hunter - DP Interviews … Bob Whitehead
http://www.digitpress.com/library/interviews/interview_bob_whitehead.html - Atari Age: Video Chess
http://www.atariage.com/software_page.html?SoftwareID=1429 - Moby Games: Video Chess
http://www.mobygames.com/game/video-chess - Wikipedia: Video Chess
http://en.wikipedia.org/wiki/Video_Chess - The Video Game Critic's Atari 2600 Reviews A
http://videogamecritic.net/2600aa.htm - Classic gaming: Atari 2600 – Bezerk
http://classicgaming.gamespy.com/View.php?view=GameMuseum.Detail&id=13 - Classic gaming: Atari 2600 – E.T. the Extra-Terrestrial
http://classicgaming.gamespy.com/View.php?view=GameMuseum.Detail&id=290 - The Video Game Critic's Reviews With „ET“ Icon
http://videogamecritic.net/icon_ET.htm - Atari 2600 ROMs
http://www.atariage.com/system_items.html?SystemID=2600&ItemTypeID=ROM - Atari 2600 ROMs – #, A through E (582K)
http://www.atariage.com/2600/emulation/RomPacks/Atari2600_A-E.zip - Atari 2600 ROMs – F through J (298K)
http://www.atariage.com/2600/emulation/RomPacks/Atari2600_F-J.zip - Atari 2600 ROMs – K through P (432K)
http://www.atariage.com/2600/emulation/RomPacks/Atari2600_K-P.zip - Atari 2600 ROMs – Q through S (539K)
http://www.atariage.com/2600/emulation/RomPacks/Atari2600_Q-S.zip - Atari 2600 ROMs – T through Z (260K)
http://www.atariage.com/2600/emulation/RomPacks/Atari2600_T-Z.zip - Top 10 Best-Selling Atari 2600 Games
http://retro.ign.com/articles/903/903024p1.html - Top 100 Games Hits (past week) Atari 2600 VCS
http://www.atarimania.com/top-atari-atari-2600-vcs-_G2_7.html - Visitor Top 25 Total Downloads
http://www.atarimania.com/pgemainsoft.awp?type=G&system=2 - Atari 2600 FAQ
http://www.atariage.com/2600/faq/index.html - Atari 2600 Consoles and Clones
http://www.atariage.com/2600/archives/consoles.html - Atari 2600 Programming (odkazy)
http://www.atariage.com/2600/programming/index.html - Design case history: the Atari Video Computer System
http://www.atariage.com/2600/archives/design_case.html?SystemID=2600 - Atari 2600 (Wikipedia)
http://en.wikipedia.org/wiki/Atari_2600 - Schémata zapojení Atari 2600 (překresleno)
http://www.atariage.com/2600/archives/schematics_pal/index.html - Schémata zapojení Atari 2600 (skeny původních schémat)
http://www.vintagegamingandmore.com/atari-2600-schematics - Adventure for the Atari 2600 Video Game Console by Warren Robinett
http://www.warrenrobinett.com/adventure/index.html - Mapa hry Adventure
http://www.warrenrobinett.com/adventure/adv-map1.gif - Jay Glenn Miner Interview Pasadena, September 1992
http://www.rabayjr.com/jay_miner.htm - Magnavox and the Odyssey systems
http://www.pong-story.com/odyssey_other.htm - Magnavox Odyssey First home video game console
http://www.pong-story.com/odyssey.htm - The Odyssey in France
http://www.pong-story.com/odypubfr.htm - Magnavox Odyssey at old-computers.org
http://www.old-computers.com/museum/photos.asp?t=1&c=883&st=2 - Magnavox Odyssey Series (Wikipedia)
http://en.wikipedia.org/wiki/Magnavox_Odyssey_Series - MAGNAVOX ODYSSEY (1971)
http://balduin.wordpress.com/2007/10/15/magnavox-odyssey-1971/ - Magnavox Odyssey FAQ
http://www.pong-story.com/o1faq.txt - Richard Hewison – Level 9: Past masters of the adventure game
http://www.sinclairlair.co.uk/level9.htm - Level 9 Computing
http://en.wikipedia.org/wiki/Level9 - Worm in Paradise – Level 9 (CZ recenze)
http://sinclairzxspectrum.cz/software/recenze/worm_in_paradise.php - World of Spectrum: Jewels of Darkness
http://www.worldofspectrum.org/infoseekid.cgi?id=0011293 - World of Spectrum: Hry společnosti Level 9
http://www.worldofspectrum.org/infoseekpub.cgi?regexp=^Level+9+Computing+Ltd$&loadpics=1 - Adventure International
http://en.wikipedia.org/wiki/Adventure_International - Stránky o firmě Infocom a jejích hrách
http://www.csd.uwo.ca/Infocom/ - atari.fandal.cz
http://atari.fandal.cz/games.php - Zork I: The Great Underground Empire (Moby games)
http://www.mobygames.com/game/dos/zork-the-great-underground-empire/reviews/reviewerId,4465/ - Zork I (Wikipedia)
http://en.wikipedia.org/wiki/Zork_I - Zork I Walkthrough
http://www.gamefaqs.com/pc/564446-zork-i/faqs - Zork I: The Great Underground Empire
http://www.csd.uwo.ca/Infocom/zork1.html - Zork II: The Wizard of Frobozz (Moby games)
http://www.mobygames.com/game/dos/zork-ii-the-wizard-of-frobozz - Zork II (Wikipedia)
http://en.wikipedia.org/wiki/Zork_II - Zork II: The Wizard of Frobozz
http://www.csd.uwo.ca/Infocom/zork2.html - Zork III: The Dungeon Master (Moby games)
http://www.mobygames.com/game/zork-iii-the-dungeon-master - Zork III (Wikipedia)
http://en.wikipedia.org/wiki/Zork_III - SAGA – Scott Adams Grand Adventure
http://www.msadams.com/index.htm - Player 4 Stage 1: The Productivity Eaters
http://www.thedoteaters.com/p4_stage1.php - Textovky.cz – Textovkářův ráj
http://www.textovky.cz/ - Scott Adams (game designer, Wikipedia)
http://en.wikipedia.org/wiki/Scott_Adams_(game_designer) - Interview with Scott Adams (Adventure Classic Gaming)
http://www.adventureclassicgaming.com/index.php/site/interviews/129/ - Scott Adams game interpreter
http://www.ifarchive.org/indexes/if-archiveXscott-adamsXinterpreters.html - Ohlédnutí za herní historií: Textovky
http://www.slunecnice.cz/tipy/ohlednuti-za-herni-historii-textovky/ - BASIC Computer Games (published 1978) – Hammurabi
http://atariarchives.org/basicgames/showpage.php?page=78 - Hamurabi – zdrojový kód v BASICu
http://www.dunnington.u-net.com/public/basicgames/HMRABI - Hamurabi (Wikipedia)
http://en.wikipedia.org/wiki/Hamurabi - Hammurabi naprogramovaný v JavaScriptu
http://www.hammurabigame.com/hammurabi-game.php - Empire – hratelné demo (připojení přes telnet)
http://198.212.189.111/ - Empire Classic (video game)
http://en.wikipedia.org/wiki/Empire_Classic_(computer_game) - Wolfpack empire (moderní verze hry Empire)
http://www.wolfpackempire.com/default.htm - FOCAL (programming language, Wikipedia)
http://en.wikipedia.org/wiki/FOCAL_(programming_language) - Forty Years of Lunar Lander
http://technologizer.com/2009/07/19/lunar-lander/ - Category: Timelines of video games (Wikipedia)
http://en.wikipedia.org/wiki/Category:Timelines_of_video_games - Dennis M. Ritchie – home page
http://cm.bell-labs.com/who/dmr/index.html - Space Travel: Exploring the solar system and the PDP-7
http://cm.bell-labs.com/who/dmr/spacetravel.html - Yes, A video game contributed to Unix Development
http://people.fas.harvard.edu/~lib215/reference/history/spacetravel.html - Space Travel (video game)
http://en.wikipedia.org/wiki/Space_Travel_(video_game) - Computer and Video Game History
http://inventors.about.com/library/inventors/blcomputer_videogames.htm - OXO (Wikipedia)
http://en.wikipedia.org/wiki/OXO - Tennis for Two (Wikipedia)
http://en.wikipedia.org/wiki/Tennis_for_Two - Who really invented the video game?
http://www.atarimagazines.com/cva/v1n1/inventedgames.php - The Video Game Revolution
http://www.pbs.org/kcts/videogamerevolution/history/timeline.html - The First Video Game?
http://www.bnl.gov/bnlweb/history/higinbotham.asp - První část schématu analogového „počítače“ se hrou Tennis for Two:
http://www.bnl.gov/bnlweb/history/images/VideogameSchematic1.jpg - Druhá část schématu analogového „počítače“ se hrou Tennis for Two:
http://www.bnl.gov/bnlweb/history/images/VideogameSchematic2.jpg - MUD (stránka jednoho z tvůrců hry)
http://www.mud.co.uk/richard/mud.htm - MUD1 (Wikipedia)
http://en.wikipedia.org/wiki/MUD1 - Text-based game (Wikipedia)
http://en.wikipedia.org/wiki/Text-based_game - Text mode games
http://www.textmodegames.com/ - Why Text-Mode Games are Cool
http://www.textmodegames.com/articles/why-text-mode-games-are-cool.html - The Dragon Ate My Homework
http://www.wired.com/wired/archive/1.03/muds.html - Hunt the Wumpus
http://en.wikipedia.org/wiki/Hunt_the_Wumpus - A Brief History of „Rogue“
http://www.wichman.org/roguehistory.html - Rogue (video game) (Wikipedia)
http://en.wikipedia.org/wiki/Rogue_(computer_game) - Roguish Charm
http://www.1up.com/features/essential-50-rogue - Colossal Cave Adventure Map
http://www.spitenet.com/cave/ - Colossal Cave Adventure
http://www.rickadams.org/adventure/ - Here's where it all began…
http://www.rickadams.org/adventure/a_history.html - David Kinder's guide to Adventure downloads at the Interactive Fiction Archive
http://www.rickadams.org/adventure/e_downloads.html - Everything you ever wanted to know about …the magic word XYZZY
http://www.rickadams.org/adventure/c_xyzzy.html - Colossal Cave Adventure jako Java Applet
http://www.astrodragon.com/zplet/advent.html - Colossal Cave Adventure
http://en.wikipedia.org/wiki/Colossal_Cave_Adventure - iPod Adventure Game
http://hamimiami.com/ipod/adventure/index.html