Enterprise ZX Spectrum emulátor

A napokban egy Videoton gyárból kikerült, eredeti Spectrum Emulátor kártya akadt a kezeim közé. A kártya lehetővé teszi az Enterprise 128 gépen is a ZX Spectrum programok futtatását. Az EP128 az olcsósított kivitele ellenére is az egyik legkedvesebb gépem, emiatt az áron alul meghirdetett kártyára azonnal lecsaptam. Az eladó nem is igazán tudta mi ez, vélhetően a Videoton címke miatt hirdette meg „fogalmam-sincs-mire-jó” TVC alkatrészként.

ZX Spectrum Emulátor
Enterprise 128-hoz készült ZX Spectrum emulátor kártya. Az EP128 idejében ehhez nem sikerült hozzájutnom.

Egy kis előzmény

Az Enterprise 128 gép szoftverellátottsága meglehetősen szegényes volt, hiszen az anyacéget hamar elsodorta a vezetés bénázása. EP128 gépből viszont – a cég bukásának köszönhetően – nagy mennyiség került Magyarországra, beszorult készleteket vásárolt fel az akkori Centrum. A nyugaton bukott gépből alaposan bevásároltak, de szoftver nélkül egy 8bites gép sem sokat ért. Mivel fejlesztésekre esély sem volt, így más megoldásokat kerestek az akkori illetékes elvtársak.

A ZX Spectrum szoftverrel gazdagon ellátott gépnek számított akkoriban. A hasonló CPU (EP128 valamivel magasabb órajelen járatta a Z80A-t) és az Enterprise fejlett Nick chipje nagyban megkönnyítette a Spectrum szoftverek átírását. Ezek a félig sem legális és sokszor félkész átiratok adták az EP128 szoftverellátásának cirka 98%-át, de ezek nem jelentettek igazi megoldást a szoftverhiányra.

Valaki úgy gondolta, hogy megoldás volna, ha az EP128 gépeket alkalmassá tennék rá, hogy ZX Spectrum szoftvereket is futtathassanak rajta. Az ötlet nem kicsit volt elvetemült. A ZX Spectrum (48k) tudása jócskán alulmúlta az EP128 tudását, de az elkészült emulátor még a 80% körüli kompatibilitásával is jelentősen megdobta az EP128 gépen akkoriban elérhető szoftverek számát,  100-200 helyett a 20.000 80%-a nem volt rossz.

Az Enterprise 64 gépet is érdemes megemlíteni, bár én nem láttam ilyet élőben. Fontos tudni róla, hogy nagyon-nagyon kevés szoftver jelent meg EP64-es gépre, és a kevesebb RAM miatt még a Spectrum átiratok sem igazán futottak rajta. Azt hiszem az EP64 lehetett a 8bites gépek negatív rekordere a szoftverellátottság terén, talán 40-50 lehetett a kompatibilis játékok száma.

A Spectrum Emulátor

A kártyát a magyar ‘a’ Studio tervezte (át) és a Videoton gyártotta, de a megszépült emlékekkel ellentétben ez sem magyar találmány volt. A magyar fejlesztők csak terméket csináltak az ötletből, és a hazai piacon épp elérhető alkatrészekből (többször is) újratervezték a mások által megálmodott emulátort. Az összeszerelés és az anyagminőség „pazar”, már az emulátor borítása is nyeklik-nyaklik és lötyög, ezzel is a régi szép idők emlékét idézi.

Az emulátor kártya sokakat meglepő módon nem rejt ZX Spectrum gépet, de még részegységeket sem, a kártya egy ennél egyszerűbb ötlet gyakorlati megvalósítása. A kártyán elhelyezett ROM (a módosított Spectrum ROM mellett) tartalmazza az EP128 hardver kezeléséért felelős rutinokat, a kártya logikai áramkörökön keresztül figyeli az EP rendszerbuszt, és szükség esetén egy NMI-t generál. Pl. elcsípi a 0xfe port írását, melynek a 4. bitje Spectrumon a beépített hangszórót kapcsolgatja (1 bites D/A), és ehelyett az EP128 Dave chipjének küld megfelelő beállításokat.

Az ötlet ugyan egyszerű és nagyszerű, de azért vannak erős hiányosságai. A nem standard ROM hívásokat használó Spectrum programok jó eséllyel eleve kiestek a kompatibilitási listából. Az is egyértelmű, hogy a két gép órajelének eltérése kemény dió. A 4 MHz (EP128) az közel 15%-kal több, mint a 3,5 MHz (ZX Spectrum 48k), tehát már emiatt sem lehet tökéletes szinkronban egy Spectrumon és egy EP128 emulátoron futó program. Ehhez jön, hogy az emulált funkciók megvalósításához használt rutinok futásideje esetenként jóval nagyobb, mint az eredeti Spectrumon futó programkódé. Az emuláció időzítése tehát nem igazán pontos, néhány játék esetében a „játszhatatlanul belassuló”  jelző fedi leginkább a valóságot.

Egy kis „átmeneti” probléma

A Spectrum emulátor elfoglalja az EP128 egyetlen bővítési lehetőségét, így azzal egy időben pl. az EXDOS kártya nem használható. Eredeti felállásban értelme sem lett volna ugyan az EXDOS kártyának, hiszen az emulátor kártya teljes mértékben uralma alá hajtotta az EP128 gépet. Így viszont nem értem, hogy egy mezei 66 pines élcsatlakozó helyett mi a fenének erőltették a kártyára a System Bus Bridge használatát. Az SBB nem ördöngősség, bár az eredeti ötlet szerint akár több kártyát is a gépre aggathattunk volna vele, de nem készült hozzá sem busz „extender”, sem olyan eszköz, ami támogatta volna azt. Így végül az SBB csak egy teljesen értelmetlen, „gagyi” közbenső elem lett a Spectrum Emulátor (valamint az EXDOS) kártya és a gép között.

EP System Bus Bridge
Az a bizonyos System Bus Bridge, amely tartalmaz kb. 150 Ft, értékű alkatrészt.

A legnagyobb gondom ezzel az SBB vacakkal, hogy nincs ilyenem. Megépíteni nem nagy varázslat, hiszen két élcsatlakozó (66p – 74p) és egy vacak 5 Voltos táp (a szokásos korabeli 7805-ös „hőerőművel”) az egész. Az élcsatlakozó persze itthon mára beszerezhetetlen, de szerencsére még akad 1-2 darab a fiókomban. Már csak azt kell eldöntenem, hogy akarok-e ilyet csinálni, hiszen van már néhány eredeti ZX Spectrum is a polcon. Azt hiszem akarok, de ez a néhány órás projekt mindenképpen csak a jelenleg várakozó gépek után kerülhet majd sorra. Addig sajnos pihenni kényszerül ez az emulátor kártya (is).

Az eredeti emulátor kártyán az EP egyik hazai élharcosa, Zozosoft nagyon-nagyon sokat javított. Vicces, hogy az emulátor legkomolyabb fejlesztései sok-sok évvel a tényleges forgalmazása után, egy lelkes „amatőrnek” köszönhetőek. (Az amatőr szó azért idézőjeles, mert én nem ismerek olyat, aki nála többet tudna erről a klassz, 8 bites gépről.)

Az emulátor rengeteg hiányossága és hibája eltörpül amellett, hogy az EP128 gépen futtatható szoftverek számát kb. megszázszorozta a kompatibilis Spectrum szoftverekkel. Ez az a pont, amiért egykor, EP128 tulajként nagyon vágytam egy ilyen kártyára. Akkor nem adódott lehetőségem ilyet birtokolni, emiatt is muszáj lesz ezt egyszer kipróbálnom.

Hivatkozások:

Enterprise 128 – egy letűnt kor királya
Enterprise 128 egyelőre a polcon
http://www.ep128.hu/
http://www.enterpriseforever.com/
http://enterprise.iko.hu/
http://ep.homeserver.hu/