Historie vývoje počítačových her (40. část - popis herní konzole Sega Mega Drive/Sega Genesis)

23. 8. 2012
Doba čtení: 16 minut

Sdílet

Dnes se budeme společně zabývat podrobnějším popisem herní konzole Sega Mega Drive (Sega Genesis). Popíšeme si zejména grafický a zvukový subsystém této konzole, protože právě architektura použitá u těchto dvou modulů ovlivnila mj. i vzhled a chování her, které pro konzoli Sega Mega Drive vznikly.

Obsah

1. Historie vývoje počítačových her (40. část – popis herní konzole Sega Mega Drive/Sega Genesis)

2. Grafický subsystém herní konzole Sega Mega Drive a zpětná kompatibilita čipu VDP v konzoli Sega Mega Drive s předchozími verzemi VDP

3. Podporované grafické režimy

4. Herní pole (playfields)

5. Scrolling, priorita herních polí a jejich zrcadlení

6. Podpora pro práci se sprity

7. Zvukový subsystém herní konzole Sega Mega Drive

8. Čip Yamaha YM 2612

9. Odkazy na Internetu

1. Historie vývoje počítačových her (40. část – popis herní konzole Sega Mega Drive/Sega Genesis)

V dnešní části seriálu o historii vývoje výpočetní techniky se budeme zabývat podrobnějším popisem herní konzole Sega Mega Drive a.k.a. Sega Genesis. Popíšeme si především grafický a zvukový subsystém této konzole. Nebude se sice jednat o tak podrobný popis, aby bylo možné ihned začít pro Mega Drive vytvářet nové programy (ano – mnoho programátorů se právě touto činností baví, když už jsou unaveni tvorbou „enterprise řešení“ :-), ale čtenář by měl získat alespoň základní informace o možnostech této konzole a porovnat tyto možnosti s parametry konzolí, které již byly v tomto seriálu popsány. Pro připomenutí: základní technické parametry o herní konzoli Sega Mega Drive jsou shrnuty v následující tabulce:

Vlastnost Popis
Výrobce SEGA
Začátek prodeje 1988
Mikroprocesor MC68HC00 (CMOS varianta Motorola 68000)
Hodinová frekvence CPU 7,61 či 7,67 MHz (podle televizní normy)
Koprocesor Zilog Z80 (později kompatibilní čip jiného výrobce)
Grafický řadič VDP 315–5313 (později obdobné čipy od Yamahy)
Televizní norma PAL či NTSC
Rozlišení (NTSC) až 320×224
Rozlišení (PAL) až 320×240
Zvukový čip (samply+šum) Texas Instruments SN76489
Zvukový čip (FM syntéza) Yamaha YM2612
Kapacita RAM 64 kB
Kapacita Video RAM 64 kB
Kapacita Color RAM 64×9 bitů
Kapacita Audio RAM 8 kB

Obrázek 1: Herní konzole Sega Mega Drive.

2. Grafický subsystém herní konzole Sega Mega Drive a zpětná kompatibilita čipu VDP v konzoli Sega Mega Drive s předchozími verzemi VDP

Začněme nejdříve popisem grafického subsystému. Jak jsme si již řekli v předchozí části tohoto seriálu, byl grafický subsystém herní konzole Sega Mega Drive vytvořen na bázi čipu označovaného zkratkou VDP neboli Video Display Processor. Původní varianty tohoto čipu, které byly založeny na dnes již historickém integrovaném obvodu Texas Instruments TMS9918, byly použity i v osmibitových konzolích Sega Mark III, Sega Master System (II) a taktéž v kapesní herní konzoli Sega Game Gear. Čip VDP 315–5313 použitý v herní konzoli Sega Mega Drive byl již čtvrtým vylepšením původního designu. Tento integrovaný obvod byl částečně zpětně kompatibilní s předchozími třemi variantami VDP, což je důležité, protože díky tomu (a taktéž díky použití koprocesoru Zilog Z80) byla zajištěna možnost přehrávat starší osmibitové hry i na konzoli Sega Mega Drive – viz též tabulka zobrazená pod tímto odstavcem:

Označení čipu Použito v…
315–5124 Sega Mark III, Sega Master System
315–5246 Sega Master System II, pozdější varianty Sega Master System
315–5378 Game Gear
315–5313 Genesis, Sega Mega Drive

Obrázek 2: Herní konzole třetí generace SG-1000 (asijská verze), vybavená původní variantou grafického řadiče VDP.

Grafický řadič VDP se od původního řadiče Texas Instruments TMS9918 odlišoval i podporou většího počtu grafických režimů. Jedná se o čtyři původní grafické režimy známé nejenom z osmibitových herních konzolí Sega: textový režim, rastrový režim Graphic 1, taktéž rastrový režim Graphic 2 a režim Multicolor (ten používal odlišnou organizaci grafické paměti a snažil se napodobit klasický framebuffer). Pátý režim se jmenoval Mode 4, což je označení založené na předpokladu, že režim Multicolor byl pokládán za grafický režim číslo 3. Modernější integrovaný obvod VDP 315–5313 (a jeho různé varianty vyráběné společností Yamaha) použitý v konzolích Sega Mega Drive/Sega Genesis ovšem dokázal v režimu kompatibility pracovat pouze v režimu číslo 4 (Mode 4) a – což je asi mnohem důležitější – nově taktéž nabízel režim 5 (Mode 5), jenž byl použit u naprosté většiny nových her, které pro tyto herní konzole vznikaly. V dalším textu se z tohoto důvodu zaměříme především na popis čipu VDP nastaveného do režimu 5.

Obrázek 3: Herní konzole Sega Master System (SMS), s níž je kompatibilní i konzole Sega Mega Drive.

3. Podporované grafické režimy

V předchozí kapitole jsme se zmínili o grafických režimech původního čipu TMS9918 i o grafických režimech podporovaných v modernějších variantách integrovaného obvodu VDP, které jsou od TMS9918 odvozeny. V následující tabulce je všech šest režimů vypsáno i s podrobnějšími informacemi o těchto režimech. Ve většině grafických režimů bylo kromě pozadí možné pracovat i se sprity:

Režim Typ Rozlišení (znaků) Rozlišení (pixelů) Poznámka
0 text 40×24 320×192 podpora v TMS9918
1 grafika 32×24 256×192 podpora v TMS9918
2 grafika 32×24 256×192 podpora v TMS9918
3 grafika 64×48 64×48 podpora v TMS9918
4 grafika 32×28/30 256×224/240 režim konzole Sega Master System
5 (A) grafika 32×28/30 256×224/240 nový režim konzole Sega Mega Drive
5 (B) grafika 40×28/30 320×224/240 nový režim konzole Sega Mega Drive

Obrázek 4: Osazený plošný spoj konzole Sega Mega Drive II
Autor: Nomad (děkuji!).

Ještě možná bude důležité si zobrazit tabulku, v níž je uvedena (zpětná) kompatibilita jednotlivých grafických režimů:

Čip/konzole Mode 0 Mode 1 Mode 2 Mode 3 Mode 4 Mode 5
Sega Game 1000 (TMS9918) A A A A
Sega Master System A A A A A
Sega Mega Drive A A

Čip VDP pracoval s grafickými údaji organizovanými do takzvaných dlaždic (anglicky tiles či též ve firemní dokumentaci cells) o rozměrech 8×8 pixelů, přičemž každému pixelu v dlaždici mohla být přiřazena jedna z patnácti barev uložených v barvové paletě. Barvové palety byly čtyři, každá se šestnácti barvami, i když šestnáctá barva měla speciální význam, zejména při práci se sprity (viz též následující kapitoly). Všechny čtyři barvové palety byly uloženy ve zvláštní oblasti paměti s organizací 64×9 bitů, přičemž tato paměť byla přímo součástí čipu VDP (nejednalo se tedy o samostatný integrovaný obvod). Organizace této paměti je poněkud zvláštní z toho důvodu, protože každá barva byla uložena v devíti bitech: pro každou barvovou složku R, G, B byly vyhrazeny tři bity. V následující kapitole si popíšeme strukturu herních polí playfield, v kapitole šesté pak strukturu spritů.

Obrázek 5: Mikroprocesor MC68HC00 na základní desce Sega Mega Drive.
Autor: Nomad.

4. Herní pole (playfields)

Integrovaný obvod Video Display Processor se staral o vykreslování herní scény na obrazovce televizoru a kromě toho podporoval i blokové přenosy dat s využitím přímého přístupu do paměti (DMA) a taktéž dokázal generovat přerušení na každém obrazovém řádku (horizontal interrupt) i po zobrazení každého snímku (vertical interrupt). Vzhledem k tomu, že i přes relativně vysoký výpočetní výkon mikroprocesoru Motorola 68000 by bylo dosti nepraktické vytvářet dnes zcela běžný framebuffer, jehož obsah by byl modifikovatelný přímo mikroprocesorem, měl čip VDC přidělenou samostatnou paměťovou oblast o velikosti 64 kB, v níž se namísto klasického framebufferu ukládaly grafické informace strukturované do již zmíněných dlaždic o velikostech 8×8 pixelů, takže se VDC v tomto ohledu podobal například čipu Antic, přesněji řečeno jeho textově-grafickým režimům číslo 12 a 13 (zajímavé je, že podobný přístup zvolili i konstruktéři retro herní konzole Uzebox). Tyto dlaždice tvořily čtyři roviny (planes), jejichž prioritu (dnes bychom pravděpodobně řekli Z-pozici) bylo možné v určitých rozmezích měnit. Jedná se o roviny s následujícími názvy:

# Grafická rovina Popis
1 BACKGROUND barva zobrazená na pozadí
2 SCROLL A první herní pole (playfield) dále rozdělená na dlaždice o rozměrech 8×8 pixelů
3 SCROLL B druhé herní pole (playfield) dále rozdělená na dlaždice o rozměrech 8×8 pixelů
4 SPRITE pohyblivé objekty o rozměrech 8×8 až 32×32 pixelů

Obrázek 6: Herní retro konzole Uzebox obsahující osmibitový mikrořadič AVR řady ATmega. Způsob generování video signálu na této konzoli se do jisté míry podobal VDP.

Roviny nazvané SCROLL A a SCROLL B se souhrnně nazývají herní pole neboli playfield(s). Každá rovina je složena z menších dlaždic o rozměrech 8×8 pixelů, přičemž rozměry každé roviny (přesněji řečeno počet dlaždic pro každou rovinu) lze vybrat z následujících šesti možností: 32×32, 32×64, 32×128, 64×32, 64×64 a 128×32 dlaždic. Mohlo by se tedy zdát, že rozměry obou herních polí určují i rozlišení výsledného obrázku na televizoru, ve skutečnosti se však na televizoru většinou zobrazoval pouze výsek z obou rovin, protože reálné rozlišení bylo určeno jedním z následujících podrežimů grafického režimu číslo 5 (viz též tabulka uvedená v předchozí kapitole):

Režim Varianta TV Velikost (dlaždice) Rozlišení (pixely)
#5 #1 PAL+NTSC 32×28 256×224
#5 #2 PAL+NTSC 40×28 320×224
#5 #3 pouze PAL 32×30 256×240
#5 #4 pouze PAL 40×30 320×240

Obrázek 7: Předělávka slavné plošinovky z dob osmibitových počítačů Donkey Kong na herní konzoli Uzebox osazenou mikrořadičem AVR ATmega 644.

5. Scrolling, priorita herních polí a jejich zrcadlení

Jak již název obou herních polí SCROLL A a SCROLL B naznačuje, podporoval čip VDP i jejich scrolling, tj. plynulý (či volitelně naopak méně plynulý) posun všemi směry. Posunovat bylo možné každé herní pole nezávisle na poli druhém. Zajímavé bylo, že informace o posunu herních polí nebyly představovány pouze dvojicí celých čísel (horizontální a vertikální posun), ale celou datovou strukturou umožňující poloautomatický scrolling prováděný buď po jednotlivých dlaždicích, tedy například po osmi řádcích, nebo dokonce po jednotlivých obrazových řádcích, čehož se využívalo například při tvorbě efektu vlnícího se nápisu, simulace 3D zobrazení apod. Se scrollingem souvisí i možnost převrátit jednotlivé dlaždice okolo horizontální a/nebo vertikální osy, čehož bylo taktéž možné využít při tvorbě různých grafických efektů. Stejně jako v případě spritů (viz též následující kapitolu) se pro každou dlaždici, z nichž se skládaly obě herní pole, mohla zvolit barvová paleta a každý pixel v dlaždici mohl být nastaven na vybranou barvu v paletě.

Obrázek 8: Mikroprocesor Zilog Z80 na desce Sega Mega Drive II.

K prvnímu hernímu poli (SCROLL A) byla navíc přiřazena datová struktura nazvaná příznačně WINDOW. Jednalo se o oblast zobrazenou na televizoru, která měla pevně určenou pozici, šířku i výšku, kterou nebylo možné posunovat (scrollovat) a jejíž priorita, tj. Z-pozice vůči ostatním třem rovinám, byla shodná s nastavením priority herního pole SCROLL A. Význam WINDOW spočíval v možnosti zobrazit nějakou pevně umístěnou informaci na obrazovce – typicky se jednalo o ukazatel skóre či ubíhajícího času. Podobného efektu by sice bylo možné dosáhnout i s využitím spritů, tím by se však programátoři zbytečně ochuzovali o možnost využít sprity pro účely, k nimž byly původně vytvořeny – k zobrazení pohyblivých objektů. Pokud by se sprity například použily pro zobrazení šestimístného skóre, bylo by nutné pro každou cifru použít jeden sprite, čímž by programátor „zahodil“ celou desetinu použitelných spritů.

Způsob vzájemné kombinace grafických rovin a nastavení priorit ukazuje následující schéma:

 
+--------------+
|              |
|   SCROLL B   +-------+
|              |       |
+--------------+       |
                       |
+--------------+       |                             +---------------------+
|              |       |                             |      BACKGROUND     |
|   SCROLL A   |----+  |    +---------------+        |  +---------------+  |
|              |    |  |    |               |        |  |               |  |
+--------------+    |  +---->   Řízení      |        |  |               |  |
                    o------->   priority    |------->   |   Obrazovka   |  |
+--------------+    |  +---->               |        |  |               |  |
|              |    |  |    |               |        |  |               |  |
|    WINDOW    |----+  |    +---------------+        |  +---------------+  |
|              |       |                             |      BACKGROUND     |
+--------------+       |                             +---------------------+
                       |
+--------------+       |
|              |       |
|    SPRITE    +-------+
|              |
+--------------+
 

Obrázek 9: Tento čip obsahuje Video RAM využívanou čipem VDP.

6. Podpora pro práci se sprity

Zatímco herní pole (playfield) byla používána především pro zobrazení relativně neměnného herního pozadí, pro práci s pohyblivými objekty se používaly sprity, podobně jako tomu bylo u grafických subsystémů mnoha dalších herních konzolí, na mnoha domácích počítačích (Atari, Commodore C64, …) i na některých počítačích osobních (Amiga). V případě herní konzole Sega Mega Drive bylo možné pracovat buď s 64 sprity v režimu s horizontálním rozlišením 256 pixelů (32 dlaždic), nebo dokonce s osmdesáti sprity v režimu s horizontálním rozlišením 320 pixelů (40 dlaždic). Na jednom obrazovém řádku však bylo možné zobrazit pouze 16 (režim 256×224 pixel) resp. 20 (režim 320×224 pixelů) spritů současně. Pokud se stalo, že se na jednom obrazovém řádku z nějakého důvodu objevilo větší množství spritů, došlo k chybám v zobrazení a navíc se nastavil bitový příznak (konkrétně bit číslo šest) ve stavovém registru čipu VDP. Základní velikost každého spritu odpovídala jedné dlaždici, tj. obrázku o velikosti 8×8 pixelů, ovšem ve skutečnosti bylo možné spojit dvě či čtyři dlaždice jak v horizontálním, tak i ve vertikálním směru a využít tak celkem šestnáct různých velikostí spritů:

 8×8,   8×16,   8×24,   8×32
16×8,  16×16,  16×24,  16×32
24×8,  24×16,  24×24,  24×32
32×8,  32×16,  32×24,  32×32

Obrázek 10: Obvod pro převod RGB na signály kompatibilní s PAL a NTSC.

Každá dlaždice o rozměrech 8×8 pixelů byla v paměti vyhrazené pro integrovaný obvod VDP uložena ve 32 bajtech, což znamená, že pro každý pixel byly vyhrazeny čtyři bity. Tyto čtyři bity (šestnáct různých kombinací) určovaly index barvy 0–15 v barvové paletě. Podporovány byly čtyři barvové palety (což je oproti původním čipům VDP a TMS9918 dvojnásobek) po šestnácti barvách nastavované pro každý sprite zvlášť. Ovšem jeden index barvy měl zvláštní význam, protože tento index sloužil ke změně priority zobrazení, tj. pro podporu průhlednosti oblastí ve spritu – přes sprite v místech pixelů s indexem barvy #15 prosvítala buď barva pozadí (BACKGROUND), barva uložená v herním poli SCROLL A či barva uložená v herním poli SCROLL B, a to v závislosti na nastavené prioritě. Celkem bylo možné vybrat osm priorit zobrazení, viz též následující tabulka (a schéma z předchozí kapitoly):

# S priority A priority B priority Skutečná priorita
0 0 0 0 S→A→B→G
1 1 0 0 S→A→B→G
2 0 1 0 A→S→B→G
3 1 1 0 S→A→B→G
4 0 0 1 B→S→A→G
5 1 0 1 S→B→A→G
6 0 1 1 A→B→S→G
7 1 1 1 S→A→B→G

kde znaky S, A a B znamenají:

Znak Význam
S SPRITE
A herní pole SCROLL A
B herní pole SCROLL B
G barva pozadí (BACKGROUND)

Obrázek 11: Krystal v Sega Mega Drive II.

7. Zvukový subsystém herní konzole Sega Mega Drive

Zvukový subsystém herní konzole Sega Mega Drive je stejně zajímavý jako její grafický subsystém. I v tomto případě se totiž konstruktéři herní konzole snažili v co největší míře ušetřit práci hlavnímu procesoru (Motorola 68000) a prakticky veškerou funkcionalitu při generování zvuků a hudby převzaly samostatné čipy. Jednalo se především o osmibitový mikroprocesor Zilog Z80 s přidělenou pamětí o kapacitě osmi kilobajtů, který kromě jiného zajišťoval zpětnou kompatibilitu se staršími konzolemi, dále pak o integrovaný obvod Texas Instruments 76489 určený především pro vytváření zvuků (nikoli melodií) ve hrách a při generování hudby se používal poslední čip Yamaha YM 2612. Poznámka: pro osmibitovou herní konzoli Sega Master System existoval rozšiřující modul s hudebním čipem Yamaha YM 2413 (obsahovaly ho pravděpodobně jen japonské verze), tento čip nebyl v Sega Mega Drive používán, i když ho teoreticky bylo možné připojit i k této konzoli.

Obrázek 12: Interní struktura čipu YM 2413 (není součástí Sega Mega Drive).

Pro práci se zvukem byl určen relativně jednoduchý čip Texas Instruments SN76489, který dokázal generovat (obdélníkové) zvukové signály s volitelnou frekvencí a amplitudou. Čip SN76489 obsahoval tři tónové generátory vytvářející periodický obdélníkový signál a jeden generátor šumu s periodou 215-1 realizovaný posuvným registrem se zpětnou vazbou. Frekvence každého tónového generátoru byla určena desetibitovou konstantou uloženou do řídicího registru čipu SN76489. Tato konstanta byla použita ve frekvenční děličce (běžném čítači), přičemž reálná frekvence vytvářeného obdélníkového signálu se vypočítala následovně:

f=Fosc/32n

kde Fosc je frekvence hodinového signálu přiváděného na vstup čipu (3,579545 MHz pro konzole určené pro normu NTSC, 3,546893 MHz pro konzole pro normu PAL).

Obrázek 13: Zvukový čip SN76489.

U každého tónového generátoru bylo taktéž možné určit amplitudu pomocí čtyřbitové hodnoty. Na výstupu se všechny zvukové signály sečetly, takže se rychlou změnou amplitudy a vhodným nastavením frekvencí jednotlivých zvukových kanálů daly generovat i poměrně složité melodie nebo zvuky ve hrách. Jak jsme se již řekli v předchozím odstavci, obsahoval tento čip navíc jeden generátor šumu, který byl implementován pomocí posuvného registru o šířce 15 bitů se zpětnou vazbou (bit, který se vracel na vstup posuvného registru, byl získán logickou operací nonekvivalence (XOR) nejvyšších bitů posuvného registru). Pro generátor šumu bylo možné zvolit pouze tři frekvence: Fosc/64, Fosc/128 a Fosc/256. Poněkud nešikovné je to, že obsah generátoru šumu nebylo možné přečíst mikroprocesorem, protože by se tato funkce mohla hodit ve hrách, které mnohdy vyžadují generátor (pseudo)náhodných čísel.

Obrázek 14: Způsob zapojení čipu SN76489.
Zdroj: firemní dokumentace k tomuto čipu.

Čip SN76489 obsahoval osm řídicích registrů – tři registry pro uložení konstanty pro děličky frekvence tónových generátorů, tři registry pro zápis amplitudy tónových generátorů, registr pro řízení generátoru šumu a konečně registr pro řízení amplitudy a frekvence generátoru šumu. Jak je z tohoto popisu patrné, byly možnosti zvukového čipu SN76489 poněkud menší než možnosti konkurenčních čipů AY-3–8910 či POKEY, na druhou stranu ovšem lepší, než tomu bylo u čipu TIA použitého v herní konzoli Atari 2600.

8. Čip Yamaha YM 2612

Pro vytváření hudby se v herní konzoli Sega Mega Drive používal integrovaný obvod nazvaný Yamaha YM 2612, který je v mnoha ohledech podobný obvodu Yamaha 2151. S druhým jmenovaným integrovaným obvodem již měla společnost SEGA určité zkušenosti, protože ho používala ve svých video automatech a firma Yamaha tento čip používala v některých svých syntetizérech. Vraťme se k čipu Yamaha YM 2612. Ten podporoval celkem šest kanálů, přičemž se zvuk v každém kanálu tvořil pomocí FM syntézy, tj. podobně, jak to znají například programátoři zvukové karty Adlib na PC. Kromě šesti FM kanálů bylo možné jeden kanál (konkrétně šestý kanál) nahradit přímým osmibitovým výstupem – tj. vlastně přehrávačem samplů, který však musel být řízen softwarově (nebylo podporováno DMA). Navíc byl čip YM 2612 vybaven i dvojicí časovačů využitelných ve hrách. Tyto časovače však nebyly připojeny na přerušovací vstupy mikroprocesoru (ani Motoroly 68000 ani Zilogu Z80), takže jediné, co  nimi programátor mohl dělat, bylo jejich čtení v programu.

bitcoin_skoleni

Pro každý ze šesti FM kanálů byl zvuk vytvářen pomocí čtveřice takzvaných operátorů, přičemž pro každý operátor bylo možné zvolit jeho frekvenci a tvar obálky. Navíc se pro každý kanál určila vzájemná konfigurace operátorů – zda byl výstup jednoho operátoru přiveden na vstup operátoru druhého (FM syntéza) či zda se výstupy obou operátorů sečetly. Aby byly zvukové možnosti čipu YM 2612 ještě větší, bylo možné pro první operátor v řadě (u každého kanálu) povolit zpětnovazební smyčku, takže se výstup přiváděl zpět na vstup. Každý FM kanál navíc mohl být ovlivněn nízkofrekvenčním oscilátorem (LFO). Možnosti konfigurace však nebyly tak velké jako v případě karty Adlib (čip OPL2/YM3812), protože k dispozici bylo jen osm možných konfigurací – takzvaných „algoritmů“.

Obrázek 15: V Sega Mega Drive II byl použit tento integrovaný obvod obsahující na jednom čipu: VDP, hudební obvod Yamaha 2612 a řadič sběrnice.

9. Odkazy na Internetu

  1. SN76489 sound chip details
    http://web.inter.nl.net/u­sers/J.Kortink/home/articles/sn76489/
  2. SN76464 datasheet
    http://www.ic-on-line.cn/view_online.php?id=1106623&fi­le=0054%5Csn76494_409323.pdf
  3. Texas Instruments SN76489 (Wikipedia)
    http://en.wikipedia.org/wi­ki/Texas_Instruments_SN76489
  4. SN76489
    http://www.smspower.org/De­velopment/SN76489?sid=ae16503f2fb18070f3f40f2af­56807f1
  5. YM2413 FM Operator Type-LL (OPLL) Application Manual
    http://www.smspower.org/ma­xim/Documents/YM2413Appli­cationManual?sid=28c370e1fcac51d57­74319979bf96f4c
  6. Programming the Sega MegaDrive
    http://darkdust.net/writin­gs/megadrive
  7. MegaDrive / SegaGenesis docs
    http://www.genny4ever.net/in­dex.php?page=docs
  8. IGN: Top 25 Consoles
    http://www.ign.com/top-25-consoles/13.html
  9. Sega Mega Drive
    http://sega.jp/archive/segahard/md/
  10. Sega Archives
    http://sega.jp/archive/segahard/
  11. Sega Genesisi
    http://www.dmoz.org/Games/Vi­deo_Games/Console_Platfor­ms/Sega/Genesis/
  12. The Retro Gen Plays Genesis Games
    http://uk.gamespy.com/arti­cles/998/998637p1.html
  13. The Sega Mega Drive/Genesis
    http://www.captainwilliam­s.co.uk/sega/megadrive/me­gadrive.php
  14. Sega Game Gear 101: A Beginner's Guide
    http://www.racketboy.com/re­tro/sega/gamegear/sega-game-gear-101-a-beginners-guide
  15. SEGA GameGear | Marc's Realm
    http://darkdust.net/retro­gaming/gamegear
  16. Sega Master System Hardware
    http://www.smspower.org/De­velopment/Documents
  17. SMS/GG hardware notes
    http://www.smspower.org/u­ploads/Development/smstech-20021112.txt?sid=28c370e1fcac51d­5774319979bf96f4c
  18. Sega Master System Museum
    http://alexkidd.com/
  19. Jadeite's Sega Master System Museum
    http://rp_gamer.tripod.com/SMS/1.html
  20. Sega Master System (Wikipedia)
    http://en.wikipedia.org/wi­ki/Sega_Master_System
  21. Sega Card (Wikipedia)
    http://en.wikipedia.org/wi­ki/Sega_Card
  22. Sega Master System VDP documentation
    http://www.smspower.org/u­ploads/Development/msvdp-20021112.txt?sid=28c370e1fcac51d­5774319979bf96f4c
  23. bee – The Multi-Console Emulator
    http://www.thebeehive.ws/
  24. TurboGrafx-16 TurboExpress
    http://www.allgame.com/plat­form.php?id=17673
  25. HuC6280 CPU
    http://shu.emuunlim.com/dow­nload/pcedocs/pce_cpu.html
  26. Hudson Soft HuC6280 (Wikipedia)
    http://en.wikipedia.org/wi­ki/Hudson_Soft_HuC6280
  27. TurboGrafx-16 (Wikipedia)
    http://en.wikipedia.org/wi­ki/TurboGrafx-16
  28. MagicEngine – TurboGrafx-16 emulator
    http://www.magicengine.com/
  29. Motorola 68000 CPU
    http://en.wikipedia.org/wiki/68000

Autor článku

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