Retro dla Raspberry Pi. Emulujemy PlayStation, Nintendo 64 i inne klasyki

Strona głównaRetro dla Raspberry Pi. Emulujemy PlayStation, Nintendo 64 i inne klasyki
23.12.2015 20:55
Retro dla Raspberry Pi. Emulujemy PlayStation, Nintendo 64 i inne klasyki

Uruchamianie amigowych gier na Raspberry Pi może dać wielesatysfakcji – młodsi dowiedzą się, jak to było kiedyś, starsiprzypomną sobie złote czasy rozrywki. O ile jednak Amiga 500 byłau nas popularnym sprzętem, to z konsolami do gier (nie liczącsłynnego Pegasusa, pod którą to nazwą sprzedawano rozmaite klonyNintendo Entertainment System) już za ciekawie nie było. Mnóstwodostępnych tylko na lepsze konsole gier nigdy do nas nie dotarło, adziś poznać je możemy przede wszystkim dzięki emulacji. I właśniew kolejnej części naszego cyklu poświęconego Malinie przyjrzymysię emulacji konsol. Tu dopiero Raspberry Pi 2 pokaże swojemożliwości, gdyż odpowiednio skonfigurowana uruchomi nie tylkotytuły dla pierwszych czterech generacji konsol (a więc włączniez Super Nintendo), ale też pozwoli na „odpalenie” wieluznakomitych gier dla pierwszego PlayStation czy Nintendo 64, maszynznacznie wydajniejszych przecież od pierwszych modeli Amigi.

bEEANuMl

Emulacja dla wygodnych

Ogromna popularność Raspberry Pi doprowadziła do powstaniagotowych linuksowych dystrybucji, które dostarczająprekonfigurowane emulatory konsol (i nie tylko konsol), owiniętych wwygodny interfejs użytkownika – EmulationStation. Interfejs tenpowstawał od początku z myślą o Malinie, i co ciekawe, naMalinie. Jego twórca, programista znany jako Aloshi, chciał uzyskaćwieloplatformowe środowisko do zarządzania emulatorami,kontrolerami i obrazami ROM-ów, dzięki któremu pozostałobyjedynie uruchomić komputerek, skonfigurować wszystko co trzeba wkilku krokach – i grać w swoje ulubione gry. Udało mu się tonieźle, a efekty jego pracy najłatwiej poznać poprzez dwaprojekty, które tu przedstawimy: recalboxOS oraz RetroPie.

Recalbox: zagraj w to jeszcze raz

Łącznie ponad trzydzieści emulowanych systemów (i kilkanaściestworzonych przez niezależnych programistów retro-gier dla nich nadzień dobry) – tym pochwalić się może rozwijany przez grupęfrancuskich deweloperów Recalbox.Dostępny w wersjach zarówno dla pierwszej jak i drugiej generacjiMalin, w założeniu służyć ma więcej, niż tylko software'owejemulacji.

Autorzy zachęcają do zrobienia na bazie Raspberry Pi zRecalboxem swoich retro-maszynek – automatów do gier. Kwestietakiego majsterkowania pozostawiamy póki co Waszemu uznaniu,pokażemy za to, jak z Recalboxa skorzystać w postaci czystosoftware'owej.

Nie tylko dla dzieci: super-gry z Super Nintendo dzięki Recalboxowi
Nie tylko dla dzieci: super-gry z Super Nintendo dzięki Recalboxowi

Potrzebna będzie czysta karta microSD (jak zwykle najlepiej Class10), o pojemności przynajmniej 8 GB. Aktualną wersję Recalboxaznajdziemy naGitHubie. W momencie pisania tego tekstu ostatnie stabilnewydanie z marca 2015 nosiło numer 3.2.11, ale śmiało możemysięgnąć po nową wersję beta z serii 3.3 – stabilności jej nie brakuje,kolejne bety przynoszą poprawki i ulepszenia. Pobrane archiwum ZIPnależy rozpakować do oddzielnego katalogu, a następnie całą jegozawartość skopiować dowolnym menedżerem plików do głównegokatalogu karty microSD. Jak widać, nie ma tu żadnego wypalaniaobrazów, jak to było np. w wypadku Raspbiana. Po pierwszym uruchomieniu z karty zawierającej plikirecalboxa uruchomiony zostanie instalator, który dokona podziału napartycje i zainstaluje właściwą dla naszego sprzętu wersjęoprogramowania (przygotowano oddzielne kompilacje dla Raspberry Pi 1oraz 2). 3-4 minuty wystarczą, by powitał nas interfejs EmulationStation z klasyczną melodyjką Zeldy.

PlayStation: od tej konsoli Sony budowało swoją pozycję w świecie gier
PlayStation: od tej konsoli Sony budowało swoją pozycję w świecie gier

Pierwszą rzeczą, którą powinniśmy zrobić po uruchomieniuinterfejsu jest konfiguracja. Wiele osób doceni, że nie będziemusiała w tym celu dłubać w konsoli. Jest to możliwe, Recalboxudostępnia nam zarówno terminal, do którego wejdziemy naciskającF4, a następnie Alt-F2 (login: root, password: recalboxroot), jak ipołączenie przez SSH. Najważniejsze ustawienia zmienimy jednaktakże w graficznym w menu, które wywołać można naciskającEnter. Nawigujemy po nim albo za pomocą pada (jeśli zadziałał namprzy starcie, albo klawiatury – obsługiwane są klawisze kursora,S zatwierdza wybór, A pozwala wrócić.

Recalbox przynosi rozbudowane menu EmulationStation i odtwarzacz Kodi
Recalbox przynosi rozbudowane menu EmulationStation i odtwarzacz Kodi

Znajdziemy w tym głównym menu ustawienia systemowe, gdzie m.in.można włączyć overclocking, wybrać język interfejsu (nie ma tupóki co polskiego), zaktualizować oprogramowanie, oraz ustawieniagier, gdzie m.in. można włączyć format obrazu (4:3 i 16:9),wygładzanie pikseli, mechanizm rewind (pozwalający na cofnięcieczasu w grach, gdy powinie się nam noga), oraz ustawić shadery, dzięki którym stare gry będąznacznie lepiej wyglądały na współczesnych wyświetlaczach –dostępne są obecnie dwa tryby, scanlines oraz retro.

bEEANuMn

Pod względem obsługi kontrolerów wciąż jest jeszcze sporo dozrobienia. Najlepiej oczywiście działają te standardowe kontrolerySNES-a, można też podłączyć DualShocka 3 (z PlayStation), alenie działa on po kabelku, lecz tylko przez Bluetooth, co gorszewiele adapterów Bluetooth normalnie działających z Raspberry Piteż odmawia współpracy. Poprawnie za to działa pad Xboksa, o ileposiadamy dla niego specjalny moduł radiowy. Na pociechę możnapowiedzieć, że jako kontroler można skonfigurować klawiaturę,wbudowano też w Recalboksa obsługę do czterech wirtualnychgamepadów naekranie smartfona z Androidem. Należy w tym celu w przeglądarceChrome/Chromium po prostu wpisać adres IP naszej Maliny w siecilokalnej. Bardzo użyteczne, gdy odwiedzą nas koledzy.

Wirtualny pad na ekranie telefonu… z braku fizycznego kontrolera
Wirtualny pad na ekranie telefonu… z braku fizycznego kontrolera

Recalbox pozwala też na modyfikację interfejsu użytkownika(dostępnych jest kilka skórek dla EmulationStation, sporo innychmożna znaleźć w Sieci, ustawienie wyjścia audio (HDMI/minijack),modyfikację zachowania wygaszacza ekranu i temu podobnychdrobiazgów. Dostajemy też scraper, pobierający z Internetu opisyzainstalowanych gier, oraz co chyba najbardziej przydatne, odtwarzaczmediów Kodi, działający jako niezależna aplikacja, skompilowanyze wsparciem dla akceleracji sprzętowej GPU w Raspberry Pi.

Jeśli potrzebujecie bardziej złożonych modyfikacji konfiguracjisprzętowej Maliny, trzeba będzie jednak wyjść do konsoli izajrzeć do pliku /boot/config.txt, tak jak to opisaliśmy w częścipoświęconej emulacji Amigi. W szczególności lepiej tam ustawićoverclocking, gdyż ustawienia z graficznego interfejsu na niewielenam pozwalają, w szczególności nie można włączyć tak trybuTurbo.

bEEANuMt

Warto też zapoznać się z plikiem/recalbox/share/system/recalbox.conf. W nim możemy zmienićustawienia sterowników padów, sieci czy dźwięku, ale conajważniejsze, można zdefiniować tu szczegółowe ustawieniaposzczególnych emulatorów – wykorzystywany tryb wideo, shadery,proporcje, pliki konfiguracyjne itp. Dokładny opis poszczególnychopcji znajdziecie tutaj.

Gry nie spadną z nieba

Sporym atutem Recalboksa jest dostarczenie w zestawie kilkunastudarmowych, otwartych gier na retro-platformy. Większości graczy tojednak nie wystarczy, będą pewnie też zdziwieni, że na ekraniestartowym z obiecywanych dziesiątek platform znajdą tylko kilka.Wyjaśnienie tego stanu rzeczy jest proste. EmulationStationwyświetla jedynie te emulatory, dla których znalezione zostałyROM-y – obrazy gier.

Bardziej klasycznie się nie da: Donkey Kong na emulatorze SNES-a
Bardziej klasycznie się nie da: Donkey Kong na emulatorze SNES-a

O statusie prawnym abandonware już wspominaliśmy, samideweloperzy Recalboksa niespecjalnie się jednak tą kwestiąprzejmują, nawet otwarcie odsyłają do francuskich stron-katalogów,hostujących obrazy klasycznych gier. Zakładając, że posiadaciegry te na oryginalnych nośnikach, instalując je na Malinie nienaruszacie prawa. Jak jednak wgrać taki obraz do Recalboksa? Jest tobardzo proste. Wystarczy po uruchomieniu i podłączeniu Maliny dodomowej sieci, w swoim pececie poszukać udostępnionych zasobów –w grupie WORKGROUP serwera Recalbox. Wykorzystując zwykły protokółCIFS (Samba) wystarczy przegrać do katalogu Recalbox\roms obrazygier. W razie potrzeby, do katalogu Recalbox\Bios przegrywamy zaśobrazy systemowego firmware emulowanych konsol (ponownie –zakładając, że posiadamy gdzieś tam taki sprzęt). Po restarcie,EmulationStation przedstawi nam wszystkie konsole, dla którychobrazy gier wgraliśmy.

350170794436093889

W razie problemów z Sambą w sieci lokalnej, można wykorzystaćwbudowany w Recalboksa serwer WWW – po podaniu przeglądarce adresuIP naszej Maliny zobaczymy webowy panel sterowania, przez którymożna zrobić z systemem praktycznie wszystko, w tym także wgrywaćROM-y i konsolowe firmware metodą przeciągnij-i-upuść.

Panel webowy Recalboxa. Dostęp do wirtualnych padów bezpośrednio na porcie 8080
Panel webowy Recalboxa. Dostęp do wirtualnych padów bezpośrednio na porcie 8080

By to wszystko uruchomić, Recalbox wykorzystuje liczneopensource'owe emulatory sprzętu z projektu libretro, wśród nichNES (fceu-next), Super Nintento (snes9x-next orazpocketsnes-libretro), MAME (imame4all-libretro), Sega Megadrive(picodrive) oraz co chyba dla wielu będzie najciekawsze, PlayStation(pcsx_rearmed). Eksperymentalnie dostajemy też emulację Nintendo 64(mupen64plus). W wielu wypadkach bez firmware z oryginalnej konsoli nicnie zrobimy, ale są emulatory, które poradzą sobie bez tego – naprzykład emulator PlayStation ma własny BIOS HLE, który pozwala nauruchomienie setek tytułów bez żadnych problemów.

Legacy of Kain: emulator PlayStation nie ma problemów z grami 3D
Legacy of Kain: emulator PlayStation nie ma problemów z grami 3D

Warto tu jeszcze wspomnieć o atrakcjach dla oszustów – wersja3.3.0 Recalboxa wprowadziła obsługę bazy danych chtz projektu libretro – dość powiedzieć, że chodzi o NIESKOŃCZONEŻYCIA (i inne ułatwiacze). Jeśli nie byliście w stanie kiedyśprzejść danej gry na konsoli, wystarczy wgrać do katalogu/recalbox/share/cheats pożądane poprawki z bazy, a następniepodczas gry wywołać menu retroarcha, w nim wybrać core Cheatoptions > Cheat file load i potwierdzić załadowanie.

bEEANuMu

Nintendo64: twardy orzech do zgryzienia

Największym jak dotąd wyzwaniem dla emulacji konsol na Maliniepozostaje Nintendo 64. Uruchamianie gier pisanych dla tegonajwiększego rywala PlayStation odbywa się za pomocązoptymalizowanego na architekturę ARM emulatora Mupen64Plus,który nie został jeszcze w pełni połączony z Recalboxem. Niedostaniemy więc specjalnych komend wywoływanych przyciskiemustawionym jako Hotkey, ręcznie też trzeba będzie przygotowaćjego ustawienia. Sama kompatybilność też pozostawia trochę dożyczenia. Są gry działające świetnie, są takie, którerenderowane są z widocznymi błędami, są też takie, których nieidzie w ogóle uruchomić. Domyślnie wykorzystywana jest wtyczkagliden64, ale w wielu wypadkach pomóc może zmiana opcji n64.core narice lub n64. Wgrywanie obrazów gier odbywa się jednak tak samo –kopiujemy plik do katalogu n64.

Cóż, spać nie można, gdy obok wirtualne Nintendo 64
Cóż, spać nie można, gdy obok wirtualne Nintendo 64

RetroPie: alternatywa nie tylko konsolowa

Choć Recalbox jest naprawdę świetnym projektem, nie jestjedynym. Wydaje się, że bardziej nawet znany od niego jest RetroPie(a przynajmniej o RetroPie częściej piszą media zza oceanu).Dystrybucja ta w wielu kwestiach jest do Recalboksa podobna, w wielusię od niego różni. To też jest „opakowanie” naEmulationStation, też do dyspozycji dostajemy dziesiątki emulatorówlibretro, też kopiujemy obrazy ROM-ów przez sieć lokalną.Kluczową różnicą jest jednak lista zastosowanych emulatorów –oprócz konsol dostajemy też komputery domowe, w tym ZX Spectrum,Atari 800 XL, Commodore 64 i Amigę, lepiej sprawuje się wykrywaniepadów, można wgrywać obrazy gier także przez pendrive.

RetroPie ze skromnymi opcjami konfiguracji w EmulationStation
RetroPie ze skromnymi opcjami konfiguracji w EmulationStation

Czemu zatem nie zaczęliśmy od RetroPie? Ten zbudowany niemal wcałości na bazie Raspbiana system jest znacznie bardziejczasochłonny w konfiguracji – w zasadzie skazani jesteśmy albo nadłubanie w plikach konfiguracyjnych, albo używanie skrypturaspi-config, który uruchomimy dopiero po wyjściu zEmulationStation (F4, a następnie dowolny klawisz). Brakuje takżepolepszających jakość obrazu shaderów, wsparcia dla trybu oszustwczy wirtualnych gamepadów.

Duke Nukem prosto z RetroPie
Duke Nukem prosto z RetroPie

Warto jednak RetroPie wypróbować – a nuż będzie Wamodpowiadał bardziej, niż Recalbox. Na oficjalnym bloguprojektu znajdziecie obrazy kart SD (rozprowadzane jakocoffeeware, autorzy proszą, by postawić im kawę), w wersjach dlaRaspberry Pi 1 i Zero, oraz Raspberry Pi 2. Na Windowsach obraz takizgramy na kartę za pomocą aplikacji Win32Disk Imager, na Linuksie i Maku wystarczy systemowe dd (jak tozrobić opisane zostało w części poświęconej emulacji Amigi).Możemy też, dysponując działającym Raspbianem (w wersji Wheezy,z nowym Jessie jest trochę problemów) pobrać skryptRetroPie, który w systemie zainstaluje niezbędne dla tegoagregatora emulatorów pliki.

bEEANuMv

Po uruchomieniu RetroPie, możemy skonfigurować system za pomocąobsługiwanego z konsoli narzędzia sudo raspi-config. Należy zacząć odrozszerzenia systemu plików – w tym celu wybieramy pierwszą opcjęz menu, Expand Filesystem. Po komunikacie Partition will be resizedon your next reboot należy nacisnąć Enter, wyjść z menu izrestartować Pi.

Jeśli chcecie podkręcić Malinę w RetroPie, czeka Wasniespodzianka. Katalog /boot jest pusty – a pusty jest, bo niezamontowany. Najprościej dostać się do niego za pomocą peceta. Powłożeniu karty microSD do czytnika, zobaczymy dwie partycje,retropie i boot. Otwieramy tę drugą, tam znajduje się odchudzonyplik config.txt. Po szczegółowe informacje o konfiguracji odsyłamydo poprzedniego odcinka, tutaj trzeba jedynie wspomnieć, by zmienićdomyślne ustawienia ilości RAM udostępnionej układowi graficznemuVideocore. Stawiamy w tym celu znak kratki (#) przed liniamizaczynającymi się od gpu_mem, a następnie dopisujemy własnywiersz: gpu_mem=512. 512 MB przyda się szczególnie przy emulacjiwymagających gier z PlayStation.

Koniec grania, czas na naukę

To już wszystko na temat emulacji starych systemów na RaspberryPi 2, mamy nadzieję, że poradniki te przydadzą się Wam na okresświąteczno-noworoczny. A gdy się on skończy, zajmiemy się czymś,do czego Malina została oficjalnie powołana – edukacją. Jakzapewne wiecie, na oficjalnych obrazach Raspbiana dostajecie dziękiumowie z firmą Wolfram Research jedno z najpotężniejszych narzędzimatematycznych, jakie stworzono – program Mathematica. Jest onrównie potężny, co i kosztowny – podstawowa, domowa licencja towydatek rzędu 200 euro, tymczasem z Maliną dostajemy specjalnąwersję całkowicie za darmo. Szkoda, by takie narzędzie sięmarnowało, więc w następnym odcinku serii o Raspberry Pi pokażemyWam, jak wykorzystać je w zmaganiach z szkolnymi zadaniamimatematycznymi.

Programy

Aktualizacje
Aktualizacje
Nowości
Udostępnij:
bEEANuNj