Historie vývoje počítačových her (108. část – herní konzole Sony PlayStation)

Pavel Tišnovský 19. 12. 2013

V předchozích částech seriálu o historii vývoje počítačových her i herního hardware jsme si popsali parametry herních konzolí Atari Jaguar a Sega Saturn. Ještě jsme se však nezabývali nejprodávanější herní konzolí páté generace. Jedná se o Sony PlayStation, jejíž základní parametry a vlastnosti si popíšeme dnes.

Obsah

1. Historie vývoje počítačových her (108. část – herní konzole Sony PlayStation)

2. Zpočátku úspěšná spolupráce s firmou Nintendo

3. Roztržka mezi Nintendo a Sony – vznik herní konzole Sony PlayStation

4. Základní parametry a moduly herní konzole Sony PlayStation

5. Mikroprocesor R3000A

6. Programátorský model mikroprocesoru R3000A

7. Instrukční soubor mikroprocesoru R3000A

8. Grafický subsystém – základ úspěchu Sony PlayStation

9. Vykreslovaná grafická primitiva

10. Rozdíly mezi grafickými primitivy konzole Sega Saturn a Sony PlayStation

11. Odkazy na Internetu

1. Historie vývoje počítačových her (108. část – herní konzole Sony PlayStation)

V dnešní části seriálu o historii vývoje počítačových her i herního hardware si popíšeme další konzoli páté generace. Jedná se o Sony PlayStation, kterou při zpětném pohledu můžeme považovat za nejúspěšnější konzoli své éry, dokonce se (alespoň prozatím) jedná o čtvrtou nejprodávanější konzoli vůbec s počtem prodaných kusů překračujících hodnotu sto milionů. Připomeňme si krátce, že éra herních konzolí páté generace začala v roce 1993, kdy se do prodeje dostaly hned tři nové herní konzole. První 32bitovou herní konzolí (navíc již vybavenou jednotkou CD-ROM) byla Amiga CD32; v témže roce se do prodeje dostala i již popsaná konzole Atari Jaguar a konečně si hráči mohli pořídit třetí konzoli se jménem 3DO Interactive Multiplayer. Tato herní konzole je zajímavá i způsobem její výroby a prodeje – koncept tohoto zařízení byl licencován, takže se o výrobu a prodej mohlo pokusit více společností (což se nakonec stalo). Tento způsob výroby a prodeje herních konzolí se však neosvědčil, neboť v něm nebylo možné konzoli prodávat pod skutečnými výrobními náklady, takže se jednalo o poměrně drahé zařízení (samozřejmě v porovnání s konkurencí).

Zatímco v roce 1993 začaly být prodávány tři výše zmíněné konzole, které však nebyly po komerční stránce příliš úspěšné, bylo tomu o rok později již zcela jinak. Tehdy totiž byla vydána herní konzole Sega Saturn popsaná minule a předminule a především pak (s týdenním zpožděním oproti Saturnu) slavná herní konzole Sony PlayStation. O rok později byla vydána konzole Nintendo 64, jež však svojí popularitou již Sony PlayStation nedokázala překonat, což je poněkud paradoxní, protože právě společnost Nintendo nasměrovala firmu Sony na trh herních konzolí. V případě Nintenda 64 je možná pozdní vstup na trh překvapivý, ovšem nesmíme zapomenout na to, že Nintendo mělo a dodnes má poměrně široký profil výrobků, kde (dodnes) hrají velký význam kapesní herní konzole, takže se pravděpodobně v případě N64 nejednalo o největší prioritu.

Tabulka s odhadovanými počty prodaných herních konzolí páté generace:

# Konzole Počet kusů Poznámka
1 PlayStation 102 000 000 čtvrtá nejprodávanější konzole vůbec
2 Nintendo 64 33 000 000 na čtrnáctém místě (žebříček všech konzolí)
3 Sega Saturn 9 400 000  
4 3DO 2 000 000  
5 Atari Jaguar 250 000  
6 Amiga CD32 100 000  
7 Apple Bandai Pippin 45 000 (zmíněno v seznamu 25 nejhorších technologických produktů)
       
8 Sega 32X 665 000 rozšiřující modul pro Segu Mega Drive

2. Zpočátku úspěšná spolupráce s firmou Nintendo

O společnosti Sony jsme se v tomto seriálu prozatím nijak podrobněji nezmiňovali, protože se jedná o firmu, která na trh herních konzolí přišla později než například společnosti Atari, Nintendo či Sega. To však neznamená, že by Sony byla úplným nováčkem; dokonce by se dalo říci, že je tomu přesně naopak, zejména s ohledem na to, jaký podíl měla Sony v odvětví spotřební elektroniky (nesmíme zapomenout ani na zkušenosti získané vývojem domácích mikropočítačů řady MSX). Ovšem do oboru herních konzolí se Sony dostala nejprve nepřímo, a to díky její know-how v oblasti optických pamětí, konkrétně CD-ROM. Firma Sony totiž úspěšně spolupracovala se společností Philips na vývoji specifikace CD-ROM (specifikace se později stala dostupná pod názvem Yellow Book a pochází z roku 1988), což je rozšíření staršího audio formátu CD DA (Digital Audio, u jehož zrodu mimochodem taktéž stála Sony) tak, aby bylo možné na kompaktní disky ukládat soubory. Zajímavé je, že společně s akceptováním a rozšířením CD-ROM zanikly některé konkurenční formáty, například dnes již zcela neznámý Thor-CD firmy Tandy.

Dalším společným projektem bylo rozšíření formátu CD-ROM takovým způsobem, aby bylo možné vzájemně kombinovat (souběžně číst) datové soubory, zvuková data i video. Toto rozšíření, které mělo (alespoň podle plánů) hrát velkou úlohu v nových multimediálních systémech, vešlo ve známost pod názvem CD-ROM XA (eXtended Architecture). Právě velké zkušenosti v oboru optických pamětí vedly firmu Nintendo k tomu, aby se Sony navázala spolupráci na návrhu konstrukce nové mechaniky (nazvané pracovně SNES-CD, posléze Mega-CD) pro své herní konzole, a to z toho důvodu, že původní systém Nintenda založený na magnetických discích (Famicom Disk System) byl poruchový a především nebyl nijak chráněn proti kopírování, což je v oboru dotovaných herních konzolí, jejichž výrobní cena se zaplatí až společně s nákupem několika her, velká nevýhoda. Spolupráce ovšem byla navázána například i v návrhu čipů pro starší herní konzole Nintenda, konkrétně se jedná o čip Sony SPC700 použitý v Super NESu.

3. Roztržka mezi Nintendo a Sony – vznik herní konzole Sony PlayStation

Z dnešního (zpětného) pohledu velmi úspěšná spolupráce mezi firmami NintendoSony pokračovala do takové míry, že Sony plánovala vydat pod svým logem konzoli kompatibilní se SNESem. Kompatibilita měla zaručovat možnost použití původních paměťových modulů (cartridgí) ze SNESu a současně měla tato konzole pracovat s kompaktními disky (CD), jejichž formát měla naopak využívat nová jednotka SNES-CD. Zmíněná herní konzole firmy Sony nesla jméno Play Station (s mezerou mezi oběma slovy). Ovšem v roce 1991, kdy měla být tato konzole oficiálně představena veřejnosti Nintendo spolupráci se Sony jednostranně ukončilo a začalo na vývoji CD mechaniky spolupracovat s Philipsem. Toto rozhodnutí bylo zpočátku velmi negativně vnímáno především v Japonsku (odkud obě firmy pochází, i když se dnes jedná o mezinárodní korporace), kde se dodržovalo nepsané pravidlo, že japonské firmy pro spolupráci vždy preferují národního partnera před zahraniční konkurencí.

Tento „prohřešek“ sice společnost Nintendo nakonec bez větších problémů přečkala, ovšem stalo se něco jiného a – minimálně z pohledu Nintenda – i horšího: Sony totiž pokračovala ve vývoji své herní konzole Play Station, která však již nemusela být se SNESem v žádném ohledu kompatibilní a navíc měla přímo konkurovat jak novému (tehdy ještě plánovanému, ale samozřejmě nevydanému) Nintendu 64, tak i ostatním tehdy teprve vznikajícím konzolím páté generace. První, se SNESem částečně kompatibilní verze konzole Play Station vznikla v roce 1992. Vyrobeno bylo přibližně 200 kusů těchto prototypů; ovšem potom byl tento prototyp zahozen a začalo se s návrhem zcela nové konzole, již nezatížené žádnou snahou o zpětnou kompatibilitu ani o podobný styl vývoje, jako tomu bylo na starších konzolích (tuto snahu můžeme vidět jak u NESu/SNESu, tak i u výrobků společnosti Sega – viz například vlastně již technologicky zcela překonaný a v praxi jen málo využívaný modul pro FM syntézu použitý v Sega Saturnu).

4. Základní parametry a moduly herní konzole Sony PlayStation

Návrhem zcela nové herní konzole Sony PlayStation (zde již bez mezery v názvu) byl pověřen Ken Kutaragi, který se v minulosti podílel například na návrhu zvukového čipu pro SNES. Výsledkem byla konzole oficiálně představená 3.12.1994, týden po vydání konkurenční Segy Saturn. Ken Kutaragi zvolil zcela odlišný design než společnost Atari se svým Jaguarem či firma Sega s konzolí Sega Saturn. Z předchozích třech dílů tohoto seriálu již víme, že jak Atari Jaguar, tak i Sega Saturn byly založeny na použití RISCových procesorů, které musely spolupracovat s velkým množstvím podpůrných čipů, jež se staraly o vykreslování grafiky, generování zvuků a hudby, řízení přenosových kanálů, čtení stavu herních ovladačů atd. Programování těchto herních konzolí bylo velmi složité a mnoho firem ani nedokázalo všechny možnosti nabízené konzolemi Atari JaguarSega Saturn využít (již jen zajištění přístupu více procesorů do společné paměti se ukázalo být pro mnohé vývojáře velkým problémem, což ostatně platí až do dnešní doby :-).

Naproti tomu byl Kutaragiho návrh herní konzole Sony PlayStation velmi čistý a vlastně i jednoduchý, což se ostatně projevilo i v tom, že pro Sony PlayStation byl vydán vývojový kit použitelný na běžných PC a nikoli na specializovaném hardware. Prioritou se stala podpora trojrozměrné grafiky; ostatně právě na Sony PlayStation je asi nejvíce viditelný odklon od klasických 2D spritů k otexturovaným trojúhelníkům (viz „blitter“ v Jaguaru, problematické čtyřúhelníkové sprity v Saturnu atd.). Sony PlayStation je založena na RISCovém mikroprocesoru R3000A vybaveném navíc jednotkou pro výpočty nad vektory a maticemi (velmi často používané operace v 3D grafice). Mikroprocesor měl přístup pouze do operační paměti. Druhým důležitým čipem byl grafický procesor (GPU – Graphics Processing Unit), jenž měl k dispozici vlastní paměť s framebufferem, texturami, barvovými paletami atd. Tato paměť nebyla přímo přístupná pro hlavní procesor, což vedlo k dalšímu zjednodušení návrhu celé konzole.

5. Mikroprocesor R3000A

Základním prvkem herní konzole Sony PlayStation je modifikovaná varianta mikroprocesoru R3000A, jenž byl navržen ve firmě MIPS Computer Systems a jehož výrobu zajistila společnost LSI Logic. Jednalo se o čip s architekturou RISC navazující na starší osvědčený model R2000, jenž byl vybavený klasickou „RISCovou“ instrukční pipeline. Tento čip byl vybaven třiceti dvěma pracovními registry s 32bitovou šířkou a adresním rozsahem 232 bajtů. V Sony PlayStation byl použit hodinový signál o frekvenci 33,8688 MHz a reálná výpočetní rychlost dosahovala 30 MIPS (30 milionů instrukcí za sekundu). Mikroprocesor byl kromě ALU, řadiče a sady registrů vybaven i instrukční a datovou vyrovnávací pamětí. Instrukční cache měla kapacitu 4 kB a udávaný úspěch čtení instrukce z cache (a nikoli z operační paměti) byl 80%, což není na tak malou cache špatná hodnota. Datová cache mělo kapacitu 1 kB, odlišnou strukturu a úspěch při čtení/zápisu taktéž přibližně 80%.

Vlastní instrukční sada mikroprocesorů R3000 se vyznačuje dvěma zvláštnostmi. První z nich je úplná absence registru příznaků (flags), protože konstruktéři tohoto mikroprocesoru (zdá se, že správně) usoudili, že by používání příznaků typu zero, carry, overflow atd. mohlo vést ke vzniku konfliktů, kdy by na výsledek jedné instrukce čekala instrukce další. Kvůli absenci příznaků jsou v instrukční sadě pouze dva podmíněné skoky beq (branch on equal) a bne (branch on not equal), při nichž se skok provede/neprovede na základě porovnání obsahu dvou pracovních registrů, jejichž indexy jsou přímo součástí instrukčního slova. Povšimněte si, že díky existenci registru $zero (registru s konstantní nulou) se vlastně zadarmo instrukční sada rozšiřuje o pseudoinstrukce bz (branch on zero) a bnz (branch on non zero). Dále se použití příznaků nahradilo logickými instrukcemi slt (set on less than) a slti (set on less than immediate). Výsledkem je velmi jednoduchá a přitom výkonná instrukční sada vhodná pro kód generovaný překladači (to ostatně platí i pro další typy instrukčních sad procesorů s architekturou RISC).

6. Programátorský model mikroprocesoru R3000A

Mikroprocesor R3000A používající instrukční sadu MIPS nabízel programátorům 32 základních pracovních registrů, z nichž každý měl šířku třiceti dvou bitů (už jen tento fakt velmi výrazně dopomohl překladačům v tvorbě rychlejšího kódu bez zbytečných přenosů dat/operandů mezi operační pamětí a mikroprocesorem). Navíc se při načítání instrukcí z operační paměti používal čítač instrukcí (PC – Program Counter) o šířce taktéž třiceti dvou bitů, jehož obsah však nebyl programátorům přímo přístupný; měnil se nepřímo operacemi skoku a volání subrutiny. První z pracovních registrů, který byl označovaný jménem R0 nebo též přezdívkou (aliasem) $zero, měl speciální význam, protože obsahoval vždy nulovou hodnotu, nezávisle na tom, jaká hodnota byla do registru zapisována (zápis však nebyl zakázán, ovšem neměl žádný viditelný efekt). Existence registru obsahujícího nulovou konstantu umožnila zmenšit celkový počet instrukcí v instrukční sadě.

Dalším třiceti pracovním registrům sice nebyla při konstrukci mikroprocesoru přiřazena žádná určitá funkce, ale vývojáři operačních systémů i překladačů vyšších programovacích jazyků začali některým registrům přiřazovat zvláštní význam, čemuž taktéž odpovídají aliasy používané například v assemblerech či debuggerech. Poslední registr R31 se používal při volání subrutiny pro uložení návratové adresy. Kromě již zmíněných 32 pracovních registrů byl R3000A vybaven i dvěma 32bitovými registry se speciálním významem. Tyto registry se totiž používaly při násobení a dělení. Pokud byla prováděna operace násobení, mohly se oba speciální registry považovat za registrový pár obsahující 64bitový výsledek násobení. Při dělení obsahoval jeden z registrů výsledek této operace (podíl) a druhý registr pak zbytek po dělení. Mimochodem – operace násobení a dělení byly jedinými operacemi, které se neprováděly v klasické RISCové pipeline, ale byl pro ně vyhrazen zvláštní modul, který využíval ostatní moduly mikroprocesoru.

7. Instrukční soubor mikroprocesoru R3000A

Všechny instrukce mikroprocesorů R3000A měly konstantní šířku třicet dva bitů, což mj. taktéž znamenalo, že instrukce byly v operační paměti vždy zarovnány na násobek čtyř bajtů, takže každá instrukce byla načtena v jediném strojovém taktu. Podle způsobu rozdělení bitových polí v 32bitovém instrukčním slovu se instrukce dělily pouze do třech kategorií – I-type (Immediate), J-type (Jump)R-Type (register). U prvního typu instrukcí (I-type) je přímo v instrukčním slovu uložena šestnáctibitová konstanta chápaná podle konkrétní instrukce buď jako šestnáctibitové slovo bez znaménka (0..65535) či šestnáctibitové slovo se znaménkem (-32768..32767). Proto je zde použito označení immediate (přímá hodnota). Ve zbývajících šestnácti bitech byl uložen šestibitový operační kód, pětibitový index zdrojového registru a taktéž pětibitový index registru cílového:

  I-Type (immediate)
  ------------------------------------------------------------
  | 31  26     | 25  21 | 20  16 | 15                      0 |
  ------------------------------------------------------------
  | opcode (6) | rs (5) | rt (5) | offset/konstanta (16)     |
  ------------------------------------------------------------

Formát instrukcí typu J (Jump) je ještě jednodušší než formát předchozí, protože za šestibitovým operačním kódem následuje pouze 26 bitů tvořících adresu skoku (skutečná adresa se získá vynásobením konstanty čtyřmi, resp. bitovým posuvem o dva bity doleva):

  J-Type (jump)
  ------------------------------------------------------------
  | 31  26     | 25                                        0 |
  ------------------------------------------------------------
  | opcode (6) | adresa (26)                                 |
  ------------------------------------------------------------

Poslední instrukční formát je využíván u většiny aritmetických a logických instrukcí, které používají takzvaný tříadresový kód, tj. instrukce je provedena se dvěma operandy (zdrojovými registry) a do třetího registru je uložen výsledek operace. Kromě operačního kódu jsou v instrukčním slovu uloženy pětibitové indexy obou zdrojových registrů (rs, rt) i registru cílového (rd), šestibitový kód operace a taktéž pětibitová hodnota posunu (shift) použitá u bitových posunů a rotací (i to je zajímavé – posuny a rotace bylo možné provádět „zadarmo“):

  R-Type (register)
  ------------------------------------------------------------
  | 31  26     | 25  21 | 20  16 | 15  11 | 10  6 | 5      0 |
  ------------------------------------------------------------
  | opcode (6) | rs (5) | rt (5) | rd (5) | shift | operace  |
  ------------------------------------------------------------

8. Grafický subsystém – základ úspěchu Sony PlayStation

Kromě mikroprocesoru byl dalším důležitým prvkem herní konzole Sony PlayStation její grafický procesor, neboli GPU (Graphics Processing Unit), jenž byl nepřímo doplněn modulem GTE (Geometry Transformation Engine) umístěným na stejném čipu jako hlavní mikroprocesor. Grafický procesor byl sice řízen příkazy posílanými z CPU či přenášenými přes DMA kanál z operační paměti, nicméně se jednalo o samostatně pracující čip, který měl navíc k dispozici vlastní framebuffer o kapacitě jednoho megabajtu. K tomuto framebufferu neměl mikroprocesor přímý přístup, takže nebylo zapotřebí řešit kolize při souběžném přístupu, zastavovat GPU při zápisu dat jiným modulem atd. Kromě externího framebufferu ještě grafický procesor obsahoval vyrovnávací paměť o kapacitě dvou kilobajtů, která byla použita pro uložení částí textur (přesný význam tohoto modulu si vysvětlíme příště).

Framebuffer představoval z hlediska programátora virtuální obrazovku s rozlišením 1024×512 pixelů s bitovou hloubkou 16bpp. Ve skutečnosti se ovšem v mnoha operacích, například při vlastním zobrazení snímku, používal jiný formát, především s bitovou hloubkou 15bpp (nejvyšší šestnáctý bit měl význam masky či příznaku poloprůhlednosti, v závislosti na nastaveném režimu) a 24bpp (zde byly tři pixely ve framebufferu rovny dvěma zobrazeným pixelům). Samotné – poněkud matoucí – rozlišení virtuální obrazovky tak mělo význam především při zadávání souřadnic pro vykreslování grafických primitiv a/nebo při blokovém čtení či zápisu obrazových dat.

Fyzické rozlišení obrazu na televizoru bylo mnohem menší než rozlišení virtuální obrazovky. Podle nastavení provedené programátorem bylo fyzické horizontální rozlišení rovno 256, 320, 384, 512 či 640 pixelům a vertikální rozlišení pak 240 či 480 pixelům (ne všechny kombinace se však reálně používaly). Dále se při nastavení grafického režimu nastavovalo několik příznaků, především: přepnutí mezi normou PAL a NTSC, přepnutí mezi bitovou hloubkou 15bpp a 24bpp a přepínač prokládaného a neprokládaného režimu (interlaced/non-interlaced).

9. Vykreslovaná grafická primitiva

Činnost grafického procesoru byla řízena buď přímo hlavním mikroprocesorem nebo bylo možné příkazy přenášet poloautomaticky s využitím DMA kanálu. GPU dostával a následně zpracovával takzvané pakety s grafickými příkazy. Ty byly uspořádány do lineárního vázaného seznamu, což znamená, že příkazy šly snadno modifikovat, například přidat další příkaz doprostřed seznamu atd. bez nutnosti přerovnávat data v paměti. Grafický procesor konzole Sony PlayStation dokázal vykreslit několik typů grafických primitiv, které jsou vypsány v tabulce zobrazené pod tímto odstavcem:

# Typ Geometrie zadána Popis grafického primitiva
1 bod 1 vrchol vykreslení jednoho pixelu
2 úsečka 2 vrcholy vykreslení úsečky, možnost jednorozměrného Gouraudova stínování
3 obdélník 1 vrchol+rozměry zobrazen rychleji než obecný čtyřúhelník
4 sprite 1 vrchol+rozměry obdélník s texturou, rychlejší než obecný otexturovaný čtyřúhelník
5 polygon 3 nebo 4 vrcholy čtyřúhelník je interně rozdělen na dva trojúhelníky
6 otexturovaný polygon 3 nebo 4 vrcholy opět dochází k rozdělení na dva trojúhelníky

Sprity mohly mít buď (téměř) libovolnou velikost, nebo bylo možné využít speciální formát pro sprity o rozměrech 8×8 a 16×16 pixelů, které se vykreslovaly rychleji.

widgety

10. Rozdíly mezi grafickými primitivy konzole Sega Saturn a Sony PlayStation

Na tabulce uvedené v předchozí kapitole sice můžeme vidět určitou (na první pohled možná i nápadnou) souvislost s grafickými primitivy zobrazovanými konkurenční herní konzolí Sega Saturn, ovšem ve skutečnosti jsou možnosti PlayStation v tomto ohledu mnohem větší, a to z toho důvodu, že se při vykreslování otexturovaných polygonů mohly specifikovat souřadnice v prostoru textury (takzvané u-v souřadnice), což mj. znamenalo, že jedna textura mohla být snadno využitelná více polygony, které na sebe mohly plynule navazovat apod. Naproti tomu čip VDP1 v konzoli Sega Saturn sice dokázal taktéž vykreslovat čtyřúhelníky, ovšem tam se jednalo o zobecněné sprity, které byly vždy pokryty celým rastrovým obrázkem (texturou) bez možnosti zadávat u-v souřadnice (to se muselo řešit různými triky).

Grafický subsystém Sony PlayStation má i další zajímavé vlastnosti, například podporu poloprůhlednosti. Podrobnosti si popíšeme v navazující části tohoto seriálu.

11. Odkazy na Internetu

  1. MIPS Architecture Overview
    http://tams-www.informatik.uni-hamburg.de/applets/hades/web­demos/mips.html
  2. MIPS Technologies R3000
    http://www.cpu-world.com/CPUs/R3000/
  3. Sony PlayStation (Wikipedia)
    http://en.wikipedia.org/wi­ki/PlayStation_(console)
  4. The Official PlayStation muzeum
    http://playstationmuseum.com/pla­ystation-systems/
  5. CPU-collection: IDT R3010 FPU
    http://www.cpu-collection.de/?tn=0&l0=co&l1=ID­T&l2=R3010+FPU
  6. The MIPS R2000 Instruction Set
    http://suraj.lums.edu.pk/~cs423a05/Re­ference/MIPSCodeTable.pdf
  7. Maska mikroprocesoru RISC 1
    http://www.cs.berkeley.edu/~pat­trsn/Arch/RISC1.jpg
  8. Maska mikroprocesoru RISC 2
    http://www.cs.berkeley.edu/~pat­trsn/Arch/RISC2.jpg
  9. The MIPS Register Usage Conventions
    http://pages.cs.wisc.edu/~cs354–2/beyond354/conventions.html
  10. C.E. Sequin and D.A.Patterson: Design and Implementation of RISC I
    http://www.eecs.berkeley.e­du/Pubs/TechRpts/1982/CSD-82–106.pdf
  11. Berkeley RISC
    http://en.wikipedia.org/wi­ki/Berkeley_RISC
  12. Great moments in microprocessor history
    http://www.ibm.com/develo­perworks/library/pa-microhist.html
  13. Great Microprocessors of the Past and Present
    http://www.cpushack.com/CPU/cpu1.html
  14. Sega documentation
    http://koti.kapsi.fi/~anti­me/sega/docs.html
  15. 1995 Programming on the Sega Saturn
    http://cowboyprogramming.com/2010/06/03/1995-programming-on-the-sega-saturn/
  16. 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
  17. SuperH RISC engine Family
    http://www.renesas.com/pro­ducts/mpumcu/superh/index­.jsp
  18. Sega Saturn
    http://en.wikipedia.org/wi­ki/Sega_saturn
  19. Jaguar Sector – II
    http://www.jaguarsector.com/index.php
  20. Atari Age: Atari Jaguar History
    http://www.atariage.com/Ja­guar/history.html
  21. Jaguar
    http://www.giantbomb.com/jaguar/3045–28/
  22. Consoles that won't die: The Atari Jaguar
    http://venturebeat.com/2013/04/25/con­soles-that-wont-die-atari-jaguar/
  23. Atari Jaguar and Atari Jaguar CD
    http://videogamecritic.com/ja­guarinfo.htm
  24. Atari Jaguar Documentation (Forum)
    http://www.jaguarsector.com/in­dex.php?showforum=65
  25. Atari Jaguar Programming (Forum)
    http://www.jaguarsector.com/in­dex.php?showforum=63
  26. The Jaguar Underground Documentation
    http://justclaws.atari.or­g/devcats/dox/dox.htm
  27. Blitter (Wikipedia CZ)
    http://cs.wikipedia.org/wiki/Blitter
  28. Blitter (Wikipedia EN)
    http://en.wikipedia.org/wiki/Blitter
  29. Bit blit
    http://en.wikipedia.org/wiki/Bit_blit
  30. Disassembler for the portable Jaguar DSP emulator (zdrojový kód s instrukcemi)
    http://mamedev.org/source/src/e­mu/cpu/jaguar/jagdasm.c.html
  31. Fourth-Generation Consoles
    http://gaming.wikia.com/wiki/Fourth-Generation_Consoles
  32. Fifth-Generation Consoles
    http://gaming.wikia.com/wiki/Fifth-Generation_Consoles
  33. History of video game consoles (fifth generation)
    http://en.wikipedia.org/wi­ki/History_of_video_game_con­soles_(fifth_generation)
  34. Atari Jaguar
    http://gaming.wikia.com/wi­ki/Atari_Jaguar
  35. Atari Jaguar Games
    http://gaming.wikia.com/wi­ki/List_of_Atari_Jaguar_ga­mes
  36. MyMedia Games Network Retrospective – Nintendo Super FX chip
    http://psp.mmgn.com/News/MyMedia-Games-Network-Retrospe-G6W
  37. Wikipedia: Super FX
    http://en.wikipedia.org/wiki/Super_FX
  38. IGN: Top 25 Consoles
    http://www.ign.com/top-25-consoles/13.html
  39. Sega Mega Drive
    http://sega.jp/archive/segahard/md/
  40. The16bit Era Of Console Video Games
    http://tvtropes.org/pmwiki/pmwi­ki.php/Main/The16bitEraOf­ConsoleVideoGames
  41. The Console Wars
    http://www.cracked.com/funny-2590-the-console-wars/
  42. Console Wars
    http://tvtropes.org/pmwiki/pmwi­ki.php/Main/ConsoleWars
  43. Era of the „Bit Wars“
    http://www.gtplanet.net/fo­rum/threads/era-of-the-bit-wars.119796/
  44. 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
  45. Which system ended the „Bit Wars“?
    http://atariage.com/forum­s/topic/199163-which-system-ended-the-bit-wars/
Našli jste v článku chybu?
Vitalia.cz: Muž, který miluje příliš. Ženám neimponuje

Muž, který miluje příliš. Ženám neimponuje

DigiZone.cz: Parlamentní listy: kde končí PR...

Parlamentní listy: kde končí PR...

Podnikatel.cz: Takhle se prodávají mražené potraviny

Takhle se prodávají mražené potraviny

Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

Vitalia.cz: Opuncie je plod kaktusu. Pozor na trny

Opuncie je plod kaktusu. Pozor na trny

DigiZone.cz: Světový pohár v přímém přenosu na ČT

Světový pohár v přímém přenosu na ČT

Podnikatel.cz: Instalatér, malíř a elektrikář. "Vymřou"?

Instalatér, malíř a elektrikář. "Vymřou"?

120na80.cz: Co je padesátkrát sladší než cukr?

Co je padesátkrát sladší než cukr?

Lupa.cz: Hackeři mají data z půlmiliardy účtů Yahoo

Hackeři mají data z půlmiliardy účtů Yahoo

Podnikatel.cz: Znáte už 5 novinek k #EET

Znáte už 5 novinek k #EET

Lupa.cz: Aukro.cz mění majitele. Vrací se do českých rukou

Aukro.cz mění majitele. Vrací se do českých rukou

Vitalia.cz: Test dětských svačinek: Tyhle ne!

Test dětských svačinek: Tyhle ne!

Vitalia.cz: Kterou dýni můžete jíst za syrova?

Kterou dýni můžete jíst za syrova?

Vitalia.cz: 5 pravidel proti infekci močových cest

5 pravidel proti infekci močových cest

Lupa.cz: Patička e-mailu závazná jako vlastnoruční podpis?

Patička e-mailu závazná jako vlastnoruční podpis?

Podnikatel.cz: Babišovi se nedá věřit, stěžovali si hospodští

Babišovi se nedá věřit, stěžovali si hospodští

Podnikatel.cz: Byla finanční manažerka, teď cvičí jógu

Byla finanční manažerka, teď cvičí jógu

Vitalia.cz: dTest odhalil ten nejlepší kečup

dTest odhalil ten nejlepší kečup

Podnikatel.cz: Udělali jsme velkou chybu, napsal Čupr

Udělali jsme velkou chybu, napsal Čupr

Lupa.cz: Další Češi si nechali vložit do těla čip

Další Češi si nechali vložit do těla čip