SuperNESLuboš Němec
Kvalitnější a pochopitelně i nesrovnatelně náročnější na výkon procesoru je
emulace 16-ti bitové herní konzole SuperNintendo neboli SNES. Také SNES se těší
v Japonsku i po celém světě značné popularitě a i dnes v době PSX, SEGA Saturnu
či Nintendo64 se pro něj vyvíjí nové hry, v současné době je jich k dispozici
celkem několik set, když připočtu i japonské verze, dostanu se k číslu kolem
tisíce (ověřená informace). Jak se s emulací SNESu popraly jeho emulátory pro
Amigu, o tom všem je tento článek. SNES hardware
SNES je herní konzole klasického vzhledu (viz obrázek) založená na procesoru
65c816 (frekvenci se mi bohužel nepodařilo zjistit) podporovaném u některých her
DSP a SFX čipem (21/10 MHz RISC CPU) obsaženým na cartridge. O patřičný grafický
výkon se starají specializované grafické čipy, zvuk obstarává čip Sony SPC700 s
wavetable syntézou, 16-ti bitovým audio výstupem s CD playbackem a prostorovým
zvukem (4-8 kanálů). Maximální rozlišení je 512x478 bodů/256 barev z hicolor (65
tisíc barev) barvové palety. Opět zde platí, že spousta nových her používá i
pseudo 15/16-ti barevné zobrazení, tedy různými triky dostane na obrazovku
mnohem víc než standardně možných 256 barev. SNES podporuje i grafické módy jeho
8-mi bitového kolegy NESu, hry tedy fungují v rozlišeních 256x244 až po uvedené
maximální rozlišení 512x478 bodů.
Pokud je mi známo, pro Amigu momentálně existují čtyři emulátory SNESu. Prvním z
nich je AmiSNES od Jespera Svennevida. Ještě bych chtěl upozornit, že všechny až
na WarpSNES jsou všechny amigovské emulátory SNESu až na výjimky zatím v ranných
betaverzích, přesto jsem si dovolil ohodnotit každý program zvlášť. AmiSNES
Vývoj emulátoru začal v září 1997 a k dnešnímu datu je k dispozici verze
0.12b. Program vyžaduje procesor alespoň 68020, AmigaOS 3.0+, AGA čipy nebo
grafickou kartu a minimálně 0.5 MB RAM (ze zřejmých důvodů je doporučena FAST
RAM). Dále budete potřebovat reqtools.library pro filequestery (nepředpokládám,
že by tuto asi nejznámější PD knihovnu někdo neměl a kdyby nedej bože přece,
najdete ji na Aminetu). Domovská WWW stránka emulátoru je
http://ramses.ml.org/amisnese/, nová verze emulátoru se zde objevuje o něco dřív
než na Aminetu. Použití emulátoru
Díky jednoduchému GUI se program dobře ovládá, ukončení emulace se provádí
klávesou ESC. Čtyři druhy či typy pozadí se zapínají/vypínají klávesami 1-4,
joypad č.1 je emulován kurzorovými klávesami, Start přitom zastupuje levý Alt,
Select levý Shift, další ovládací prvky (Fire apod.) jsou emulovány většinou
odpovídajícími písmenkovými klávesami.
Po nahrání či spíše otevření ROMky s emulátor pokusí rozpoznat hlavičku a
strukturu snapshotu. Hlavičku si můžete prohlédnout v kliknutí na ROM Info.
Tlačítko Start Emulator snad pochopí každý. Důležité jsou preference, na které
se podíváme podrobněji. Vzhledem ke struktuře snapshotů (přesněji řečeno
grabnutých ROM) existují určité druhy jejich emulace. AmiSNES zatím podporuje
pouze tzv. LowROMky, je tedy autorem programu přímo doporučeno zapnout v
preferencích volbu „Force to LowROM“. Volba „DWrite“ nemá v současné verzi
emulátoru žádný efekt, bude však v budoucnu sloužit k nastavení obnovování
obrazu u grafických karet. „CyberGFX“ opět nemá žádný efekt, tato volba bude
sloužit ke spuštění emulátoru v okénku. „Screenmode“ vybírá grafický mód, ve
kterém poběží emulátor, „Skip“ nastavuje přeskakování obrazových snímků, „Speed“
nastavuje rychlost emulovaného procesoru 65816. AmiSNES má též vestavěný
debugger, jeho popis a použití se však už vymyká rozsahu tohoto článku. Rychlost a kvalita emulace
AmiSNES není zrovna nejrychlejší. Dle slov autora je emulátor vyvíjen s
ohledem na budoucí verze AmigaOS a grafických standardů, díky tomu funguje bez
problémů s jakoukoliv grafickou kartou, která korektně patchuje systémové funkce
a je počítáno i s podporou zvuku přes standardní amigovské audio či AHI. Z toho
vyplývá, že zvuk není zatím implementován vůbec a bez 68040 a výš si ani
neškrtnete, což testy potvrdily.
S rychlostí to tedy není nijak slavné, s kvalitou emulace však také ne. Nechodí
prakticky žádná z delších her (HighROMky) ani nových her. Závěr
Žádný zvuk, nedostatečná rychlost a značně rozporuplná kvalita emulace,
kterou nemůže vynahradit ani možnost spuštění emulátoru v libovolném (tedy
skoro) grafickém módu a podpora grafických karet. AmiSNES 0.12b zatím nemohu
doporučit žádnému hernímu maniakovi, nekompatibilita je prostě příliš velká.
Emulátor se však zdárně vyvíjí a v budoucnu se právě AmiSNES může stát dobrým
emulátorem SNESu. Hodnocení: 5,0 z 10
+ rychlost
- nekvalitní emulace, špatná stabilita programu MySNES 0.17b
Můj SNES, tedy SNES emulátor Martina Johanssona je napsán pouze v assembleru
(AsmPro), což má jistě své klady. Domovský web
www.dd.chalmers.se/~f94majo/mysnes/mysnes.htm Vám poskytne aktuální verzi ke
stažení a dostatek informací o vývoji programu.
MySNES vyžaduje procesor 68020 a lepší, AGA čipy a 2.5 MB RAM a
reqtools.library. V preferencích najdeme několik zajímavých voleb, popíšu jen ty
„nejzáhadnější“. „Static screens“ okopíruje obrazovku do CHIP MEM, což může vést
- s podmínkou, že emulátor bude pro zobrazení využívat pouze AGA čipy - k
urychlení některých her s neměnnou obrazovkou jako např. Pacman apod.,
„Speedtrick 1, 2“ zatím nedělá nic (vyhrazeno pro pozdější verze), „SwapBGs“
vymění pozadí, „Player input“ volí ovládání her v emulátoru - k dispozici je
emulace joypadu přes klávesnici nebo joypad CD32, „APU-skipper“ slouží k
nastavení metody komunikace s audio výstupem (interní záležitost emulátoru,
nastavit můžete 3 možnosti), „Copymode“ ovlivňuje způsob kopírování dat do
grafické paměti (opět tři volby v závislosti na typu použitého procesoru),
„Cacheskip“ slouží k nastavení obnovování pozadí a „Hcycles“ nastavuje, kolik
procent z 206 horizontálních cyklů se zobrazí před obdržením signálu HBlank
(jednoduše řečeno, tato volba slouží k synchronizaci obrazu).
Ovládání MySNESu je snadné. Klávesy F1-F4 vypínají/zapínají jednotlivá pozadí,
F5 vypíná/zapíná sprity, F10 pak celou obrazovku, levá Amiga zastupuje tlačítko
A na joypadu SNESu, levý Alt tlačítko B, pravá Amiga tlačítko TopLeft, pravý Alt
TopRight, Ctrl je tlačítko Y, levý Shift tlačítko X, Return emuluje Start a
pravý Shift pak Select. Klávesa ESC emulátor ukončí. Rychlost a kvalita emulace
Přestože je MySNES napsán čistě v assembleru, nepodává žádné převratné
výkony. Je sice nesrovnatelně rychlejší než AmiSNES, ale s 68020 a 68030 si i
tak moc těch kvalitnějších her (těch ostatních je ale tolik, že si většina
gamesníků vystačí) nezahrajete. Jednak jsou pomalé a navíc jich spousta
nefunguje. MySNES podporuje LowROMs i HighROMs, ale kvalita emulace nedosahuje
např. WarpSNESu nebo ZSNESu (pro PC). Stále se však jedná o bezkonkurenčně
nejrychlejší emulátor SNESu pro 68K procesory. Hodnocení: 6,5 z 10
+ rychlost, přijatelná kvalita emulace
- chybí zvuk, nevyhovující stabilita programu Snes9x Amiga 1.10a
Jesper Svennevid má na svědomí ještě jeden port volně dostupných zdrojáků
SNES9x pro Amigu. Snes9x je až na emulaci DSP kódu plně funkční port unixovské
verze stejnojmenného emulátoru. Snes9x podporuje grafické karty i AGA čipy,
autorem chunky-to-planar rutin je Mikael Kalms.
Vyžadován je procesor 68020 a lepší, AGA čipy nebo grafická karta, Kickstart 2+,
8 MB FAST RAM a lowlevel.library, k dispozici jsou verze pro procesory
68020/68030, 68040, 68060 a PowerPC systém PowerUP.
Z mnoha voleb, které originální Snes9x podporuje, lze na Amize zatím použít
tyto:
-mode <číslo> umožňuje spustit emulátor v 8mi nebo 16ti bitovém módu a v okénku
nebo na samostatné obrazovce (není zatím plně implementováno). 16ti bitové
rozlišení bude k dispozici i pro AGA Amigy v HAM8 módu. Současná verze Snes9x se
však spustí natvrdo v 8mi bitovém rozlišení 256x240 bodů.
-rtg se používá k přepnutí používaných zobrazovacích rutin pro grafické karty
(místo chunky-to-planar konverze se použije obyčejné WritePixelArray).
Ovládání emulátoru je velmi podobné jako u MySNESu, klávesa Enter představuje
Start, Space je Select, kurzorové klávesy emulují pohyb do stran a další klávesy
emulují tlačítka fire A, C, X, Y, TopLeft a TopRight. Speciálních funkce se
ovládají pomocí kláves 0-9 - vypnutí/zapnutí HDMA, pozadí, výměna joypadů,
prohazování vrstev a v 16ti bitovém módu (zatím ne zcela funkčním) lze dokonce
zapnout či vypnout průhlednost. Rychlost a kvalita emulace
Není to špatné, ale bez 68030/50 MHz nebo ještě lépe 68040/060 se
neobejdete. Kompatibilita je dle mého názoru lepší než u MySNESu a samozřejmě
nesrovnatelně vyšší než u AmiSNESu. S grafickou kartou vymáčknete s 68040 ze
Snes9x u těch starších her kolem 10-15 snímků/s, u těch novějších bohužel
podstatně méně a bez 68060 se nelze dostat nad 10 snímků/s. Poněkud krutá
realita, že?
Autor amigovské verze SNESu má v plánu zkompilovat emulátor pro PowerPC (první
PPC verze už existuje!), v nejbližší verzi přidat zvuk (přes AHI), urychlit
chunky-to-planar konverzi a přidat vlastní GUI, nebol emulátor se zatím dodává
se třemi externími GUI od různých autorů. Hodnocení: 7,0 z 10
+ slušná kvalita emulace i spolehlivost programu
- rychlost v 68K verzi, nutné externí GDI WarpSNES 3.2
A na závěr to nejlepší. WarpSNES sice není nic jiného, než upravené a
překompilované zdrojové kódy SNES9x Jeremy Koota a Garyho Hendersona pro WarpUP
jedná se tedy o jeden ze dvou existujících PowerPC emulátor SNESu - ale stojí za
to.
WarpSNES je zřejmě nejkomplexnější emulátor SNESu na Amize, podporuje zvuk,
emuluje SNES myš i joypady, umí pracovat i v 16ti bitových barvách, nahrává i
pakované snapshoty a má vestavěnu synchronizaci obrazu se zvukem.
Ovládání pomocí amigovské klávesnice tentokrát nebudu popisovat, je značně
rozsáhlé a můžete si ho přečíst v manuálu. WarpSNES vyžaduje WarpUP V12+,
rtgmaster.library a pro emulaci joysticku či joypadu také lowlevel.library (je
součástí Workbenche 3.1). Po naassignování snes: „cesta kde je umístěn WarpSNES“
můžete emulátor rovnou spustit z CLI/Shellu nebo z Workbenche, k dispozici je
jednoduché GUI. Podporovaných parametrů při spuštění z CLI/Shellu je opět velké
množství, a tak uvedu pouze volbu používanou při testování her „-showfps“, která
zobrazuje počet snímků/s.
WarpSNES má bohužel problémy s novým upgrade flash eprom turbokaret Blizzard,
protože tento upgrade dělá s WarpUP problémy. Autor emulátoru tedy nedoporučuje
upgradovat flash eprom, dokud se neobjeví nová a plně funkční verze nebo
upravená verze WarpUP. Rychlost a kvalita emulace
WarpSNES jsem bohužel nemohl otestovat osobně delší dobu, takže mohu
posloužit jen několika příklady z manuálu (vše testováno na 150 MHz PPC 604e +
gr. karta Picasso IV) - Earthworm Jim běhá v emulátoru rychlostí 27 snímků/s,
R-Type III 32 snímků/s, na AGA čipech pak běhá Earthworm Jim rychlostí 21
snímků/s a R-Type III 23 snímků/s. Vzhledem k tomu, že PPC 604e je podstatně
rychlejší než Blizzardovské PPC 603e, nelze pochopitelně předpokládat, že na
low-cost 160 MHz Blizzardech dosáhnete stejných výsledků, s rychlou grafickou
kartou to však nemůže být o mnoho horší. Na 200 MHz Blizzardu a grafickou kartou
je většina her plně hratelných (např. u kamaráda běží Earthworm Jim 22
snímků/s), s AGA čipy na stejné konfiguraci klesá výkon zhruba o 10-30% dle typu
hry. Hodnocení: 7,5 z 10
+ rychlost, vynikající stabilita i úroveň programu
- chybí zvukový výstup Závěrečné zhodnocení
Jak jste už pochopili, emulace SNESu na Amize není snadná, a to hlavně kvůli
rychlosti procesoru, který bez PPC podpory nezvládá současně emulovat procesor,
speciální grafické a zvukové čipy použité v SuperNESu. Pouze WarpSNES a Snes9x
prokázaly, že PowerPC má dostatečný výkon pro emulaci 16ti bitové herní konzole
se specializovanými čipy. S procesory 68040 a 68060 je však použitelný i MySNES,
ve kterém slušně funguje o něco víc než polovina her existujících pro SNES.
Obrovské množství kvalitních her - jedná se hlavně o arkády, akční procházečky
či střílečky, sem tam simulátory a logické hry, strategií a pravých adventur je
minimum. Pro SNES například existuje i taková hra jakou je zcela jistě
nejznámější 3D střílečka Doom, ale nemusíte se bát, že by na Amize fungoval
(ostatně to ani není díky existenci příslušných enginů třeba) - ani na PII/266
MHz se v ZSNESu prakticky nehýbe. SNES je v kvalitě her, obrazu (zpravidla vyšší
rozlišení) a zvuku o řád výš než recenzované emulátory NESu, jak ale z recenzí
vyplývá, musíte mít hodně rychlý procesor (nejlépe PPC), grafickou kanu a můžete
si dopřát herní komfort SNESu. Vytlačiť článok
Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.
Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing
none
|