Historie vývoje počítačových her (23.část - herní konzole Nintendo Entertainment System)

19. 4. 2012
Doba čtení: 26 minut

Sdílet

Dnes se začneme zabývat popisem osmibitové herní konzole Nintendo Entertainment System (NES). Jedná se o nejúspěšnější osmibitovou herní konzoli vůbec, protože se odhaduje, že bylo prodáno téměř 62 milionů kusů tohoto zařízení a navíc vzniklo přibližně padesát více či méně kompatibilních klonů NESu.

Obsah

1. Historie vývoje počítačových her (23.část – herní konzole Nintendo Entertainment System)

2. Základní technické parametry herní konzole NES

3. Mikroprocesor Ricoh 2A03

4. Zvukový subsystém NESu

5. Generátor šumu a mapa řídicích registrů zvukového subsystému

6. Grafický subsystém NESu

7. Datové struktury použité pro vytvoření obrázku pozadí

8. Sprity

9. Odkazy na Internetu

1. Historie vývoje počítačových her (23.část – herní konzole Nintendo Entertainment System)

V již osmdesáté čtvrté části seriálu o historii vývoje výpočetní techniky se budeme zabývat popisem osmibitové herní konzole nazvané Nintendo Entertainment System, zkráceně NES, která byla navržena a následně vyráběna společností Nintendo Corporation. Tato firma se již před uvedením NESu na trh zabývala konstrukcí video automatů a taktéž jednoúčelových herních konzolí s jedním či dvěma LCD (v našich zemích jsou známější podobné konzole vyráběné v SSSR). Stejně jako herní konzole firmy Sega, i konzole NES pochází z Japonska, kde se prodávala pod názvem Family Computer neboli Famicom (pod stejným názvem se ostatně tato konzole prodávala i v některých dalších asijských zemích). Jedná se o nejúspěšnější osmibitovou herní konzoli vůbec, a to jak z pohledu celkového počtu prodaných kusů, tak i při pohledu na časové období, kdy byla tato konzole vyráběna a prodávána.

Obrázek 1: Osmibitová herní konzole Nintendo Entertainment System (NES).

Uvádí se, že bylo vyrobeno téměř 62 milionů kusů NESu, což je velmi vysoké číslo, a to například i v porovnání s další (již popsanou) úspěšnou herní konzolí Atari 2600, jíž bylo prodáno celkem 30 milionů (do obou čísel nejsou započítány klony konzole, které většinou nebyly korektně licencovány). Zajímavá je i „morální životnost“ NESu, protože tato konzole byla představena již v roce 1983 v Japonsku a i když byl oficiálně prodej NESu ukončen „již“ v roce 1995 (tj. po dvanácti letech), ve skutečnosti výroba pokračovala až do roku 2003 a ještě do roku 2007 nabízela firma Nintendo možnost oprav NESu (posléze byla tato nabídka stažena, protože již nebyly k dispozici příslušné náhradní díly). Právě na příkladu NESu a taktéž herní konzole Atari 2600 je možné ukázat, že se vývoj herních konzolí poměrně podstatným způsobem odlišuje od vývoje osobních počítačů.

Obrázek 2: K herní konzoli NES postupně vzniklo velké množství různých přídavných zařízení a doplňků, například rozhraní pro MIDI či disketová jednotka používající speciální diskety o průměru dva palce. Zajímavý byl taktéž modem prodávaný zejména v Japonsku, který měl být používán především pro hraní loterií.

Zatímco v oblasti osobních počítačů (a taktéž pracovních stanic či serverů) panuje kontinuální vývoj, u herních konzolí můžeme vidět jasně patrné skoky ve výpočetním výkonu či v grafických a zvukových schopnostech konzolí a taktéž dosti dlouhou morální životnost těchto zařízení, která vlastně vůbec nekoresponduje s technickými parametry. Prodej konzole s osmibitovým mikroprocesorem a pouhými dvěma kilobajty operační paměti RAM v roce 2003 je totiž z technologického hlediska vlastně docela nesmyslný, z herního hlediska tomu však může být úplně jinak.

Obrázek 3: Rozhraní pro MIDI určené pro NES.

2. Základní technické parametry herní konzole NES

Konstruktéři herní konzole NES stáli před podobným problémem jako konstruktéři všech dalších osmibitových konzolí: jakým způsobem dosáhnout uspokojivého výpočetního výkonu, dobrých grafických i zvukových schopností, a to za co nejnižší výrobní cenu, která je samozřejmě ve velmi konkurenčním prostředí herních konzolí jedním z nejdůležitějších parametrů. Výsledkem snahy o dobré vybalancování výrobní ceny a schopností konzole byl systém se čtyřmi hlavními čipy: osmibitovým mikroprocesorem Ricoh 2A03 (kapitola 3) obsahujícím i zvukový generátor (kapitola 4), dále čipem RP2C02 resp. RP2C07 (PPU) zajišťujícím generování grafického obrazu (kapitola 6) a dvojicí paměťových čipů. Jeden paměťový čip přitom tvořil programovou a datovou RAM, druhý čip sloužil grafickému procesoru pro uložení vzorků, z nichž se skládalo pozadí a sprity, popř. i další důležité informace nutné pro vygenerování grafického obrazu.

Obrázek 4: Herní série The Legend of Zelda

Systém Nintendo Entertainment System samozřejmě podporoval (přesněji řečeno přímo vyžadoval) použití zásuvných modulů s hrami či jinými aplikacemi. Tyto moduly mohly obsahovat jak paměť ROM/EPROM s binárním kódem hry i se všemi statickými daty (maximální adresovatelná kapacita dosahovala 32 kB, zvýšit ji bylo možné klasicky přes paměťové banky), tak i paměť RAM, jejíž typická kapacita byla 8 kB. Pomocí zásuvného modulu bylo možné rozšířit i kapacitu video paměti. Schéma zapojení jedné z variant herní konzole Nintendo Entertainment System je dostupné například na této adrese: http://nesdev­.parodius.com/Ntd_8bi­t.jpg. Povšimněte si především způsobu vzájemného propojení mikroprocesoru (CPU) s grafickým procesorem (PPU) pomocí datové sběrnice a šesti bitů adresové sběrnice i toho, jak jsou od sebe odděleny oba čipy RAM (ve druhém případě je adresa zachycena do latche LS 373 pomocí signálu ALE).

Obrázek 5: Screenshot ze hry The Legend of Zelda.

Užitečné odkazy:

  1. Nocash NES Specs
    http://nocash­.emubase.de/e­verynes.htm
  2. Nintendo Entertainment System
    http://cs.wiki­pedia.org/wiki/NES
  3. Nintendo Entertainment System Architecture
    http://nesdev­.icequake.net/nes­.txt

Obrázek 6: Další screenshot ze hry The Legend of Zelda.

3. Mikroprocesor Ricoh 2A03

Ústředním čipem, na němž je postavena herní konzole NES, je mikroprocesor Ricoh 2A03, popř. Ricoh 2A07 (tyto čipy se od sebe liší především odlišným časováním a jsou určeny pro různé televizní normy). Konstruktéři v případě mikroprocesoru 2A03/2A07 vsadili na osvědčenou jistotu, protože tento čip je založen na jádru oblíbeného mikroprocesoru MOS 6502, jenž byl v různých variantách použit v několika dalších osmibitových herních konzolích (Atari 2600, Atari 5200, Atari 7800) a taktéž v mnoha domácích osmibitových mikropočítačích (Atari 400/800/800XL­/130XE a varianty, Apple I, Apple II, BBC Micro, Commodore C64…). V případě čipů 2A03/2A07 však došlo k určitému zjednodušení jádra původního MOS 6502; chyběl například nepříliš často používaný režim pro práci s BCD čísly, kdy se v jednom bajtu ukládaly dvě číslice 0–9, tj. rozsah ukládaných hodnot byl 00 až 99 a nikoli 0 a 255. Původní mikroprocesor MOS 6502 mohl být do tohoto režimu přepnut pomocí instrukce SED, bližší informace o tomto režimu lze najít na adrese http://www.6502­.org/tutorial­s/decimal_mode­.html.

Obrázek 7: Mikroprocesor Ricoh 2A03.

Zatímco jádro mikroprocesoru bylo nepatrně zjednodušeno, byly na čip Ricoh 2A03/2A07 přidány další podpůrné moduly, díky jejichž existenci mohlo být redukováno celkové množství integrovaných obvodů, z nichž se herní konzole NES skládala. Jednalo se o následující moduly, z nichž některé budou popsány v navazujících kapitolách:

  • Programovatelný „pomalý“ časovač se základní frekvencí 240 Hz, z níž mohly být odvozeny další frekvence (48, 60, 96, 120 a 192 Hz).
  • Modul pro přímý přístup do paměti a přenosy dat (DMA).
  • Dva programovatelné generátory obdélníkového signálu používané pro tvorbu zvuků.
  • Jeden generátor trojúhelníkového signálu, taktéž používaný pro tvorbu zvuků.
  • Konfigurovatelný generátor šumu tvořený posuvným registrem se zpětnou vazbou.
  • Modul pro přehrávání samplů (D/A převodník).
              ___  ___
             |o  \/   |
ROUT  <--- 01]        [40 <---  VCC
COUT  <--- 02]        [39 --->  $4016W.0
/RES  ---> 03]        [38 --->  $4016W.1
A0    <--- 04]        [37 --->  $4016W.2
A1    <--- 05]        [36 --->  /$4016R
A2    <--- 06]        [35 --->  /$4017R
A3    <--- 07]        [34 --->  R/W
A4    <--- 08]        [33 <---  /NMI
A5    <--- 09]        [32 <---  /IRQ
A6    <--- 10]  2A03  [31 --->  PHI2
A7    <--- 11]        [30 <---  ---
A8    <--- 12]        [29 <---  CLK
A9    <--- 13]        [28 <--->  D0
A10   <--- 14]        [27 <--->  D1
A11   <--- 15]        [26 <--->  D2
A12   <--- 16]        [25 <--->  D3
A13   <--- 17]        [24 <--->  D4
A14   <--- 18]        [23 <--->  D5
A15   <--- 19]        [22 <--->  D6
VEE   ---> 20]        [21 <--->  D7
             |________|

Obrázek 8: Schéma pinů mikroprocesoru Ricoh 2A03.

Užitečné odkazy:

  1. NesDev
    http://nesdev­.parodius.com/
  2. 2A03 technical reference
    http://nesdev­.parodius.com/2A03%20­technical%20re­ference.txt
  3. NES Dev wiki: 2A03
    http://wiki.nes­dev.com/w/index­.php/2A03
  4. Ricoh 2A03
    http://en.wiki­pedia.org/wiki/Ri­coh_2A03
  5. 2A03 pinouts
    http://nesdev­.parodius.com/2A03_pi­nout.txt

Obrázek 9: Další pohled na mikroprocesor Ricoh 2A03.

4. Zvukový subsystém NESu

V této kapitole si řekneme základní informace o zvukovém subsystému herní konzole NES. Z předchozího textu již víme, že je tento subsystém přímo součástí integrovaného obvodu s mikroprocesorem 2A03/2A07. Zvuk či melodie mohly být tvořeny v pěti na sobě nezávislých kanálech. Jedná se o dva generátory obdélníkového signálu s volitelnou amplitudou, frekvencí a střídou, dále o generátor trojúhelníkového signálu s volitelnou frekvencí a automaticky měněnou amplitudou, generátor šumu, u nějž bylo možné zvolit režim činnosti, amplitudu a frekvenci posunu a konečně o D/A převodník, který mohl být buď ovládán přímo programově, nebo bylo umožněno načítat zvukové vzorky (samply) uložené v paměti ROM či RAM. Zajímavé je, že zvukový subsystém neobsahoval žádné filtry, na rozdíl od (jednoduchých) filtrů nabízených čipem POKEY (Atari) či komplexnějších filtrů použitých v čipu SID (Commodore C64).

Obrázek 10: Super Mario Bros ve verzi pro NES.

Taktéž podpora pro tvarování obálky generovaných signálů byla pouze dosti jednoduchá (tuto funkcionalitu však neměl ani POKEY, kde se musela řešit programovými cestami). Čip 2A03/2A07 obsahoval dva piny, na které byl přiváděn výstup ze všech pěti zvukových kanálů. Na pin číslo 1 (ROUT) byl přiváděn výstup z obou generátorů obdélníkových signálů, zatímco výstup z ostatních třech kanálů byl přiváděn na pin číslo 2 (COUT). V herní konzoli NES byl výstup z obou kanálů sloučen a analogově sečten s mikrofonním vstupem (ten se příliš často nepoužíval) a výsledný analogový signál byl zesílen a dále zpracován.

Obrázek 11: Další screenshot hry Super Mario Bros.

Na ovládání nejjednodušší byly oba generátory obdélníkových signálů, u nichž bylo možné měnit zejména tři základní parametry: amplitudu (4 bity = 16 úrovní), frekvenci (přibližně 54,6 Hz až 12,4 kHz podle použité televizní normy, frekvenci bylo možné měnit plynule) a střídu (1:8, 1:4, 1:2, 3:4). U generátoru trojúhelníkového signálu se měnila jeho úroveň (4 bity = 16 úrovní) automaticky, ale programově bylo možné nastavit frekvenci změn signálu v rozsahu 27,3 Hz až 55,9 kHz (opět v závislosti na použité televizní normě). Generátor šumu si popíšeme v následující kapitole, takže nám zbývá už jen pátý kanál, jímž je D/A převodník. Ten bylo možné ovládat programově změnou jednoho řídicího registru (sedmibitová hodnota), popř. byla podporována funkce automatického přehrávání vzorků (samplů) z ROM, přičemž při načítání samplu došlo k pozastavení mikroprocesoru. Při přehrávání vzorků byla frekvence nastavitelná v rozsahu 4,2 kHz až 33,5 kHz (ovšem zvolit bylo možné jen šestnáct přednastavených frekvencí).

42

Obrázek 12: Poslední screenshot ze hry The Legend of Zelda ve verzi pro NES.

5. Generátor šumu a mapa řídicích registrů zvukového subsystému

Podobně jako zvukové čipy POKEY či AY-3–8910, obsahoval i zvukový subsystém herní konzole NES generátor šumu. Ten byl vytvořen pomocí patnáctibitového posuvného registru se zpětnou vazbou: vybrané dva bity posuvného registru byly přes hradlo XOR přesunuty na jeho začátek, přičemž se obsah registru mezitím posunul o jeden bit doleva. Zvukový výstup byl generován na základě aktuálního obsahu bitu s indexem 14. Posuvný registr mohl pracovat ve dvou režimech činnosti: „krátkém“ a „dlouhém“. Ve dlouhém režimu se generovala sekvence pseudonáhodných bitů s periodou 32767 vzorků (zbývající 32768 stav nemohl být použit, protože se jednalo o nulovou hodnotu spadající mimo generovanou sekvenci). V krátkém režimu byla perioda pseudonáhodného signálu kratší: 93 bitů/vzorků. Samozřejmě bylo taktéž možné měnit frekvenci posunu, a to přibližně v rozsahu 29,3 Hz až 447 kHz (opět v závislosti na tom, jaká televizní norma byla použita).

                 <=======================

+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
| 14 | 13 | 12 | 11 | 10 |  9 |  8 |  7 |  6 |  5 |  4 |  3 |  2 |  1 |  0 |
+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
   v    v        _____                                                   ^
   v    +-------| xor |--------------------------------------------------+
   +------------|_____|

Obrázek 13: Konfigurace generátoru šumu v „dlouhém“ režimu.

                 <=======================

+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
| 14 | 13 | 12 | 11 | 10 |  9 |  8 |  7 |  6 |  5 |  4 |  3 |  2 |  1 |  0 |
+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
   v                             v        _____                          ^
   v                             +-------| xor |-------------------------+
   +-------------------------------------|_____|

Obrázek 14: Konfigurace generátoru šumu v „krátkém“ režimu.

Na závěr si ještě uvedeme mapu všech 22 řídicích registrů ovlivňujících funkci všech zvukových generátorů:

Adresa Název řídicího registru Význam
$4000 SQ1_VOL Duty and volume for square wave 1
$4001 SQ1_SWEEP Sweep control register for square wave 1
$4002 SQ1_LO Low byte of period for square wave 1
$4003 SQ1_HI High byte of period and length counter value for square wave 1
$4004 SQ2_VOL Duty and volume for square wave 2
$4005 SQ2_SWEEP Sweep control register for square wave 2
$4006 SQ2_LO Low byte of period for square wave 2
$4007 SQ2_HI High byte of period and length counter value for square wave 2
$4008 TRI_LINEAR Triangle wave linear counter
$4009 Not used
$400A TRI_LO Low byte of period for triangle wave
$400B TRI_HI High byte of period and length counter value for triangle wave
$400C NOISE_VOL Volume for noise generator
$400D Not used
$400E NOISE_LO Period and waveform shape for noise generator
$400F NOISE_HI Length counter value for noise generator
$4010 DMC_FREQ Play mode and frequency for DMC samples
$4011 DMC_RAW 7-bit DAC
$4012 DMC_START Start of DMC waveform is at address $C000 + $40*$xx
$4013 DMC_LEN Length of DMC waveform is $10*$xx + 1 bytes (128*$xx + 8 samples)
$4014 OAM_DMA Writing $xx copies 256 bytes by reading from $xx00-$xxFF and writing to $2004 (OAM data)
$4015 SND_CHN Sound channels enable and status

Obrázek 15: Jeden z trackerů pro herní konzoli NES: Nerd Tracker.

Užitečné odkazy:

  1. How to make NES music
    http://blog.snug­sound.com/2008/08­/how-to-make-nes-music.html
  2. Nintendo Entertainment System Architecture
    http://nesdev­.icequake.net/nes­.txt
  3. MIDINES
    http://www.wa­yfar.net/0×f0000­0_overview.php
  4. FamiTracker
    http://famitrac­ker.com/
  5. nerdTracker II
    http://nesdev­.parodius.com/nt2/

Obrázek 16: FamiTracker pro PC, který dokáže generovat hudbu pro konzoli NES.

6. Grafický subsystém NESu

Grafický subsystém použitý v herní konzoli Nintendo Entertainment System byl v mnoha ohledech ještě zajímavější než její zvukový subsystém. Víme již, že herní konzole NES existovala ve variantě pro televizní normu NTSC i pro normu PAL. Konzole určené pro televizní normu PAL obsahovaly mikroprocesor 2A07 s hodinovou frekvencí 1,66 MHz, zatímco pro normu NTSC byly určeny konzole s mikroprocesorem 2A03 používající hodinovou frekvenci 1,79 MHz. I grafické čipy se lišily podle toho, pro jakou televizní normu byly určeny. Pro normu NTSC se používal čip RP2C02 se vstupní hodinovou frekvencí 5,37 MHz, zatímco pro normu PAL byl použit čip RP2C07 s frekvencí 5,32 MHz. Tyto čipy, označované taktéž zkratkou PPU, obsahovaly 256 interní paměti využívané systémem pro zobrazení spritů. Kromě toho přistupoval PPU k samostatnému čipu RAM o kapacitě dva kilobajty. V této paměti bylo uloženo větší množství datových struktur nesoucích informace o pozadí scény, o barvové paletě i o tvarech spritů. Ve skutečnosti však mohl PPU přistupovat i k paměti ROM umístěné na paměťovém modulu se hrou.

Obrázek 17: Barvová paleta používaná herní konzolí NES.

V sedmé kapitole bude stručně popsán způsob generování pozadí a v kapitole osmé pak práce se sprity.

Obrázek 18: Screenshot ze hry Kirby's Adventure.

Užitečné odkazy:

  1. How NES Graphics work
    http://nesdev­.parodius.com/nes­gfx.txt
  2. NES Technical/Emu­lation/Develop­ment FAQ
    http://nesdev­.parodius.com/NES­TechFAQ.htm

Obrázek 19: Další screenshot ze hry Kirby's Adventure.

7. Datové struktury použité pro vytvoření pozadí

U herní konzole NES se obraz posílaný na televizor skládal ze dvou částí: pozadí a pohyblivých spritů. Nejprve si stručně popíšeme, jakým způsobem se vytvářelo pozadí. Při použití televizní normy PAL bylo rozlišení obrazu rovno 256×240 pixelům, zatímco u normy SECAM bylo horních osm řádků a spodních osm řádků zatemněných, tj. rozlišení bylo sníženo na 256×224 pixelů. Teoreticky sice bylo možné vytvořit klasický framebuffer, v němž by bylo celé pozadí uloženo, ale při šestnáctibarevném obrazu, tj. při použití čtyř bitů na pixel, by musela být kapacita framebufferu poměrně velká: 28 kilobajtů. Konstruktéři čipu PPU tedy využili technologii, s níž jsme se seznámili i u dalších typů herních konzolí: namísto framebufferu byly v obrazové paměti uloženy vzorky o velikosti 8×8 pixelů, které byly skládány do mřížky 32×30 dlaždic, což přesně odpovídá již zmíněnému rozlišení 256×240 pixelů (32×8=256, 30×8=240).

Obrázek 20: Screenshot ze hry Kirby's Adventure.

Základní datovou strukturou byla struktura nazvaná Name Table o velikosti 960 bajtů, která obsahovala indexy všech tvarů tvořících dlaždicovitý obraz 32×30 dlaždic. Mohlo by se tedy zdát, že jedinou další potřebnou strukturou je tabulka všech vzorků (bitmap), z nichž každá má velikost 8×8 pixelů. Situace je však poněkud složitější, protože na pozadí lze vykreslit až šestnáct různých barev. V tabulce vzorků (Pattern Table) jsou pro každý pixel vyhrazeny dva bity, tj. lze rozlišit čtyři možnosti/barvy. Kromě toho existuje ještě tabulka atributů (Attribute Table) o velikosti 64 bajtů, která obsahuje horní dva bity pro oblast o velikosti 4×4 dlaždice, tj. 32×32 pixelů. Díky existenci této druhé tabulky je skutečně možné – i když s mnoha omezeními – použít na pozadí šestnáct různých barev. Důležité přitom je, že tabulka vzorků může být přemapována do ROM na paměťovém modulu, takže je možné poměrně jednoduchým způsobem například animovat celou scénu pouhou změnou „ukazatele“ na tuto tabulku.

Obrázek 21: Další screenshot ze hry Kirby's Adventure.

8. Sprity

Způsob vytváření pozadí, o němž jsme se zmínili v předchozí kapitole, je poměrně složitý (i když výhody spočívající v relativně malém zatížení procesoru, většinou převažovaly). Se sprity je však situace poněkud jednodušší. Základem při vykreslování spritů je opět tabulka vzorků, ta je ovšem doplněna pomocnou pamětí o kapacitě 256 bajtů, která je umístěna přímo na čipu PPU. Programátor měl k této paměti přístup buď přes řídicí registry PPU, alternativně pak přes DMA. Ve zmíněných 256 bajtech jsou umístěny informace o 64 spritech, tj. pro každý sprite jsou vyhrazeny čtyři bajty. V těchto bajtech se nachází horizontální pozice spritu, vertikální pozice spritu, horní dva bity barvy (spodní bity jsou přímo v tabulce vzorků), index do tabulky vzorků (ukazuje na tvar spritu) a konečně taktéž bitové příznaky: horizontální zrcadlení, vertikální zrcadlení a priorita spritu (před/za pozadím).

Obrázek 22: Screenshot ze hry Donkey Kong.

ict ve školství 24

Kvůli dalším technologickým omezením čipu PPU mohlo být na jednom řádku (tj. vedle sebe) zobrazeno pouze omezené množství spritů, tj. nebylo například možné všechny sprity umístit vedle sebe. Taktéž počet celkově zobrazovaných barev nedosáhl hodnoty 32 (16 pro pozadí, 16 pro sprity), ale pouze 25, přičemž barvová paleta obsahovala 48 barev a pět odstínů šedi (konkrétní způsob zobrazení barev byl na obou televizních normách poněkud odlišný).

Obrázek 23: Další screenshot ze hry Donkey Kong.

9. Odkazy na Internetu

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

Autor článku

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