Téma: Emulace her - jak hrát staré pecky

Naříkáte, že dnešní hry nestojí za nic? Že se kdysi hrálo jinak, lépe? Nebo si jen chcete zavzpomínat u her vašeho mládí či vyzkoušet tituly z jiných platforem? Na okraji herní scény existuje jedno řešení – emulátory. Nechť náš článek slouží jako skromná brána do světa konzolových her na PC, PC her na konzolích a dalšího mezidruhového křížení.
Ať již se nám pod stolem válí oblíbená konzole nebo pořádně vytuněné PC, zcela jistě jsme si někdy řekli, jak se asi hrají hry na „té druhé“ platformě. „Co mají majitelé Playstation s celou tou mýty opředenou sérií Final Fantasy?“ kroutí hlavami vlastníci PC, kdežto leckterý konzolista jistě alespoň jednou zatoužil po klasické strategii. Abychom odhalili taje cizích platforem, nemusíme objednávat demoliční četu, aby rozbila prasátko a dokonce ani vstávat ze židle, abychom neurvale infiltrovali byt kamaráda, který kýženou platformu vlastní. Mnohasetwattová žárovka jevištního světlometu se totiž obrací na emulátory, často velice efektivní programy, jež nám dovolují, abychom si zahráli hru na zcela jiném systému, než pro který byla stvořena. A to není zdaleka vše. Dnes jde situace tak daleko, že ačkoliv je platforma IBM PC formálně kompatibilní napříč celou historií jejího vývoje, praxe je jiná. Kdo zkoušel na moderním počítači s gigabajty operační paměti spustit některou ze stařičkých dosových her, ta na něj často minimálně vypálila torpédo chybového hlášení o nedostatku konvenční paměti, pokud se nerozhodla místo projektilu odpálit rovnou celý systém. Starší hry si prakticky vynucují emulovat PC na PC a ani tím možnosti emulace nekončí.

Emu… co?

Emulace není výraz pro přemnožení australských pštrosů, ale pro proces, při kterém se pomocí nějakého prostředníka snažíme v určitých podmínkách uvést v chod program, který byl původně stvořen pro podmínky zcela jiné. V případě počítačů je takovým prostředníkem hardwarový nebo softwarový emulátor. Princip emulace do jisté míry vychází z Church-Turingovy teorie. Ta říká, že každý výpočet lze realizovat určitým algoritmem (sledem instrukcí), který může být dále zpracován počítačem, stejně jako člověkem s dostatečným stohem papírů a horou času. Z toho jednak vyplývá, že každý dobrý matematik je takovým hodně pomalým počítačem, ale také fakt, že jelikož všechny počítače bez výjimky prakticky jen vypočítávají algoritmy, ať již se na konci procesu vykreslí nádherný obrázek ze hry nebo tabulka z Excelu, jakýkoliv počítač (a konzole) je schopen spočítat jakýkoliv algoritmus, a tudíž i spustit jakýkoliv program. Teoreticky jsou si tedy všechny počítače a konzole rovny, rozdíl je pouze v času, který ten a ten stroj spotřebuje k dopočítání výsledku.

Teorie zní jednoduše, nicméně tvorba softwarových emulátorů v praxi je mnohem složitější. Cílem je imitovat operační systém nebo rovnou hardware, pro jaký byla hra původně naprogramována. Tvůrci emulátorů tak musí zjišťovat krok po kroku, jakým způsobem program původní hardware používal a poté napsat emulátor tak, aby na konci vypadl stejný výsledek jako u originálu. Nejde tedy o simulaci, při které by se napodoboval každý krok při zpracování jednotlivých instrukcí, důležitý je zde pouze výsledek, tj. aby to z pohledu hráče prostě fungovalo. Stejného výsledku je ale bohužel možné dosáhnout nejrůznějšími cestami. Proto jsou první verze emulátorů většinou nepoužitelně pomalé, protože se tvůrci při svém experimentování pokouší překládat instrukce mezi hardwary dosti prasácky. Nicméně postupem času nalézají nové a nové finty, jak emulaci urychlit, odhodit nepotřebné algoritmy, zkrátit ty nezbytné a využít možností nových strojů (aktuálně například vícejádrových procesorů), až se na veřejnost dostane skutečně funkční emulátor.

bleem!

Bleem! patřil k prvním emulátorům Playstation a stal se vůbec prvním použitelným emulátorem PSX vůbec. Ačkoliv je dnes již dávno mrtev a překonán, uvádíme jej zde, protože jeho vývoj probíhal oficiálně za účelem výdělku – bleem! se klasicky prodával na CD. Sony proti němu sice brojila, nicméně program nepoužíval originální BIOS konzole ani žádnou její patentovanou část, takže se spor táhl. Existovala i verze pro Dreamcast zvaná Bleemcast!, která dovolovala zahrát si na konzoli od Segy tituly jako Metal Gear Solid, Tekken 3 nebo Gran Turismo 2. Zajímavostí je, že bleem! nefungoval pod Windows XP a NT, takže hráči museli nainstalovat starší systém, třeba pomocí emulátoru Virtual PC, takže jeden emulátor pak běžel uvnitř druhého.

Emulace = pirátství?

Proč se o herních emulátorech příliš nemluví a jsou dodnes jakýmsi elektronickým samizdatem? Jak jsme již řekli, tvorba emulátoru je podmíněna dokonalou znalostí pochodů dotyčné platformy. Maximálně podrobnou technickou dokumentaci k moderním konzolím by však běžný člověk hledal jen těžko, ta je bedlivě hlídána v laboratořích Sony, Nintenda a jiných molochů a navíc chráněna patentem. Ba co víc, v některým starším kusům hardwaru dokumentace vůbec neexistuje nebo hry dokonce využívají skryté možnosti a bugy zařízení, o kterých neměli tušení ani sami jejich výrobci. Proto se programátoři emulátorů dokopávají k potřebným informacím procesem reverzního inženýrství, které je bohužel limitováno zákony. Nicméně toto není jediný důvod, proč jsou emulátory undergroundovější než bezdomovec s plechovkou spreje v pražském metru.

Na pitevním stole

Zpětné inženýrství ožívá ihned po vydání některé z platforem. Z historie jmenujme například Xbox. Hned první dny po uvedení do prodeje se začala řada nadšenců pídit po tom, co a jak funguje. Někteří se spokojili s rozebráním hardwaru, jiní se ponořili do hry jedniček a nul ve snaze zjistit, co se uvnitř konzole ve skutečnosti děje, aby dokázali vytvořit funkční emulátor na PC. Donedávna bylo k emulování konzolí na PC potřeba obrovského výkonu (překládání informací určených pro konzoli si často žádá množství dodatečných algoritmů apod.), takže než se objevil dostatečně silný počítač, na kterém emulace fungovala uspokojivě, původní konzole již byla dávno mrtvá.

Dnes ale vývoj emulátorů pokročil, z části také díky tomu, že se architektury osobních počítačů a konzolí stále více vzájemně podobají, a konkrétně třeba akci Halo jsme si mohli na PC zahrát jen několik měsíců po vydání prvního Xboxu. Exkluzivita hry byla tatam, Microsoftu se naježila srst, přičemž nezůstal sám. Velcí výrobci konzolí obecně brojí proti tvorbě emulátorů. Bojí se jednak ohrožení prodejů své platformy, protože by si hráči spouštěli hry pro ni určené na systému jiném, ale také pirátství. Pokud se hráč nerozhodne drasticky a nelegálně zasáhnout do hardwaru konzole namontováním chipu, hru si nezkopíruje. Nicméně jiné je to na počítačích a vysokorychlostním internetem a haldou dat na P2P sítích. Dejte PC hráči emulátor a začne si do něj stahovat pirátské kopie originálních disků!

Connectix Virtual Game Station

Velmi úspěšný komerční emulátor PSX určený pro Macintosh a později i Windows, který vynikal svou téměř absolutní kompatibilitou a prodával se za poloviční cenu PSX. Úspěch dovedl Sony až k žalobě, ovšem spor vyhráli tvůrci emulátoru. Sony se však nevzdala – odkoupila celý program a poté jej dala k ledu.

Emulace × intelektuální dědictví = pirátství!

Nejsilnější zbraní velkých společností proti emulátorům je tzv. intelektuální dědictví. Každá část hardwaru konzolí, ať již jde o procesory nebo grafické čipy, je chráněna patentem a každý kousek firmwaru, operačního systému a dalších věcí, jež patentovaný hardware naplňují, zase copyrightem. Tvůrce emulátoru, který to se svým dítkem myslí vážně, tak musí dávat bedlivý pozor, aby ve svém programu nepoužil byť jen jediný kousek kódu chráněného intelektuálním dědictvím. Právě tím se dá právnímu stíhání umně vyhnout. Není dovoleno okopírovat patentovaný systém, ale napodobit jej, aby třeba dokázal spustit hru z Playstation, pouze jiným způsobem, pomocí jiného firmwaru ano. Nicméně vyrobit podomácku některé části emulátoru napodobujícího originální konzoli, je neuvěřitelně složité, a tak je nutné je zkopírovat z původní patentované předlohy. To je problém například BIOSů apod. Běžný emulátor novodobé konzole je pouze jakousi kostrou, která prakticky neporušuje žádná právní ustanovení. Ovšem pokud jej chceme používat, musíme si k němu stáhnout originální BIOS, grafické subprogramy a další. Ty již ale podléhají patentu a porušení zákona je nasnadě, ovšem nikoliv výrobcem emulátoru, ale až uživatelem a tím, kdo BIOS poskytne ke stažení.

Emulace jako business

Herní společnosti jsou si vědomy i pozitivní stránky emulace – hráči si mohou i dnes zahrát prastaré tituly bez toho, aby sháněli často již takřka nesehnatelné, desítky let staré konzole nebo počítače. Aby veřejnost nebyla odkázána na neoficiální tvorbu, snaží se firmy jako Nintendo a Sony začlenit emulaci do svého oficiálního výrobního programu. Takto vznikla online služba na Wii jménem Virtual Console, díky níž si můžeme na konzoli současné generace zahrát hry ze systémů NES, SNES nebo Mega Drive. Nejedná se sice o emulaci v pravém slova smyslu, hry jsou často upravovány, aby běžely na novém hardwaru (jde i tzv. source port, zásah do zdrojového kódu hry; emulátory do her nezasahují), nicméně i odtud pramení odpor společností vůči emulátorům. Mají se starými hrami své plány a nejsou rády, když jim je někdo přebírá neoficiálně. To však nemění nic na tom, že pokud si chceme zahrát některou ze starších her, nemusíme si kupovat zrovna Wii nebo shánět prastaré herní systémy čpící spáleným prachem mezi součástkami. Následující strany hráčům přiblíží ty nejpoužívanější emulátory a osvětlí, co všechno lze od emulátorového nebe čekat.

Témata článku: , , , , , , , , , , , , , , , , , , , , , ,