A Commodore 64-et tizenkét évig gyártották, és lényegileg ugyanolyan konfigurációban mindvégig. Valójában persze rengeteget változott a belső felépítése ez idő alatt (egy keveset a külseje is), de a rajta futó program szempontjából mindig azonosnak tűnt. Kezdetben még csodás képességei relatíve egyre szűkebbé és korlátozottabbá kezdtek válni, ahogyan a körülötte lévő világ fejlődött. Számos különféle extra kiegészítővel (mint például memóriabővítésekkel és újabb perifériákkal) igyekeztek segíteni rajta, mégis maradt benne örökké egy fix pont – ez a processzor. Utóbb aztán lettek „turbósított” megfejtések erre is, sőt, manapság a legszebb reneszánszát éli ez a téma… Ezért talán aktuális lehet kissé áttekinteni a néhány legfontosabbat és a legérdekesebbet közülük.
C128. Ez a legmezeibb és a legkézenfekvőbb, amennyiben kábé ugyanazt a vasat ütnénk, csak egy kicsit gyorsabban – hiszen maga a Commodore cég gyártotta a C64 utódaként alig három évvel később. A benne lévő 8502-es CPU (a 64-ben található 6510 utóda) átbillenthető egy közel 2 MHz-es (azaz dupla sebességű), ún. fast (gyors) üzemmódba. Sajnos ennek kellemetlen velejárója, hogy a VIC-IIe videochip nem bírja a gyötrést, és ilyenkor a képe elromlik, így ki kell iktatni. (A C128 BASIC-ben a FAST és SLOW utasításokkal lehet váltani a kétféle sebesség közt, s az előbbi idejére a képernyőt a Kernal ki is kapcsolja.) Ami viszont örvendetes, hogy a számítógép 64-es üzemmódjában is elérhető marad ez a rejtett funkció, egy trükkel. Ha nem akarjuk kikapcsolni a képet, arra kell csak ügyelni egy gépi kódú megszakításprogram révén, hogy mindig amikor az elektronsugár a látható képterületre lép (a felső keret szélénél), akkor váltsunk vissza 1 MHz-re, majd amikor a képet újra elhagyja (alsó keret), akkor lehet újra aktiválni a 2 MHz-et. Egészében ezzel mintegy 30-40 %-ot lehet nyerni nagyjából a C64 alapfutamához képest, mivel ennyit tölt a látható területen kívül. Vagyis kvázi olyan, mintha kb. 1.3 MHz-es processzorunk lenne.
TDC (aka Turbo Demo Card). Az overclocking és a tuning már a nyolcbites mikroszámítógépeknél sem volt ismeretlen fogalom. (Elég csak az Enterprise-ra gondolni, melynek Z80A processzorát akár 6-10 MHz-ig spécizték fel egyes ügyeskedők az eredeti 4 körüli értékről.) A Commodore IC-k többsége is igen komoly tartalékkal bírva elviseli akár még a beállított órajelek többszörösét is. (Legalább egy ideig… Nyilván itt is kell az élettartam rövidülésével számolni.) Ami miatt mégis vissza vannak korlátozva ezek gyárilag, az mindenhol a rendszer egy-egy legszűkebb keresztmetszete: a C64/128 esetén a kerékkötő a VIC-II(e) grafikus chip, illetve a még magasabb órajeleknél a SID. Ha megoldjuk, hogy e kettő a gyári sebességen maradjon, az összes többit lehet pörgetni. Ehhez viszont némi programozott elektronikai segédáramkörökre lesz szükség, melyeket a fenti két chip alá kell tolni – „szerencsére” pont e kettő, ami
Egy Przez Kisiel nevű lengyel hardverguru néhány éve megépítette a megfelelő nyomtatott áramköri lapkát, sokszorosítható formában, és állítható jumperekkel, kapcsolókkal ellátva. Ez a TDC-L fedőnevű bővítőeszköz képes 2 vagy 3 MHz, sőt, némi korlátozás mellett akár közel 4 MHz körüli órajelre kényszeríteni az öreg gépet; mindemellett tartalmaz egy második SID foglalatot, mellyel igény szerint sztereóvá tehetjük; ráadásként még egy beépített, 8-bites CoVox modemkimenettel is rendelkezik (mellyel pedig digitalizált hangot tudunk visszajátszani, ezt ugyancsak a SID-en keresztül). Mindezt vagy egy manuális, külső kapcsolóval vezéreljük, vagy a futó program tudja szoftveresen állítgatni néhány regiszteren keresztül: ilyen esetben a C128 fast módjával kompatibilis, azaz
Turbo Chameleon 64. Jelen pillanatban ez a csúcs. Korábban már írtam róla rövid ismertetőt máshol, viszont úgy néz ki, hogy nemsokára ráteszem a kezemet egy ilyenre, így várhatólag visszatérek majd egy részletesebb, alaposabb hardvertesztben rá. Hihetetlen mennyiségű és töménységű funkcionalitás zsúfolódik össze egyetlen tenyérnyi bővítőkártya keretében, mely ráadásul önálló számítógépként is bír működni, a 64-es nélkül (
A Chameleon maga amúgy két korábbi projekt párhuzamos irányvonalait követi: hardverben a Jens Schönfeld-féle cartridge-ek (Retro Replay, MMC 64 és MMC Replay) továbbfejlesztése; míg szoftveroldalról a korábban a Commodore One-ban alkalmazott FPGA-64-es rendszermagot vitték át és csiszolják az új vasra.
Commodore One. Jeri Ellsworth kezdetben egy VGA-kimenetet (ún. flickerfixert) akart tervezni a 64-eséhez, végül ez lett belőle… Egy teljesen új számítógép: külsőleg az ATX szabványhoz igazodó alaplap, mely tetszőleges PC-s házban (normál PC-s tápegységgel) elhelyezhető. Rengetegféle külső-belső csatlakozót, foglalatot tartalmaz, így akár a CPU is cserélhető benne (egy-egy régi mikroprocesszorra, mint pl. a 6502, a Z80, a 6809 stb.), bár gyárilag a mellé adott processzorkártyán ugyanaz a 20 MHz-es 65816 ketyeg, mely a SuperCPU-ban, 128 kB és 2 x 16 MB RAM-mal. Az újrakonfigurálható FPGA alapokon álló gép egy izgalmas kísérleti próbálkozás volt egy bő évtizeddel ezelőtt, míg „meg nem unták” tovább folytatni a fejlesztést. Azóta a Chameleon vette át a helyét (ld. fentebb), mely a maga módján ugyan még izgalmasabb (és kisebb!), csak hát sajnos kevesebbet tud. A C-One tudott volna PCI kártyákat és IDE eszközöket, CF kártyát, CD-ROM-ot, SD-RAM-ot, eredeti SID-et fogadni, s a processzora révén akár teljes körű, modern SuperCPU-utóddá is válhatott volna. Kár, hogy most már feltételes módban beszélünk vagy múlt időben róla.
SuperCPU. Még régebbi matuzsálem – ennek révén lett a „65816” fogalom egy ismert név. A Western Design Center WDC 65C816S típusjelű lapkája a 65xx architektúra egy 16-bites kiterjesztése, mely a régi utasításkészletet a végső határáig bővíti (az egy bájton elérhető mind a 256-féle operanduskódot kiaknázza, így a nem dokumentált, ún. illegális opkódokat nem lehet már rajta használni), a címzésmódban pedig 24-bites lehetőségeket ad hozzá (ezzel 16 MB natív memória válik közvetlenül elérhetővé), plusz új regisztereket és üzemmódokat. Alapvetően egy 14 MHz-es órajelű processzor volt, azonban a Creative Micro Designs 1996-ban piacra dobott SuperCPU-jában túlpörgették ezt is 20 MHz-re (ezenkívül néhány egyéb komputerben alkalmazták, pl. az Apple IIGS-ben). A SuperCPU-nak ezenfelül tartozéka legfeljebb 16 MB SIMM RAM (azonos a korabeli 486-osokban használt memóriatípussal), és egy 128 kB-os, intelligens DOS szoftver (többek között beépített JiffyDOS-szal ellátva). A CMD cégnek a Commodore platform életben tartásáért hozott rendkívüli erőfeszítéseinek csúcspontja. Sajnos nem terjedt el széles körben, mivel drága volt és későn érkezett, de mindmáig a játékosok és a gyűjtők egyik álma ez a C64/128 izmos bővítését célzó dobozka.
F7 Turbo Card. Egy újabb lengyel zseni, becsületes nevén Przemyslaw Krawczyk – illetve a számunkra is megjegyezhető és kiejthető verzióban: Lotharek – szabadidejében csodás modern retróeszközöket épít. Saját weboldalát végiglapozva az egyik ámulatból eshetünk a másikba (ki ne hagyjuk eközben a MIST nevű Amiga és Atari ST FPGA-klónt!), míg meg nem látjuk azt, amelyen per pillanat dolgozik. Hogy mi lesz belőle majd pontosan, ha elkészül, még rejtély, de nagyon olybá tűnik, mint egy SuperCPU…! Ismét felbukkan a két jóbarát: a 20 MHz-es 65816 CPU és mellette a 16 MB-os SIMM RAM foglalat. (El is gondolkodhatunk most rajta, vajon ez az utóbbi manapság még egyáltalán miért kell: azért, mert az alkalmazott SD-RAM-ok és a firmware moduljai közös időzítéseiből egyelőre nem igazán jön ki az a megbízható 20 MHz-es órajel – ezt konkrétan a Turbo Chameleon FAQ-jában említik meg, magyarázatképpen arra, hogy a Chameleon miért nem képes emulálni azt.) Hát ez viszont nagyon Yikes! És drukkolunk. (Előjegyzéseket pedig máris felvesz rá az úriember, úgyhogy lehet neki e-mail-t küldeni.)
A fentiek közül a Turbo Chameleon megrendelhető a német Vesalia webshopból (potom 240 euró + postaköltség, és esetleg egyéb kiegészítők), míg TDC és F7 ügyben azok gyártóinál lehet érdeklődni személyesen (utóbbi még egyelőre nem készült). A C-One és a SuperCPU már évek óta nem létezik újként, csupán használtan, így nagyritkán az eBay-en még egy-egy példány fel-felbukkan, aztán csillagászati áron szokott gazdát cserélni… A C128 a Vaterán is vadászható (mind közül a legkönnyebben elérhető, szerencsére elég sokat legyártottak pár évtizede).
Emulátorok. Sajna emulátorfronton közel sem ilyen szélesek a kilátások, ugyanis a szoftveres C64-emulátorokban szégyenletesen gyér az efféle gyorsítások implementáltsága jelenleg. Holott éppenhogy egy bivalyerős PC kínálná ezt tálcán, vélhetnénk – ott aztán a határ tényleg csak a csillagok… Valamiért mégsem gondolnak a fejlesztők rá, s a „zászlóshajó” VICE-ban sincsen ilyen beállítás. (Létezik egy ún. warp mode ugyan helyette, csakhogy az az egész emulátort gyorsítja fel mindenestül, arra pedig senkinek sincs szüksége…) Csak a legközelebbi múltban történt kísérlet a helyzet javítására, és ráadásul ez egy magyar programozó, a Newcomer kapcsán ismerősen hangzó nevű Soci (azaz Kajtár Zsolt) műve, aki készített a VICE-ból egy saját, „custom” variánst a SuperCPU egy korlátozott emulációjával kiegészítve. Pillanatnyilag még kissé béta verziós és hiányos, de remélhetőleg, ha egyszer elkészül, a „hivatalos” VICE is átveszi. (Ugyanakkor még ha megvalósul is ez, mindjárt legyinthetünk rá egy kissé csalódottan előre: minek kell e nyamvadt 20 MHz-cel beérni, amikor a mai PC-k tudásával immár több százszoros vagy ezerszeres gyorsítás is elérhető lenne. Gondoljunk csak bele, hogy az egyik első emulátor húsz éve egy 386-oson is elfutott, s a mai processzorok ehhez képest milyen teljesítménykülönbséget rejtenek!)
A VICE 2.4 SuperCPU „Experimental” változata itt letölthető. A SuperCPU-val való futtatáshoz átalakított játékprogramok listája pedig itt található. (Nem garantált, hogy mindegyik feltétlenül menni fog!) Így a Freescape nem lesz többé diafilm.
Visszatérve eredeti témánkhoz, a különféle turbókhoz: végső soron láthatjuk, ez tipikusan olyan szerepkör, mely emulátor alatt szinte semennyire nem támogatott még. Ami azért fájó, mivel pont a legnehezebben hozzáférhető és legborsosabb árú vasakról van szó, melyek beszerzését a legszívesebben úszná meg az ember (akkor is, ha egyébiránt remek érzés birtokolni őket). Elvileg a megfelelő módszerekkel lehetséges volna a futó programból detektálni ezeket a futtatási környezeteket, majd ennek függvényében megváltoztatni a futását – mindegyikhez testre szabni valamennyire. (Például a valós C64/128 környezeten kívül nem kellene sokat törődni a MHz-ek kapcsolgatásával, mivel másutt nem jön elő az ominózus VIC-bug, ugyanakkor tudhatjuk, hogy nem szabad az utasításhosszak cikluspontosságára hagyatkozni sehol sem; vagy 65816 esetében nem alkalmazhatók az illegális opkódok, ám cserébe egy komplett módon kibővített utasításkészlet áll rendelkezésre. És így tovább, előnyök és hátrányok.) Ennek megbízható tesztelése viszont egyelőre megoldhatatlan és ellenőrizhetetlen az eredeti vasak nélkül, míg az emulált környezetek készítői nem nyújtanak segítséget hozzá.
Viszlát jövőre!
(előzmények: Gép az emulánsok ellen és Commodore 128 Personal Computer; a téma folytatása: Turbo Chameleon 64)