Retro játékkonzol RaspberryPi-ból

A RaspberryPi igen sok mindenre jó. Például építhetünk belőle retro játékkonzolt, amivel újraélhetjük a gyerekkorunk. 🙂

A Retro konzol elkészítéséhez szükségünk lesz egy RaspberryPi-re. Ez lehet első, vagy második generációs is. Második generációs modell akkor ajánlott, ha Nintendo 64-et szeretnénk emulálni. A Pi-n kívül szükségünk lesz egy memóriakártyára (4GB vagy nagyobb) és egy gamepadra. A gamepad lehet PS3, Xbox, vagy valami USB-s kontroller. A PS3 játékvezérlő beüzemeléséhez szükség lesz egy Bluetooth adapterre, a Wireless Xbox kontrollerekhez pedig egy USB illesztőre.

A konzol operációs rendszere a Retropie lesz. Ez egy Debian alapú, kifejezetten emulációra összerakott OS. Igazából bármilyen lapra és bármilyen Debian alapú OS-re felerőltethető, mivel a készítők voltak olyan kedvesek, hogy egy telepítő szkriptet készítettek. A telepítő szkriptes megoldás hátránya, hogy így az összeállítás eltart egy ideig.

A kész összeállított Retropie image beszerezhető innen. Letöltés után ki kell csomagolni, majd Win32 Disk Imager segítségével kiírni a kártyára. A kártyára írás után nincs más dolgounk, mint HDMI-n összekötni a gépet a TV-vel, és bootolni az eszközt. Első indítás után a kontroller beállítással fog indítani a rendszer. Ha USB-s kontrollerünk van, akkor egyszerű a dolgunk, mivel kapásból fel fogja ismerni.

Amennyiben PS3 vagy Xbox kontrollerünk van, akkor kicsit macerásabb a dolog, mivel a Retropie beállítóval először telepíteni kell a drivert (Wireless Xbox kontroller esetén) és párosítani kell a kontrollert (PS3 esetén a Bluetooth miatt). A Retropie beállító SSH-n keresztül, vagy billentyűzet és egér segítségével elnavigálva érhető el.

A kontrollerek gombkiosztása alapértelmezetten a következő:

XBox kontroller

e29365ec-e179-11e4-87b4-f00685661d7eA kontroller beállítása után a rendszer főmenüjébe jutunk, ahol kiválaszthatjuk a platformot és azon belül a játékot. A rendszer a következő platformok emulációját támogatja:

  • Amiga (UAE4ALL)
  • Apple II (LinApple)
  • Atari 800 (Atari800)
  • Atari 2600 (RetroArch/Stella)
  • Atari ST/STE/TT/Falcon (Hatari)
  • Apple Macintosh (Basilisk II)
  • C64 (VICE)
  • Amstrad CPC (#CPC4Rpi)
  • Final Burn Alpha (RetroArch/PiFBA, RetroArch/FBA)
  • Game Boy (RetroArch/Gambatte)
  • Game Boy Advance (GpSP)
  • Game Boy Color (RetroArch/Gambatte)
  • Sega Game Gear (Osmose)
  • Intellivision (jzIntv)
  • MAME (RetroArch/mame4all-pi, RetroArch/mame4all)
  • MSX (openMSX)
  • PC – x86 (rpix86)
  • NeoGeo (PiFBA, GnGeo)
  • Nintendo Entertainment System (RetroArch/FCEUmm)
  • Nintendo 64 (Mupen64Plus-RPi)
  • TurboGrafx 16 – PC Engine (RetroArch/Mednafen/pce_fast)
  • Ports
    • CaveStory (RetroArch/NXEngine)
    • Quake III
    • Doom (RetroArch/PrBoom)
    • Duke Nukem 3D (eDuke)
  • ScummVM
  • Sega Master System / Mark III (RetroArch/Picodrive, Osmose, DGen)
  • Sega Mega Drive / Genesis (RetroArch/Picodrive, DGen)
  • Sega Mega-CD / CD (RetroArch/Picodrive, DGen)
  • Sega 32X (RetroArch/Picodrive, DGen)
  • Playstation 1 (RetroArch/PCSX ReARMed)
  • Super Nintendo Entertainment System (RetroArch/Pocket SNES, snes9x-rpi)
  • Sinclair ZX Spectrum (Fuse, FBZX)

Az átláthatóság kedvéért a főmenüben csak azok a platformok jelennek meg, amelyek rendelkeznek játékokkal. Egyes emulátorok helyes működéséhez szükség van a konzolok BIOS fájljaira is. Ezen fájlok és a játék ROM-ok beszerzése platformtól függően eltérően nehéz. Jó kiindulási helyek a http://www.emuparadise.me/, a http://coolrom.com/ és a http://www.freeroms.com/ oldalak. Illetve, aki sárga kazettás Nintendo-n nőtt fel (Wiki cikk itt, illetve egy korábbi bemutatóm itt), annak kötelező meglátogatni a http://cah4e3.shedevr.org.ru/ oldalt. Innen kifejezetten a kínai kalóz Nintendo piac ROM fájljai tölthetőek le 🙂

A Rom Fájlok Samba megosztáson keresztül tölthetőek fel. A megosztás szintén a Retropie beállító szkript segítségével engedélyezhető a megfelelő menüben. A megosztások engedélyezése után, mielőtt még játékokat másolunk a kártyára, érdemes átméretezni a partíciót, hogy a teljes SD kártya tartalmat ki tudjuk használni, illetve a CPU-t tuningolhatjuk némi órajellel (persze megfelelő hűtés mellett), hogy a játékok szebben, jobban fussanak. A partíció átméretezéséére és az órajel állításra az rpi-config használható.

A Samba megosztás használata igen egyértelmű, csupán a megfelelő helyre kell másolni a játékokat, a helyek adják magukat 🙂 Csupán a konzol IP címére lesz szükségünk, amit kinyerhetünk szintén a menüből illetve ha a hálózatra tallózunk Windows esetén, akkor is meg fogjuk találni.

Retropie megosztások

Az alábbi videót készítettem egy pár játék futásáról. A videók sajna fényképezőgéppel lettek felvéve a TV képernyőjéről, mivel nem rendelkezem HDMI bemenetes videó felvevő eszközzel.

A játékok igen jól futnak, remekül használhatóak. A Super Nintendo esetén direkt esett a választás a StarFox-ra. Ez igen szaggatott, és mondhatni játszhatatlan volt a Pi 1-en, amin próbáltam. Később próbáltam egyéb játékokkal is, de azok nem kerültek bele a videóba, azok nem akadtak. A StarFox azért kivétel, mivel a játék kazettájában helyet kapott egy grafikus koprocesszor is, ami a vektoros megjelenítését volt felelős. Enélkül a processzor nélkül a Super Nintendo a videón látható módon lett volna csak képes vinni a játékot.

A konzol vezérlésében az alábbi gyors gombok segítenek:

Gomb kombináció Művelet
Select+Start Aktuális játékból kilép a főmenübe
Select+Right Shoulder Mentés
Select+Left Shoulder Betöltés
Select+Right Mentési hely növelése
Select+Left Mentési hely csökkentése
Select+X RGUI Menü
Select+B Reset

A Retropie projektről több információ a projekt Wiki oldalán található meg. Itt részletes leírások találhatóak minden fontos témában.