V prvním díle našeho krátkého seriálku se podíváme na
emulátory
platformy Sinclair ZX-Spectrum, která byla v Českých a Slovenských
luzích a hájích pravděpodobně nejoblíbenější a nejrozšířenější.
21.11.2005 06:00 | MaReK Olšavský | přečteno 24916×
Většina z uživatelů, kteří přišli k počítačům od počátku 80. let občas s láskou vzpomene na hry, které tenkrát hrávali. Mnozí si je s láskou zahrají dodnes, buď v některém z pozdějších remaků (bohužel většinou pro platformu MS Windows), nebo v některém z emulátorů. Hry i programy byly v té době maximálně optimalizovány vzhledem k malým systémovým prostředkům, většinou byly velmi promyšlené a daly se hrát celé dny, bohužel dnes je tomu téměř naopak. Pro řadu dnešních her je třeba počítače, který bude pro většinu lidí dostupný cca za půl roku, nehledě k tomu, že řada titulů, které oslní grafikou, efekty a zvukem je dohratelná za několik hodin a dále již nemá hráči co nabídnout.
Pravděpodobně nejpopulárnější 8 bitovou počítačovou platformou v našich končinách byl Sinclair ZX-Spectrum a jeho následovníci a klony. Počítač byl stavěn kolem mikroprocesoru Zilog Z80 (tuto firmu také založili lidé, kteří odešli od Intelu, pododně jako AMD), taktovaném na dnes směšných 3.50 MHz a zákaznického chipu ULA. Nejprve byl tento počítač vybaven 16KB RAM, později 48 KB (paměť ROM byla v obou verzích 16KB) a nakonec 128 KB. Jeden z klonů (slovenský Didaktik Gama) měl trochu nestandardně ovládaných 80 KB. Zvuk obstarával jednobitový pípák. Počítač stvořila firma Sinclair, sira Cliva Sinclaira, v roce 1982 jako následovníka počítače ZX-81 a pro jeho klávesnici se pro něj vžilo označení "gumák". V roce 1984 byla na trh uvedena verze Plus, která se lišila především mnohem lepší klávesnicí a v roce 1986 přišla verze +128K, kde většina změn byla uvnitř. Mezi jinými změnami přibyl zvuk ve vydání chipu Yamaha AY-3-8910, 128 KB RAM, 32 KB ROM v módu 128K s podstatně lepším BASICem, RS-232 a Midi. V roce 1986 byla také společnost zakoupena firmou Amstrad, ale další inovace již byly minimalistické - vestavění magnetofonu a 3" disketové mechaniky (ano opravdu nestandardní tři palce). V roce 1989 vznikl "pokračovatel" legendy - SAM Coupé (jeho možnosti byly zajímavé, ale přišel příliž pozdě, v době, kdy jsme již kupovali PC, Commodore Amiga a Atari ST), který ale již nebyl úspěšný, byť uměl být v jednom módu kompatibilní s legendou. Podobnému osudu neunikl Sinclair QL, u kterého byl neúspěch dán především zpožděním proti plánovanému a očekávanému uvedení.
Počítače Sinclair jsou pravděpodobně nejvíce klonovanou a emulovanou platformou v historii, proto není možné obsáhnout v jednom článku všechny možné emulátory. Existují pro platformy Windows, DOS, Linux, MacOS, Java, ... Vzhledem k zaměření tohoto serveru budou popsány jen některé emulátory pro platformu Linux, přičemž se pokusím vybrat ty nejlepší. Existují i emulátory Sinclair QL a SAM Coupé, ale pro tyto platformy bude pravděpodobně velmi obtížné najít software.
Mikroprocesor: Zilog Z80, frekvence 3.50 MHz
Paměť: zpočátku 16KB, později 48KB a v modelech od roku 1986 je 128KB
grafika: 256×192 bodů v 15 barvách, které jsou v rastru 32×24 "prvků" (pozice znaků na displayi)
zvuk: 1bitový beeper, později 3 (zvukové) + 1 (šumový) kanálový chip Yamaha AY-3-8910
Obliba: Veliká spojená s velikou konkurencí mezi příznivci 8 bitových platforem Sinclair, Atari a Commodore 64
První emulátor, který jsem nainstaloval byl Spectemu,
který je emulátorem původního ZX-Spectrum 48K. Na domovské stránce
projektu jsou dostupné zdrojové kódy, takže instalace se sestává z
"magické trojice" ./configure && make
&& make install
, ale i připravené binární
balíky pro PC platformu. Na stránkách nejsou uvedeny žádné zvláštní
požadavky pro instalaci, pouze X11 server a případně svgalib.
Emulátor se spouští příkazem xspect (máte-li spuštěno grafické prostředí XWindow), respektive v konzoli pomocí vgaspect (ke spuštění této verze budete potřebovat svgalib). Rychlost programu je velice uspokojivá a dle slov autora mu běžel v plné rychlosti i na 80486, já jsem jej provozoval jak na Athlon XP 2000+, tak na PowerPC G3/366MHz naprosto spokojen s výsledky. Za dobu používání jsem nenarazil na program (samozřejmě, že s omezením na programy na modely před +128K), který by se mi nepodařilo spustit.
Program má některá menší omezení, například trochu horší uživatelské rozhraní, než program FUSE, protože k práci s programem je zapotřebí i terminál, neumí spolupracovat s PC joysticky a především se jedná o emulátor pouze ZX-Spectrum, ne již 128K. Program pracuje se soubory *.sna a *.z80, které jsou snapshoty paměti, ale i *.tzx a *.tap, které jsou obrazy pásku a natažení programu/hry z nich je stejné, jako bylo jejich původní nahrávání z pásku, tj. včetně stejných efektů, jak zvukových, tak v borderu.
Stav Spectemu po startu, zde v pozadí s terminálem a rozložením klávesnice *** Věrná emulace - takto vypadalo nahrávání z pásků na Sinclairu
FUSE je zkratka od Free Unix Spectrum Emulator (pozor fuse je i rozhraní souborového systému, takže se nespleťte při instalaci), jedná se o podstatně lepší emulátor Sinclaira, než je výše popsané Spectemu. Na jeho domovských stránkách jsou odkazy na zdrojové kódy, sestavené binární instalace pro rozšířenější distribuce Linuxu (nejen pro něj, i pro MacOS a *BSD) a potřebné knihovny (libspectrum). Například pro v ČR/SR velmi rozšířenou distribuci Mandriva je k dispozici v plf. Na desktopu jsem tento emulátor instaloval (díky tomu, že mám Mandrivu) z plf, na iBook/Linux jsem zvolil instalaci ze zdrojových kódů. Před instalací ze zdrojových kódů bych si dovolil varovat začátečníky, nejedná se o kompilaci a instalaci pouze FUSE, ale je třeba předem nainstalovat i vyžadované knihovny. Emulátor neobsahuje obrazy ROM pamětí originálního Sinclaira a proto je potřeba je postahovat z Internetu. Na stránkách http://www.srcf.ucam.org/~pak21/spectrum/roms.pl jsou k dispozici legálně se svolením majitelů autorských práv, kterým je firma Amstrad.
Program vyžaduje XWindow, libSDL a svgalib, v případě, že
budete mít nainstalované GTK+ knihovny, budete mít k dispozici velmi
příjemné ovládání. Instalace je bezproblematická, stejně jako
funkčnost, byť na menší problémy lze narazit. V GUI programu lze v menu
Options -> Select
ROMs nastavit soubory s jednotlivými obrazy pevných
pamětí (ROM images) počítače ZX-Spectrum, či jejich klony
(Pentagon, Timex, ...). Bohužel už není možné emulátor z GUI přepnout
do "jiné verze" a je potřebné toto udělat z příkazové řádky pomocí
parametru, například fuse --machine 128
.
Výhodou je, že při příštím prostém spuštění fuse je automaticky
nastavena poslední emulovaná verze. Spolupráce s PC joystickem je
bezproblémová, stejně tak program nabízí emulaci mnoha dalších
zařízení.
Zvuk funguje přes OSS.
Pro práci s uloženými programy poskytuje potřebná knihovna libspectrum spolupráci s formáty *.sna, *z80, *.sxz, *.tzx, *.tap, *.rzx, několik dalších jen pro čtení - *.zxs, *.sp.*, *.snp, (Warajevo verze) *.tap a nakonec čte soubory *.dck, které přísluší k Timexovým cartridgím. Pro čtení souborů můžete použít obrazy uložené i v gzipu, nebo bzipu. Pokud budete chtít uložit nějaké obrázky z her, program pro to nabízí funkce přímo. V Options->Filter... si můžete zvolit zobrazení podobným způsobem, jako na TV (je vidět rastrování, případně porůznu lehce rozmazaný obraz).
Prázdné FUSE, jen s nápovědou o rozložení klávesnice *** Obecná nastavení FUSE *** Nastavení joysticku
V některých testech se jedná pravděpodobně o nejlépe hodnocený emulátor Sinclaira, je distribuován ve dvou verzích, jednak lze stáhnout jeho binární soubory (případně zdrojové kódy) volně šířené verze a provést instalaci, druhá cesta je zaplacení autorovi, kdy získáte vlastnosti, potlačené ve volné verzi - funkční Centronics, BetaDisk se 4 mechanikami, vylepšené rozhraní, ... takže je otázkou, zda-li bude ochoten někdo za tato vylepšení zaplatit, pokud nebude motivací pro platbu podpoření projektu... Na domovských stránkách projektu jsou ke stažení obě verze programu a najdete zde i cenu za plnou verzi (25,-€).
Program ke své instalaci vyžaduje Motif (stačí OpenMotif - http://www.openmotif.org/ ), dle dokumentace s lesstifem nefunguje. Po instalaci OpenMotif je možné přistoupit ke kompilaci a instalaci xzx-pro, opět jsem volil instalaci ze zdrojových kódů a po chvíli byl emulátor připraven k práci, tedy spíše ke hraní. Při prvním startu z terminálu (abychom viděli případné hlášky) pravděpodovně uvidíte větší množství chybových hlášek, nicméně program funguje. Jedná se většinou o chybějící ROM obrazy zařízení. Opět je standardem práce se všemi podstatnými formáty, ve kterých programy pro Speccy emulátor můžete najít.
Do hrubého popisu, který je výše jsem se pokusil vybrat alespoň ty nejlepší emulátory (vzato subjektivně z mého pohledu). Na mnohé další se místo již nenajde, ale alespoň se pokusme jmenovat ty známější - FBZX (FrameBuffer ZX-Spectrum - Španělský emulátor, umí i Speccy 128K), X128 (Emulátor, který mohou znát někteří fandové již z DOSu), Glukalka a mohl bych zde jmenovat několik dalších, které jsou multiplatformní, protože jsou napsány na Java platformě a uživatelé dalších platforem (mimo Linuxu) najdou pro svůj systém emulátor také.
Ze zde testovaných emulátorů se mi nejvíce líbí FUSE, Spectemu je jednoduchý emulátor původního 16KB, nebo 48KB ZX-Spectra, který svůj úkol splní na 100%. XZX-Pro má (významné) mínus, protože většina uživatelů LINUXu nemá nainstalován OpenMotif (dokonce jsem jej neměl ani v archívech pro Mandrivu a musel jsem instalovat ze zdrojových kódů). Fuse má rozumnou instalaci, byť v základu chybí ROM soubory, ale poté funguje k 100% spokojenosti.
Alespoň několik obrázků z her
Advanced Tactical Fighter *** Batman - temný rytíř v Sinclairu *** R-Type - i na Speccy byly pěkné hry
Původním plánem bylo popsat několik emulátorů mé kdysi oblíbené platformy a poté pokračovat některými dalšími platformami, které tu byly - Atari, Commodore, Amiga (exemplář mám ještě stále doma), Atari ST, ale koukneme se na zoubek i emulátorům takových "raritek", jako byl SAM Coupé, Sharp MZ a MSX, kde slůvkem raritky myslím jejich nízkou penetraci, kterou měli v našich končinách.
http://dmoz.org/Computers/Emulators/Sinclair/ZX_Spectrum/ - Pravděpodobně nejúplnější přehled Open Source emulátorů Sinclaira.
http://www.srcf.ucam.org/~pak21/spectrum/roms.pl - Obrazy ROM pamětí, které budete občas potřebovat, protože většinou nejsou v emulátoru obsaženy.
http://www.worldofspectrum.org/ - Zajímavé místo na Internetu, najdete tu nejen emulátory, ale i archív her a programů pro Speccy emulátory, nebo například seznam her, které byly ze Spectra přeportovány.