Hlavní navigace

Historie vývoje počítačových her (107. část – grafický a zvukový subsystém konzole Sega Saturn)

12. 12. 2013
Doba čtení: 16 minut

Sdílet

V dnešní části seriálu o historii vývoje her i herního hardware dokončíme popis interní struktury herní konzole Sega Saturn. Zaměříme se především na vysvětlení základních vlastností čipů VDP1, VDP2 a SCSP, které byly určeny nejen pro vykreslování grafiky, ale i pro generování zvuků a hudby.

Obsah

1. Základní funkce vykonávané čipem VDP1

2. Struktura obrazové paměti

3. Podporované grafické režimy při připojení Saturnu k televizoru

4. Tabulky s vykreslovacími příkazy

5. Typy objektů, které lze čipem VDP1 vykreslit

6. Zobecněné sprity jako základ pro 3D grafiku

7. Otočení framebufferu

8. Základní funkce vykonávané čipem VDP2

9. Zvukový subsystém herní konzole Sega Saturn

10. FM syntéza, nastavení operátorů

11. Odkazy na Internetu

1. Základní funkce vykonávané čipem VDP1

V předchozí části seriálu o historii vývoje her a herního hardware byla popsána interní struktura herní konzole Sega Saturn. Připomeňme si, že konstruktéři této herní konzole při jejím návrhu použili poměrně velké množství různých čipů, které spolu dokázaly komunikovat s využitím třech interních sběrnic. Základem této herní konzole byly mikroprocesory Hitachi SH-2 s architekturou RISC. Dále tato herní konzole obsahovala čip SMPC (System Manager and Peripheral Control), jenž se staral například o čtení dat z připojených periferních zařízení. Ústředním prvkem konzole Sega Saturn byl integrovaný obvod SCU (System Control Unit) starající se především o zajištění komunikace ostatních modulů. Dalšími specializovanými obvody, které si popíšeme dnes, jsou čipy VDP1 (Video Processor 1), VDP2 (Video Processor 2)SCSP (Saturn Custom Sound Processor), jenž byl doplněn podpůrným řadičem Motorola MC68E000.

Obrázek 1: Blokové schéma herní konzole Sega Saturn, které jsme si popsali v předchozí části tohoto seriálu.

O generování grafiky se starala dvojice čipů VDP1VDP2, která byla navíc doplněna několika paměťmi. Zaměřme se nyní především na čip VDP1, protože právě tento čip svými vlastnostmi a schopnostmi do značné míry určoval grafické možnosti Saturnu, které byly značně odlišné od všech dalších herních konzolí (nejenom) páté generace. Tento čip v první řadě řídil veškeré vykreslování, a to na základě údajů, příkazů a obrazových dat uložených v jeho řídicích registrech a především pak v obrazové paměti. Dále čip VDP1 dokázal v průběhu vykreslování provádět další specializované operace, například výpočet barev v prostoru RGB (Gouraudovo stínování, poloprůhlednost, snížení jasu za účelem vytvoření stínu atd.) a dokonce bylo možné i otočit celým framebufferem a dosáhnout tak některých zajímavých grafických efektů. Vykreslování bylo řízeno hodinovým signálem o frekvenci 28 MHz (stejnou frekvencí byly řízeny i oba mikroprocesory), přičemž jeden cyklus hodin odpovídal vykreslení jednoho pixelu.

Obrázek 2: Grafický subsystém herní konzole Sega Saturn tvořený video procesory VDP1 a VDP2 i několika paměťmi.

2. Struktura obrazové paměti

Vzhledem ke způsobu vykreslování grafiky nepřímo (s využitím vykreslovacích příkazů a čipů VDP1VDP2) bylo při návrhu interní struktury herní konzole Sega Saturn nutné oddělit hlavní operační paměť od paměti grafické, aby mohly oba RISCové mikroprocesory v ideálním případě pracovat nezávisle na obou grafických procesorech. Tento požadavek vyústil v překvapivě moderní návrh struktury obrazové paměti, která byla rozdělena do několika bloků (regionů) s různou kapacitou a taktéž odlišnou funkcí. Obrazová paměť byla od hlavní paměti oddělena skutečně důsledně, protože hlavní paměť byla společně s oběma RIScovými mikroprocesory připojena k interní sběrnici CPU-Bus, zatímco obrazová paměť byla připojena ke sběrnici B-Bus a tím pádem k ní mohly nejsnáze přistupovat právě video čipy (ovšem díky SCU bylo snadné přerušit vykreslování a zapisovat data do framebufferu přímo některým z hlavních mikroprocesorů).

pc93

Obrázek 3: Vykreslovací řetězec používaný klasickými grafickými akcelerátory při zpracovávání trojrozměrných scén. Do vykreslovacího řetězce vstupují dva typy dat – informace o vrcholech polygonů (trojúhelníků, plošných čtyřúhelníků atd.) a rastrová data, většinou bitmapy (znaky v rastrové podobě, bitové masky, sprity, kurzory myši) a především textury nanášené na vykreslované polygony. V herní konzoli Sega Saturn byl použit odlišný systém, kdy se některé operace musely implementovat programově.

Video procesor VDP1 přistupoval k samostatné obrazové paměti o kapacitě jednoho megabajtu. Tato obrazová paměť byla postavena na technologii DRAM, což znamená, že se nejednalo o žádnou specializovanou technologii (to ani nebylo vzhledem k relativně nízkým přenosovým rychlostem a požadované době přístupu nutné). Polovina, tj. 512kB obrazové paměti bylo vyhrazeno pro uložení tabulek s vykreslovacími příkazy a taktéž rastrovými daty použitými mj. i pro texturování a vykreslování spritů. Dalších 512kB bylo vyhrazeno pro klasický framebuffer. Vzhledem k podpoře předního a zadního bufferu (front buffer), (back buffer) se zmíněných 512 kB rozdělilo na poloviny o kapacitě 256 kB, přičemž bitová hloubka mohla být 8bpp či 16bpp v závislosti na zvoleném grafickém režimu. Povšimněte si, že v Saturnu nenalezneme například paměť hloubky (depth buffer, Z-buffer) ani další typy bufferů, s nimiž se můžeme setkat na současných grafických akcelerátorech (accumulation buffer, stencil buffer). Způsob vykreslování s využitím VDP1VDP2 byl totiž v porovnání se současnými systémy značně odlišný.

pc93

Obrázek 4: Typické operace s takzvanými fragmenty (pixely s přiřazenou hloubkou) prováděné při rasterizaci trojúhelníků či obecnějších konvexních polygonů na grafickém akcelerátoru. Naznačené operace s fragmenty je možné poměrně snadno programově implementovat, popř. některé z nich realizovat na specializovaných čipech, mezi něž patří i VDP1 a VDP2.

3. Podporované grafické režimy při připojení Saturnu k televizoru

Každý buffer (front buffer, back buffer) o kapacitě 256kB postačoval pro uložení celého snímku, protože herní konzole Sega Saturn podporovala pouze grafické režimy se středním rozlišením a bitovou hloubkou 8bpp či 16bpp (relativně nízké rozlišení však před příchodem HDTV příliš nevadilo). V následující tabulce jsou vypsány grafické režimy dostupné při připojení Saturnu k běžným televizorům:

Typ Bitová hloubka Rozlišení (PAL+NTSC) Rozlišení (pouze PAL)
Normal neprokládané 16 320×224
320×240
352×224
352×240
320×256
352×256
Normal prokládané 8 320×448
320×480
352×448
352×480
320×512
352×512

Povšimněte si, že v případě použití televizoru pracujícího v normě PAL bylo dostupné i rozlišení s 256 resp. 512 obrazovými řádky, zatímco v normě NTSC toto rozlišení kvůli rozdílnému časování nebylo možné využít. V neprokládaných (non-interlaced) grafických režimech byly vždy dva po sobě jdoucí půlsnímky shodné, zatímco v režimech prokládaných (interlaced) se oba půlsnímky mohly odlišovat, čímž sice bylo možné dosáhnout dvojnásobného vertikálního rozlišení, ovšem na úkor stability obrazu, vzniku nepříjemné poblikávání atd. Kromě režimů vypsaných v předchozí tabulce bylo možné použít i takzvaný HTDV režim, v němž se pixely sdružovaly do bloků 2×2.

Nezávisle na zvoleném grafickém režimu mohla mít struktura framebufferu dvě podoby. Při použití bitové hloubky 16bpp byla velikost virtuální kreslicí plochy rovna 512×256 pixelům, zatímco při použití poloviční bitové hloubky 8bpp se virtuální kreslicí plocha zvětšila na 512×512 pixelů (ovšem souřadnice pro vykreslování objektů mohly mít rozsah –1024 až 1023 v ose X i v ose Y). Dá se snadno vypočítat, že v obou případech se bezezbytku využila celá kapacita obou bufferů, tj. 256+256 kB.

4. Tabulky s vykreslovacími příkazy

Čip VDP1 pracuje jako samostatný specializovaný procesor, který z obrazové paměti (konkrétně z prvních 512 kB) postupně čte vykreslovací příkazy, provádí vlastní vykreslování (rendering) a ukládá výsledek vykreslování do zadního bufferu (back buffer), tj. do bufferu, který aktuálně není zobrazen na televizoru. Po vykreslení celého snímku se úlohy předního a zadního bufferu mohou automaticky prohodit. Nyní se budeme zabývat samotnými vykreslovacími příkazy, protože právě v této oblasti se herní konzole Sega Saturn odlišuje od většiny dalších herních konzolí a vlastně i od osobních mikropočítačů. Vykreslovací příkazy mohou být do obrazové paměti uloženy buď jedním z hlavních mikroprocesorů, nebo sem mohou být přeneseny s využitím DMA (přímý přístup do paměti). Jednotlivé vykreslovací příkazy jsou strukturovány do takzvaných tabulek příkazů, které jsou doplněny tabulkami s bitmapovými vzorky (moderním jazykem jim můžeme říkat textury), tabulkami použitými pro Gouraudovo stínování a konečně tabulkami obsahujícími barvovou paletu.

Tabulky příkazů budou vysvětleny v následující kapitole, takže nám zbývají tři typy tabulek – textury/sprity, barvy a tabulky pro Gouraudovo stínování. Textury či sprity jsou ukládány jako běžné rastrové obrázky s volitelnou barvovou hloubkou, typicky 4bpp (barvová paleta), 8bpp (taktéž barvová paleta) či 16bpp (RGB „555“). Tabulky s barvovou paletou jsou v základním režimu poměrně jednoduché – obsahují totiž šestnáctibitové záznamy barev ve formátu RGB, přičemž na každou barvu je využito pět bitů (formát „555“, poslední bit může mít různý význam, typicky reprezentuje průhlednost 0% či 100%). Tabulky s barvami použitými pro Gouraudovo stínování obsahují taktéž barvy ve formátu RGB („555“), a to pro čtyři vrcholy. Při vykreslování se provádí interpolace mezi všemi čtyřmi barvami, což znamená, že Sega Saturn dokáže měnit i barvové odstíny a nejenom světlost (klasický algoritmus Gouraudova stínování přitom mění jen světlost).

pc93

Obrázek 5: Slavná Utažská čajová konvice (Utah teapot) vykreslená pomocí grafického akcelerátoru. Povrch konvice byl před provedením vykreslování programově převeden ze spline ploch na síť trojúhelníků a čtyřúhelníků. Pro každý vrchol polygonu byla programově vypočtena jeho barva pomocí Phongova osvětlovacího modelu a polygony byly následně vykresleny na akcelerátoru s využitím Gouraudova stínování, které interpoluje barvu v každém bodě povrchu polygonu na základě pozice tohoto bodu oproti vrcholům polygonu. Algoritmus Gouraudova stínování je tak jednoduchý, že ho bylo možné relativně snadno implementovat již v první generaci 3D grafických akcelerátorů i na konzoli Sega Saturn.

5. Typy objektů, které lze čipem VDP1 vykreslit

Příkazy, které dokáže video procesor VDP1 vykonávat, je možné rozdělit do tří skupin. V první skupině se nachází příkazy pro vykreslování, ve skupině druhé příkazy pro nastavení ořezávání vykreslovaných objektů a konečně ve skupině třetí můžeme najít příkazy použitelné pro nastavení a změnu souřadného systému. Nejzajímavější jsou samozřejmě vykreslovací příkazy. VDP1 dokáže vykreslit otevřené objekty (úsečky a polyčáry), uzavřené objekty vyplněné barvou (polygony) a konečně uzavřené objekty pokryté rastrovým obrázkem/texturou (sprity několika typů). Všechny typy objektů, s nimiž dokáže VDP1 pracovat (přesněji řečeno, které dokáže vykreslit) jsou vypsány v následující tabulce:

# Objekt Skupina Typ Způsob zadání
1 Úsečka Bez textury Otevřené objekty dva vrcholy V1 a V2
2 Polyčára Bez textury Otevřené objekty čtyři vrcholy V1, V2, V3 a V4
3 Polygon Bez textury Výplň barvou čtyři vrcholy V1, V2, V3 a V4
4 Sprite#1 S texturou Výplň texturou jeden vrchol V1 + příznaky zrcadlení
5 Sprite#2 S texturou Výplň texturou dva protilehlé vrcholy (změna měřítka)
6 Sprite#3 S texturou Výplň texturou čtyři vrcholy V1, V2, V3 a V4

Nejjednodušším grafickým objektem je úsečka, která je zadána dvěma vrcholy a samozřejmě i dalšími příznaky, zejména barvou. Další dva typy objektů – polyčára a polygon – mají společnou jednu základní vlastnost: jsou zadány čtyřmi vrcholy a může se jednat jak o konvexní, tak i o konkávní útvary (dokonce lze hrany překřížit), což je rozdílné oproti některým dalším typům grafických subsystémů, kde jsou buď podporovány pouze trojúhelníky (které jsou konvexní již z geometrické podstaty), popř. obecnější konvexní mnohoúhelníky.

6. Zobecněné sprity jako základ pro 3D grafiku

Nejzajímavějšími typy objektů podporovaných video procesorem VDP1 jsou sprity. Jak již bylo naznačeno v tabulce zobrazené v předchozí kapitole, existují tři typy spritů, které jsem pro jednoduchost označil čísly #1, #2 a #3. Sprity patřící do první skupiny jsou určeny jediným vrcholem, odkazem na bitmapu a dvojicí bitových příznaků, které určují horizontální a/nebo vertikální zrcadlení spritu. Tento typ spritů se tedy používá převážně v 2D hrách a má podobné vlastnosti jako klasické sprity, které známe již z popisu osmibitových a šestnáctibitových herních konzolí, ovšem s tím rozdílem, že sprity mohou mít v případě konzole Sega Saturn různou velikost a různou bitovou hloubku, podle požadavků vývojářů.

Obrázek 6: První typ spritů. Velikost spritu nelze měnit, ale použitím dvou bitových příznaků je možné sprity zrcadlit, a to nezávisle ve vertikálním i horizontálním směru.

Druhý typ spritů je zadán dvojicí protilehlých vrcholů, což znamená, že je možné snadno specifikovat změnu měřítka v horizontálním a vertikálním směru. Tento typ spritů je tedy možné „natahovat“ a „stlačovat“ jednoduše tak, že se bude měnit poloha druhého vrcholu.

Obrázek 7: Druhý typ spritů je zadán dvěma protilehlými vrcholy. Změnou vzájemné polohy vrcholů lze měnit měřítko spritu, a to opět nezávisle v horizontálním i ve vertikálním směru.

Ovšem konstruktéři konzole Sega Saturn se s těmito možnostmi nespokojili a vybavili video procesor VDP1 i sprity třetího typu, které jsou specifikovány čtyřmi vrcholy. Změnou souřadnic těchto vrcholů lze sprite libovolně natahovat, otáčet jím a dokonce i překřížit dvě hrany – VDP1 stále bude provádět korektní vykreslování. Na tento typ spritů se tedy můžeme dívat jako na otexturovaný obecný čtyřúhelník! (až na absenci perspektivního zkreslení, i to je však částečně podporováno).

Obrázek 8: Třetí typ spritů je zadán čtyřmi vrcholy, které mohou mít prakticky zcela libovolnou vzájemnou polohu, což v některých případech může vést ke vzniku tvaru s překříženými hranami.

Grafický subsystém Segy Saturn se v tomto ohledu značně odlišoval od ostatních 3D systémů, které byly většinou založeny na trojúhelnících pokrytých texturou, ovšem s tím, že souřadnice v prostoru textur (uv) bylo možné specifikovat pro každý vrchol trojúhelníka. Sega Saturn namísto trojúhelníků nabízela čtyřúhelníky, což je z určitého pohledu vylepšení, ovšem na druhou stranu nebylo snadné měnit souřadnice v prostoru textury, neboť celý čtyřúhelník/sprite byl pokryt vždy celou bitmapou. Samozřejmě existovaly různé triky, jak toto omezení obejít, i tak se však pro vývojáře i grafiky (3D modeláře) jednalo o poněkud neobvyklý systém, s nímž se prakticky nikdy plně nesžili, což je možná škoda.

7. Otočení framebufferu

Musíme se zmínit ještě o další zajímavé a neobvyklé funkci nabízené tandemem čipů VDP1+VDP2. Jedná se o otáčení celého framebufferu. Obsah framebufferu se totiž při zobrazování nemusel číst řádek po řádku, jak je to běžné, ale mohl probíhat diagonálně. Tím se vlastně zajistila rotace vykresleného snímku. Pokud při čtení a vykreslování orotovaného framebufferu došlo k pokusu o čtení barvy pixelu ležícího mimo virtuální obrazovku, byl takový pixel chápán jako průhledný, takže ve snímku zobrazeném na televizoru nedošlo ke vzniku nežádoucích poruch. Při otáčení framebufferu se většinou nastavovala osmibitová hloubka, čímž došlo k rozšíření virtuálního snímku z 512×256 pixelů na 512×512 pixelů, což je výhodnější, protože horizontální rozlišení 512 pixelů je dostatečně velké v porovnání s fyzickým horizontálním rozlišením 320 či 352 pixelů, zatímco vertikální rozlišení 256 pixelů je již srovnatelné (a tudíž nedostatečné) v porovnání s fyzickým vertikálním rozlišením 224, 240 či dokonce 256 obrazových řádků.

8. Základní funkce vykonávané čipem VDP2

Společně s popisem rotace celého framebufferu uvedeného v předchozí kapitole se konečně dostáváme ke druhému video procesoru nazvanému jednoduše VDP2. Hlavním úkolem tohoto čipu bylo zpracování obrazových dat přicházejících z prvního video procesoru VDP1 a případná kombinace těchto dat s obrazovými daty pocházejícími z externího zdroje (mohlo se například jednat o dekódovaný video stream uložený ve formátu MPEG na CD-ROM). Výsledkem činnosti integrovaného obvodu VDP2 již byly barvonosné a synchronizační signály posílané po dalším zpracování (většinou jen VF modulace, …) přímo na televizor. Čip VDP2 navíc obsahoval interní paměť RAM o kapacitě čtyři kilobajty, která sloužila pro uložení barvových palet ve formátu RGB „555“ (tj. pět bitů rezervovaných pro každou barvovou složku) i ve formátu RGB „888“ (osm bitů na rezervovaných každou barvovou složku).

Kromě toho dokázal čip VDP1 provádět i další grafické operace, například určoval prioritu zobrazení jednotlivých typů objektů, dokázal provádět scrolling obrazu, změnu měřítka obrazu či vybraného grafického objektu, rotace okolo tří os (včetně perspektivního zkreslení) i některé pokročilejší grafické operace typu práce s barvami (přičtení offsetu k barvám, výpočet stínů – barvy polovičního jasu…), efekt „pixelate“ a dokonce i efekt „motion blur“. Pravděpodobně nejzajímavější operací je již zmíněná rotace či změna měřítka některého dvourozměrného objektu, protože samotná transformace byla představována transformační maticí 3×3, což znamenalo možnost provádění i dalších typů transformací (rotace+změna měřítka, zrcadlení, zkosení). Tuto rotaci bylo možné využít společně s výše zmíněným vykreslováním spritů pro tvorbu trojrozměrných scén, ovšem s tím omezením, že viditelnost musela být vypočtena programově kvůli absenci plnohodnotné paměti hloubky (depth/Z-bufferu).

9. Zvukový subsystém herní konzole Sega Saturn

Zvukový subsystém herní konzole Sega Saturn byl složen, podobně jako tomu bylo u grafického subsystému, ze dvou čipů a samostatné paměti vyhrazené pro uložení zvukových vzorků a dalších dat. Základem zvukového subsystému byl čip SCSP, jenž dokázal vytvářet zvuky a hudbu buď pouhým přehráváním vzorků s aplikovanými filtry (DSP), tak i pomocí FM syntézy. Tomuto čipu asistoval mikroprocesor Motorola MC68EC000 a již zmíněná paměť o kapacitě 512 kB. Zvukové schopnosti konzole Sega Saturn vůbec nebyly na dobu jejího vzniku špatné – všechny zvuky se zpracovávaly digitálně se vzorkovací frekvencí 44,1 kHz („CD kvalita“), byl podporován stereo výstup a samotná hudba mohla vznikat v 32 kanálech, které bylo v případě potřeby možné spojit a použít je pro FM syntézu. Kromě toho obsahoval SCSP i digitální mixér (zesílení, panning, …) a použít bylo možné i rozhraní MIDI.

Obrázek 9: Blokové schéma zvukového subsystému herní konzole Sega Saturn.

10. FM syntéza, nastavení operátorů

Na čipu SCSP je nejzajímavější blok určený pro FM syntézu. Společnost Sega se tohoto typu tvorby zvuků nechtěla vzdát pravděpodobně ve snaze o zachování alespoň částečné kompatibility se staršími konzolemi Sega, které mnohdy byly čipem pro FM syntézu vybaveny. Jak jsme si již řekli v předchozí kapitole, obsahoval SCSP 32 zvukových kanálů, přičemž každý zvukový kanál bylo možné použít buď pro přehrávání zvukových vzorků (PCM), popř. bylo možné vždy čtyři kanály spojit a využít je pro FM syntézu (každý kanál potom pracoval jako „operátor“). V extrémním případě tedy bylo možné SCSP nakonfigurovat pro přehrávání 32 PCM vzorků současně na jedné straně či pro syntézu hudby přes FM s osmi kanály (32/4) na straně druhé, ovšem záleželo jen na vývojářích, zda si například nezvolí nějakou střední cestu, například s osmi PCM kanály a šesti FM kanály.

Obrázek 10: Blokové schéma zdroje signálu pro FM syntézu.

root_podpora

Při vytvoření FM kanálu měl každý operátor na vstupu LFO (Low Frequency Oscillator), který mohl být vybrán ze čtyř vstupů – zdroj obdélníkového signálu, zdroj pilového signálu, zdroj trojúhelníkového signálu a konečně generátor bílého šumu (zde se neurčovala frekvence). Operátor měl přiřazen i generátor obálky ADSR (Attack, Decay, Sustain, Release), který byl v SCSP částečně upraven na ADDR (Attack, Decay1, Decay2, Release), protože třetí část obálky mohla mít taktéž specifikován pokles, na rozdíl od jiných syntetizérů, kde se zde většinou nacházela pouze konstantní úroveň. Kromě toho mohla být v paměti uložena a následně využita tabulka s funkcí sinus, takže bylo možné alespoň částečně nahradit neexistující zdroj sinusového signálu, který je použit v mnoha jiných systémech pro FM syntézu. I přes poměrně pokročilou technologii, kterou čip SCSP nabízel, však byla FM syntéza využívána spíše sporadicky.

Obrázek 11: Obálka typu ADSR.

11. Odkazy na Internetu

  1. Sega documentation
    http://koti.kapsi.fi/~anti­me/sega/docs.html
  2. 1995 Programming on the Sega Saturn
    http://cowboyprogramming.com/2010/06/03/1995-programming-on-the-sega-saturn/
  3. Sega Myths-Saturn was the most difficult console to program for of 5th Gen
    http://forums.sega.com/show­thread.php?313485-Sega-Myths-Saturn-was-the-most-difficult-console-to-program-for-of-5th-Gen
  4. SuperH RISC engine Family
    http://www.renesas.com/pro­ducts/mpumcu/superh/index­.jsp
  5. Sega Saturn
    http://en.wikipedia.org/wi­ki/Sega_saturn
  6. Jaguar Sector – II
    http://www.jaguarsector.com/index.php
  7. Atari Age: Atari Jaguar History
    http://www.atariage.com/Ja­guar/history.html
  8. Jaguar
    http://www.giantbomb.com/jaguar/3045–28/
  9. Consoles that won't die: The Atari Jaguar
    http://venturebeat.com/2013/04/25/con­soles-that-wont-die-atari-jaguar/
  10. Atari Jaguar and Atari Jaguar CD
    http://videogamecritic.com/ja­guarinfo.htm
  11. Atari Jaguar Documentation (Forum)
    http://www.jaguarsector.com/in­dex.php?showforum=65
  12. Atari Jaguar Programming (Forum)
    http://www.jaguarsector.com/in­dex.php?showforum=63
  13. The Jaguar Underground Documentation
    http://justclaws.atari.or­g/devcats/dox/dox.htm
  14. Blitter (Wikipedia CZ)
    http://cs.wikipedia.org/wiki/Blitter
  15. Blitter (Wikipedia EN)
    http://en.wikipedia.org/wiki/Blitter
  16. Bit blit
    http://en.wikipedia.org/wiki/Bit_blit
  17. Disassembler for the portable Jaguar DSP emulator (zdrojový kód s instrukcemi)
    http://mamedev.org/source/src/e­mu/cpu/jaguar/jagdasm.c.html
  18. Fourth-Generation Consoles
    http://gaming.wikia.com/wiki/Fourth-Generation_Consoles
  19. Fifth-Generation Consoles
    http://gaming.wikia.com/wiki/Fifth-Generation_Consoles
  20. History of video game consoles (fifth generation)
    http://en.wikipedia.org/wi­ki/History_of_video_game_con­soles_(fifth_generation)
  21. Atari Jaguar
    http://gaming.wikia.com/wi­ki/Atari_Jaguar
  22. Atari Jaguar Games
    http://gaming.wikia.com/wi­ki/List_of_Atari_Jaguar_ga­mes
  23. MyMedia Games Network Retrospective – Nintendo Super FX chip
    http://psp.mmgn.com/News/MyMedia-Games-Network-Retrospe-G6W
  24. Wikipedia: Super FX
    http://en.wikipedia.org/wiki/Super_FX
  25. IGN: Top 25 Consoles
    http://www.ign.com/top-25-consoles/13.html
  26. Sega Mega Drive
    http://sega.jp/archive/segahard/md/
  27. The16bit Era Of Console Video Games
    http://tvtropes.org/pmwiki/pmwi­ki.php/Main/The16bitEraOf­ConsoleVideoGames
  28. The Console Wars
    http://www.cracked.com/funny-2590-the-console-wars/
  29. Console Wars
    http://tvtropes.org/pmwiki/pmwi­ki.php/Main/ConsoleWars
  30. Era of the „Bit Wars“
    http://www.gtplanet.net/fo­rum/threads/era-of-the-bit-wars.119796/
  31. Rez Wars: How the Bit Wars never really ended
    http://www.ign.com/blogs/be­astmastertoad/2013/01/31/rez-wars-how-the-bit-wars-never-really-ended
  32. Which system ended the „Bit Wars“?
    http://atariage.com/forum­s/topic/199163-which-system-ended-the-bit-wars/

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