PC Press
O nama
O nama
Pretplata
O nama
Postanite saradnik PC-ja
Kontakt sa redakcijom
PC Press
Novi broj
Novi broj   
Pretrazivanje
Arhiva
Arhiva   
PC Online
PC Plus   
Specijalna izdanja
Softver Softver
PC #111 : Maj 2005 TehnoGuru

 Naslovna  Sadržaj 
Dragan Vlajković  

Novi Spectrum emulator

Emulacija jednog od najpopularnijih računara prošlog veka, britanskog Sinclair ZX Spectrum-a, već dvadeset godina ne prestaje da privlači pažnju fanova. Sada je na sceni novi kandidat, EmuZWin.

(kliknite za veću sliku)

Prvi pokušaj, Spectrum 48k Simulator firme Whitby Computers, pojavio se još 1985. godine i omogućavao skromnu emulaciju Spectrum‑ovog bejzika na računaru Commodore 64. Kvalitet emulatora rastao je pojavom jačih platformi, ali je tek dolaskom PC računara potpuna emulacija Spectrum‑a postala realnost. Ekspanziju Spectrum emulatora omogućila je i sama kompanija Amstrad Consumer Electronics, sadašnji vlasnik Sinclair‑ovih modela, dozvolom za besplatnu distribuciju Spectrum‑ovih originalnih ROM‑ova, s tim da su zadržali autorska prava na njega. Vremenom su izdavači softvera dozvolili besplatno korišćenje Spectrum programa, što je sa rastom popularnosti Interneta učinilo lako dostupnim hiljade igara u različitim formatima prilagođenim za upotrebu na emulatorima. Ako se zna da su najbolji emulatori upravo oni koji su nastali u poslednje 2‑3 godine, onda se s pravom može reći da Spectrum‑ova emulaciona scena ne samo što nije posustala, već je življa nego ikad.

Spectrum‑i i njihov softver

Prvi model Spectrum‑a pojavio se u aprilu 1982. godine i bio je zasnovan na procesuru Z80A, koji je radio na frekvenciji od 3.5 MHz. U prvobitnoj verziji imao je ROM od 16 kB i 16 kB RAM‑a i mogao je ispisivati 24 reda sa po 32 znaka na ekranu. Rezolucija grafike bila je 256×192 piksela, sa osam boja u dve nijanse; kompletan sadržaj ekrana zauzimao je 6.5 kB memorije. Zvuk je obezbeđivao jednokanalni biper sa opsegom od deset oktava, koji se mogao čuti zahvaljujući malom zvučniku ugrađenom u kućište. Računar je bio malih dimenzija i težak 550 grama, sa 40 (višefunkcijskih) gumenih tastera.

(kliknite za veću sliku)

Sledeće godine predstavljena je verzija sa 48 kB memorije i taj model je ostao upamćen kao najpopularniji i najprodavaniji od svih Spectrum‑a. Od 1985. do 1987. pojavilo se nekoliko poboljšanih modela sa 128 kB memorije, boljom tastaturom, tonskim čipom, ugrađenim kasetofonom i disk drajvom. Nakon prestanka proizvodnje i sve manje potražnje na Zapadu, Spectrum stiče neslućenu popularnost u zemljama Istočne Evrope, posebno u Rusiji gde je napravljeno još nekoliko nezvaničnih modela. Spectrum je tako postao jedan od najdugovečnijih računara jer se na istoku Evrope zadržao u upotrebi čak do pred kraj devedesetih.

Broj napisanih programa za Spectrum procenjuje se na 15.000, a pojedini od njih, naročito neke unikatne igre, popularni su i danas, što dokazuju ne samo brojni emulatori, već i mnoštvo rimejk verzija na različitim platformama. Mnoge softverske kuće stekle su ime i proslavile se baš igrama za Spectrum, a Ultimate (sada Rare) jedna je od retkih koja je zadržala sva prava na svoje igre. Nije lako preporučiti najbolje igre ali će recimo lista prvih 100, prema glasovima posetilaca na www.worldofspectrum.org/bestgames.html , biti dobra osnova. Trenutno najveća i najpoznatija baza Spectrum‑ovih programa može se naći na www.worldofspectrum.org , gde u sekciji Archive ima skoro 12.000 naslova.

Emulacija napreduje

Kvalitet emulatora je raznolik, a samo se nekolicina može označiti kao izuzetna ostvarenja. Jedan od njih je EmuZWin, a glavni takmac u borbi za vrh mu je Spectaculator (www.spectaculator.com ) čiji je autor Britanac Jonathan Needle. Spectaculator krasi veoma dobar GUI, koji omogućava kompletan rad u prozorima, izuzetan kvalitet emulacije svih Spectrum modela i stabilnost u radu što ga već nekoliko godina čini najkompletnijim Spectrum emulatorom. Poslednja verzija 6.25 objavljena je prošlog leta i može se koristiti 30 dana, posle čega program treba registrovati uz plaćanje iznosa od 29.99 dolara.

Iako je kvalitet emulacije presudan za svaki program ove vrste, veoma je bitno i jednostavno korišćenje, a upravo to mnogim emulatorima nije jača strana. Pošto je veliki broj Spectrum emulatora zasnovan na DOS okruženju, korisnički interfejs je ograničen i nekomforan, a podešavanje se najčešće svodi na editovanje .ini fajlova, uz nepredvidljivo ponašanje na različitim verzijama Windows‑a. Za sve one koji imaju iskustva i strpljenja u konfigurisanju ovakvih programa pomenuću i dva vrlo dobra emulatora: RealSpectrum (www.ramsoft.bbk.org ) italijanske grupe RamSoft, kao i UnrealSpeccy, ruskog SMT tima (trd.speccy.cz ).

(kliknite za veću sliku)

Emulator koji se najbrže razvija u poslednje vreme je EmuZWin (bonanzas.rinet.ru/apps/EmuZWin_Eng.htm ); paket dolazi iz Rusije, a njegov autor je Vladimir Kladov. Trenutno je aktuelna verzija 2.6, a brojne revizije se objavljuju veoma često. Za razliku od rivala, EmuZWin je potpuno besplatan, što je svakako preporuka za njegovo korišćenje.

EmuZWin poseduje punu podršku za sve Windows-e, kao i za Pentium i kompatibilne procesore. Takođe podržava i skoro sve modele Spectrum‑a, uključujući i neke specifične ruske verzije, kao i namenski dizajnirane ROM‑ove. Trenutno mu nedostaje je puna podrška ruskog Scorpion modela kao i DSK formata za Amstrad‑ovu disk jedinicu, ali je autor već najavio ove mogućnosti u narednim verzijama. Sveža verzija emulatora uvek se može preuzeti sa bonanzas.rinet.ru/EmuZWin.zip ili nekog od poznatih emulatorskih sajtova kao što je www.planetemu.net koji poseduje i jednu od većih kolekcija Spectrum‑ovih programa.

Rad sa EmuZWin

Instalacija je veoma jednostavna – dovoljno je raspakovati arhivu sa programom (oko 1 MB) u pogodan folder, prekopirati ikonu na desktop i emulator je spreman za rad. Na početku treba izabrati veličinu prozora u View sekciji (preporučujem odnos 3:1 i medium border), mada se može koristiti i full screen sa ili bez DirectX podrške.

Broj formata fajlova koje ovaj emulator podržava je impresivan. Formati se razlikuju prema vrsti medija koji se koristi i načinu na koji su podaci smešteni na njih. Primera radi, Z80 format je primer snapshot fajla, što znači da je u njemu preslikano stanje celokupne Spectrum‑ove memorije, što omogućava trenutno učitavanje takvog programa u emulator. Sa druge strane imamo recimo TAP ili TZX formate koji su predstavljaju kompletno prenesen sadržaj originalnih kaseta (tape image) koji se onda može učitavati kao na pravom Spectrum‑u. Tako se možemo podsetiti učitavanja sa poznatim crveno‑plavo‑žutim zaglavljima i linijama po borderu, naslovnim slikama, unikatnim loader‑ima uz originalni prateći zvuk.

Osim kasetofona, EmuZWin emulira Interface 1 i mikrodrajv (Sinklerov hibrid disk jedinice sa magnetnom trakom) kao i različite disk formate sa ruskih modela. Ugrađeni kasetni i disk browser‑i omogućavaju kontrolu sadržaja i procesa učitavanja programa. Poseban kuriozitet je emulacija originalnog Sinklerovog termalnog štampača, poznatijeg kao ZX Printer. Tu je i on‑screen, Spectrum‑ova tastatura, koja je veoma korisna za sve one koji su zaboravili originalni raspored tastera i tokenizovanih naredbi na njima.

Emulacija je, kao i kod Spectaculator‑a, precizna „u ciklus" (cycle exact timing) čime ostavlja iza sebe mnoge konkurente. Isprobao sam veliki broj najzahtevnijih demoa i igara (Overscan, Binary Illusion...), sa komplikovanim rasterskim i interapt rutinama, skrolovanje po borderu itd., i sve je radilo savršeno. Posebno bih istakao emulaciju zvuka, pre svega tonskih čipova sa 128 i ruskih modela, visokog kvaliteta. Kompatibilnost sa specijalnim (custom) rutinama za učitavanje sa kasetofona je za nijansu slabija u odnosu na Spectaculator, ali je zato brzina njihovog učitavanja nenadmašna.

Specifičnosti

EmuZWin izdvajaju pre svega mogućnost automatskog kreiranja mapa iz igara kao i nadogradnju originalnih igara sa 8 na 256 boja. Kreiranje mapa je prilično jednostavno uz pomoć odgovarajuće opcije i priloženog editora, dok konverzija igara u 256 boja predstavlja teži proces koji zahteva dosta truda i strpljenja. Osnovna ideja ove tehnike je da se standardnoj emulaciji dodaje paralelni video‑procesor i video‑memorija, koji za svaki bit Spectrum‑ove memorije rezervišu čitav bajt podataka. Na taj način omogućeno je da se bez ikakve intervencije na originalnim igrama dobije 256 boja za svaki piksel na ekranu, umesto dosadašnjih osam i bez poznatog ograničenja od dve boje unutar polja od 8×8 piksela.

Za sada se ovom tehnikom mogu obraditi igre koje sadrže sprajtove, ali ne i igre koje koriste vektorsku grafiku (Elite, StarGlider...). Detaljnije objašnjenje i uputstvo za ovu proceduru potražite na www.emulatronia.com/emusdaqui/spec256/index‑eng.htm . Za one koji ne žele sami da isprobavaju ovu tehniku, preporučujem sajtove home.earthlink.net/~zx_makeovers/ i www.arjun.150m.com/ZX256games.html na kojima se može naći tridesetak već prerađenih igara. Neke od njih, recimo Knight Lore i Atic Atac, izgledaju impresivno, a najavljena je i obrada najpoznatije Spectrum‑ove igre Manic Miner. Takođe je veoma zanimljiva i mogućnost mrežnog igranja Spectrum‑ovih igara, što je još jedan od specijaliteta EmuZWin‑a.

Spectrum nostalgičare i nekadašnje hakere svakako će obradovati ugrađen asembler i dibager, kao i puno drugih korisnih opcija, od kojih ću još pomenuti mogućnost unošenja POKE naredbi u igre, snimanje animacija i zvuka iz igara kao i screenshoot-ova u BMP, SCR i PNG formatu. Emulator je moguće ubrzati čak i do 100 puta, a implementirana je podrška za džojstike (Kempston, Sinclair I i II, Cursor, Fuller standard), kako na tastaturi tako i uz pomoć PC džojpeda. Uz sve to, program nije hardverski zahtevan pa će biti dovoljan Pentium 2 sa 32 MB memorije, uz instaliran DirectX 5 ili viši. Sve u svemu, EmuZwin vredi imati, a njegov autor, Vladimir Kladov, zaslužuje sve čestitke i podršku da nastavi sa radom na projektu. U pitanju je odličan program, koji neće samo oživeti stari dobri Sinclair ZX Spectrum na vašim monitorima, već će ga učiniti boljim i lepšim nego ikad!