Console retrogaming con Raspberry Pi e RetroPie

Raspberry Pi 2 è il computer ideale da trasformare in un emulatore universale per le vecchie console anni 80-90.  Vi basterà la distro RetroPie, una micro SD card da almeno 8GB, un alimentatore da 2000mA ovviamente il Raspberry Pi 2 modello B.

yoshi_island

Prendete un Raspberry Pi 2 modello B. Su Amazon si trova a circa 40 euro. Consiglio il Pi 2 modello B perchè decisamente più veloce della prima versione.

Le caratteristiche del Pi2B, un piccolo mostro!

  • CPU ARM7 quad core a 900 MHz
  • 1GB di RAM
  • 40pin GPIO
  • 4 porte USB
  • HDMI
  • jack 3.5mm per audio/video analog
  • micro USB e porta micro SD
  • Lettore USB per schede micro SD

E’ possibile overcloccare il processore via software e portarlo fino a 1GHz ma occorrerà installare il dissipatore e magari una ventola. In ogni caso gli emulatori girano benissimo anche con la frequenza stock di 900MHz.

Lista dei componenti

Ecco un riassunto di tutto quello che serve:

  • Raspberry Pi 2 modello B
  • micro SD card da almeno 8GB
  • alimentatore (almeno 2000mA) con attacco micro USB (quello dei cellulari tanto per intendersi)
  • cavo HDMI
  • un joypad USB qualsiasi
  • tastiera USB (per la configurazione iniziale, poi non servirà più)
  • case più coperchio per Raspberry Pi 2 (non strettamente necessario ma sicuramente utile)

Io ho preso il kit da ThePiHut che per una cifra ragionevole include tutti componenti elencati a parte joypad e tastiera usb.

100643_5afeb6b7-85bc-4a77-8bc3-820ca529e089_1024x1024

RetroPie

Si tratta di una distribuzione Linux modificata contenente una vasta gamma di emulatori e il frontend EmulationStation che vi permetterà di gestire tutto il sistema tramite joypad senza mai ricorrere alla tastiera o al mouse.

Le macchine emulate da RetroPie sono le seguenti:

  • 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)
  • 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)

Più alcuni port di giochi per PC quali

  • Duke Nukem 3D
  • Doom
  • Quake 3 Arena

 

Installare RetroPie

Scaricate l’immagine ISO dal sito; il secondo link scarica la ISO per il raspberry Pi 2.

A questo punto occorre caricare la ISO nella scheda SD. Sotto Windows possiamo utilizzare l’ottimo Win32 Disk Imager. Inserite la micro SD nel vostro PC (o usate un adattatore USB) e tramite Win32DiskImager copiateci sopra il file immagine. L’operazione richiederà alcuni minuti.

Screen shot 2016-02-06 at 10.40.07 PM

Una volta terminata la copia estraete la card SD e inseritela nel RaspberryPi.

Accendete il RaspberryPi e dovreste vedere il classico log di boot Linux…

raspi2boot

 

Successivamente dovrebbe comparire lo splash screen standard di RetroPie…

splashscreen-300x169

e per finire il menù principale…

theming_system

Collegate la tastiera ad una delle prese USB e dovreste essere in grado di muovervi tra le voci del menu.

Configurazione RetroPie

E’ giunto il momento di configurare RetroPie.

Ho stilato un breve elenco delle cose da fare per configurare al meglio RetroPie:

  • configurazione dell’audio HDMI
  • configurazione joypad
  • espansione del file system sulla sd card
  • update dello script di RetroPie (opzionale)
  • cambio dell’emulatore SuperNintendo (Snes9x a PocketSnes)
  • caricare le ROM dei videogiochi

Configurazione audio HDMI

Di default l’audio non è configurato correttamente e l’uscita HDMI risulta muta (solo su alcune TV). Se siete fortunati l’audio funzionerà alla grande fin da subito, se non lo siete occorrerà forzare l’audio sull’uscita HDMI :-).

Entrate in console premendo F4 da qualsiasi punto del menu. Una volta premuto F4 dovrete premere invio o un alto tasto altrimenti il sistema ritornerà automaticamente al menu grafico.

Una volta in console abilitate l’utente root dando il comando:

sudo passwd

Scegliete una password per l’utente root, ad esempio “root” 🙂

Ora entrate in modalità  root digitando

su root

e date la password. A questo punto siete in grado di modificare le impostazioni dell’audio.

Aprite il file /boot/config.txt con il comando

 nano /boot/config.txt

e scommentate la riga hdmi_drive=2

In sostanza dovrete modifica la riga da cosi’:

#hdmi_drive=2

a cosi’:

hdmi_drive=2

Salvate il file, e riavviate digitando reboot (sempre come root).

A questo punto l’audio dovrebbe essere a posto. Tuttavia, finchè non avrete una ROM da provare non potrete testare l’audio.

Espansione del filesystem

Il file immagine di RetroPie che avete installato sulla sd card crea due partizioni, una di boot da qualche  MB e una più grande da 2GB. Per sfruttare tutta la capacità della sd card occorrerà espandere questa partizione fino alla dimensione massima possibile.

Entrate nel menu principale e andate alla voce “RetroPie”.

menu_retropie

Selezionate “Raspberry Pi configuration tool RASPI-CONFIG”

raspberry_pi_configurations

Selezionate “Expand Filesystem”

expand_filesystem

Riavviate tutto. Al boot dovrebbe partire l’operazione di espansione. A questo punto avete a disposizione tutti i GB della scheda SD per le ROM dei giochi.

Configurazione del JoyPad

L’operazione è semplicissima. Mentre siete nel menu principale collegate un joypad USB al Raspberry Pi, dovrebbe partire in automatico la fase di configurazione: premete i bottoni sul joypad secondo le indicazioni a schermo (alto, basso, sinistra, destra, pulsante “A”, pulsante “B” etc..etc…). La lista dei pulsanti è molto lunga (credo sia quella di un joypad playstation) se non avete “abbastanza bottoni” potete saltarne alcuni tenendo premuto per 2 secondi un tasto qualsiasi (anche un bottone già selezionato in precedenza)

Update dello script RetroPie

Un aggiornamento allo script principale vi risolverà grandi mal di testa in futuro. Dal menu principale selezionate “RetroPie” e quindi “RetroPie Setup”. Selezionate ora “Update RetroPie-Setup script”. Ovviamente è richiesta una connessione internet quindi il Raspberry Pi dovrà essere collegato al router tramite cavetto ethernet.

Cambio dell’emulatore di default del Super Nintendo

L’emulatore di default del Super Nintendo (snes9x) non sembra essere all’altezza di alcuni giochi (sopratutto quelli che sfruttavano il coprocessore grafico superFx, tipo Yoshi Island). Per fortuna una valida alternativa è data dall’emulatore PocketSnes, già presente in RetroPie e ottimizzato per processori ARM.

Andate nel menu “RetroPie”, quindi in “Edit retropie/retroarch configurations”

selezione_edit_retropie

Selezionate “Manually edit all configurations”

manually_edit_all_configurations

Selezionate “snes/emulator.cfg”

selezione_snes_emulators

e all’utima riga scrivete:

default=”lr-pocketsnes”

selezione_pocketsnes

Salvate e riavviate. A questo punto il nuovo emulatore è pronto ad essere utilizzato. Nessun rallentamento o glitch video e audio perfetto.

Caricare le ROM dei videogiochi sul Raspberry Pi

Anche questa operazione è semplicissima.

Potete trovare le ROM su internet, consiglio il famoso emuparadise. Mi raccomando però, in teoria potete scaricare solo le ROM dei giochi che già possedete, almeno questo è quello che dicono i disclaimer sui vari siti di download.

Collegate il Raspberry Pi alla LAN: RetroPie è configurato per condividere automaticamente la directory dove immagazzina tutte le ROM.  Da un PC qualsiasi collegato alla stessa rete dovreste vedere RetroPie sotto questo nome:

\\retropie

doppio click e trovate la cartella “rom”, all’interno altre sottocartelle, ognuna delle quali relativa ad un emulatore. Copiate le ROM nelle cartelle opportune.

Riavviate. Dal menu principale di RetroPie dovreste vedere ora tutti gli emulatori per i quali avete caricato le ROM!

emulatori

Selezionate un emulatore e troverete la lista completa delle ROM che avete caricato (per quell’emulatore).

lista giochi

 

Tutto a posto!

A questo punto staccate cavo ethernet e tastiera, non serviranno più. Tutto il sistema è gestibile via joypad, anche l’uscita da un emulatore (premete contemporaneamente i tasti start e pausa) e lo spegnimento del Raspberry Pi (dal menu, premete start e selezionate “shutdown”).

EDIT (19 Feb 2017)

In un recente articolo mostro come collegare un joypad originale del Super Nintendo al RaspberryPi tramite porta USB. La modifica è abbastanza semplice e non occorrono driver particolari

 

Posted in Hardware, Software and tagged .
Gianluca

Gianluca

Leave a Reply

avatar
Diego

Ciao a tutti ho una domanda: ogni qual volta avvio una rom da un qualsiasi emulatore mi compare sempre la scritta “Errors are logged to /dev/shm/runcommand.log”. Sapreste dirmi a cosa è dovuto? Dopo un pò il gioco parte ma a volte non sempre. Inoltre i file .bin l’emulatore ps1 non li vede vede solo img.
Grazie

Erik

qualcuno sa dove posso trovare la versione completa di doom, quake e wolfestein 3d quelli che sono presenti nel ports sono incompleti

Alessandro

Ciao Gianluca, scusa se ti disturbo ma vorrei un paio di consigli: 1 sto cercando di giocare ad alcuni giochi neo-geo sul mi pi3, ho caricato il file neogeo.zip, ma con parecchi giochi alla fine mi dice che manca un file xxx_s1.rom….sapresti dirmi come risolvere?
2: ho installato il reicast, ho inserito i file bios , carico le rom ma non si visualizzo nemmeno l’emulatore,mi daresti qualche consiglio? Intanto ti ringrazio, resto in attesa!!
Buona giornata
Ale

Alessandro

Guarda, per il punto 1 risolto tutto!! Per dreamcast ho caricato i file compressi nella cartella più il file .gdi… ma niente da fare..mi manca qualche punto e non capisco cosa possa essere…

Gaten

Ciao Gianluca,
sai dove è possibile reperire rom? Vorrei poter caricare più giochi contemporanemanete.
Rom per Amiga, Sega Megadrive,etc…

Grazie

Alessio

Ciao Gianluca, vorrei acquistare la Raspberry ed iniziare a smanettarci… volevo sapere se questa guida è possibile applicarla ad un’eventuale raspberry 3 model b… grazie

wpDiscuz