giovedì 30 luglio 2015

Mescolare un Raspberry PI 2, una distro RetroPie, 2200 rom MAME per 3 settimane a fuoco lento

Vittoria epica!

Non ci sono altri modi per descrivere la vittoria di un uomo solo, poco pratico di linux, su uno scatolotto bello ed economico ma pieno di difficoltà di configurazione come il Raspberry.

L'idea alla base dell'hardware del cabinato era quella di sfruttare il Raspberry PI 2, un miniPC molto economico con Sistema Operativo Linux, come base Hardware per il MAME, emulatore di videogame da bar.
Esiste una distribuzione linux di nome RetroPie che ottimizza la distribuzione di base e contiene un sacco di emulatori preinstallati ed un front-end per utilizzarli.
Resta solo da configurare qualche particolare, che sarà mai pensavo....

Primo passo: installare RetroPie su SD
Basta avere un adattatore per microSD da inserire su PC, io ne avevo uno a forma di chiavetta USB, scaricare l'immagine di RetroPie dal sito http://blog.petrockblock.com/retropie/
e utilizzare Win32DiskImager per scriverla sulla microSD. Io ho installato la versione 3.0b4.

Secondo passo: configurare il front-end
Accendete il Raspberry e vedrete che l'ultima cosa che partità sarà EmulationStation, un front-end per emulatori: la prima volta vi richiederà di configurare il controller, nel mio caso la tastiera. Un minuto di lavoro.

Terzo passo: il WiFi
Sul sito di RetroPie è presente questa guida
https://github.com/RetroPie/RetroPie-Setup/wiki/Setting-Up-Wifi
che propone più metodi: l'unico che ha funzionato per me è stato il secondo, ovvero la modifica del file di configurazione /etc/network/interfaces.
Non difficile in linea di principio, ma poco immediato e poi c'era di mezzo l'editor linux nano: da rimpiangere il notepad, software del millennio passato. Non ho nemmeno provato a vedere se c'era il vi, per carità...

Quarto: reperire le giuste ROM
Il MAME migliore al momento su RetroPie è sicuramente mame4all, fermo però al romset 0.37b5. Preistoria, si tratta di un romset risalente all'anno 2000.
In teoria, sarebbe sufficiente scaricare un romset recente e poi convertirlo seguendo questa guida
https://github.com/RetroPie/RetroPie-Setup/wiki/Managing-ROMs
ma è molto più facile a dirsi che a farsi. Anzi, nemmeno a dirsi.
Per fortuna esiste il torrent, e ho detto tutto.

Quinto: trasferire il tutto sul Raspberry
Anche qui, solita guida
https://github.com/RetroPie/RetroPie-Setup/wiki/How-to-get-ROMs-on-the-SD-card.
I metodi sono tanti, forse il più comodo è il trasferimento diretto da chiavetta USB a SD: in pratica si deve creare la cartella retropie nella chiavetta, inserirla nel Raspberry ed aspettare che un daemon crei tutte le sottocartelle delle rom in modo automatico dentro alla cartella retropie.
Poi dal PC si devono copiare nella cartella mame4all tutte le rom e, infine, rimettere la chiavetta nel Raspberry: il solito daemon si occuperà di sincronizzare la chiavetta con la memoria SD.... in teoria.
In pratica se sbagli qualcosa, se la chiavetta non lo aggrada o se l'SD non ha spazio a sufficienza nulla ti dice che l'operazione non è andata a buon fine. Male, molto male.
E infatti mi è successo questo: l'immagine di RetroPie, una volta scritta, crea una partizione della dimensione minima per il funzionamento di base del sistema. Non importa se utilizzate una SD da 128GB, la partizione creata sarà di dimensione di poco maggiore del file system di RetroPie, per la cronaca circa 56MB.
Per poter riavere tutto lo spazio si deve entrare nel menu RetroPie, selezionare la voce raspi-config e poi Expand-Filesystem.
A quel punto il trasferimento delle rom via USB dovrebbe andare a buon fine, altrimenti nella guida sopra sono indicati altri metodi.

Penultimo: scremare le rom
Un lavoro infinito! Non potevo lasciare 2270 rom su un cabinet per un bambino... tra bootleg, not working, merge e giochi orridi andava fatto un megalavoro di scrematura: 2 settimane, circa 250 giochi rimasti.

Ultimo: abbellire tutto!
Esiste un software dentro ad EmulationStation che si chiama Scraper il cui compito è quello di scaricare automaticamente, per ogni rom che riconosce, informazioni varie e uno snapshot.
Basta entrare nella schermata del MAME, lanciare lo scrape di tutte le rom e lui scaricherà da un sito Internet tutto quello che può: non mi ha riconosciuto solo Bull Fight (si può capire) e Slap Fight (sacrilegio!). Ho provveduto io a mano.

2 commenti:

  1. ciao , complimenti per il progetto :)
    una domanda, come hai aggiornato il Romsets di mame4all ad una versione piu recente?

    RispondiElimina
  2. Ciao, e se io volessi approfittare del tuo fantasmagorico lavoro di scrematura ? ovviamente sono proprietario di tutti i 2270 titoli originali! Mi fai sapere ? p.s. grazie per la guida, semplice ed efficaca

    RispondiElimina