Emulacja Commodore 64 pod Linuksem

Damian 'Daper' Pietras
daper@daper.dhs.org

Wśród miłośników komputera Commodore 64 znajdą się na pewno ludzie, którzy chcą cieszyć się urokami emulacji używając systemu Linux. Dla nich stworzono bardzo wiele emulatorów działających w tym środowisku, również te najpopularniejsze - VICE i CCS64. Opiszę krótko kilka z nich, które moim zdaniem są najbardziej warte uwagi. Wszystkie oczywiście dostępne za darmo.

CCS64
http://www.ccs64.com

Powiększ Z tego, co wiem, najlepszy emulator działający pod Windows, jeżeli chodzi o zgodność z oryginalnym C64. Niestety, linuksowa wersja tego programu działa bardzo kiepsko. "Silnik" emulatora jest ten sam, ale interfejs został napisany od nowa. Z pliku README interfejsu możemy się dowiedzieć, że został on stworzony jako pierwsza próba autora programowania w Xwindow, po 2 tygodniach nauki, co mówi samo za siebie.

Instalacja jest trochę niestandardowa. Należy rozpakować plik ccs64-1.09.1-ui.src.tar.gz (komenda tar xzf PLIK), następnie do stworzonego katalogu rozpakować ccs64-1.09-i486linux-lib.tar.gz (tam znajduje się katalog emulator). Przechodzimy do ccs64-1.09.1 (cd ccs64-1.09.1) i piszemy make, dokona się kompilacja interfejsu i linkowanie go z biblioteką. Teraz kopiujemy plik ccs64 do jakiegos katalogu i umieszczamy razem z nim wszystkie pliki z katalogu prg (ROMy). Uruchomienie po przejściu do katalogu i wpisaniu ./ccs64 (zalecam ./ccs64 +xsync +cache).

Obsługa sprowadza się do paru oczywistych opcji w bardzo skromnym menu dostępnym po naciśnięciu lewego klawisza myszy. Emulator nie ma prawie żadnych możliwości konfiguracji, więc dalszy opis nie ma sensu.

Zalety:

  • Duża zgodność z oryginalnym C64

Wady:

  • Brak dźwięku

  • Brak dokumentacji

  • Zamknięty kod (na licencji GPL rozpowszechniany jest tylko interfejs)

  • Bardzo kiepski interfejs

  • Nie działa w trybie pełnego ekranu, tylko małe okienko

  • Brak możliwości konfiguracji

  • Zbyt wiele wad, żeby wymieniać

ec64
http://mars.wiwi.uni-halle.de/ec64/

Mały emulator napisany całkowicie w assemblerze x86, rozpowszechniany na licencji GPL. Emulator nie jest dokończony, ale prace trwają. W tej chwili brakuje obsługi dźwięku i spriteów. Opisuję go, ponieważ ma kilka oryginalnych cech, które mogą okazać się dużym atutem, kiedy zostanie dokończony. Emulator nie wymaga Xwindow, używa frame buffera, więc można go odpalić na konsoli. Jak już wcześniej wspomniałem, jest napisany całkowicie w assemblerze, co skutkuje małym rozmiarem (71 Kb po skompilowaniu) i szybkością działania.

Do instalacji wymagany jest nasm (http://nasm.2y.net). Po rozpakowaniu (tar xyf PLIK) przechodzimy do katalogu i piszemy make. Program znajduje się w katalogu bin. Należy go uruchomić jako root (ze względu na frame buffer) lub nadać atrybut SETUID (chmod 4755 PLIK).

Zalety:

  • Malutki

  • Szybki

  • Nie wymaga Xwindow

Wady:

  • Nie ukończony, nie wszystkie programy będą działać

Frodo
http://www.uni-mainz.de/~bauec002/FRMain.html

Powiększ Emulator dla wielu systemów (AmigaOS, Windows, Linux, BeOS itd.), który, jak pisze autor, stworzony został, aby dokładnie oddać grafikę w demach i grach. Można go uruchomić w Xwindow jak i na konsoli używając SVGAlib. W wersji pod Xwindow brakuje trybu pełnoekranowego, poza tym obsługa jest wygodna i prosta. Nie ma większych możliwości konfiguracji.

Instalacja też jest prosta, wystarczy skopiować binarną dystrybucję ze strony autora lub skompilować program ze źródeł: ./configure (lub ./configure --without-x dla wersji z SVGAlib) && make.

Zalety:

  • Duża zgodność z C64

  • Wygodna obsługa

  • Działa z Xwindow jak i z SVGAlib (konsola)

Wady:

  • Brak obsługi trybu pełnoekranowego

  • Małe możliwości konfiguracji

  • Licencja Freeware

VICE
http://www-2.cs.cmu.edu/~dsladic/vice/vice.html

Powiększ Moim zdaniem najciekawszy z opisywanych emulatorów. Jest to właściwie zestaw emulatorów Commodore 64, 128, VIC20, PET 8-bit oraz CBM-II. Z tego co wiem nie jest on tak dobry jak CCS64 pod względem zgodności, ale inne cechy powodują, że polecam go jako podstawowy emulator C64 dla Linuksa. Został przetestowany na bardzo wielu platformach sprzętowych (np. x85, alpha) i programowych (np. Linux, Windows, DOS). Posiada bardzo duże możliwości konfiguracji i wygodne menu. Pozwala dostosować różne parametry do szybkości sprzętu na jakim ma działać.

Instalacja, jak każdy inny program ze źródeł (nie ma wersji binarnej dla Linuksa), rozpakowujemy (tar xyf PLIK), wchodzimy do katalogu, ./configure && make && make install. Jedna mała uwaga, w moim przypadku VICE nie chciał działać, pomogło użycie ./configure --disable-nls, jednak wierzę, że był to tylko problem z moim systemem. Program uruchamiamy komendą x64 (inne emulatory to np. x128, xpet), można też np. od razu umieścić 6 w stacji dysków wpisując x64 -8 NAZWA_OBRAZU.

Konfiguracja odbywa się za pomocą intuicyjnego menu wysuwanego przy pomocy prawego (opcje systemowe) lub lewego (opcje c64) klawisza myszy. Aby zachować ją na stałe należy użyć polecenia Save settings, które zachowuje konfigurację w pliku ~/.vice/vicerc. Emulator posiada też bardzo pomocną i dokładną dokumentację w katalogach doc i doc/html, warto tam zajrzeć. Możliwe też, że pojawi się polska wersja programu.

Uwagi

Oprócz Frodo, wszystkie emulatory trzeba samemu skompilować. Aby to zrobić, należy zaopatrzyć się w gcc i odpowiednie biblioteki w wersji -devel. Jeżeli ich nie masz, sprawdź na płycie ze swoją dystrybucją, jeżeli nie wiesz co zainstalować, spytaj się kogoś kto używa dystrybucji takiej jak twoja, jakie pakiety należy zainstalować, aby móc kompilować programy. Osobiście używam Slackware i wszystkie opisane programy mogłem skompilować bez problemu, jednak np. Mandrake 7.2 domyślnie nie instaluje potrzebnych narzędzi.

Ten tekst został napisany 15 stycznia 2002, starałem się, aby był był jak najbardziej aktualny, jadnak nie mogę zapewnić, że przyda się w przyszłości. Każdy z tych emulatorów się rozwija i nie mogę powiedzieć, co będzie jutro. Jedyna rada, to czytaj dokumentację dołączoną do programów lub chociaż pliki README.

Podsumowanie

Jak widać, emulatorów działających pod Linuksem nie brakuje, osobiście polecam jednak VICE. Użytkownikom linuksa pozostaje mimo wszystko problem braku programu typu Star Commander pozwalającego wykorzystać stację dysków podłączoną do PC (SC nie działa niestety pod dosemu).

Jeśli pozwoli czas napiszę o czymś odwrotnym do tego co tu przeczytaliście, tzn. Linux na C64. Brzmi nieprawdopodobnie? A jednak! http://lng.sourceforge.net.

Pytania i uwagi kieruj na daper@daper.dhs.org, lub przez IRCa na kanale #c64power.

 © 1999-2019 Wszystkie prawa zastrzeżone
 Webmaster: Mariusz "Flooder" Młynek