VICE, Commodore emulátor beüzemelése Linuxon

írta: sonar, 6 hónapja

Mivel kezdtem ráunni a böngészős Lode runner-re és már régóta tervben volt, hogy végigjátszom gyerekkorom egyik kedvenc C64-es játékát a Flimbo's Quest-et ezért elkezdtem kutatni, hogy éppen milyen emulátorok elérhetőek. Sok választás nincsen, mindenhol a VICE-t ajánlják.
Gyorsan rá is néztem, hogy milyen verzió érhető el a gyári repository-ban (Linux Mint 20), mert ha van rá mód akkor használjuk a csomagkezelőt a telepítésre. Nos úgy néz ki, hogy a csomag teljesen friss és ha jól nézem még magyar vonatkozása is van.

$ sudo apt show vice
Package: vice
Version: 3.4.0.dfsg-1build1
Priority: optional
Section: multiverse/otherosfs
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Laszlo Boszormenyi (GCS) <gcs@debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 34,6 MB

Akkor telepítsük fel izibe.
$ sudo apt install vice
Majd az x64 parancs gépelésével indíthatjuk a VICE emulátort és indulhat a 8 bites rock&roll. (gondoltam én naivan)
$ x64
ffmpeg avformat lib has version 3a1d64, VICE expects 3a1d64: full match
ffmpeg avcodec lib has version 3a3664, VICE expects 3a3664: full match
ffmpeg avutil lib has version 381f64, VICE expects 381f64: full match
ffmpeg swscale lib has version 050564, VICE expects 050564: full match
ffmpeg swresample lib has version 030564, VICE expects 030564: full match
Detecting ISA HardSID boards.
Could not open '/dev/port'.
Cannot get permission to access $300.
Detecting PCI HardSID boards.
No PCI HardSID boards found.
Detecting PCI CatWeasel boards.
No PCI CatWeasel found.
Detecting direct I/O ISA SSI2001.
Could not open '/dev/port'.
Cannot get permission to access $280.

*** VICE Version 3.4 ***
Welcome to x64, the free portable C64 Emulator.
Current VICE team members:
Marco van den Heuvel, Fabrizio Gennari, Groepaz, Errol Smith, Olaf Seibert,
Marcus Sutton, Kajtar Zsolt, AreaScout, Bas Wassink, Michael C. Martin,
David Hogan.

This is free software with ABSOLUTELY NO WARRANTY.
See the "About VICE" command for more info.

C64MEM: Error - Couldn't load kernal ROM `kernal'.
Error - Machine initialization failed.
Exiting...

Hát ez nem indult el. Aztán némi googlizgatás után kiderült, hogy jogi kitételek miatt bizonyos összetevők nem kerülhettek bele a deb csomagba. De szerencsére van megoldás.
Töltsük le a az aktuális tar-t a hivatalos oldalról [link]. A következő szekció tartalmazza, hogy mit is kell csinálni.
$ tar -xzvf vice-3.4.tar.gz
$ cd vice-3.4/data/C64
$ sudo cp chargen kernal basic /usr/lib/vice/C64
$ sudo cp d1541II d1571cr dos* /usr/lib/vice/DRIVES/
$ x64

VICE és benne a BASIC képernyő

A játékok indításához tudni kell, hogy három féle fájlal találkozhatunk.
d64 - disk file vagyis a floppy lemez
t64 - tape avagy a szallag, kazetta formátum
crt - cartridge formátum, ezzel van a legkevesebb gondunk, csatoljuk és már indul is

Nézzük, hogy mit is tudunk kezdeni egy kazetta file-lal.
Szipmlán LOAD majd ha megjött a READY akkor egy RUN paranccsal tudjuk elindítani a betöltött programot.
Játékot szerintem nem nagyon érdemes ebben a formában keresni mert mai világban nagyon nagyon sokáig tart a betöltése. Emlékszem gyerekkoromban simán néztük 10-20 percig a tévén a csíkokat.

Töltő képernyő terápiás céllal

Nos akkor helyezzünk be virtuálisan egy floppy lemezt az emulátorunkba.

File->Attach disk image->Drive#8

LOAD"$",8
LIST
LOAD"JATEK NEVE",8
RUN

Illetve a LOAD"*",8,1 paranccsal a lemezen lévő legelső programot indítja el automatikusan. Gyári lemezeknél amúgy is csak egy játék szokott a lemezen lenni.

Mivel a legtöbb C64-es játékhoz joystick kellett és nem is volt mindegy, hogy az UserPort #1-be vagy a UserPort #2-be volt dugva. A Flimbo a #2-es portot használta. Ezért a Settings->Input Device->Joystick
menüben nézzünk szét.
A keysetA és keysetB-vel van lehetőségünk arra, hogy a billentyűzetünket akár két játékosnak megfelelően szétosszuk (egyik használja a numerikus gombokat, a másik meg a WASD-t). Majd definiáljuk a megfelelő keyset-et a joystick portokhoz.
Mi felénk Quick Shot 2 Turbo képviselte a csúcskategóriát

És akkor már nincs is más hátra indulhat egy kis nosztalgikus játszadozás.

Flimbo's Quest: Level #1