Hlavní navigace

Historie vývoje počítačových her (44. část - šestnáctibitová herní konzole SNES)

V dnešní části seriálu o historii vývoje výpočetní techniky si popíšeme další šestnáctibitovou herní konzoli. Jedná se o konzoli nazvanou Super Nintendo Entertainment System (SNES), která se v Japonsku prodávala pod názvem Super Famicom. Tato konzole byla nejvážnějším konkurentem konzole Sega Mega Drive/Sega Genesis.

Obsah

1. Historie vývoje počítačových her (44. část – šestnáctibitová herní konzole SNES)

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

3. Šestnáctibitový mikroprocesor 65C816 – nástupce slavného čipu MOS 6502

4. Od MOS 6502 k čipu 65C816

5. Programátorský model čipu 65C816

6. Nové adresní režimy mikroprocesoru 65C816

7. Nové instrukce mikroprocesoru 65C816

8. Zvukový subsystém herní konzole SNES

9. Odkazy na Internetu

1. Historie vývoje počítačových her (44. část – šestnáctibitová herní konzole SNES)

V předchozích čtyřech částech seriálu o historii vývoje výpočetní techniky jsme se zabývali popisem šestnáctibitové herní konzole Sega Mega Drive/Sega Genesis, která začala být společností SEGA prodávána již v roce 1988. Tento rok je tak možné z hlediska vývoje herních konzolí i her pro herní konzole považovat za přelomový, protože právě přechod na šestnáctibitové mikroprocesory a modernější grafické a zvukové čipy znamenal pro producenty softwaru možnost vytvářet již dosti složité a graficky náročné hry, které v některých případech mohly směle konkurovat svým automatovým protějškům, popř. verzím her naprogramovaných pro osobní počítače Amiga, Atari ST či IBM PC. Příchod herní konzole Sega Mega Drive/Sega Genesis na trh samozřejmě znamenal postupný útlum vývoje a prodeje her pro starší osmibitové herní konzole, na což museli zareagovat i další výrobci herních konzolí. Nutno dodat, že někteří výrobci již však adekvátním způsobem zareagovat nestačili a na tomto silně konkurenčním trhu se již neprosadili.

Obrázek 1: Osmibitová herní konzole Nintendo Entertainment System (NES) je přímým předchůdcem SNESu.

V nejlepší pozici se nacházela konkurenční společnost Nintendo, protože její starší osmibitová konzole Nintendo Entertainment System (NES) se stále prodávala velmi dobře, a to navzdory tomu, že její technické parametry již byly překonány (u konzolí však má velký význam i dostupnost a kvalita her, nikoli pouze jejich technické parametry). Na další generaci konzole NES prodávanou pod názvem Super Nintendo Entertainment System (SNES) si tak zákazníci museli počkat až do roku 1990, což však ve skutečnosti nebyl až tak pozdní příchod na trh se šestnáctibitovými konzolemi, protože další konkurenční konzole začaly být nabízeny teprve až v roce 1991 (nutno dodat, že doby uvedení na trh se v jednotlivých regionech lišily s přibližně půlročním rozptylem). V následující tabulce je vypsána pětice nejznámějších šestnáctibitových herních konzolí a současně i konzole TurboGrafx-16, která stojí na pomezí mezi osmibitovou konzolí (CPU) a šestnáctibitovou konzolí (video čip):

# Konzole Rok CPU Odvozeno z CPU Frekvence
1 TurboGrafx-16 1987 HuC6280A MOS 6502  7,16 MHz
2 Sega Mega Drive 1988 MC68HC000 (CMOS) Motorola 68000 7,61 MHz/7,67 MHz
3 Super NES (SNES) 1990 5A22 (Ricoh) 65C816  3,58 MHz
4 Neo Geo 1991 Motorola 68000   12,00 MHz
5 Commodore CDTV 1991 Motorola 68000    7,16 MHz
6 Philips CD-i 1991 Philips SCC68070 Motorola 68000 15,5 MHz

Obrázek 2: Osmibitový mikroprocesor Ricoh 2A03 použitý v NESu.

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

Vzhledem k tomu, že konstruktéři zaměstnaní ve firmě Nintendo nemuseli s vývojem nové konzole příliš spěchat, mohli se věnovat všem detailům návrhu, takže nakonec vznikl velmi zajímavý hardware, v němž souběžně pracovalo větší množství čipů a každý subsystém (CPU, grafika, zvuky) měl přidělenou vlastní RAM (hlavně zvukový čip je možné považovat za zcela samostatně pracující koprocesor). Nová konzole nazvaná SNES byla v roce 1990 vydána nejprve v Japonsku (především z konkurenčních důvodů se stalo zvykem vydávat nové konzole nejprve v Asii), v roce 1991 začala být nabízena verze určená pro severoamerické země (USA a Kanada) a v roce 1992 se SNES začal oficiálně prodávat i v Evropě. Jednotlivé varianty se od sebe lišily způsobem zapojení cartridge, což (teoreticky) znemožňovalo použít hru určenou pro jiný region. Zatímco konstruktéři ve společnosti Sega použili ve své konzoli Sega Mega Drive/Sega Genesis variantu mikroprocesoru Motorola 68000, jenž nebyl v prakticky žádném ohledu kompatibilní s původním Zilog Z80 (Sega Master System), v případě herní konzole SNES byl využit mikroprocesor Ricoh 5A22 postavený na jádře mikroprocesoru WDC 65c816, což je šestnáctibitová varianta slavného čipu MOS 6502.

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

Jak si řekneme v dalších kapitolách, podporoval tento čip režim téměř úplné zpětné kompatibility se starším osmibitovým mikroprocesorem MOS 6502, což mohlo pomoci programátorům her při převodu starších titulů určených pro NES, kde byl použit osmibitový mikroprocesor Ricoh 2A03 založený právě na MOS 6502. Velmi důležitá byla změna grafického řadiče, který podporoval nová rozlišení a větší počet barev. V případě neprokládaných režimů bylo možné použít grafické režimy s rozlišením 256×224(239) pixelů a 512×224(239) pixelů a pokud se použily režimy prokládané, vzrostlo rozlišení dokonce na 512×448(478) pixelů, tj. počet obrazových řádků (scanlines) se zvýšil na dvojnásobek. Oproti starší konzoli NES se zvýšil i počet současně zobrazitelných barev (barevná hloubka 2 až 11 bitů na pixel) a taktéž možnosti zobrazení spritů: 128 spritů, velikost spritů až 64×64 pixelů. O zvukový výstup a o generování hudby se starala dvojice čipů – osmibitový čip Sony SPS700 a 16bitový čip Sony DSP, přičemž byly podporovány šestnáctibitové vzorky/samply, což je oproti starším konzolím další krok kupředu. Podobně jako grafický subsystém měl i zvukový subsystém vyhrazenou vlastní RAM.

3. Šestnáctibitový mikroprocesor 65C816 – nástupce slavného čipu MOS 6502

Jedním z nejdůležitějších čipů každého mikropočítače a v poněkud menší míře i každé herní konzole je mikroprocesor. V předchozí kapitole jsme si řekli, že v herní konzoli SNES byl použit mikroprocesor Ricoh 5A22 založený na jádře čipu (WDC) 65c816. Tento mikroprocesor byl sice zpětně kompatibilní s MOS 6502, mohl však být přepnut do režimu, v němž se šířka akumulátoru A rozšířila na šestnáct bitů, šířka index registrů X a Y byla zvýšena taktéž na šestnáct bitů a navíc se při adresování používal další osmibitový registr, který šířku logické adresy dále rozšiřoval na celých 24 bitů, což teoreticky umožnilo adresaci až 16 MB paměti (ve skutečnosti to však bylo kvůli různým omezením méně). Tento mikroprocesor taktéž podporoval nové instrukce a v neposlední řadě byla jeho hodinová frekvence vyšší, než u původního čipu MOS 6502 a taktéž se změnil počet cyklů u několika instrukcí (například u skoků nedocházelo k penalizaci jednoho hodinového cyklu v případě překročení paměťové stránky).

pc7311i

Obrázek 4: Počítač Apple II GS vybavený čipem WDC 65c816.

Zatímco čip MOS 6502 či jeho různé varianty byl použit v několika desítkách typů úspěšných osmibitových mikropočítačů a herních konzolí, v případě mikroprocesoru 65c816 byl úspěch a rozšíření tohoto čipu poněkud menší a to především z toho důvodu, že mnoho výrobců počítačů/konzolí skokově přešlo na v některých ohledech výkonnější čip Motorola 68000 (ten měl přednost v tom, že se jeho konstruktéři neohlíželi na zpětnou kompatibilitu, takže měli větší svobodu návrhu). Nicméně i 65c816 byl použit v některých zajímavých zařízeních. Jedním z nich je – pokud prozatím vynecháme konzoli SNES – i mikropočítač nazvaný Apple II GS, který se vyráběl od roku 1986 a obsahoval čip 65c816 taktovaný na 2,8MHz. Výpočetní výkon tohoto mikropočítače, jenž byl zpětně kompatibilní se slavnou řadou Apple ][, byl takový, že na něm běžela i upravená verze slavné hry Wolfenstein 3D.

pc7312

Obrázek 5: Počítač Apple II s disketovou jednotkou a ovladači typu paddle, které se používaly mj. i na osmibitových Atari či Commodore C64.

Dvojice písmen GS v názvu tohoto modelu znamená Graphics and Sound, což mělo naznačit lepší grafické a zvukové možnosti tohoto stroje oproti starším modelům Apple ][. Ty byly skutečně lepší, a to díky čipu nazvanému jednoduše VGC (Video Graphics Chip). Tento čip podporoval jak všechny původní režimy předchozích modelů počítačů, tak i několik režimů nových (souhrnně nazývaných SHR – Super High Resolution). Tyto režimy podporovaly rozlišení 320×200 pixelů s 4bpp a 640×200 pixelů s 2 či 4bpp. Jak je z výše uvedených informací patrné, jednalo se o poměrně výkonný počítač, který se však příliš nerozšířil. Částečně za to mohlo marketingové oddělení firmy Apple (ovlivňované do značné míry Stevem Jobsem), které spíše propagovalo systém Macintosh (z hlediska operačního systému a technologických kvalit zajisté dělalo dobře), svoji úlohu zde však zajisté sehráli i tehdejší konkurenti na trhu, zejména firmy Atari, Commodore a IBM (i když například grafické schopnosti prvních IBM PC s grafickou kartou CGA byly velmi slabé).

Obrázek 6: WordPerfect pro šestnáctibitové mikropočítače Apple II GS (s mikroprocesorem 65C816 zpětně kompatibilním s legendárním MOS 6502) byl vybaven grafickým splash-screenem.

4. Od MOS 6502 k čipu 65C816

Na chvíli se ještě vraťme k šestnáctibitovému mikropočítači Apple II GS. Zajímavé je, že vývoj mikroprocesoru 65c816 byl zahájen právě na základě dohody mezi společností Apple a firmou WDC, v níž byl tento čip následně navržen a vyroben. CEO a současně i zakladatelem firmy WDC byl totiž známý inženýr Bill Mensch, který se v minulosti podílel na návrhu dvou osmibitových mikroprocesorů, které dost významným způsobem ovlivnily vývoj výpočetní techniky na přelomu sedmdesátých a osmdesátých let minulého století. Bill Mensch spolunavrhoval čip Motorola 6800 i podpůrné obvody pro tento mikroprocesor a posléze se podílel i na návrhu slavného mikroprocesoru MOS 6502, takže není divu, že po přechodu do společnosti WDC prosadil, aby byly nové mikroprocesory navrhované, vyráběné a licencované touto firmou postaveny na základech čipu MOS 6502. Prvním z těchto čipů byl WDC 65C02, což byla varianta původního NMOS čipu 6502, která navíc obsahovala opravy některých chyb v původním návrhu tohoto mikroprocesoru (nepřímé skoky na adresy ležící na konci stránek atd.) a rozšíření jeho instrukční sady.

Obrázek 7: Osmibitový mikroprocesor Motorola MC6800 – čipu, na jehož vývoji se podílel Bill Mensch.

Odtud už byl vlastně jen docela malý krůček k tomu, aby se osmibitový čip WDC 65C02 rozšířil na šestnáctibitový čip WDC 65c816. Rozklíčovat jméno tohoto mikroprocesoru je při znalosti jeho historie snadné: 65 se odkazuje na řadu 6502, c značí výrobní technologii CMOS (mimochodem: plně statickou – díky malému počtu registrů je bylo možné implementovat formou klopných obvodů, což mj. umožňovalo plynule zmenšovat frekvenci hodinového signálu až na nulu) a dvojice čísel 8–16 znamená, že tento mikroprocesor mohl pracovat v téměř 100% kompatibilním osmibitovém režimu 6502, nebo mohl být naopak přepnutý do režimu 16bitového. Právě tato vlastnost byla vyžadována zástupci společnosti Apple, kteří potřebovali, aby Apple II GS mohl být zpětně kompatibilní s úspěšnou řadou osmibitových mikropočítačů Apple ][ (prostá emulace byla vzhledem k relativně nízkému výkonu tehdejších čipů prakticky nemyslitelná).

Obrázek 8: Originální mikropočítač Apple II řízený osmibitovým mikroprocesorem MOS 6502.

5. Programátorský model čipu 65C816

Pro zajímavost si alespoň stručně popišme programátorský model šestnáctibitového mikroprocesoru 65c816 a porovnejme ho s programátorským modelem staršího osmibitového mikroprocesoru MOS 6502. Všechny registry dostupné programátorům jsou vypsány v následující tabulce. Zajímavé je, že počet běžných pracovních registrů se příliš nezměnil (stále zde vidíme trojici registrů akumulátor+dva indexové registry), ovšem v šestnáctibitovém režimu došlo k rozšíření šířky některých registrů a současně i ke změnám některých adresovacích režimů (viz další text):

# Registr Význam MOS 6502 WDC 65c816
1 A Akumulátor A (8 bitů) B (8 bitů) + A (8 bitů) = C (16 bitů)
2 X Index registr X X (8 bitů) XH (8 bitů) + XL (8 bitů)
3 Y Index registr Y Y (8 bitů) YH (8 bitů) + YL (8 bitů)
4 PC Program counter PC (16 bitů) PCH (8 bitů) + PCL (8 bitů)
5 S Stack pointer S (8 bitů) SH (8 bitů) + SL (8 bitů)
6 P Processor status P (6 bitů) P (9 bitů)
7 D Direct register neexistuje DH (8 bitů) + DL (8 bitů)
8 DBR Data bank registr neexistuje DBR (8 bitů)
9 PBR Program bank registr neexistuje PBR (8 bitů)

Z předchozí tabulky je patrné, že změny postihly mj. i stavový registr P, jenž byl rozšířen ze šesti bitů (=šesti bitových příznaků) na devět bitů (=devět bitových příznaků), ovšem v daném okamžiku bylo možné přistupovat pouze k osmi příznakům. Devátý příznak se musel získat instrukcí XCE, která tento příznak prohodila s příznakem CARRY:

Bit registru P Označení Význam
8 N příznak záporného výsledku
7 V příznak přetečení
6 M 8/16 bitové operace s pamětí
5 B/X 8/16 bitové index registry + příznak BREAK
4 D decimální (BCD)/binární režim ALU
3 I povolení/zákaz přerušení
2 Z příznak nulového výsledku
1 C/E příznak přenosu/režim emulace MOS 6502

Odkazy na další informační zdroje:

  1. 6502.org
    http://www.6502.org/
  2. The 6502/65C02/65C816 Instruction Set Decoded
    http://www.llx.com/~nparker/a2/op­codes.html
  3. 6502 Addressing Modes
    http://www.obelisk.demon.co­.uk/6502/addressing.html
  4. HuC6280 CPU
    http://shu.emuunlim.com/dow­nload/pcedocs/pce_cpu.html
  5. Hudson Soft HuC6280 (Wikipedia)
    http://en.wikipedia.org/wi­ki/Hudson_Soft_HuC6280

6. Nové adresní režimy mikroprocesoru 65C816

Originální mikroprocesor MOS 6502 byl mezi programátory známý i tím, že používal celkem třináct adresních režimů, ovšem většina aritmetických a logických instrukcí se spokojila s režimy osmi. Zbylé adresní režimy se většinou používaly pouze v instrukcích větvení – branch – a taktéž u instrukcí skoků – jump, poslední režim pak pro adresaci akumulátoru:

# Režim Význam
1 Implicit Operand je součástí instrukce (CLC apod.)
2 Immediate Operandem je osmibitová konstanta (LDA # apod.)
3 Accumulator Operandem je vždy akumulátor (LSR apod.)
4 Absolute Šestnáctibitová adresa
5 Absolute,X Šestnáctibitová adresa+X
6 Absolute,Y Šestnáctibitová adresa+Y
7 Zero Osmibitová adresa (nultá stránka paměti)
8 Zero,X Osmibitová adresa+X (nultá stránka paměti)
9 Zero,Y Osmibitová adresa+Y (nultá stránka paměti)
10 (Zero,X) Na adrese zero+x je uložen ukazatel (nepřímá adresace)
11 (Zero),Y Na adrese zero je uložen ukazatel přičtený k Y (nepřímá adresace s indexem)
12 Relative Osmibitový offset (použito u skoků)
13 Indirect Šestnáctibitová adresa na ukazatel (použito u nepřímého skoku)

V šestnáctibitovém režimu došlo z hlediska vývojáře ke dvěma důležitým změnám. První změnou byla změna šířky registrů používaných při běžných aritmetických a logických operacích, což se týká především akumulátoru A a taktéž indexových registrů X a Y. Důležitá byla taktéž změna šířky ukazatele na vrchol zásobníku S, protože u původního mikroprocesoru MOS 6502 byl zásobník umístěn v první stránce paměti, tj. na adresách 256 až 511 a mohl mít tedy kapacitu pouze 256 bajtů=128 adres. V šestnáctibitovém režimu bylo možné zásobník přemístit kamkoli v rámci prvních 64 kilobajtů operační paměti a i jeho maximální velikost byla rovna 64 kilobajtům. Dále se při adresaci uplatnily tři nové registry D (Direct register), DBR (Data bank register) a PBR (Program bank register).

Registr DBR se používal při adresaci operandů, protože s využitím 16bitových adres a 16bitových index registrů by bylo možné adresovat maximálně 64 kB paměti. Obsah osmibitového registru DBR se jednoduše posunul o 16 bitů doleva a následně se přidal k vypočtené adrese – jedná se o operaci, které adresu rozšířila přímo na 24 bitů, což je (podle mého názoru) mnohem lepší, než systém použitý v mikroprocesorech Intel 8086 s jejich adresací systémem segment:offset, kde dvojice 16bitových registrů postačovala pouze pro výpočet 20bitové adresy (navíc zde musela být přidána drahá sčítačka). Podobně fungoval i registr PBR, který ovšem rozšiřoval adresu při provádění skoků, které taktéž mohly vést kamkoli v 24 bitovém adresovém rozsahu (16 MB RAM). Registr D měl šířku 16 bitů a kombinoval se s osmibitovou adresou. V podstatě umožňoval, aby staré adresní režimy operující s nultou stránkou paměti mohly být prováděny v adresním rozsahu 64 kB. Díky existenci těchto tří nových registrů a rozšíření instrukční sady bylo namísto původních třinácti režimů podporováno neuvěřitelných 24 adresních režimů.

7. Nové instrukce mikroprocesoru 65C816

V původní instrukční sadě čipu MOS 6502 se používaly osmibitové kódy instrukcí a z 256 možných operačních kódů bylo obsazeno pouze 151 pozic, což znamená, že konstruktéři nových mikroprocesorů odvozených od čipu MOS 6502 mohli navrhnout a implementovat až 105 nových instrukcí a přitom zachovat plnou zpětnou kompatibilitu s existujícími nástroji, assemblery či debuggery. Konstruktéři čipu WDC 65C816 dokázali zaplnit všech zbývajících 105 pozic, a to hned několika novými instrukcemi, popř. již existujícími instrukcemi, k nimž byly přidány nové adresní režimy. Mezi nové instrukce patří například:

# Kód Význam
1 BRA nepodmíněný relativní skok (umožňuje realokaci)
2 BRL nepodmíněný dlouhý relativní skok
3 DEC rozšířeno o možnost snížení hodnoty akumulátoru
4 INC rozšířeno o možnost zvýšení hodnoty akumulátoru
5 JML dlouhý skok (16 MB)
6 JSL dlouhý skok do podprogramu (16 MB)
7 MVN blokový přenos dat
8 MVP blokový přenos dat
9 PEA uložení absolutní adresy na zásobník
10 PH* uložení vybraného registru na zásobník (rozšíření původních možností)
11 PL* získání vybraného registru ze zásobníku (rozšíření původních možností)
12 RTL návrat ze subrutiny volané přes JSL
13 STZ uložení nuly do paměti
14 TRB test and reset bit
15 TSB test na set bit
16 T** přesuny mezi registry (prakticky všechny možné kombinace A, S, X, Y)
17 XBA prohození A a B (osmibitových složek 16bitového akumulátoru)

8. Zvukový subsystém herní konzole SNES

Popisu grafického subsystému herní konzole SNES se budeme podrobněji věnovat až v následující části tohoto seriálu, dnes si však ještě povíme základní informace o zvukovém subsystému SNESu. Ten byl navržen velmi zajímavým způsobem, protože o generování zvuků se staral samostatný koprocesor SPC700, jemuž byla přidělena vlastní RAM. Tento koprocesor byl plně programovatelný a mohl tak buď obsahovat jednoduchou rutiny pro přehrávání několika obdélníkových signálů, nebo naopak mohl obsahovat složitý program pro zvukovou syntézu. Tento čip byl navíc doplněn jednoduchým DSP, jenž dokázal přehrávat šestnáctibitové vzorky/samply a podporoval až osm stereo kanálů. Z tohoto pohledu byl zvukový subsystém SNESu lepší, než například zvukový systém Amigy, i když v případě Amigy mohli programátoři těžit z větší kapacity RAM a tím pádem i možnosti přehrávání relativně dlouhých nasamplovaných zvuků (viz úspěšné moduly).

Čip SPC700 dokázal adresovat 64 kB RAM, ovšem hlavní procesor neměl k této paměti přímý přístup. Ten pouze mohl ovládat čip SPC700 přes několik osmibitových portů – přes tyto porty se přenášely i programy pro SPC700. Programátorský model SPC700 se v některých ohledech podobal původnímu mikroprocesoru MOS 6502, protože zde můžeme najít osmibitový akumulátor A, osmibitové index registry X a Y, osmibitový ukazatel na vrchol zásobníku a 16bitový programový čítač. Instrukční sada však byla poněkud odlišná.

Zajímavý byl i čip DSP. Ten dokázal přehrávat šestnáctibitové samply, ty ovšem nebyly uloženy systémem 16bitů/vzorek. Namísto toho se používaly bloky o velikosti devět bajtů, přičemž každý blok odpovídal šestnácti šestnáctibitovým samplům. Jak je to možné? Samozřejmě se používala komprimace, která fungovala tak, že v prvním bajtu byly uloženy informace o takzvané granularitě, použitém filtru a dvou příznakových bitech, které označovaly smyčku popř. konec celé nasamplované stopy. Dalších osm bitů již obsahovalo informace o všech šestnácti samplech, přičemž na každý vzorek byly rezervovány pouze čtyři bity, z nichž každý představoval hodnotu v rozsahu –8 až 7. Granularita byla použita pro bitový posun těchto vzorků do rozsahu –32768 až 32767. Využívalo se přitom faktu, že čím větší jsou změny amplitudy signálu, tím větší mohou být i skoky mezi jednotlivými vzorky. Podrobnosti si řekneme příště.

9. Odkazy na Internetu

  1. William D. Mensch jr.
    http://www.computerhallof­fame.org/index.php?option=com_con­tent&view=article&id=31&I­temid=4
  2. Bill Mensch
    http://en.wikipedia.org/wi­ki/Bill_Mensch
  3. SPC 700 Documentation
    http://emureview.ztnet.com/de­veloperscorner/SoundCPU/spc­.htm
  4. Super NES Programming/SPC700 reference
    http://en.wikibooks.org/wi­ki/Super_NES_Programming/SPC700_re­ference
  5. Mega lo Mania
    http://www.mobygames.com/game/mega-lo-mania
  6. Mega Lo Mania
    http://en.wikipedia.org/wi­ki/Mega_Lo_Mania
  7. Cannon Fodder
    http://www.allgame.com/ga­me.php?id=739
  8. Cannon Fodder [European]
    http://www.allgame.com/ga­me.php?id=15717
  9. Retrospective: Cannon Fodder
    http://www.rockpapershotgun­.com/2007/11/11/retrospec­tive-cannon-fodder/
  10. Cannon Fodder
    http://en.wikipedia.org/wi­ki/Cannon_Fodder_(video_ga­me)
  11. BC Racers
    http://en.wikipedia.org/wi­ki/BC_Racers
  12. Desert Strike Advance
    http://www.ign.com/articles/2002/06/03/de­sert-strike-advance
  13. Three Strikes And You're Out
    http://www.eurogamer.net/ar­ticles/three-strikes-and-youre-out-article
  14. Head 2 Head: Desert Strike – SNES vs MegaDrive
    http://www.retrogamescollec­tor.com/head-2-head-desert-strike-snes-vs-megadrive/
  15. Desert Strike: Return to the Gulf
    http://en.wikipedia.org/wi­ki/Desert_Strike:_Return_to_the_Gulf
  16. The Chaos Engine (Soldiers of Fortune USA)
    http://www.bitmap-brothers.co.uk/our-games/past/chaos-engine.htm
  17. The Chaos Engine series
    http://www.mobygames.com/game-group/chaos-engine-series
  18. The Chaos Engine
    http://en.wikipedia.org/wi­ki/Chaos_Engine
  19. The Chaos Engine 2
    http://www.bitmap-brothers.co.uk/our-games/past/chaos-engine2.htm
  20. The Chaos Engine series
    http://www.mobygames.com/game-group/chaos-engine-series
  21. Moby Games: Speedball series
    http://www.mobygames.com/game-group/speedball-series
  22. Bitmap Brothers: Speedball (original)
    http://www.bitmap-brothers.co.uk/our-games/past/speedball.htm
  23. Bitmap Brothers: Speedball 2: Brutal Deluxe
    http://www.bitmap-brothers.co.uk/our-games/past/speedball2.htm
  24. Wikipedia: Speedball (video game)
    http://en.wikipedia.org/wi­ki/Speedball_(video_game)
  25. Golden Axe
    http://strategywiki.org/wi­ki/Golden_Axe
  26. Golden Axe (series)
    http://en.wikipedia.org/wi­ki/Golden_Axe_(series)
  27. Golden Axe II
    http://www.gamespot.com/golden-axe-ii/platform/genesis/
  28. Golden Axe II
    http://strategywiki.org/wi­ki/Golden_Axe_II
  29. Golden Axe III
    http://strategywiki.org/wi­ki/Golden_Axe_III
  30. Game Freaks 365: Sonic the Hedgehog 2
    http://gamefreaks365.com/re­view.php?artid=1631
  31. Sonic The Hedgehog 2 (GENESIS)
    http://web.archive.org/web/20070831062914/htt­p://sonic.neoseeker.com/so­nic_the_hedgehog2/GENESIS/pa­ges/release_dates_backgrou­nd3/
  32. Neoseeker: Sonic the Hedgehog 2 (16-bit)
    http://www.neoseeker.com/Ga­mes/Products/GENESIS/sonic_the_hed­gehog2/
  33. Wikipedia: Sonic the Hedgehog 2 (16-bit)
    http://en.wikipedia.org/wi­ki/Sonic_the_Hedgehog2_(16-bit)
  34. Gamespot: Disney's Aladdin
    http://www.gamespot.com/disneys-aladdin-in-nasiras-revenge/platform/ps/
  35. Moby Games: Disney's Aladdin
    http://www.mobygames.com/game/disneys-aladdin
  36. Internet Movie Database: Aladdin (I) (Video Game 1993)
    http://www.imdb.com/title/tt0204798/
  37. Wikipedia: Disney's Aladdin (video game)
    http://en.wikipedia.org/wi­ki/Disney's_Aladdin_(vide­o_game)
  38. Eric Chahi
    http://en.wikipedia.org/wi­ki/Eric_Chahi
  39. Wikipedia: Another World (video game)
    http://en.wikipedia.org/wi­ki/Another_World_(video_ga­me)
  40. SN76489 sound chip details
    http://web.inter.nl.net/u­sers/J.Kortink/home/articles/sn76489/
  41. SN76464 datasheet
    http://www.ic-on-line.cn/view_online.php?id=1106623&fi­le=0054%5Csn76494_409323.pdf
  42. Texas Instruments SN76489 (Wikipedia)
    http://en.wikipedia.org/wi­ki/Texas_Instruments_SN76489
  43. SN76489
    http://www.smspower.org/De­velopment/SN76489?sid=ae16503f2fb18070f3f40f2af­56807f1
  44. YM2413 FM Operator Type-LL (OPLL) Application Manual
    http://www.smspower.org/ma­xim/Documents/YM2413Appli­cationManual?sid=28c370e1fcac51d57­74319979bf96f4c
  45. Programming the Sega MegaDrive
    http://darkdust.net/writin­gs/megadrive
  46. MegaDrive / SegaGenesis docs
    http://www.genny4ever.net/in­dex.php?page=docs
  47. IGN: Top 25 Consoles
    http://www.ign.com/top-25-consoles/13.html
  48. Sega Mega Drive
    http://sega.jp/archive/segahard/md/
  49. Sega Archives
    http://sega.jp/archive/segahard/
  50. Sega Genesis
    http://www.dmoz.org/Games/Vi­deo_Games/Console_Platfor­ms/Sega/Genesis/
  51. The Retro Gen Plays Genesis Games
    http://uk.gamespy.com/arti­cles/998/998637p1.html
  52. The Sega Mega Drive/Genesis
    http://www.captainwilliam­s.co.uk/sega/megadrive/me­gadrive.php
  53. Sega Game Gear 101: A Beginner's Guide
    http://www.racketboy.com/re­tro/sega/gamegear/sega-game-gear-101-a-beginners-guide
  54. SEGA GameGear | Marc's Realm
    http://darkdust.net/retro­gaming/gamegear
  55. Sega Master System Hardware
    http://www.smspower.org/De­velopment/Documents
  56. SMS/GG hardware notes
    http://www.smspower.org/u­ploads/Development/smstech-20021112.txt?sid=28c370e1fcac51d­5774319979bf96f4c
  57. Sega Master System Museum
    http://alexkidd.com/
  58. Jadeite's Sega Master System Museum
    http://rp_gamer.tripod.com/SMS/1.html
  59. Sega Master System (Wikipedia)
    http://en.wikipedia.org/wi­ki/Sega_Master_System
  60. Sega Card (Wikipedia)
    http://en.wikipedia.org/wi­ki/Sega_Card
  61. Sega Master System VDP documentation
    http://www.smspower.org/u­ploads/Development/msvdp-20021112.txt?sid=28c370e1fcac51d­5774319979bf96f4c
  62. bee – The Multi-Console Emulator
    http://www.thebeehive.ws/
  63. TurboGrafx-16 TurboExpress
    http://www.allgame.com/plat­form.php?id=17673
  64. HuC6280 CPU
    http://shu.emuunlim.com/dow­nload/pcedocs/pce_cpu.html
  65. Hudson Soft HuC6280 (Wikipedia)
    http://en.wikipedia.org/wi­ki/Hudson_Soft_HuC6280
  66. TurboGrafx-16 (Wikipedia)
    http://en.wikipedia.org/wi­ki/TurboGrafx-16
  67. MagicEngine – TurboGrafx-16 emulator
    http://www.magicengine.com/
  68. Motorola 68000 CPU
    http://en.wikipedia.org/wiki/68000
Ohodnoťte jako ve škole:
Průměrná známka 1,36

Školení PPC reklamy pro začátečníky

  •  
    Principy fungování PPC reklamy
  • Formy PPC reklam aneb PPC nejsou jen ve vyhledávačích
  • Jak si zjednodušit správu PPC s šikovnými nástroji

Detailní informace o školení PPC reklamy »

       
24 názorů Vstoupit do diskuse
poslední názor přidán 28. 9. 2012 14:54

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem