GEOS.
A C64 beépített operációs rendszere egy 8kB-os KERNAL ROM-ból
és egy másik, szintén ugyanakkora BASIC ROM-ból állt, mely utóbbi
a Microsoft BASIC 2.0 interpretert futtatta. Ez a BASIC szörnyű
volt, és primitív, nem sok értelmes feladatot tudott ellátni a
programok kazettáról vagy lemezről való betöltésén, majd elindításán
kívül (amivel a maga idejében mégis korszerűnek számított, az
a szerkesztőrendszere, egy teljes képernyőre kiterjedő felületű,
full-screen editor – ebben még az MS-DOS-t is pipálta). Alapjában
nem is szánták túl sok egyébre; a nagyobb, komolyabb, s a hardver
képességeit is kiaknázni szándékozó alkalmazásokat szinte kivétel
nélkül Assembly-ben (avagy néha közvetlenül, manuális gépi kódban)
írták meg. (Ugyan akadt néhány magas szintű fordítóprogram rá,
mint pl. FORTH vagy C, sőt esetleg még valamilyen Pascal is, ám
ezek sem álltak épp a helyzet magaslatán – nem is nagyon alkalmazta
őket senki sem.) Az igazán fejlett technikával dolgozó, ellátottabb,
magasabb költségvetésű szoftver-stúdióknak tellett rá, hogy a
C64 mellett más, erősebb (16- vagy 32-bites) gépeket és fejlesztőkörnyezeteket
is tartsanak, és a fejlesztői munkát inkább azon végezzék – magára
a célgépre csupán már a lefordított, kész tárgykód került át,
hogy teszteljék, majd pedig a végső produktumot összegyúrják belőle.
(Az esetek többségében azért ez sem volt túl jellemző, hisz nem
volt elég pénz…) De azért az alaprendszerrel is el lehetett lenni
valahogy.
Amikor
a grafikus környezetű oprendszerek divathulláma felcsapott, mégis
kicsit változott a helyzet: megjelent egy ilyesmi a 64-re is:
az ún. GEOS (Graphic Environment Operating System, 1986).
Nyilván erősen hajazott a Mac OS-re, beépített szövegszerkesztővel
(GeoWrite), rajzolóprogrammal (GeoPaint), egérkezeléssel (a Commodore-nak
is volt már egere, a 1351), gyorstöltővel
(DiskTurbo), sőt – virtuális memóriakezeléssel (1541-en!) stb.
Attól kezdve mellécsomagolták a legtöbb forgalomba kerülő új géphez
(igaz, csak egy floppy diszken, arról kellett elindítani – én
hülye meg leformattáltam az enyémet), sőt, készítettek C128-ra
egy továbbfejlesztett
(és Plus/4-re egy átdolgozott) változatot, illetőleg portolást
is más gépekre (pl. az Apple II) belőle. Kitűnően demonstrálta
ezeknek a kis gépeknek a képességeit; valahogy a gyakorlatban
mégsem terjedt el. 2003-2004 óta mindezeket a verziókat – kizárólag
magáncélra – hivatalosan és legálisan ingyenesen letölthetővé
tették. (Lehet tesztelni vagy játszani vele… Még 64HDD-hez optimalizált
változat is van!) Minthogy azonban a nyolcbites platformokat világéletében
túlnyomórészt játékgépként használta a jónép, ennek túlzott gyakorlati
jelentősége még akkor közvetlenül nem volt. Ami viszont számít:
megmutatta, lehet bizony készíteni komoly alkalmazásokat is rájuk.
|
|
|
Contiki.
Thor Heyerdahl maga által barkácsolt kis lélekvesztőjére még az
iskolából emlékezhetnek a szerencsésebbek, amivel átszelte a Csendes-óceánt,
és nyolcezer kilométert hajózott, pusztán avégett, hogy bebizonyítsa:
lehetséges megtenni. (Érdemes a kalandos életmódot választó norvég
felfedező egyéb utazásainak is egy kicsit utánaolvasni, mint például
Odin keresése Azerbajdzsánban… Sajnos ez most nem tartozik itt
és most a tárgyunkhoz.) Az eredetileg még Kon-Tiki
helyesírású név egy idő óta bevonult az informatikába is, jóllehet
úgy, mint Contiki. Mi is ez? Ugyancsak egy (virtuális)
kis hajó, egy modern – nyílt fejlesztésű, hordozható, hálózati
alapokon álló – általános multitaszking operációs rendszer kis
teljesítményű és kis memóriájú hardver környezetekre (ez nemcsak
a nyolcbites mikroszámítógépeket jelenti, hanem például a beágyazott
mikrokontrollereket és további csöppségeket is). Most kapaszkodjunk
meg: a teljes, alapvető rendszermag az implementált TCP/IP hálózati
protokollal együtt (!) alig néhány kilobájtot igényel (plusz néhány
száz bájt operatív RAM a változóterületeknek); egy tipikusabb,
komplett rendszer, mindenestül (az ablakkezelő, grafikus felhasználói
felülettel együtt) pedig akár 30-40kB-ból kijön már. Ezen még
a GEOS fejlesztői, akik amúgy előzőleg Atari 2600-ason edződtek
– az a rendszer pedig többek között arról hírhedt, hogy mindösszesen
128 bájt (igen, BYTE!) RAM memóriája van, és minden rajta
futó játékprogram ki kellett, hogy jöjjön ennyivel –, is felvonnák
a szemöldöküket… A C64-tulajdonosok meg még inkább, hiszen ehhez
képest az ő gépük valóságos erőmű. (A PC-tulajdonosok meg sírva
fakadnak.)
A
Contiki szülőatyja Adam Dunkels, a Svéd Számítógéptudományi Intézet
kutatója volt; majd pedig a 8-bites Commodore, Atari és Apple
platformokra Oliver Schmidt portolta át. Természetesen egy ilyen
szinten lecsupaszított rendszer már a napi gyakorlatban elég kevés
hasznos szolgáltatást képes nyújtani a felhasználóknak; de – mint
említettük – az elsődleges cél a képességek demonstrálása. Utóbbi
szándékukat pedig mi sem testesíti meg jobban, mint egy (tetszőleges
hálózati kapcsolattal) C64-ről
működtetett webszájt!
Igen, tényleg, van ilyen: kellemes kis bemutatkozó oldalt lehet
róla megnyitni és böngészni. A szerver gép – a saját leírása alapján
– már 2007 óta folytonosan működésben van, és nem mást, mint a
legkorábbi modellek egy díszpéldányát választották e célra: egy
’82-es évjáratú alapgépet, módosítás nélkül, ugyancsak egy korabeli
lemezegységgel. (Jelenleg a Contiki szoftver 2011 februári, legutóbbi
2.5-ös verzióját futtatja. Egyik saját fotóján az üzem alatt álló
webszerver gép megtekinthető.) Gondoljunk bele, mikor megnyitjuk
az oldalt: valahol a világban, egy csendes szobában épp most
felkerreg egy (harminc éves) floppy drive…
|
|
|
Prince
of Persia.
Mind a mai napig készülnek még játékprogramok a 64-esre. Jelen
pillanatban kettőt emelnék ki közülük. Mind a kettő egy-egy több
évvel (khm, évtizeddel…) ezelőtti, úgymond „klasszikus” név újra-felelevenítése.
Az első közülük a Prince of Persia, mely először még
1989-ben született meg Apple II számítógépen, majd hamar átírták
és átportolták különféle fejlettebb képességgel bíró játékgépekre,
így Atarira, Amigára, Amstrad CPC-re, végül pedig IBM PC-re is,
amelyeken keresztül az évek alatt minden idők egyik legsikeresebb
és legismertebb alapjátékává vált. Ennél tovább fölösleges mesélni
a sztorit (hisz jó eséllyel mindenki már kitűnően ismeri, hacsak
messze nem a legfiatalabb korosztályba tartozik, vagy eleve nem
érdeklik a játékok); olyan „kis”
gépekre, mint a C64, azonban sosem adták ki. Ennek több különböző
oka volt, amelyek közt – mint mindjárt meglátjuk – az elsők között
szerepel a játék mérete. Annyi hosszú esztendő után egy szent
őrült most nemrégiben végül mégis nekiállt, és egy az egyben átkódolta
64-esre az egészet (bitről bitre teljesen az eredeti pályákat,
a csorbítatlan játékmenetet és grafikát). Mindez oly friss és
ropogós, hogy még alig néhány hónapos e cikk írása idején (2011
végén jelent meg!); s a késlekedés egyik magyarázata is kiderül:
az – ingyenesen letölthető – játékprogram ugyanis egy mintegy
fél megabájtos, egybefüggő cartridge formátumban van jelen (vagyis
lehetetlen floppy lemezekre kiírni). A futtatáshoz tehát vagy
egy emulátor szükséges (a CRT kiterjesztést ma már minden valamirevaló,
modern emulátor ismeri és betölti), vagy pedig egy speciális hordozó
cartridge, melybe magunk bele tudunk írni ilyen méretet. Történetesen
ez az ún. EasyFlash formátumot jelenti (egy 1MB-os flash EPROM
memóriát tartalmazó cartridge, ami tetszés szerint feltölthető,
törölhető, újraírható), avagy pedig annak valamilyen utángyártását
vagy emulációját. (Ennek megfelelő emuláció található többek közt
a Turbo Chameleon és a 1541 Ultimate kártyákon, így ezek szerint
azokkal is lefuttatható a kód.) Másik szokatlan aspektusa még
a jelenségnek, hogy a portolást végző delikvens az Apple II verziójú
kész, kiadott, lefordított tárgykódból fejtette vissza utólag
az egész játékot (disassembler révén – erre mondják azt a tudálékosok
és az okosok, hogy „reverse engineering” – megfordított tervezés),
tekintettel rá, hogy az eredeti terv és forráskód már réges-régen
elveszett… (Illetőleg most a legutóbbi hírek szerint újra megkerült.)
Név szerint az úriember: Andreas Varga, Ausztriában (amúgy Mr.
SID néven a HVSC gyűjteményben egyik közreműködő). Az eredeti
játékszerző Jordan Mechner volt (ő ebben a fejlesztésben nem vett
részt, de nyilván tud róla – a hivatalos blogban elsők között
személyesen gratulált).
|
|
|
Newcomer.
Ez a másik, és a maga módján nemcsak ugyanolyan áll-leesős, mint
fejlesztés, de – határozottan, és – még jobban… Ráadásul ez egy
magyar játék, ha valaki nem tudná, a valaha készült egyik legóriásibb
szerepjáték, azaz RPG a 8-bites platformokon bárhol. Eredeti változatát
1994-ben adta ki a Valhalla Páholy könyvkiadó (akkortájban volt
egy kisebbfajta, kissé talán meg is késett „robbanás” a magyar
C64 játékpiacon); nem kevesebb, mint négy éven át tartó fejlesztés
után a készítők – a C. I. D. Stúdió – részéről. Akkor ez egy magyar
nyelvű játék volt; azonban a fejlesztéssel nem álltak le, évek
múlva átdolgozták, kibővítették, javítottak benne hibákat, és
lefordították
angolra. 2001-ben újra kiadták azt Enhanced Newcomer
néven, ám ekkor már a Protovision cég, és nemzetközi vizeken.
Ezt követően a fejlesztés még mindig tovább folytatódott… Egy
bő évtizedig, nagyjából. A régi programozó gárda (Lay András,
Gonda Zoltán, Fóris Csaba) időközben teljes egészében lecserélődött
más, újabb nevekre (Belánszky István, Szemeti Mihály, Kajtár Zsolt),
akik a korábbi játékot nemcsak szimplán folytatták, de nekikezdtek
újraírni nulláról az egészet. Tehát végül lett egy új játék, az
Ultimate Newcomer – ami megint sokkal nagyobb, sokkal
bővebb, dramaturgiailag is hibátlanul átgondolva felépített, „újravágott”
cselekményű, mindkét nyelven külön-külön futtatható, támogatva
mindenféle újkeletű hardver ketyeréket stb. Elméletileg ez 2011-ben
már egyszer „elkészült”, sőt be is mutatták a 2011-es Árok Party
rendezvényen Ajkarendeken (majd beneveztek vele a 2012-es nemzetközi
IGF független játékfejlesztői versenyre); gyakorlatilag jelen
pillanatban még mindig csiszolják az alkotók, mert kizárólag tökéletes
munkát hajlandóak kiadni a kezükből… Talán, így bő két évtized
távlatában gondolkodva, az a plusz/mínusz egy-két év már ide vagy
oda, nem számít… Tényleg nem; de remélhetőleg idén azért most
már ténylegesen végre kézbe kaphatják a rajongók. Akárcsak a fentiekben
ismertetett PoP, ez is ingyen letölthető lesz az emulátorozók
számára a netről (a teljes játékméret olyan 2MB körül van, és
többféleképpen optimalizálva szerkesztik az eltérő futtatási környezetek
részére; különböző csomagokba kiszerkesztve válogathatunk); cserébe
– bár nem kötelező, de – kimondottan illik megtámogatni
az alkotókat tetszőleges pénzösszeggel: kinek mennyit ér ez meg.
(Hogy legyen miből új gépeket venni majd a nyugdíjas otthonnak
a következő ötven évig tartó végső fejlesztésekhez…) Ugyanakkor
külföldön a Protovision kiadó – sajnos csak az angol nyelvű programból
– egy extra díszdobozos (borítós és nyomtatott kézikönyves stb.)
verziót is forgalmazni szándékozik hivatalos formában.
|
|
|
Videolejátszás
a 64-esen. Talán ez a leglátványosabb és
legdöbbenetesebb az összes újabbkori fejlemény közül – emiatt
is hagytam legvégére, zárásként, amolyan slusszpoén gyanánt. (Igen,
igen, jól olvasta, kedves Olvasó: videolejátszás…) Ami pedig egyáltalán
lehetővé tette ezt: a (relatíve nagykapacitású és olcsó) memóriabővítések
egyre könnyebb hozzáférhetősége a legutóbbi néhány év során. Mint
írtam, a maga idején is létezett a Commodore-hoz (a C64-hez és
a C128-hoz) hivatalos,
gyári memóriabővítő, a REU – csak hát ugye nem igazán terjedt
el. (Azonkívül az is inkább pár száz kilobájt volt többnyire.)
Ennek elméleti, maximális korlátja ama bizonyos 16MB RAM (mely
az alkalmazott 24-bites címzésmódból fakadólag
épp ennyi); annak idején ez elérhetetlen álom volt csupán: egy
csillagászati és mindennapos értelemmel felfoghatatlan mennyiségnek
tűnt. Ma azonban elérhető, ráadásul nem is nehezen: fillérekért
kapunk CF, SD, MicroSD memóriakártyákat, és ezeket a Turbo Chameleon
vagy a 1541 Ultimate (s más további kártyák) be is fogadják, és
szabvány REU emulációhoz tudják használni. (A Commodore cég saját
gyártmánya, a REU, azaz RAM Expansion Unit, egy sokoldalúan
rugalmas, ún. DMA technológiával dolgozik, ami azt jelenti: teljességgel
tetszőleges helyzetű és méretű memóriablokkokat lehet villámgyorsan
ide-oda átmásoltatni vagy megcseréltetni a C64 belső, saját RAM-ja
és a külsődleges tárbővítő közt. Léteznek még ezenkívül másfajta
elven alapuló bővítések is, amelyek pedig az ún. „bank switching”,
lapozási technikákkal élnek – például a fent említett EasyFlash.)
Hogy
egy ilyen módon 16MB-ra felbőszített (egyébiránt érintetlen) puszta,
közönséges C64 alapgép milyen hihetetlen módon megtáltosodik egy,
azt kellőképpen kiaknázó szoftver segítségével, a legkitűnőbben
a legutóbbi egy-két évben felbukkanó videolejátszók demonstrálják
előttünk. Amire érdemes a világhálón rákeresni, az a NUVIE, vagy
más összefüggésben a NUFLI video kodek. Nyilván nem mindenki képes
otthonában reprodukálni az eredményt (hisz nincsen hozzá gépe
és plusz bővítőkártyája), de a jutyúbon is föllelhető számos –
a legszebb és a legjobb esetekben ténylegesen lélegzetelállító!
– felvétel a lejátszásokról. A legjobbakban ezenkívül közrejátszik
még egy másik tényező: a gyári grafikai felbontások és/vagy színkészletbeli
korlátok meghaladása hardver/szoftver trükkök segítségével. (Természetesen
– mint oly sok más hasonló esetben – a videochip bugjainak, hibáinak
a fölfedezéséről és szemfüles kihasználásáról van szó.) Az FLI
(Flexible Line Interpolation) néven emlegetett grafikai formátum
és társai (AFLI, IFLI stb.) már elvezetnek bennünket a demóprogramozás
világába, ahová most nem szeretnék külön kitérni… A lényeg nagyjából,
hogy kifinomult, különleges programozási módszerekkel lehetővé
válik például a C64 teljes 320x200 pixel felbontású képernyőjén
mind a 16 szín alkalmazása (ezt már a ’90-es években is láttuk,
nemcsak demókban, hanem többek közt a Soul Crystal című
kommersz játékprogramban); mint ahogyan más, változatos grafikai
„kiterjesztések” és (látszólagos) képi hatások (mint például a
nevezetes „256 szín”, ami valóságban persze nem annyi, csak ügyes
kombinációk a 16 szín „keverésével”). Ami viszont végzetesen komoly
hátulütője e módszereknek egyfelől, hogy tetemesen rabolják a
gépidőt a CPU elől (egész halom mindenféle raszteridőzített IRQ-nak
kell folyton futnia az egyes pixelsorokban a háttérben), másrészt
pikkpakk fölfalják a tárat (egy-egy ilyen grafika már önmagában
több tíz kB). Azaz, végül, mindezek után, egy-egy gyönyörűszép,
kidolgozott állókép szemlélésén kívül nem sok gyakorlati hasznuk
van. És itt kerül a képbe (szó szerint!) a memóriabővítés:
16MB-ban immár rengetegen elférnek – s néminemű, még további technikai
bűvészkedés útján pedig kellő gyorsasággal lehet őket visszajátszani…
Jó szórakozást!