Hlavní navigace

Historie vývoje počítačových her (30.část - vývoj aplikací pro konzole Game Boy a Game Boy Color)

7. 6. 2012
Doba čtení: 26 minut

Sdílet

Dnes navážeme na část předchozí, v níž jsme si řekli základní informace o osmibitových kapesních herních konzolích Epoch Game Pocket Computer a Nintendo Game Boy (obě byly vybavené LCD). Dnes si podrobněji popíšeme především grafický a zvukový systém Game Boye a zmíníme se i o konzoli Game Boy Color.

Obsah

1. Historie vývoje počítačových her (30.část – vývoj aplikací pro konzole Game Boy a Game Boy Color)

2. Grafický režim Game Boye

3. Způsob uložení vzorků (patterns) v paměti

4. Druhý typ grafického objektu – window

5. Zobrazení spritů

6. Zvukový subsystém Game Boye

7. Herní konzole Game Boy Color

8. Grafický režim herní konzole Game Boy Color

9. Odkazy na Internetu

1. Historie vývoje počítačových her (30.část – vývoj aplikací pro konzole Game Boy a Game Boy Color)

V předchozí části tohoto seriálu jsme se mj. seznámili i s dvojicí osmibitových kapesních herních konzolí. První konzolí bylo dnes již prakticky neznámé elektronické zařízení nazvané Epoch Game Pocket Computer pocházející z roku 1984, druhou popisovanou konzolí pak světoznámý Game Boy vyráběný společností Nintendo (jeho prodej byl zahájen v roce 1989), jehož konstruktérům se podařilo velmi dobře vybalancovat poměr mezi cenou konzole, její spotřebou elektrické energie (akumulátory byly před 20 lety ještě drahé a s malou kapacitou, proto se v herních konzolích používaly převážně monočlánky), grafickými schopnostmi a v neposlední řadě taktéž zvukovými možnostmi. Dnes se zaměříme především na popis herní konzole Game Boy z hlediska programátora. Kromě toho si řekneme i informace o nástupci původního Game Boye – jedná se o herní konzoli pojmenovanou Game Boy Color (již z názvu je patrné, k jaké hlavní inovaci v tomto případě došlo).

Obrázek 1: Jedna z variant osmibitové kapesní herní konzole Nintendo Game Boy.

Podobně jako v případě již v tomto seriálu probraných nekapesních herních konzolí (především Atari 2600, Nintendo Entertainment System (NES), Vectrex apod.) není popis konzole z hlediska jejího potenciálního programátora úplně anachronický, jak by se na první pohled možná mohlo zdát, protože například komunita vývojářů tvořících aplikace pro Game Boy je stále poměrně aktivní, podobně jako komunita autorů pro zmíněnou konzoli Atari 2600 či NES. Navíc je zvukový systém Game Boye oblíbený mezi hudebníky – autory takzvané chipmusic (čip Game Boye se tak řadí po bok čipů POKEY, SID, AY-3–8910, YM-3812 atd.). Důvod, proč jsou tato elektronická zařízení pocházející „z doby kamenné“ stále mezi programátory oblíbená, vcelku výstižně shrnuje tento citát:

„Programming for handhelds is probably the most fun and rewarding programming you can do. You don't have to worry about some complex API (like Win32 or DirectX) and you can program right down to the metal. Writing code to pass things right to registers directly. On top of all that, you get to see your code running on a real commercial console.“

Obrázek 2: Jedna z nejznámějších her pro Game Boye: Super Mario Land 2.

2. Grafický režim Game Boye

Podívejme se nyní na způsob tvorby rastrového obrazu zobrazovaného na displeji herní konzole Game Boy. Zajímavé je, že zatímco samotný displej má rozlišení 160×144 pixelů, je grafický subsystém konzole schopen pracovat s grafickým obrazem o rozlišení celých 256×256 pixelů. Na první pohled by se mohlo zdát, že je využito pouze 35 % kapacity framebufferu (160×144 : 256×256), ve skutečnosti je však podporován scrolling obrazu, což znamená, že i zbývajících 65 % kapacity framebufferu dokážou alespoň některé hry využít (scrolling funguje tak, že se při dosažení pravého okraje začne zobrazovat obsah řádku v levé části framebufferu). Podobně jako u naprosté většiny ostatních osmibitových herních konzolí není framebuffer uspořádán po jednotlivých obrazových řádcích a ty nejsou uloženy pixel po pixelu, protože by – i přes svoji jednoduchost – byl tento způsob organizace zbytečně náročný pro manipulace s obrazem, nehledě na to, že by kapacita 8 kB Video RAM byla v tomto případě nedostačující (256×256 pixelů při 2bpp odpovídá kapacitě 16kB Video RAM, což je mnoho).

Obrázek 3: Způsob zvýšení zdánlivého počtu barev pomocí ditheringu.

Namísto jednoduchého uložení bitmapy 256×256 pixelů s 2bpp lineárně do paměti je framebuffer rozdělen do 32×32 dlaždic, přičemž každá dlaždice odpovídá bitmapě o velikosti 8×8 pixelů. Celý framebuffer je tedy zredukován na pole 32×32 bajtů, přičemž každý bajt obsahuje pouze osmibitový index vzorku (pattern), tj. index na bitmapu 8×8 pixelů. Tyto bitové vzorky jsou v závislosti na nastavené konfiguraci grafického subsystému uloženy buď na adresách 0×8000 až 0×8fff, popř. na adresách 0×8800 až 0×97ff. V případě, že je použit první zmíněný paměťový region, jsou indexy vzorků chápány jako celá čísla bez znaménka 0 až 255 a bázová adresa je nastavena na hodnotu 0×8000, ve druhém případě se jedná o celá čísla se znaménkem ležící v rozsahu –128 až 127, přičemž bázová adresa je nastavena na hodnotu 0×9000. Zajímavé je, že samotné dlaždice (=pole 32×32 indexů vzorků) mohou být taktéž uloženy ve dvou oblastech Video RAM, čehož je možné ve hrách využít, například pro implementaci jednoduché formy doublebufferin­gu atd.

Obrázek 4: I v této hře je využíván dithering pro zvýšení zdánlivého počtu barev na displeji.

3. Způsob uložení vzorků (patterns) v paměti

Jak vlastně vypadá způsob uložení jednotlivých bitových vzorků (patterns) v paměti herní konzole Game Boy? Každý vzorek je, jak již víme, reprezentován bitmapou o rozlišení 8×8 pixelů, přičemž pro každý pixel je nutné vyhradit dva bity, protože displej dokáže zobrazit čtyři odstíny šedi. Ovšem aby to nebylo tak jednoduché, nejsou tyto dva bity reprezentující jeden pixel uloženy přímo za sebou, ale takovým způsobem, že je v bitmapě nejprve uložen bajt odpovídající osmici nižších bitů indexu barvy, za nímž následuje bajt s osmici vyšších bitů indexů barvy (každé dva bajty tedy odpovídají jednomu řádku bitmapy 8×8 pixelů, celkový počet bajtů pro uložení jednoho vzorku dosahuje hodnoty 16). Asi nejnázornější bude, když si ukážeme graficky, jakým způsobem je bitmapa každého vzorku uložena v paměti. Indexy barvy jsou číslovány od 0 do 3, což ve dvojkovém zápisu odpovídá bitovým kombinacím 00, 01, 10 a 11. Pokusme se tedy určit, jak se ve skutečnosti do paměti uloží bitmapa vzorku 8×8 pixelů s barvami odpovídajícími následujícímu obrázku (namísto barvy s indexem 0 jsou pro větší přehlednost použity tečky):

11111111
22....22
33....33
22....22
11111111
22....22
33....33
22222222

Obrázek 5: Úvodní obrazovka světoznámé hry Tetris pouze využívá základních možností displeje Game Boye bez použití různých efektů.

Jedná se tedy o jakousi vystínovanou osmičku. Tomuto vzorku odpovídá šestnáct bajtů tvořících osm obrazových řádků. Povšimněte si způsobu, jak jsou čísla barev rozložena na dvou bitů uložených ve dvou po sobě jdoucích bajtech:

11111111  ==  11111111  ==  0xff
              00000000  ==  0x00
 
22....22  ==  00000000  ==  0x00
              11000011  ==  0xc3
 
33....33  ==  11000011  ==  0xc3
              11000011  ==  0xc3
 
22....22  ==  00000000  ==  0x00
              11000011  ==  0xc3
 
11111111  ==  11111111  ==  0xff
              00000000  ==  0x00
 
22....22  ==  00000000  ==  0x00
              11000011  ==  0xc3
 
33....33  ==  11000011  ==  0xc3
              11000011  ==  0xc3
 
22222222  ==  00000000  ==  0x00
              11111111  ==  0xff

Vystínovaná osmička tedy bude v paměti uložena jako sekvence šestnácti bajtů s hodnotami:

0xff 0x00 0x00 0xc3
0xc3 0xc3 0x00 0xc3
0xff 0x00 0x00 0xc3
0xc3 0xc3 0x00 0xff

Obrázek 6: Další ukázka statické scény.

4. Druhý typ grafického objektu – window

V předchozích dvou kapitolách jsme si ve skutečnosti popsali pouze jednu třetinu typů objektů, z nichž se skládá výsledný obraz zobrazený na displeji Game Boye. Jedná se o takzvané herní pozadí (background) – odtud taktéž vychází název pro tabulku dlaždic: Background Tile Map. Shrňme si, že pozadí je možné scrollovat, dále je možné zápisem jediného bajtu změnit oblast o velikosti 8×8 pixelů (vyměnit vzorek za jiný) a taktéž lze v libovolný okamžik provést přepnutí mezi sadou dvou tabulek dlaždic.

Obrázek 7: Výsledek soutěže o převod obrázků z moderních her na displej Game Boye – slavný Another World.

Druhým typem objektu, který lze zobrazit na displeji, je takzvané okno, které je vždy zobrazeno před pozadím, tj. má vyšší prioritu zobrazení než pozadí. Okno sice není scrollovatelné, ovšem lze libovolně zvolit pozici jeho levého horního rohu na ploše displeje. Podobně jako v případě pozadí (background), je i obsah okna (window) určován nepřímo s využitím indexů vzorků; ve skutečnosti se pro oba typy objektů používá stejná tabulka s indexy. Okno lze využít mnoha způsoby: typicky se používalo například pro zobrazení dosaženého skóre a/nebo ubíhajícího času, protože tyto dva údaje by neměly scrollovat společně s pozadím.

Obrázek 8: Výsledek soutěže o převod obrázků z moderních her na displej Game Boye – perský princ.

5. Zobrazení spritů

Kromě pozadí (background) a okna (window) dokáže grafický subsystém herní konzole Game Boy pracovat i se sprity, tj. malými bitmapami, u nichž lze zvolit jejich pozici na displeji. Sprity mohou mít rozlišení 8×8 či alternativně 8×16 pixelů a může jich být současně zobrazeno až 40, ovšem kvůli určitým obvodovým omezením se na jednom obrazovém řádku může nacházet maximálně deset spritů – i to je ovšem poměrně velké číslo. Podobně jako v případě pozadí, jsou i sprity definované pomocí vzorků (patterns), které jsou uloženy v paměti na adresách 0×8000 až 0×8fff (tj. jedná se první oblast zmiňovanou v předchozích kapitolách). Kromě toho jsou každému spritu přiřazeny čtyři bajty uložené v tabulce atributů spritů (Sprite Attribute Table, taktéž nazývané OAM – Object Attribute Memory, protože sprity se na GB nazývaly jednoduše objekty). Tato paměťová oblast leží na adresách 0×fe00 až 0×fe9f a je rozdělena na 40 záznamů po čtyřech bajtech (40=počet spritů). V případě spritů o velikosti 8×16 jsou použity pouze sudé záznamy.

Obrázek 9: Výsledek soutěže o převod obrázků z moderních her na displej Game Boye – pravděpodobně Blackthorne.

Ony čtyři bajty rezervované pro každý sprite obsahují:

Byt Význam
0 vertikální souřadnice spritu ve framebufferu
1 horizontální souřadnice spritu ve framebufferu
2 index tvaru 0–255
3 bitové pole: priorita, zrcadlení okolo osy x, zrcadlení okolo osy y, index palety 0–1

Ještě se pro úplnost zmiňme o prioritách spritů. Sprity mají větší prioritu než pozadí v případě, že je jejich bit priority nastaven na nulu. Pokud je naopak nastaven na jedničku, je sprite zobrazen pouze nad barvou pozadí s indexem 0 a naopak se skrývá za barvami pozadí s indexy 1, 2 a 3 (dtto pro okno – window, které se zde chová stejně jako pozadí – background). Pokud se překrývají dva sprity, je jejich priorita určena nejdříve na základě jejich x-ové souřadnice (sprite více nalevo má vyšší prioritu). V případě, že je i jejich x-ová souřadnice shodná, určuje se priorita na základě indexu spritu. Toto chování může poněkud komplikovat vývoj herního engine, stejně tak jako fakt, že přímo v hardware není detekována kolize spritů, která se tak musí řešit programově.

Obrázek 10: Výsledek soutěže o převod obrázků z moderních her na displej Game Boye.

6. Zvukový subsystém Game Boye

Již v předešlé části tohoto seriálu jsme si řekli, že jak grafický, tak i zvukový subsystém je v herní konzoli Game Boy přímo součástí mikroprocesoru. Grafikou jsme se zabývali v předchozích kapitolách, pojďme si tedy říci některé základní informace o zvukovém subsystému. Ten je v mnoha ohledech podobný systému, který již známe z popisu herní konzole Nintendo Entertainment System (NES), i když i zde existuje několik rozdílů (filozofie zvukové syntézy je však podobná). Na konzoli Game Boy se zvuky a hudba generují s využitím čtyř zvukových kanálů, přičemž každý kanál měl odlišné vlastnosti (na rozdíl od čipu POKEY, který měl čtyři prakticky shodné zvukové kanály). Výstup z jednotlivých kanálů byl přiveden na interní piezoelektrický zvukový generátor a taktéž na sluchátkový výstup – zde je zajímavé, že se mohlo zvolit, zda se výstup z daného kanálu přenese do levého, pravého či obou sluchátek, takže se dal simulovat velmi primitivní stereo výstup.

Obrázek 11: Tracker spuštěný přímo na Game Boyi.

První zvukový kanál byl určen pro generování klasického obdélníkového signálu s volitelnou frekvencí a hlasitostí. U druhého zvukového kanálu se taktéž generoval obdélníkový signál, ovšem frekvence byla fixní. Zvukový subsystém Game Boye obsahoval i jednoduchý generátor obálky (envelope), která byla aplikovatelná na první i druhý kanál. Použití obálky je pro mikroprocesor mnohem méně náročnější, než programová změna hlasitosti, která musela být prováděna na těch zvukových čipech, které změnu hlasitosti s využitím obálky neumožňovaly. Zajímavější byl třetí zvukový kanál, protože ten dokázal přehrávat čtyřbitové vzorky uložené v bufferu o velikosti šestnáct bajtů (32 vzorků), takže se například perkusní nástroje mohly uložit do paměti jako krátké samply. Poslední zvukový kanál byl určen pro generování šumu a interně byl tvořen, podobně jako na většině zvukových čipů osmibitové éry, posuvným registrem se zpětnou vazbou (LFSR – linear feedback shift register).

Obrázek 12: Zvětšená (dosti nekvalitní) fotografie trackeru spuštěného přímo na Game Boyi.

7. Herní konzole Game Boy Color

Až doposud jsme se v tomto článku zabývali popisem původní kapesní herní konzole Game Boy vybavené monochromatickým pasivním displejem z tekutých krystalů. Již víme, že tato herní konzole začala být prodávána v roce 1989 a stala se velmi populární – dokonce tak populární, že o celých devět let později (tedy v roce 1998) na ni firma Nintendo navázala další podobnou a zpětně kompatibilní kapesní herní konzolí pojmenovanou příhodně Game Boy Color. Jednou z největších novinek, kterou tato konzole přinesla, byl totiž barevný displej z tekutých krystalů, jenž sice nabízel stejné rozlišení, jako displej původního Game Boye, tj. 160×144 pixelů, ovšem počet barvových odstínů se zvýšil z původní „palety“ čtyř odstínů šedi na patnáctibitovou barvovou škálu, tj. na 32768 barev (počet současně zobrazitelných barev byl však nižší). Kromě toho došlo i k dalším úpravám herní konzole; některé z těchto úprav se týkaly technického vybavení a další spíše designu konzole.

Obrázek 13: Jedna z variant herní konzole Game Boy Color.

Kromě nového typu displeje byla kapesní herní konzole Game Boy Color vybavena upraveným mikroprocesorem, který mohl být taktován buď hodinovým signálem o frekvenci 4,2 MHz (což přibližně odpovídá původnímu Game Boyi s taktéž 4,19 MHz), tak i dvojnásobnou frekvencí 8,4 MHz. I kapacita interní paměti RAM byla rozšířena, a to na celých 32 kB a 16 kB Video RAM (původní Game Boy měl 8kB RAM + 8kB Video RAM) – obě tyto změny samozřejmě pro programátory znamenaly možnost vývoje her, které mohly být více náročné na výpočetní výkon i na kapacitu paměti (větší nároky her jsou pochopitelné, i jen kvůli možnosti barevného zobrazení herní scény). Další, i když z komerčního hlediska méně významnou změnou, bylo doplnění sériové „drátové“ komunikační linky o sériovou „bezdrátovou“ linku používající infračervený paprsek. Teoreticky sice byly možnosti tohoto komunikačního rozhraní poměrně velké, ve skutečnosti však bylo využito jen u několika her, což později vedlo společnost Nintendo k tomu, že u novějších kapesních herních konzolí již toto rozhraní nepoužila.

Obrázek 14: Hra Q*Bert v barevné variantě.

8. Grafický režim herní konzole Game Boy Color

Podívejme se nyní podrobněji na grafický subsystém herní konzole Game Boy Color, protože právě zde došlo k největším změnám oproti původní kapesní konzoli Game Boy. Víme již, že displej zabudovaný do Game Boy Color měl rozlišení 160×144 pixelů a dokázal zobrazit 32768 barvových odstínů, což odpovídá pěti bitům na každou barvovou složku (to je pro většinu aplikací více než dostatečná barevná hloubka). Ovšem ve skutečnosti byl ve standardních grafických režimech počet současně zobrazitelných barev mnohem menší. Pro hry, které byly původně určeny pro Game Boy, se používal grafický režim, v němž bylo možné namísto původních čtyř odstínů šedi zobrazit až deset barev z vybrané barvové palety. Z těchto deseti barev byly čtyři barvy vyhrazené pro pozadí (tj. pro indexy barev 0 až 3), další tři barvy pro první barvovou paletu spritů a zbývající tři barvy pro druhou barvovou paletu spritů. Zajímavé bylo, jak se vlastně barvová paleta vybírala: při zapnutí Game Boye Color bylo možné kombinací tlačítek navolit jednu z přenastavených 12 barvových palet, takže se na základě volby uživatele původně „černobílá“ hra obarvila, samozřejmě mnohdy falešnými barvami.

Obrázek 15: Super Mario Deluxe, opět v barevné variantě.

CS24_early

Kromě výše zmíněného grafického režimu, který byl zaveden zejména z důvodu zpětné kompatibility s herní konzolí Game Boy, bylo možné použít i vylepšený grafický režim, v němž se mohlo na displeji současně zobrazit až 56 barev. Z těchto 56 barev připadalo celých 32 barev na vykreslení pozadí (background) a zbývajících 24 barev se používalo při zobrazování spritů (pro každý sprite se volily tři barvy a k dispozici bylo celkem 8 palet s těmito třemi barvami). Dalším vylepšením tohoto grafického režimu bylo rozšíření počtu vzorků (patterns) z 256 na 512, což opět mohlo vést k tomu, že herní scény mohly být složitější než na původním Game Boyi. Ovšem kromě standardních grafických režimů bylo možné grafický subsystém přenastavit tak, aby dokázal zobrazit větší počet barev, existují i triky umožňující současně zobrazit několik tisíc barev, ovšem v nižším rozlišení, než 160×144 pixelů (rozlišení LCD samozřejmě nelze změnit, ovšem při použití většího množství barev nebylo možné změnit barvy sousedních pixelů).

Obrázek 16: Legend of Zelda, hra, o níž jsme se již zmínili.

9. Odkazy na Internetu

  1. GameBoy : Using the GameBoy skeleton for serious business
    http://verhoe­ven272.nl/cgi-bin/FSgz?frut­tenboel%2FGame­boy&Fruttenbo­el+GameBoy&GBtop&pan­docs&GBcontent
  2. Epoch Game Pocket Computer Technical Document
    http://www.dis­gruntleddesig­ner.com/chris­c/GamePokekon/fi­les/Pokekon_Tech_No­tes.txt
  3. 78c06 opcodes
    http://www.dis­gruntleddesig­ner.com/chris­c/GamePokekon/fi­les/uPD78c06_Op­code_Table.html
  4. Handheld Games: Mattel
    http://www.han­dheldmuseum.com/Mat­tel/index.html
  5. Mattel's Auto Race
    http://www.han­dheldmuseum.com/Mat­tel/AutoRace.htm
  6. Mattel Auto Race
    http://en.wiki­pedia.org/wiki/Mat­tel_Auto_Race
  7. Mattel: Trivia and stories
    http://www.han­dheldmuseum.com/Mat­tel/Trivia.htm
  8. Football
    http://www.han­dhelden.com/mat­tel/Football.html
  9. A History of Gaming Platforms: Mattel Intellivision
    http://www.ga­masutra.com/php-bin/news_index­.php?story=18518
  10. Mighty Morphin' Battery-Powered Handheld Electronic Gaming Devices
    http://nickfro­myorku.wordpres­s.com/2011/03­/04/mighty-morphin'-battery-powered-handheld-electronic-gaming-devices/
  11. Liquid Crystal Display – LCD
    http://inventor­s.about.com/od/lstar­tinventions/a/LCD­.htm
  12. James Fergason
    http://www.in­vent.org/hall_of_fa­me/57.html
  13. James Fergason invented an improved liquid crystal display
    http://inventi­on.smithsonian­.org/centerpi­eces/quartz/in­ventors/ferga­son.html
  14. James Fergason
    http://en.wiki­pedia.org/wiki/Ja­mes_Fergason
  15. History of display technology
    http://en.wiki­pedia.org/wiki/Dis­play_examples
  16. Milton Bradley Microvision (U.S.) (1979, LCD, 9 Volt (1 or 2), Model# 4952)
    http://www.han­dheldmuseum.com/MB/u­VUS.htm
  17. The Microvision Simulation Project
    http://home.com­cast.net/~eichler2/mi­crovision/Micro­SimProject.htm
  18. Microvision game: Blockbuster
    http://home.com­cast.net/~eichler2/mi­crovision/Micro­BlockSim.htm
  19. Microvision game: Bowling
    http://home.com­cast.net/~eichler2/mi­crovision/Micro­BowlSim.htm
  20. Microvision game: Pinball
    http://home.com­cast.net/~eichler2/mi­crovision/Micro­PinSim.htm
  21. Microvision game: Vegas Slots
    http://home.com­cast.net/~eichler2/mi­crovision/MicroS­lotsSim.htm
  22. Microvision game: Phaser Strike
    http://home.com­cast.net/~eichler2/mi­crovision/MicroP­haserSim.htm
  23. Microvision game: Sea Duel
    http://home.com­cast.net/~eichler2/mi­crovision/Micro­SeaSim.htm
  24. The Atari 7800 Page
    http://www.ata­ri7800.org/
  25. Schéma zapojení herní konzole Atari 7800
    http://www.ata­ri7800.org/sche­matic.htm
  26. Emulátory Atari 7800 a dalších počítačů a konzolí firmy Atari
    http://www.ata­riportal.cz/sta­tic_emulace.php
  27. Atari 7800 (Wikipedia EN)
    http://en.wiki­pedia.org/wiki/A­tari_7800
  28. Atari 7800 ROMs
    http://www.ata­riage.com/sys­tem_items.html?Sys­temID=7800&Item­TypeID=ROM
  29. Sega Master System Hardware
    http://www.smspo­wer.org/Develop­ment/Documents
  30. SMS/GG hardware notes
    http://www.smspo­wer.org/upload­s/Development/smstech-20021112.txt?sid=28c­370e1fcac51d5774319979bf­96f4c
  31. Sega Master System Museum
    http://alexkid­d.com/
  32. Jadeite's Sega Master System Museum
    http://rp_gamer­.tripod.com/SMS/1­.html
  33. YM2414 FM Operator Type-LL (OPLL) Application Manual
    http://www.smspo­wer.org/maxim/Do­cuments/YM2413Ap­plicationManu­al?sid=28c370e1fcac51d57­74319979bf96f4c
  34. Sega Master System (Wikipedia)
    http://en.wiki­pedia.org/wiki/Se­ga_Master_Sys­tem
  35. Sega Card (Wikipedia)
    http://en.wiki­pedia.org/wiki/Se­ga_Card
  36. Sega Master System VDP documentation
    http://www.smspo­wer.org/upload­s/Development/msvdp-20021112.txt?sid=28c­370e1fcac51d5774319979bf­96f4c
  37. bee – The Multi-Console Emulator
    http://www.the­beehive.ws/
  38. Sega Retro: H.E.R.O.
    http://segare­tro.org/H.E.R­.O.
  39. Sega Retro: The Castle
    http://segare­tro.org/The_Cas­tle
  40. Sega Retro: Star Force
    http://segare­tro.org/Star_For­ce
  41. Sega Retro: Girl's Garden
    http://segare­tro.org/Girl's_Gar­den
  42. Sega Retro: The Black Onyx
    http://segare­tro.org/The_Blac­k_Onyx
  43. Catalog of non-gaming Vectrex demos
    http://vectrex­.wikia.com/wi­ki/Catalog_of_non-gaming_Vectrex_de­mos
  44. Nebula Commander
    http://www.clas­sicgamecreati­ons.com/nebula­.html
  45. ParaJVE – Parabellum's Java Vectrex Emulator, version 0.7.0
    http://www.vec­trex.fr/ParaJ­VE/
  46. Vectrex System History – The Mini Arcade
    http://vectrex­museum.com/vec­trexhistory.php
  47. GCE Vectrex: unique system, unique subculture. Part 2. Unique subculture
    http://lady-eklipse.livejou­rnal.com/
  48. Novinky.org: PSPVE v1.0.2 (Emulátor konzole Vectrex)
    http://psp.no­vinky.org/view­.php?cisloclan­ku=2008060010
  49. 3 Generations of Game Machine Architecture
    http://www.ata­riarchives.or­g/dev/CGEXPO99­.html
  50. Atari 5200
    http://www.ata­riage.com/sof­tware_search.html?Sys­temID=5200
  51. Atari 5200 Hardware and Accessories
    http://www.ata­riage.com/5200/ar­chives/hardwa­re.html
  52. Atari 5200 Screenshots
    http://www.ata­riage.com/sys­tem_items.html?Sys­temID=5200&Item­TypeID=SCREEN­SHOT
  53. History of video game consoles (second generation): Wikipedia
    http://en.wiki­pedia.org/wiki/His­tory_of_video_ga­me_consoles_(se­cond_generati­on)
  54. Atari 5200: Wikipedia
    http://en.wiki­pedia.org/wiki/A­tari_5200
  55. 6502 – the first RISC µP
    http://ericcle­ver.com/6500/
  56. The Video Game Console Library: Fairchild Channel F
    http://www.vi­deogameconsole­library.com/pg70-fairchild.htm
  57. Jerry Lawson
    http://www.vin­tage.org/2006/ma­in/bio.php?id=1586
  58. Fairchild Semiconductor F8
    http://www.nyx­.net/~lturner/pu­blic_html/F8_in­s.html
  59. Fairchild Channel F 101: A Beginner's Guide
    http://www.rac­ketboy.com/re­tro/fairchild-channel-f-101-a-beginners-guide
  60. Lowell O. Turner: This old microprocessor
    http://www.nyx­.net/~lturner/pu­blic_html/OldCPU­.html
  61. VC&G Interview: Jerry Lawson, Black Video Game Pioneer
    http://www.vin­tagecomputing­.com/index.php/ar­chives/545
  62. Fairchild Channel F
    http://en.wiki­pedia.org/wiki/Fa­irchild_Channel_F
  63. The Great CPU List Part II: Fairchild F8, Register windows
    http://jbayko­.sasktelwebsi­te.net/cpu2.html#Sec2Par­t2
  64. Fairchild F8
    http://en.wiki­pedia.org/wiki/Fa­irchild_F8
  65. 6+ Nostalgic Emulators For Vintage Video Gaming Enthusiasts (1972–1980)
    http://www.ma­keuseof.com/tag/6-nostalgic-emulators-vintage-video-gaming-enthusiasts-19721980/
  66. Channel F
    http://www.gi­antbomb.com/chan­nel-f/60–66/
  67. MESS Wiki
    http://www.mes­s.org/
  68. O2 Homepage
    http://www.the-nextlevel.com/o­dyssey2/
  69. Magnavox Odyssey2 (1978), Philips Videopac G7000 / C52 (1979)
    http://www.mes­s.org/sysinfo:o­dyssey2
  70. The Video Game Critic's Odyssey 2 Reviews
    http://videoga­mecritic.net/od­d.htm
  71. Computer Closet Collection: Magnavox Odyssey2
    http://www.com­putercloset.or­g/MagnavoxOdys­sey2.htm
  72. PHILIPS Videopac C52
    http://old-computers.com/mu­seum/computer­.asp?c=1060
  73. O2 Tech. Manual V.1.1 (PDF dokument)
    http://www.ata­rihq.com/danb/fi­les/o2doc.pdf
  74. Magnavox Odyssey2
    http://www.game-machines.com/con­soles/odyssey2­.php
  75. Magnavox Odyssey2 (Wikipedia EN)
    http://en.wiki­pedia.org/wiki/O­dyssey2
  76. Magnavox Odyssey2 Games (Wikipedia EN)
    http://en.wiki­pedia.org/wiki/Lis­t_of_Videopac_ga­mes
  77. The FPGA Videopac Project
    http://www.fpga­arcade.com/vi­deopac.htm
  78. Last minute addition: Odyssey 2 (P824×) VDC chip!
    http://ploguechip­sounds.blogspot­.com/2009/10/last-minute-addition-odyssey-2-p824×.html
  79. Space Invaders (Killer List of Video Games)
    http://www.arcade-museum.com/ga­me_detail.php?ga­me_id=9662
  80. Spy Hunter (Killer List of Video Games)
    http://www.arcade-museum.com/ga­me_detail.php?ga­me_id=9742
  81. Spy Hunter (Wikipedia)
    http://en.wiki­pedia.org/wiki/Spy_Hun­ter
  82. DP Interviews … Bob Whitehead
    http://www.di­gitpress.com/li­brary/intervi­ews/interview_bob_whi­tehead.html
  83. Atari Age: Video Chess
    http://www.ata­riage.com/sof­tware_page.html?Sof­twareID=1429
  84. Moby Games: Video Chess
    http://www.mo­bygames.com/ga­me/video-chess
  85. Wikipedia: Video Chess
    http://en.wiki­pedia.org/wiki/Vi­deo_Chess
  86. The Video Game Critic's Atari 2600 Reviews A
    http://videoga­mecritic.net/2600a­a.htm
  87. Classic gaming: Atari 2600 – Bezerk
    http://classic­gaming.gamespy­.com/View.php?vi­ew=GameMuseum­.Detail&id=13
  88. Classic gaming: Atari 2600 – E.T. the Extra-Terrestrial
    http://classic­gaming.gamespy­.com/View.php?vi­ew=GameMuseum­.Detail&id=290
  89. The Video Game Critic's Reviews With „ET“ Icon
    http://videoga­mecritic.net/i­con_ET.htm
  90. Atari 2600 ROMs
    http://www.ata­riage.com/sys­tem_items.html?Sys­temID=2600&Item­TypeID=ROM
  91. Atari 2600 ROMs – #, A through E (582K)
    http://www.ata­riage.com/2600/e­mulation/RomPac­ks/Atari2600_A-E.zip
  92. Atari 2600 ROMs – F through J (298K)
    http://www.ata­riage.com/2600/e­mulation/RomPac­ks/Atari2600_F-J.zip
  93. Atari 2600 ROMs – K through P (432K)
    http://www.ata­riage.com/2600/e­mulation/RomPac­ks/Atari2600_K-P.zip
  94. Atari 2600 ROMs – Q through S (539K)
    http://www.ata­riage.com/2600/e­mulation/RomPac­ks/Atari2600_Q-S.zip
  95. Atari 2600 ROMs – T through Z (260K)
    http://www.ata­riage.com/2600/e­mulation/RomPac­ks/Atari2600_T-Z.zip
  96. Top 10 Best-Selling Atari 2600 Games
    http://retro.ig­n.com/articles/903/903­024p1.html
  97. Top 100 Games Hits (past week) Atari 2600 VCS
    http://www.ata­rimania.com/top-atari-atari-2600-vcs-_G2_7.html
  98. Visitor Top 25 Total Downloads
    http://www.ata­rimania.com/pge­mainsoft.awp?ty­pe=G&system=2
  99. Atari 2600 FAQ
    http://www.ata­riage.com/2600/fa­q/index.html
  100. Atari 2600 Consoles and Clones
    http://www.ata­riage.com/2600/ar­chives/consoles­.html
  101. Atari 2600 Programming (odkazy)
    http://www.ata­riage.com/2600/pr­ogramming/index­.html
  102. Design case history: the Atari Video Computer System
    http://www.ata­riage.com/2600/ar­chives/design_ca­se.html?Syste­mID=2600
  103. Atari 2600 (Wikipedia)
    http://en.wiki­pedia.org/wiki/A­tari_2600
  104. Schémata zapojení Atari 2600 (překresleno)
    http://www.ata­riage.com/2600/ar­chives/schema­tics_pal/index­.html
  105. Schémata zapojení Atari 2600 (skeny původních schémat)
    http://www.vin­tagegamingandmo­re.com/atari-2600-schematics
  106. Adventure for the Atari 2600 Video Game Console by Warren Robinett
    http://www.wa­rrenrobinett.com/ad­venture/index­.html
  107. Mapa hry Adventure
    http://www.wa­rrenrobinett.com/ad­venture/adv-map1.gif
  108. Jay Glenn Miner Interview Pasadena, September 1992
    http://www.ra­bayjr.com/jay_mi­ner.htm
  109. Magnavox and the Odyssey systems
    http://www.pong-story.com/odys­sey_other.htm
  110. Magnavox Odyssey First home video game console
    http://www.pong-story.com/odys­sey.htm
  111. The Odyssey in France
    http://www.pong-story.com/ody­pubfr.htm
  112. Magnavox Odyssey at old-computers.org
    http://www.old-computers.com/mu­seum/photos.as­p?t=1&c=883&st=2
  113. Magnavox Odyssey Series (Wikipedia)
    http://en.wiki­pedia.org/wiki/Mag­navox_Odyssey_Se­ries
  114. MAGNAVOX ODYSSEY (1971)
    http://balduin­.wordpress.com/2007/10­/15/magnavox-odyssey-1971/
  115. Magnavox Odyssey FAQ
    http://www.pong-story.com/o1faq­.txt
  116. Richard Hewison – Level 9: Past masters of the adventure game
    http://www.sin­clairlair.co.uk/le­vel9.htm
  117. Level 9 Computing
    http://en.wiki­pedia.org/wiki/Le­vel9
  118. Worm in Paradise – Level 9 (CZ recenze)
    http://sincla­irzxspectrum.cz/sof­tware/recenze/wor­m_in_paradise­.php
  119. World of Spectrum: Jewels of Darkness
    http://www.wor­ldofspectrum.or­g/infoseekid.cgi?id=0011­293
  120. World of Spectrum: Hry společnosti Level 9
    http://www.wor­ldofspectrum.or­g/infoseekpub­.cgi?regexp=^Le­vel+9+Computin­g+Ltd$&loadpic­s=1
  121. Adventure International
    http://en.wiki­pedia.org/wiki/Ad­venture_Inter­national
  122. Stránky o firmě Infocom a jejích hrách
    http://www.csd­.uwo.ca/Infocom/
  123. atari.fandal.cz
    http://atari.fan­dal.cz/games.php
  124. Zork I: The Great Underground Empire (Moby games)
    http://www.mo­bygames.com/ga­me/dos/zork-the-great-underground-empire/review­s/reviewerId,4465/
  125. Zork I (Wikipedia)
    http://en.wiki­pedia.org/wiki/Zor­k_I
  126. Zork I Walkthrough
    http://www.ga­mefaqs.com/pc/5644­46-zork-i/faqs
  127. Zork I: The Great Underground Empire
    http://www.csd­.uwo.ca/Infocom/zor­k1.html
  128. Zork II: The Wizard of Frobozz (Moby games)
    http://www.mo­bygames.com/ga­me/dos/zork-ii-the-wizard-of-frobozz
  129. Zork II (Wikipedia)
    http://en.wiki­pedia.org/wiki/Zor­k_II
  130. Zork II: The Wizard of Frobozz
    http://www.csd­.uwo.ca/Infocom/zor­k2.html
  131. Zork III: The Dungeon Master (Moby games)
    http://www.mo­bygames.com/ga­me/zork-iii-the-dungeon-master
  132. Zork III (Wikipedia)
    http://en.wiki­pedia.org/wiki/Zor­k_III
  133. SAGA – Scott Adams Grand Adventure
    http://www.msa­dams.com/index­.htm
  134. Player 4 Stage 1: The Productivity Eaters
    http://www.the­doteaters.com/p4_sta­ge1.php
  135. Textovky.cz – Textovkářův ráj
    http://www.tex­tovky.cz/
  136. Scott Adams (game designer, Wikipedia)
    http://en.wiki­pedia.org/wiki/Scot­t_Adams_(game_de­signer)
  137. Interview with Scott Adams (Adventure Classic Gaming)
    http://www.ad­ventureclassic­gaming.com/in­dex.php/site/in­terviews/129/
  138. Scott Adams game interpreter
    http://www.ifar­chive.org/inde­xes/if-archiveXscott-adamsXinterpre­ters.html
  139. Ohlédnutí za herní historií: Textovky
    http://www.slu­necnice.cz/ti­py/ohlednuti-za-herni-historii-textovky/
  140. BASIC Computer Games (published 1978) – Hammurabi
    http://atariar­chives.org/ba­sicgames/show­page.php?page=78
  141. Hamurabi – zdrojový kód v BASICu
    http://www.dun­nington.u-net.com/public/ba­sicgames/HMRA­BI
  142. Hamurabi (Wikipedia)
    http://en.wiki­pedia.org/wiki/Ha­murabi
  143. Hammurabi naprogramovaný v JavaScriptu
    http://www.ham­murabigame.com/ham­murabi-game.php
  144. Empire – hratelné demo (připojení přes telnet)
    http://198.212­.189.111/
  145. Empire Classic (video game)
    http://en.wiki­pedia.org/wiki/Em­pire_Classic_(com­puter_game)
  146. Wolfpack empire (moderní verze hry Empire)
    http://www.wol­fpackempire.com/de­fault.htm
  147. FOCAL (programming language, Wikipedia)
    http://en.wiki­pedia.org/wiki/FO­CAL_(programmin­g_language)
  148. Forty Years of Lunar Lander
    http://techno­logizer.com/2009/07­/19/lunar-lander/
  149. Category: Timelines of video games (Wikipedia)
    http://en.wiki­pedia.org/wiki/Ca­tegory:Timeli­nes_of_video_ga­mes
  150. Dennis M. Ritchie – home page
    http://cm.bell-labs.com/who/dmr­/index.html
  151. Space Travel: Exploring the solar system and the PDP-7
    http://cm.bell-labs.com/who/dmr­/spacetravel.html
  152. Yes, A video game contributed to Unix Development
    http://people­.fas.harvard.e­du/~lib215/re­ference/histo­ry/spacetravel­.html
  153. Space Travel (video game)
    http://en.wiki­pedia.org/wiki/Spa­ce_Travel_(vi­deo_game)
  154. Computer and Video Game History
    http://inventor­s.about.com/li­brary/inventor­s/blcomputer_vi­deogames.htm
  155. OXO (Wikipedia)
    http://en.wiki­pedia.org/wiki/O­XO
  156. Tennis for Two (Wikipedia)
    http://en.wiki­pedia.org/wiki/Ten­nis_for_Two
  157. Who really invented the video game?
    http://www.ata­rimagazines.com/cva/v1n­1/inventedgames­.php
  158. The Video Game Revolution
    http://www.pbs­.org/kcts/vide­ogamerevoluti­on/history/ti­meline.html
  159. The First Video Game?
    http://www.bnl­.gov/bnlweb/his­tory/higinbot­ham.asp
  160. První část schématu analogového „počítače“ se hrou Tennis for Two:
    http://www.bnl­.gov/bnlweb/his­tory/images/Vi­deogameSchema­tic1.jpg
  161. Druhá část schématu analogového „počítače“ se hrou Tennis for Two:
    http://www.bnl­.gov/bnlweb/his­tory/images/Vi­deogameSchema­tic2.jpg
  162. MUD (stránka jednoho z tvůrců hry)
    http://www.mud­.co.uk/richar­d/mud.htm
  163. MUD1 (Wikipedia)
    http://en.wiki­pedia.org/wiki/MUD1
  164. Text-based game (Wikipedia)
    http://en.wiki­pedia.org/wiki/Text-based_game
  165. Text mode games
    http://www.tex­tmodegames.com/
  166. Why Text-Mode Games are Cool
    http://www.tex­tmodegames.com/ar­ticles/why-text-mode-games-are-cool.html
  167. The Dragon Ate My Homework
    http://www.wi­red.com/wired/ar­chive/1.03/mud­s.html
  168. Hunt the Wumpus
    http://en.wiki­pedia.org/wiki/Hun­t_the_Wumpus
  169. A Brief History of „Rogue“
    http://www.wichman­.org/roguehis­tory.html
  170. Rogue (video game) (Wikipedia)
    http://en.wiki­pedia.org/wiki/Ro­gue_(computer_ga­me)
  171. Roguish Charm
    http://www.1up­.com/features/es­sential-50-rogue
  172. Colossal Cave Adventure Map
    http://www.spi­tenet.com/cave/
  173. Colossal Cave Adventure
    http://www.ric­kadams.org/ad­venture/
  174. Here's where it all began…
    http://www.ric­kadams.org/ad­venture/a_his­tory.html
  175. David Kinder's guide to Adventure downloads at the Interactive Fiction Archive
    http://www.ric­kadams.org/ad­venture/e_dow­nloads.html
  176. Everything you ever wanted to know about …the magic word XYZZY
    http://www.ric­kadams.org/ad­venture/c_xyz­zy.html
  177. Colossal Cave Adventure jako Java Applet
    http://www.as­trodragon.com/zplet/ad­vent.html
  178. Colossal Cave Adventure
    http://en.wiki­pedia.org/wiki/Co­lossal_Cave_Ad­venture
  179. iPod Adventure Game
    http://hamimi­ami.com/ipod/ad­venture/index­.html

Byl pro vás článek přínosný?

Autor článku

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