Obsah
1. Zektor Vector Generator
2. Základní parametry grafické karty ZVG
3. Herní konzole Vectrex
4. 3-D Imager
5. XY-display a Z-axis
6. Obsah dalšího pokračování tohoto seriálu
1. Zektor Vector Generator
Zektor Vector Generator (zkráceně ZVG) je specializovaná grafická karta, která je určená pro řízení prakticky libovolného typu vektorového displeje. Vzhledem k tomu, že pro generování běžných vektorových obrazců je zapotřebí menší množství dat (mnohdy až o několik řádů), než je tomu u obrazců rastrových (zejména plnobarevných – true color), je tato grafická karta připojena k počítači přes rozšířený paralelní port ECP. V dobách využívání portu AGP a sběrnice PCI Express pro připojení běžných grafických karet se zdá přenosová rychlost dosahovaná na portu ECP směšná, ale pro dané účely plně postačuje. Na výstup ZVG jsou vyvedeny tři nebo pět signálů. V případě, že je použita trojice signálů, jsou dva z těchto signálů využity pro řízení horizontálního a vertikálního vychylování (signály X a Y) a třetí signál řídí intenzitu elektronového paprsku (Z resp. Y). Pětice signálů se používá v případě, že se na výstup má připojit barevný monitor v režimu RGB.
Řízení zobrazení pomocí karty ZVG se děje tak, že se postupně nastavují koncové body úseček, které se mají vykreslit. Mřížka, v níž se koncové body nastavují, má velikost 1200×1200 jednotek, tuto mřížku však nesmíme zaměňovat s rozlišením rastrových displejů, protože úsečka vykreslená mezi dvěma koncovými body na vektorovém displeji je ideálně hladká, a není tedy omezena žádným rozlišením. Řízení elektronového paprsku se provádí digitálně s využitím jednoduchých čítačů a dvojice digitálně-analogových převodníků, což je podstatný rozdíl oproti některým „analogovým“ řadičům vektorových displejů. Takzvané „analogové“ řadiče v minulosti vyráběla například firma Atari, která jimi osazovala své herní automaty, z nichž některé byly popsány v předchozí části seriálu.
Grafickou kartu ZVG je možné použít k mnoha typům vektorových displejů včetně těch, které byly montovány do starých vektorových her i do dále popsané herní konzole Vectrex. Vzhledem k tomu, že se jedná o obrazovky staré mnohdy až dvacet roků a vyžadující zvláštní péči, je v ZVG zabudováno několik kontrolních mechanismů, které brání poškození displeje (například vypálení bodu na obrazovce v případě, že by se neobnovoval obraz). Kromě toho lze pro zobrazování využít i běžný osciloskop nebo televizní obrazovku. O této problematice se zmíním v dalším pokračování tohoto seriálu, ve kterém se budeme zabývat vektorovými displeji používanými v současnosti. Velmi zajímavě vypadá podpora ZVG ve známém emulátoru herních automatů MAME, i když jsem ji nemohl v praxi vyzkoušet. Bližší informace o této netradičně pojaté grafické kartě lze získat na adrese jejího výrobce www.zektor.com/index.html.
Obrázek 1: Grafická karta ZVG
2. Základní parametry grafické karty ZVG
Grafická karta Zektor Vector Generator má následující parametry:
Horizontální hardwarové rozlišení: | 1200 koncových bodů |
Vertikální hardwarové rozlišení: | 1200 koncových bodů |
Horizontální softwarové rozlišení: | 1200 koncových bodů |
Vertikální softwarové rozlišení: | 944 koncových bodů (jedná se o omezení driveru) |
Celkový počet barev (model RGB): | 216=65536 |
Počet úrovní šedé: | 26=64 |
Rychlost kreslení vektorů: | 15–50 µs/palec (6–20 µs/cm) |
Rozsah signálů v horizontální ose: | 0 V – ±12 V |
Rozsah signálů ve vertikální ose: | 0 V – ±12 V |
Rozsah barvonosných signálů: | 1 – 4 V (0 V znamená, že se nic nevykresluje) |
K výše uvedeným hodnotám je nutné říci, že mnoho parametrů je možné přenastavit. Zejména se to týká rychlosti vykreslování vektorů, což je ve skutečnosti rychlost pohybu elektronového paprsku na stínítku obrazovky. Tato rychlost by měla být pro každý typ monitoru konstantní, proto je předem nastavitelná na čtyři hodnoty: 15µs/palec, 30µs/palec, 40µs/palec a 50µs/palec. Všechny údaje o rychlosti jsou vztaženy k referenčnímu monitoru o velikosti úhlopříčky 19 palců – je jasné, že v případě připojení monitoru s menší úhlopříčkou bude i rychlost vykreslování menší a na monitoru s větší úhlopříčkou bude rychlost vykreslování větší (z tohoto důvodu by bylo korektnější hovořit o úhlové rychlosti).
Kromě rychlosti vykreslování je možné změnit i rozsahy signálů, které slouží k vychylování paprsku v horizontálním i vertikálním směru. Maximální rozsah je roven ±12 Voltům, pro mnoho displejů je však nutné nastavit jiné hodnoty. Například pro displeje firmy Sega se doporučují rozsahy ±4 Volty v horizontálním směru a ±3 Volty ve směru vertikálním. Pro displeje Amplifone a WG Color se doporučují hodnoty ±8 V v horizontálním směru a ±6 V ve vertikální směru. Další rozsah je definován pro displeje G-05 a 19V2000: ±10 V a ±7,5 V. Pro starší televizní obrazovky je rozsah signálů menší (mnohdy i pod jeden Volt) a v případě nedostupnosti technických parametrů je vhodné provést „zátěžový“ test s dvojicí potenciometrů – viz další část tohoto seriálu. Dále si všimněte, že poměr rozsahů v horizontálním a vertikálním směru odpovídá poměru 4/3, což je také poměr konstrukční šířky a výšky displejů.
ZVG je sice vyráběn pro rozvodnou síť USA, změna napájecí části však není nic složitého. Ostatně u majitelů této karty se předpokládá alespoň základní znalost elektrotechniky.
3. Herní konzole Vectrex
V této kapitole bych rád popsal herní konzoli pro domácí použití Vectrex, která je z hlediska práce s grafikou zajímavá tím, že pro zobrazování používá vektorový displej. Aby se však alespoň z malé části nahradily některé nedostatky vektorové grafiky (například praktická nemožnost vyplňování ploch a také viditelné poblikávání zobrazovaných vektorů), byla ke každé hře dodávána poloprůhledná fólie, která se umístila před monitor. Na fólii byl většinou nakreslen okolní herní svět, což ostatně bude patrné i z dále uvedené fotografie. Přímo v herní konzoli byla zabudována i obrazovka Samsung 240RB40, která měla velikost cca 8×11 palců, a jak je z dalších obrázků patrné, byla postavena poněkud netradičně „nastojato“. Za účelem dosažení co nejnižší ceny celé konzole byly použity černobílé výprodejové obrazovky. Ve druhé generaci se tvůrci pokoušeli použít i barevnou obrazovku, to však značným způsobem navyšovalo cenu celého systému, proto bylo od tohoto nápadu upuštěno a místo toho se zrodil velmi zajímavý systém 3D-Imager, který bude popsán ve čtvrté kapitole.
Obrázek 2: Fotografie herní konzole Vectrex
Tato konzole byla řízena velmi sofistikovaným procesorem Motorola 68A09, který byl taktován na 1,5 MHz (jednalo se asi o nejlepší osmibitový procesor ve své třídě, jeho jediným vážným konkurentem byl Zilog Z80). Interní paměť ROM se základním systémem měla kapacitu 8 kB, konkrétně se jednalo o čip 2363. Paměť RAM se skládala z dvojice čipů 2414, kde každý čip měl kapacitu 1 kB × 4 B, tj. celkem 1 kB. Kromě těchto pamětí se do konzole zasunovaly cartridge, které měly kapacitu 4 kB nebo 8 kB (výjimku tvoří dvě hry, které na cartridgi používaly dva paměťové čipy, 4kB a 8kB). Kromě mikroprocesoru, pamětí a D/A převodníku s multiplexerem byla konzole osazena i kvalitním čipem AY-3–8912, který sloužil pro generování zvukového doprovodu, a dále obvodem PIA pro řízení vstupů i výstupů a nakonec digitálně-analogovým převodníkem MC1408 (ten byl v zařízení přítomen pouze jeden, i když ve skutečnosti přes multiplexer ovládal celkem tři analogové výstupy).
Obrázek 3: Nákres herní konzole Vectrex
Uživatelské ovládání celé konzole se provádělo pomocí analogového joysticku (se dvěma potenciometry) a čtyř tlačítek, jejichž funkce se lišila podle právě hrané hry. Kromě toho se v pozdější době dodávala i verze s dotykovou obrazovkou (touch screen) a světelnou pistolí. Celý panel s ovládáním byl ke konzoli připojen pomocí telefonního krouceného kabelu, při přenosu se mohl panel vložit zpět do konzole, aby nedošlo k poškození joysticku. Bylo také možné připojit druhý ovladač a mnoho her toho využívalo pro podporu hry dvou hráčů.
Obrázek 4: Detail ovládacího panelu
Tato herní konzole nebyla nikdy komerčně úspěšná. Může za to fakt, že do obchodů přišla až v roce 1982, což je mimochodem rok, kdy došlo k velkému krachu na poli herních automatů. Existuje více důvodů tohoto krachu, uvádí se nízká kvalita a originalita mnoha her a také poměrně masivní nástup domácích osmibitových počítačů. Na druhou stranu dodneška existuje poměrně velká aktivní skupina uživatelů, kteří tuto konzoli vlastní a vytvářejí pro ni nové hry a dema. Také bylo vyvinuto několik softwarových emulátorů této konzole a i výše popsaná karta ZVG může být použita pro výstup kompatibilní s Vectrexem. 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 :-(
4. 3D-Imager
3D-Imager patří mezi doplňky herní konzole Vectrex. Jedná se o helmu, která sloužila k třírozměrnému a současně i barevnému zobrazení vektorových her, což je velmi zajímavé, protože Vectrex používal jednoduchý monochromatický displej. Princip helmy 3D-Imager je následující:
Před obličejem uživatele rotuje jeden kotouček složený z většího množství segmentů (ty mají tvar kruhových výsečí). Přesně polovina segmentů je černá a neprůhledná, ostatní segmenty jsou barevné (červené, modré a zelené) a současně průhledné. Segmenty jsou navrženy a rozmístěny tak, že při rotaci kotoučku je před jedním okem vždy černý segment a před druhým okem jeden z barevných segmentů. V dalším okamžiku se kotouček se segmenty pootočí a zakryje se druhé oko. Rotace je synchronizována s obrazem tím způsobem, že se v každém snímku zobrazuje vektorový obraz s objekty, které jsou posunuty podle své vzdálenosti od pozorovatele – tímto způsobem se, spolu s perspektivou, simuluje prostorový vjem, protože obrazy blízkého objektu pro pravé i levé oko jsou vzájemně oddáleny. Díky funkci barevných segmentů je možné simulovat i barvu – vždy tři snímky určené pro jedno oko tvoří jeden barevný obraz, protože první snímek uživatel vidí přes červený segment, druhý přes zelený segment a třetí přes segment modrý (při vhodném osvětlení není barva pozadí obrazovky viditelná a přes segmenty prosvítají pouze bílé vektory). Kvalita barevného zobrazení je do značné míry závislá na obnovovací frekvenci obrazu, z níž se odvozuje i rychlost rotace kotoučku s barevnými segmenty.
Toto zařízení je konstrukčně velmi jednoduché a na svou dobu poměrně úspěšné, i když při zobrazování samozřejmě vykazovalo velké množství chyb (rozmazání vzdálených nebo pohybujících se objektů, barevné disproporce, poblikávání obrazu apod.). Bylo vyrobeno několik nových her i remaků původních her, které 3D-Imager využívají, a dokonce i dnes lze najít programátory, kteří pro toto zařízení vyrábějí dema.
Obrázek 5: 3D-Imager
5. XY-display a Z-axis
XY-display a Z-axis jsou názvy dvou soudobých projektů, ve kterých se tvůrci snaží o realizaci kvalitního výstupu na vektorových displejích, například na osciloskopech či starých terminálech Tektronics XY. Zajímavé je použití dosti pokročilých technik, například ditheringu při zobrazování vystínovaných obrázků. V rámci těchto projektů také proběhly experimenty s použitím běžných grafických karet pro ovládání vektorových displejů – princip si ozřejmíme v dalším pokračování tohoto seriálu, kde se budeme věnovat různým principům řízení vektorových obrazovek. Bližší informace o (nejenom) těchto zajímavých projektech jsou uvedeny na stránce craie.unpy.net/aether/index.cgi.
Obrázek 6: Vektorové zobrazení pomocí testovacího zařízení Z-axis
6. Obsah dalšího pokračování tohoto seriálu
V dalším pokračování tohoto seriálu dokončíme část věnovanou vektorovým displejům. Popíšeme si, jakým způsobem je možné pro zobrazení vektorových obrázků použít běžný osciloskop a televizní obrazovku. Nakonec si ukážeme řízení vektorového displeje pomocí běžné grafické karty (například typu VGA či SVGA).