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ý | czytane 25145×
RELATED ARTICLES
KOMENTARZE
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.
Technické parametry Sinclair ZX-Spectrum :-)
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
Spectemu
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
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).
XZX-Pro
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.
ZXZ-Pro s několika monitorovacími panely ***
Arkádové letadélko ATF v XZX-Fro
Další emulátory a zhodnocení
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
Závěr
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.
Zajímavé odkazy
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.