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.

lunedì 6 luglio 2015

Problemi di plancia

La plancia dei comandi è la parte di cabinato alla quale vengono fissati joystick e pulsanti vari e che dovrà resistere alla vostra furia quando Donkey Kong vi centrerà con un barile in fronte.

Si trattava prima di fissare due pannelli di legno a L, e qui era facile perché mi sono stati forniti già forati e con i segni delle viti per montarli ben allineati. I pannelli li ho comunque passati con il BiancoMax, almeno nelle parti che potrebbero essere leggermente visibili esternamente.

La plancia vista da sotto, prima di essere verniciata e appoggiata al plexiglass

Al pannello andava poi applicata la grafica, da ricoprire poi con il pannello di plexiglass già tagliato e sagomato correttamente, per finire con l'inserire i pulsanti e chiudere il tutto con un'unghia metallica in basso e una stecca per poster in alto (sul serio): tutto facile, tranne che per il fatto che la grafica sulla zona pulsanti di fuoco risultava evidentemente disallineata!

La grafica applicata sulla plancia
Una volta alloggiati anche i tasti, risulta evidente la sfasatura sul gruppo di destra!

Vuoi perché probabilmente era comunque sbagliata, vuoi perché l'ho applicata a partire dal bordo inferiore senza controllare prima che fosse allineata dappertutto, la grafica andava per forza rifatta :(

Mi faccio passare il file PSD, lo rielaboro eliminando ogni possibilità di ricadere nello stesso errore ed ecco il risultato.

La nuova grafica della plancia

Ma attenzione! Scopro con piacere che non esistono più tipografie nella mia città, hanno chiuso tutte per via della crisi di questi anni, e alla fine mi accordo per farla ristampare ancora ad Eros dalla sua tipografia di fiducia. I tempi si allungano....