ty64 Commodore 64 emulátor

magyar english

A ty64 egy vadonatúj Commodore 64 emulátor webböngészőkre, teljesen a nulláról, natív javaScript nyelven írva. Az elsődleges célom a projekttel kapcsolatban a tanulás, a C64 minél alaposabb kiismerése. Ezen kívül célom az online platform előnyeit kihasználó, minimális gépigényű, könnyen kezelhető, szerethető, felhasználóbarát emulátor létrehozása.

A ty64 emulátor jelenleg aktív fejlesztés alatt áll, de a nagy érdeklődésre való tekintettel szabadon használható a fejlesztés ideje alatt is, így bárki nyomon követheti a projekt alakulását. A jelenlegi verzió messze van még a tökéletestől, de már most is megfelel a használati esetek 99%-ának.

Fontos információk

Elengedhetetlen egy modern webböngésző használata az emulátor futtatásához. A legjobb teljesítményt sorrendben a Brave, az Opera, a Chrome és a Firefox böngészők nyújtják, de használható bármilyen más, hasonló motorral működő modern böngésző is.

Pár tipp az alkalmazás gördülékeny használatához:

Vezérlőelemek

File megnyitása és betöltése a gépbe. Az alábbi fájltípusokra van lehetőség:
.prg - C64 bináris
.t64 - C64 kazetta
.d64 - C64 lemez
.crt - C64 cartridge
.sid - SID zenefájl
.ty64 - a ty64 emulátor saját mentési formátuma

Ha az ikonra kattintás közben nyomva tartod a SHIFT billentyűt, akkor a betöltött program nem fog automatikusan elindulni, csak betöltődik a gépbe. Ez például a BASIC kód kilistázásához, vagy POKE csítek beírásához alkalmas. Drag and drop módszerrel is működik a fájlok betöltése.
URL megnyitása. Nem kell letöltened a megnyitni kívánt fájlokat a netről. Elég, ha megadod a webcímét, és az emulátor magától meg fogja nyitni. Továbbá megadható csdb release URL is, illetve HVSC SID elérési útvonal is, ezekről a helyekről automatikusan megnyitja az emulétor a talált C64-es tartalmat.
Számítógép megosztása, közös számítógéphasználat. Válaszd ki, hogy megosztani szeretnéd a gépedet, vagy csatlakozni szeretnél egy megosztáshoz. Az összepárosítás nagyon egyszerű, annyiból áll, hogy a hoszt elküldi a számára generált nyolc karakterből álló kódot a meghívott partnerének, aki bemásolja azt a felugró mezőbe. És már él is a kapcsolat! (A hálózati funkcióról bővebben lentebb.)
Az emulált gép állapotának lementése .ty64 fájlba. SID zenelejátszó módban a .sid fájlt menti le.
Az emulált gép állapotának gyors mentése. Nem töltődik le fájl, a mentést a böngésző őrzi meg, így akár játék közben is gyorsan rá lehet nyomni. A funkció az F12 gombbal is elérhető.
A gyorsmentés gyors visszatöltése. Gombnyomásra azonnal visszaáll a gyorsmentett változat. A funkció az F9 gombbal is elérhető.
Az 1541-es floppy meghajtó állapotát mutatja. Itt lehet berakni floppy lemezt (d64 állományt) a lemezmeghajtóba, illetve kivenni belőle azt. Amennyiben van bent lemez, annak tartalomjegyzékét is listázza. A lista PRG állományai kattintással betölthetők.
A bővítőport állapotát mutatja. Itt lehet berakni cartridge chipeket (crt állományt) a portba, illetve kivenni belőle azt. Amennyiben van bent cartridge, annak alap információit is megmutatja. A cartridge mindenképp átveszi a vezérlést a gép indításakor, vagyis a gép normál használatához előbb el ki kell venni a cartridget.
A grafikus billentyűzet megnyitása. Ha nem találsz egy C64-es gombot a billentyűzeteden, itt rákattintva be tudod nyomni azt.
A joystick kiosztás panel megnyitása. Beállíthatók, hogy mely billentyűket kezelje úgy az emulátor, mintha azok a joystickok irányai lennének. Illetve ha gamepaddal szeretnél játszani, akkor annak egy gombját megnyomva, hozzáadódik a választható controllerek listájához. A gamepad használata annyival szerencsésebb, hogy nem fed le a billentyűzeten gombokat.
A panelen megjelenő joystick rajzokra kattintva lehet kihúzni vagy bedugni őket a gépbe.
A gombbal, vagy a SCROLL LOCK-kal pedig gyorsan meg lehet cserélni a két joystickot, mintha kihúznád mindkettőt és átdugnád a másik portba.
A számítógép ki- és bekapcsolása, hard reset.
Az emuláció megállítása vagy folytatása.
A PAUSE billentyűvel is elérhető a funkció.
Az emuláció képkockánkénti (framenkénti) léptetése.
Turbó mód, hatására dupla sebességgel fut az emuláció. A NUMPAD DELETE gombot nyomva tartva gyorsabban elérhető ez a funkció, mint az ikonra kattintva, így játék közbeni gyorsításhoz is optimális.
Idővonal megtekintése, és az idő visszapörgetése. Az emuláció utolsó két percének tetszőleges időpontjába vissza lehet térni. Mintha egy filmszalagot tekernél, előre-hátra, majd a számodra tetszőleges ponton folytatható az emuláció. Nehéz játékok esetén ez még a gyorsmentésnél is jóval használhatóbb funkció. A NUMPAD INSERT gombját nyomva tartva, a panel nyitása nélkül, játék közben, instant vissza lehet tekerni a múltba, ez így a legtökéletesebb örökélet csalás.
Képmentés készítése az előtérről, 320x200-as felbontásban.
A SHIFT billentyűvel nyomva az egész képernyőről készül felvétel, 384x272-es felbontásban.
Játék közben gyorsan a PAGE DOWN gombbal is elérhető.
A kép méretét, a színpalettát, és a vizuális filtereket lehet állítani ebben a felugró ablakban. Egy filter bekapcsolása a paletta átállítását is magával vonzhatja.
SID panel megnyitása. A ty64 emulátor 3 SID chipet támogat. Az ezekben zajló változások tekinthetők meg vizuálisan, valamint állíthatók a SID-ek memóriacímei és típusai. A SID-ek hangzásának és a környezeti hangoknak (billentyűzet, joystick) külön hangerőszabályzója van.
SID file megnyitásakor ez a panel magától kinyílik.
Apróbb menüpontok gyűjtője. Ebbe a felugróba kerültek azok a funkciók, amik nem olyan lényegesek, hogy fix helyet foglaljanak az alsó sávban.
Megnyitja ezt a dokumentációt.
Kiolvassa a képernyő szöveges tartalmát, és kimásolja a vágólapra. A C64-en megjelenő "szövegek" valódi szöveggé alakításához való.
A vágólapon lévő szöveget beilleszti a C64-be. BASIC kódok gyors bevitelére alkalmas.
A teljesítménymérő ki- és bekapcsolása.
Betölt és lejátszik egy véletlen SID fájlt a HVSC teljes kínálatából.
Megnyit egy véletlenszerű C64-es játékot egy új tabon.
Erre kattintva tudod támogatni ezt a projektet.

Hálózati játék / közös géphasználat

A közös géphasználat funkció révén a gépét megosztó felhasználó gépéhez tud csatlakozni a meghívott partner. A koncepció az, mintha fizikailag egy helyen, egy gép előtt ülne a két ember, és közösen használnák azt. Azaz közös a billentyűzet, a joystickok, vagyis ha bármelyik fél leüt egy billentyűt, vagy mozgatja a joystickot, vagy átírja a joystick vezérléséhez hozzárendelt billentyűt, tehát ha bármin állít, az szinkronban a másik oldalon is látszódik és megtörténik. A funkció nyilván arra is alkalmas, ha csak meg akarsz mutatni valamit a havernak, nem szükséges a partnernek beavatkoznia, maradhat szemlélő is.

Programokat betölteni, lemezeket felcsatolni, mentéseket készíteni csak a gép gazdája, a meghívó fél tud. Ha valamiért megszakad a kapcsolat, akkor a vendég fél visszakerül a saját emulációjába, a hosztnál viszont megáll a közös emuláció, azért, hogy a későbbi újracsatlakozáskor pontosan ugyanonnan tudja folytatni közös tevékenységét a két fél, ahol abbahagyták. Vagy ha hosszabb ideig nincs net, akkor a hoszt le tudja menteni a gép állását, így egy későbbi időpontban tudják folytatni, vagyis a közösen létrehozott munka/játék nem vész el.

A hálózati játék tesztek során azt tapasztaltam, hogy két kulcs tényezője van a folyamatos játékélménynek:

Kapcsolat

Az észrevételeidet elküldheted az címre.
A dedikált játékoldalak listáját itt találod!


Jó szórakozást kívánok az emulátor használatához!
Tóth Krisztián