Obsah
1. Historie vývoje počítačových her (30.část – vývoj aplikací pro konzole Game Boy a Game Boy Color)
3. Způsob uložení vzorků (patterns) v paměti
4. Druhý typ grafického objektu – window
6. Zvukový subsystém Game Boye
7. Herní konzole Game Boy Color
8. Grafický režim herní konzole Game Boy Color
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 doublebufferingu 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ě.
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
- GameBoy : Using the GameBoy skeleton for serious business
http://verhoeven272.nl/cgi-bin/FSgz?fruttenboel%2FGameboy&Fruttenboel+GameBoy&GBtop&pandocs&GBcontent - Epoch Game Pocket Computer Technical Document
http://www.disgruntleddesigner.com/chrisc/GamePokekon/files/Pokekon_Tech_Notes.txt - 78c06 opcodes
http://www.disgruntleddesigner.com/chrisc/GamePokekon/files/uPD78c06_Opcode_Table.html - Handheld Games: Mattel
http://www.handheldmuseum.com/Mattel/index.html - Mattel's Auto Race
http://www.handheldmuseum.com/Mattel/AutoRace.htm - Mattel Auto Race
http://en.wikipedia.org/wiki/Mattel_Auto_Race - Mattel: Trivia and stories
http://www.handheldmuseum.com/Mattel/Trivia.htm - Football
http://www.handhelden.com/mattel/Football.html - A History of Gaming Platforms: Mattel Intellivision
http://www.gamasutra.com/php-bin/news_index.php?story=18518 - Mighty Morphin' Battery-Powered Handheld Electronic Gaming Devices
http://nickfromyorku.wordpress.com/2011/03/04/mighty-morphin'-battery-powered-handheld-electronic-gaming-devices/ - Liquid Crystal Display – LCD
http://inventors.about.com/od/lstartinventions/a/LCD.htm - James Fergason
http://www.invent.org/hall_of_fame/57.html - James Fergason invented an improved liquid crystal display
http://invention.smithsonian.org/centerpieces/quartz/inventors/fergason.html - James Fergason
http://en.wikipedia.org/wiki/James_Fergason - History of display technology
http://en.wikipedia.org/wiki/Display_examples - Milton Bradley Microvision (U.S.) (1979, LCD, 9 Volt (1 or 2), Model# 4952)
http://www.handheldmuseum.com/MB/uVUS.htm - The Microvision Simulation Project
http://home.comcast.net/~eichler2/microvision/MicroSimProject.htm - Microvision game: Blockbuster
http://home.comcast.net/~eichler2/microvision/MicroBlockSim.htm - Microvision game: Bowling
http://home.comcast.net/~eichler2/microvision/MicroBowlSim.htm - Microvision game: Pinball
http://home.comcast.net/~eichler2/microvision/MicroPinSim.htm - Microvision game: Vegas Slots
http://home.comcast.net/~eichler2/microvision/MicroSlotsSim.htm - Microvision game: Phaser Strike
http://home.comcast.net/~eichler2/microvision/MicroPhaserSim.htm - Microvision game: Sea Duel
http://home.comcast.net/~eichler2/microvision/MicroSeaSim.htm - The Atari 7800 Page
http://www.atari7800.org/ - Schéma zapojení herní konzole Atari 7800
http://www.atari7800.org/schematic.htm - Emulátory Atari 7800 a dalších počítačů a konzolí firmy Atari
http://www.atariportal.cz/static_emulace.php - Atari 7800 (Wikipedia EN)
http://en.wikipedia.org/wiki/Atari_7800 - Atari 7800 ROMs
http://www.atariage.com/system_items.html?SystemID=7800&ItemTypeID=ROM - Sega Master System Hardware
http://www.smspower.org/Development/Documents - SMS/GG hardware notes
http://www.smspower.org/uploads/Development/smstech-20021112.txt?sid=28c370e1fcac51d5774319979bf96f4c - Sega Master System Museum
http://alexkidd.com/ - Jadeite's Sega Master System Museum
http://rp_gamer.tripod.com/SMS/1.html - YM2414 FM Operator Type-LL (OPLL) Application Manual
http://www.smspower.org/maxim/Documents/YM2413ApplicationManual?sid=28c370e1fcac51d5774319979bf96f4c - Sega Master System (Wikipedia)
http://en.wikipedia.org/wiki/Sega_Master_System - Sega Card (Wikipedia)
http://en.wikipedia.org/wiki/Sega_Card - Sega Master System VDP documentation
http://www.smspower.org/uploads/Development/msvdp-20021112.txt?sid=28c370e1fcac51d5774319979bf96f4c - bee – The Multi-Console Emulator
http://www.thebeehive.ws/ - Sega Retro: H.E.R.O.
http://segaretro.org/H.E.R.O. - Sega Retro: The Castle
http://segaretro.org/The_Castle - Sega Retro: Star Force
http://segaretro.org/Star_Force - Sega Retro: Girl's Garden
http://segaretro.org/Girl's_Garden - Sega Retro: The Black Onyx
http://segaretro.org/The_Black_Onyx - Catalog of non-gaming Vectrex demos
http://vectrex.wikia.com/wiki/Catalog_of_non-gaming_Vectrex_demos - Nebula Commander
http://www.classicgamecreations.com/nebula.html - ParaJVE – Parabellum's Java Vectrex Emulator, version 0.7.0
http://www.vectrex.fr/ParaJVE/ - 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