LinkedIn YouTube Facebook
Szukaj

Newsletter

Proszę czekać.

Dziękujemy za zgłoszenie!

Wstecz
SoM / SBC

Pierwsze kroki z Raspberry Pi: RPi jako emulator komputera ZX Spectrum i konsoli Neo Geo

W poprzednich częściach cyklu artykułów poświęconych komputerowi jednopłytkowemu Raspberry Pi przedstawiliśmy zasady kompilacji i uruchomienia kilku natywnych gier, które na trwałe wpisały się w historię multimedialnej rozrywki, tj. Quake III, Quake II czy Return to Castle Wolfenstein. Na przykładzie tych pozycji przekonaliśmy się, że dzięki dużej mocy obliczeniowej i wydajnemu układowi GPU, zestaw Raspberry Pi można zastosować nie tylko w typowych aplikacjach kontrolno-pomiarowych, ale również do wymagających zadań multimedialnych. W tej części cyklu będziemy kontynuować tematykę zastosowań multimedialnych i gier komputerowych. Tym razem jednak cofniemy się w historii elektronicznej rozrywki o kilkanaście lat wstecz. Wykorzystując emulatory takich komputerów/konsol jak ZX Spectrum, Atari 2600, NeoGeo czy PSX, zamienimy nasze Raspberry Pi w centrum multimedialnej rozrywki, dzięki któremu odżyją niejedne wspomnienia. Nasz przegląd dostępnych dla platformy Raspberry Pi emulatorów przeprowadzimy w porządku chronologicznym – zaczniemy od konsol, które swoją rynkową premierę miały w drugiej połowie lat 70., jak np. Atari 2600, a skończymy na konsoli PSX, którą jeszcze niedawno można było znaleźć w domach wielu miłośników elektronicznej rozrywki.

 

ZX Spectrum

Naszym kolejnym przystankiem na drodze historii gier komputerowych będzie ZX Spectrum (fotografia 1). Komputer ten, który swoją światową premierę odnotował w roku 1982, należy do grupy tzw. domowych mikrokomputerów. Jego sercem był mikroprocesor Zilog Z80A o częstotliwości taktowania 3,54 MHz. Komputer posiadał 16 lub 48 kB pamięci RAM oraz 16 kB pamięci ROM. Sama historia i proces sprzedaży komputera przypomina sytuację, gdy na rynku pojawił się zestaw Raspberry Pi – popyt na produkt znacznie przerósł możliwości produkcyjne, stąd od momentu złożenia zamówienie go jego realizacji, na wczesnym etapie sprzedaży, okres oczekiwania wynosił od 12 do 16 tygodni.

 

Fot. 1. Wygląd komputera ZX Spectrum

Fot. 1. Wygląd komputera ZX Spectrum

 

Dzięki bardzo dużej liczbie programów użytkowych oraz gier ZX Spectrum na stałe zapisał się w historii komputerów, również i w Polsce (np. komputer ZX spectrum został wykorzystany do montażu efektów specjalnych w filmie „Seksmisja” oraz do przeprowadzenia słynnej akcji sabotażowej nazywanej potocznie „Telewizją Solidarności”). Aby mieć możliwość poznania chociaż namiastki magii ZX Spectrum, na zestawie Raspberry Pi przekompilujemy i zainstalujemy emulator Fuse.

Emulator Fuse (Fuse Unix Spectrum Emulator), jak sama nazwa wskazuje, w pierwotnej wersji został zaprojektowany dla systemów Unixowych. Obecnie program ten jest przeportowany na wiele innych systemów (Windows, Mac OS X) i urządzeń (Wii, PSP, Xbox).  Fuse został wydany na licencji GNU GPL, stąd też mamy pełny dostęp do źródeł, które posłużą nam do zbudowania wersji binarnej. Zaczynamy…

Pierwszym krokiem jest pobranie ze strony projektu Fuse (http://fuse-emulator.sourceforge.net) archiwów zawierających kod źródłowy emulatora (archiwum fuse-1.0.0.1a.tar.gz) oraz niezbędnej do jego kompilacji i uruchomienia biblioteki libspectrum (archiwum libspectrum-1.0.0.tar.gz). Po pobraniu kompletu plików przystępujemy do ich rozpakowania:

tar xvzf libspectrum-1.0.0.tar.gz
tar xvzf fuse-1.0.0.1a.tar.gz

Proces kompilacji rozpoczynamy od biblioteki libspectrum:


cd libspectrum-1.0.0
./configure && make
sudo make install

W kolejnym kroku kompilujemy i instalujemy Fuse:

cd fuse-1.0.0.1a
./configure && make
sudo make install

Po kilkunastu minutach  kompilacji możemy już uruchomić nasz emulator poleceniem:

fuse

lub w przypadku problemów z dźwiękiem:

fuse -no-sound

Interfejs użytkownika emulatora Fuse prezentuje się następująco:

 

Rys. 2. Interfejs użytkownika emulatora Fuse 

Rys. 2. Interfejs użytkownika emulatora Fuse

 

Pliki z grą (ROM-y) obsługiwane przez emulator posiadają rozszerzenie *.tzx. Załadowanie pliku z grą jest możliwe po wybraniu z górnego paska menu opcji Media -> Tape -> Open lub poprzez wybór klawisza F7. Jeżeli gra nie została uruchomiona automatycznie, wówczas wybieramy kolejno klawisz J a następnie kombinację CTRL+PP. Pracę z emulatorem możemy zakończyć wybierając przycisk F10.

Emulator Fuse jest również dostępny w repozytoriach dystrybucji Debian, dzięki czemu możemy również i w tym przypadku w prosty sposób pominąć etap kompilacji kodu źródłowego:

sudo apt-get install fuse-emulator-common
sudo apt-get install spectrum-roms fuse-emulator-utils

Nie pozostało nam już nic innego jak cieszyć rozgrywką i zarazem frustrować  wysokim poziomem trudności takich gier jak Manic Miner, Fairlight, Saboteur i wielu innych.

 

Rys. 3. Manic Miner na emulatorze Fuse 

Rys. 3. Manic Miner na emulatorze Fuse

 

Rys. 4. Saboteur na emulatorze Fuse

Rys. 4. Saboteur na emulatorze Fuse

 

Ł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.