Pierwsze kroki z Raspberry Pi: RPi jako emulator konsoli Playstation i RetroPie

Kontynuujemy cykl prezentacji sposobów implementacji emulatorów konsol do grania na Raspberry Pi. W tym odcinku zajmiemy się emulacją konsol Playstation PSX oraz multisystemową konsolę RetroPie.

 

Playstation

Sądzę, że tej konsoli zarówno starszym jak i młodszym Czytelnikom nie trzeba przedstawiać. Jednak aby zachować spójność naszego cyklu artykułów „konsolowych” scharakteryzujmy ją w kilku zdaniach. Oficjalna premiera PlayStation miała miejsce 3 grudnia 1994 roku (w Europie pierwsze egzemplarze trafiły na półki około 10 miesięcy później). PlayStation, obok takich urządzeń jak Nintendo 64 czy Sega Saturn zaliczamy do konsol piątej generacji. Sercem PSX jest 32-bitowy procesor RISC R3000A MIPS taktowany zegarem 33,8688 MHz, zintegrowany z układem GPU. Do dnia dzisiejszego PlayStation wraz z PSOne (zmniejszona i odświeżona wersja PSX) sprzedało się w ponad 100 milionach egzemplarzy. O ogromnym sukcesie rynkowym konsoli zadecydowały nie tylko dobre parametry sprzętowe, umożliwiające uzyskanie efektownych gier 3D, ale także ich duża liczba.

Jednak co robi PlayStation w tym zestawieniu, przecież wciąż omawiamy temat emulacji na Raspberry Pi? Tak, emulacja PSX na Raspberry Pi jest możliwa! Do kompilacji i uruchomienia emulatora PCSX na zestawie RPi podszedłem z dużą dozą niedowierzania. Efekt końcowy nie jest idealny (może najbliższa przyszłość przyniesie lepszą optymalizację PCSX pod kątem OpenGL ES i Raspberry Pi), jednak i tak znacznie przerósł moje oczekiwania. Zacznijmy więc od kompilacji naszego emulatora.

Korzystając z narzędzia git pobieramy kod źródłowy PCSX:

Aby proces kompilacji przebiegł prawidłowo niezbędne jest uprzednie utworzenie dowiązania symbolicznego do biblioteki libGLESv1_CM.so:

W następnym kroku przygotowujemy kod źródłowy do kompilacji:

W przypadku wystąpienia informacji o brakującej bibliotece lipicofe w terminalu wpisujemy polecenie:

oraz ponownie:

Log procesu konfiguracji powinien wyglądać następująco:

W przedostatnim kroku uruchamiamy kilkudziesięciu minutową kompilację poleceniem:

Po jej zakończeniu kompilacji możemy uruchomić emulator:

W przypadku emulatora PCSX ROM-y z grami (w postaci obrazów ISO) nie muszą być umieszczone w jednym folderze. Wyboru pozycji, jak i konfiguracji emulatora dokonujemy poprzez wygodny w obsłudze graficzny interfejs użytkownika.

Poniżej zaprezentowano film ilustrujący szybkość komputera RPi w rozgrywce dwóch popularnych tytułów:

;

 

RetroPie

Dotychczas skupiliśmy się na opisie emulatorów pojedynczych platform. Uważny czytelnik zauważył również, że w naszym spisie zabrakło takich konsol jak NES (popularnie nazywany Pegasusem) oraz jego następcy SNES (Super Nintendo Entertainment System), które również w dużym stopniu odcisnęły swe piętno w historii elektronicznej rozrywki. Na szczęście nic nie zostanie pominięte, a taki układ artykułu jest zabiegiem celowym. Tym samym docieramy do podsumowania w którym chciałbym opisać projekt RetroPie, wykorzystujący aplikację RetroArch (znaną dawniej pod nazwą SSNES).

Czym jest RetroArch? Jest to multisystemowy emulator o modularnej budowie umożliwiający emulację wielu systemów, instalowanych poprzez system samodzielnych „wtyczek”. RetroArch w swym działaniu wykorzystuje API biblioteki libretro. Aktualnie system obsługuje m.in. takie platformy jak NES, SNES, GameBoy Color, GBA, Game Gear oraz maszyny Arcade (MAME).

Instalacja RetoArch nie jest zbyt skomplikowanym procesem, jednak dla własnej wygody warto uprościć zadanie poprzez wykorzystanie skryptów projektu RetroPie. Projekt RetroPie (strona domowa: https://github.com/petrockblog/RetroPie-Setup) umożliwia niezwykle proste zainstalowanie RetroArch wraz z niezbędnymi wtyczkami i wygodnym interfejsem, na zestawie Raspberry Pi. Tym samym w kilka minut przekształcimy RPi w multisystemowy emulator o potężnych możliwościach. Do dzieła…

Prze rozpoczęciem procesu instalacji, autorzy projektu zachęcają do aktualizacji wszystkich pakietów systemowych:

Następnie instalujemy w systemie pakiety git oraz dialog:

Tym samym możemy przystąpić już do pobrania źródeł projektu:

Ostatnim etapem przed uruchomieniem właściwego instalatora jest przypisanie odpowiednich praw do pobranego skryptu:

Jesteśmy już gotowi do uruchomienia skryptu instalacyjnego:

Jedyną wymaganą przez instalator interakcją ze strony użytkownika jest podjęcie wyboru dotyczącego trybu przeprowadzanej instalacji, jak przedstawiono to na rysunku 1.

Rys. 1. RetroPie – wybór trybu instalacji

Rys. 1. RetroPie – wybór trybu instalacji

 

O autorze

Łukasz Skalski

Łukasz Skalski – absolwent Politechniki Gdańskiej, miłośnik FLOSS,
autor książki “Linux. Podstawy i aplikacje dla systemów embedded” oraz szeregu artykułów dotyczących programowania systemów wbudowanych.
Zawodowo związany z firmą Samsung. Wszystkie wolne chwile poświęca projektowaniu i programowaniu urządzeń wyposażonych w mikroprocesory 8-/16- i 32-bitowe. Szczególnym zainteresowaniem obejmuje tematykę systemu Linux w aplikacjach na urządzenia embedded.