Emulacja na Linuksie #1: NES

Oryginalny link – Emulacja na Linuksie #1: NES
Autor – d3d3

Artykuł został umieszczony na stronie ubuntu-pomoc.org w ramach współpracy z blogiem d3d3.freeiz.com

Przez cały weekend borykałem się z szukaniem tematu na wpis, jak zwykle olśniło mnie w niedzielny wieczór. W głowie zrodził mi się pomysł odświeżenia mojego starego tematu z mypegasus.pl (ze stycznia) gdzie jako moderator opisałem rzetelnie i nadgorliwie emulatory na Linuksa. Każdy „produkt” testowałem w ekstremalnych warunkach, pobrałem w sumie z jakieś 200MB aplikacji, otwierałem kilkanaście gier. Chciałbym przybliżyć Wam kwestię emulacji konsol na Linuksie, która wcale nie jest taka uboga jak stwierdziłaby większość użytkowników.

W pierwszej części tak jak wspomniałem zajmę się opisaniem dostępnych (freeware) emulatorów linuksowych konsoli NES (znanej jako Pegasus, były także jej klony m.in. Terminator, gry TV, Famicom). Nie będzie tu żadnego odpalania pod Wine, wszystkie opisane emulatory są natywne, a 80% z nich ma także wersję na okienka.

Na Linux są 4 popularne emulatory: Nestra, Nestopia, FCE Ultra, TuxNes. Wszystkie mają swoje wady i zalety.

FCE Ultra może obok siebie postawić duży plus – dla tego emulatora stworzono nakładkę graficzną (tzw: front-end) dzięki której nie musimy grzebać w konsoli, aby grać. Cały emulator odpala się z menu tak, jak na Windowsie, konfiguracja jest prosta i lekka. Ale niestety FCE Ultra ma również minus – jeden, ale duży. Twórcy podczas tworzenia tej aplikacji dopuścili się błędu, który obniża FPS po włączeniu dźwięku.

Nestopia zaś szybko emuluje gry i działa normalnie z dźwiękiem. Co jest wadą? Po uruchomieniu gry włącza się małe okno 200×200px i nie da się go powiększyć – gra traci sens. Konfiguracja odbywa się w konsoli (terminalu), podobnie jak w przypadku Nestry. Nestopia przeznaczona jest głównie dla systemów Fedora/Mandriva i innych instalujących paczki rpm.

Jest jeszcze Nestra – tu jest podobnie jak w Nestopii. No i na koniec TuxNes – trudny w instalacji i obsłudze, ale gry emuluje dobrze.

A poniżej opisy jak uruchomić i zainstalować emulatory:
Nestra
Tak jak wcześniej napomniałem – bez poradnika Nestra jest trudna w odpaleniu dla nowego użytkownika systemów Unix.

Proces instalacji jest dla niektórych trudny, ale wszystko wytłumaczę tak jasno, że nie będziecie mieli z nią problemów.

Na samym początku musisz pobrać paczkę z Nestrą, najnowsza wersja znajduje się tu: http://www.mypegasus.civ.pl/?mod=listaemulatorow&id=3. Po ściągnięciu przenieś pobrany plik na pulpit, następnie PPM i z menu wybierz „Rozpakuj tutaj”. Przejdź teraz do nowo powstałego folderu i włącz terminal. Zaloguj się w konsoli jako root wpisując

su

i wpisując swoje hasło. Wracamy do folderu, który wcześniej stworzyliśmy rozpakowując paczkę. Kliknij PPM na plik Makefile, wybierz z menu „Właściwości”, przejdź do zakładki „Uprawnienia” i z rozwijanych list wybierz po kolei:

Właściciel- odczyt i zapis, Grupa- odczyt i zapis, Inni- odczyt i zapis

Zaznacz jeszcze ptaszka obok tekstu „Zezwolenie pliku jako programu”. Przeciągnij plik Makefile (klikając LPM i nie odrywając palca od myszy) na okno konsoli, po czym wciśnij enter. Po zakończonej instalacji wpisz w konsoli

exit

i zamknij okno terminalu. Aby uruchomić Nestrę, pobierz dowolny plik ROMu z MyPegasus, rozpakuj archiwum (możesz je już usunąć) i skróć nazwe\ę pliku nes do minimum np. goal3.nes, bądź tank.nes. Na pulpicie utwórz katalog Nestra i przenieś tam ROMy ze skróconymi nazwami. Aby uruchomić dowolny plik nes, wpisz w konsoli nestra /home/nazwa-usera/Pulpit/nestra/nazwa-roma.nes

Teraz automatycznie włączy się okno i możesz grać. Domyślne sterowanie:

Arrow keys – move
Space Bar – Button A
Z,X,D – Button B
Tab – Select
Return - Start
Pause/Break- Reset
Escape - Exit

Jeśli chcesz zmienić sterowanie sterowanie wpisz w konsoli

nestra

Aby zobaczyć pełną listę opcji uruchamiania i konfiguracji emulatora wpisz:

nestra –help

Nestopia

Nestopia jest raczej stworzona dla użytkowników Fedory i Mandrivy. Można ją pobrać z repozytoriów, powinna być w Centrum oprogramowania Ubuntu lub na http://www.rpm.pbone.net

Dla innych dystrybucji Nestopia wg mnie nie jest przyjazna, może dla Gentoo, ale na Ubuntu i Arch miałem spore problemy z instalacją, niestety nie zdołałem jej zainstalować.

Jeśli zainstalujesz ją z paczki rpm w Fedorze/Mandrivie wystarczy później uruchomić konsole i wpisać polecenie

nestopia /sciezka/do/romu.nes

Wszystkie opcje, a także konfiguracje znajdziecie na forum swojej dystrybucji (Mandrivy / Fedory).

TuxNes
Kolejny emulator działający w miarę dobrze. Można go zainstalować z repozytoriów (wizualnie z Centrum oprogramowania bądź w konsoli). Istnieje nakładka graficzna na Tux’a o nazwie GtuxNes. Informacje o instalacji i modyfikacji TuxNes znajdziesz na oficjalnej stronie projektu: www.tuxnes.sourceforge.com. Plik instalacyjny .tar.gz możesz pobrać z Mypegasus, z listy emulatorów w dziale download.

FCE Ultra
Jeden z najlepszych emulatorów na pingwina, jednak bardzo opornie emuluje gry. Przy włączeniu dźwięku fps spada do 0. Z wyłączonym dźwiękiem można grać, konfiguracja jest prosta, wystarczy pobrać nakładkę graficzną GFCEU.

Aby zainstalować fce ultra i nakładkę graficzną wpisz do konsoli polecenie:

sudo apt-get install fceu gfceu

Zostaniesz poproszony o podanie hasła roota, wpisz je i naciśnij enter. Następnym krokiem będzie pobranie swoich ulubionych gier z portalu MyPegasus.pl . Kiedy pobierzesz wszystkie romy, rozpakuj archiwa zip. Po rozpakowaniu możesz usunąć pliki zip, a romom (czyli plikom *.nes) zmień nazwy na krótsze, np. z Contra bleblebleble [dfgd].nes na contra.nes. Kiedy zmienisz nazwy, wejdź w swój katalog domowy i utwórz tam folder o nazwie „romy”. Wrzuć tam pliki nes. Teraz poczekaj na zakończenie instalacji emulatora w konsoli (teoretycznie powinna już się zakończyć).

Wyłącz konsole „czerwonym krzyżykiem” bądź poleceniem exit. Włącz emulator (w przypadku środowiska Gnome wybierz z menu Programy > Gry > GFCE Ultra NES Emulator, w innych środowiskach podobnie).

Znajdziesz w nim różne karty. Na początek skonfigurujmy klawisze. W karcie Input są przyciski Gamepad 1 itd. Kliknij na przycisk Gamepad 1, aby skonfigurować ten gamepad. W malutkim okienku (jest to raczej sama belka tytułowa) jest napisane, który wirtualny przycisk masz przycisnąć.

Teraz w karcie Main kliknij na przycisk „Przeglądaj” a następnie przejdź do katalogu z romami (/home/twojanazwa/romy). Gra startuje, jeśli chcesz zagrać na pełnym ekranie naciśnij równoczesnie ALT+Enter. Z pełnego ekranu do okna przechodzisz tą samą kombinacją.

Jeżeli chcesz grać w gry typu Duck Hunt gdzie potrzeba do gry pistoletu wejdź w zakładkę Advanced, i wpisz w pole tekstowe polecenie:

-input1 gamepad -input2 zapper

Kiedy uruchomisz grę kursor myszki zamieni się w czerwony krzyżyki (celownik pistoletu). Celujesz ruszając myszką, kliknięcie w lewy przycisk myszki oznacza strzał). To tyle, jeśli nie będziesz włączać dźwięku (domyślnie jest wyłączony) gry będą chodzić płynnie.

Myślę że tyle emulatorów powinno Wam wystarczyć, to najciekawsze emulatory na Linuksa, każdy współpracuje najlepiej z innymi dystrybucjami także nie zraźcie się jeśli np. Nestra lub Nestopia będą źle działały na Ubuntu, a TuxNes źle na np. Fedorze.

Najlepszą dystrybucją obsługującą każdy emulator świetnie jest Fedora, Mandriva. Do tego duetu można także dodać Linux Mint, choć ostatnia wersja troszkę gorzej “znosi” te aplikacje.

Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • Admc

    Jest jeszcze Mendafen, ten też jest dobry

  • http://www.d3d3.freeiz.com d3d3

    Owszem, aczkolwiek mimo pewnych wad powyższe emulatory radzą sobie z wszystkimi grami czego nie można powiedzieć o właśnie Mendafenie. Jeśli coś jest do wszystkiego często jest do niczego ;)

  • Marek

    Do FCEU istnieje o niebo wygodniejszy front-end niż GFCEU, i o ile dobrze kojarzę polskiej roboty – GTKFCEU. Tylko jakoś nie mogę go teraz znaleźć w sieci, ale na szczęście mam ściągniętą jakąś wersje alpha, czy beta, która śmiga bez zarzutów. :)