lunedì 21 dicembre 2015

Ultimi ritocchi, conclusioni e ringraziamenti!

La parte interna del cabinato era un casino totale! Ho quindi riordinato tutto, fissando alla struttura interna tutti gli elementi e raggruppando i cavi.

Un po' di ordine
Ho infine ritoccato i punti dove il colore era saltato via durante i lavori, lucidato bene il vetro rimesso in squadra lo schermo e la plancia, che erano leggermente storti.

Il cabinato è finito, in tempo per le feste di Natale!

Finito!

E adesso le mie conclusioni!
L'obiettivo iniziale era certamente quello di rendere felice mio figlio, mostrandogli che le cose si possono anche costruire davvero, non semplicemente installare su un PC con pochi clic.
L'obiettivo è stato raggiunto!
Durante il processo io stesso ho imparato molto: ho lavorato il legno MDF, verniciato con rulli, pennelli e spry su varie superfici, segato, limato, forato metalli e legni, inventato soluzioni e girato in lungo e largo i vari Brico alla ricerca di materiali e idee. Queste sono state per me le cose più difficili, essendo io un lavoratore "di concetto" e per nulla artigiano.
Io sono un programmatore, quindi la parte software mi è pesata relativamente ma ho comunque dovuto litigare con il sistema operativo (vedi i problemi con il driver Linux dell'encoder), lo scraper capriccioso di EmulationStation e selezionare le 2200 ROM del romset 37b5 del MAME per levare doppioni, titoli orrendi o non adatti ad un bambino per arrivare a circa 250 finali e molto altro.
Sono piuttosto soddisfatto del risultato, dato che tutti quelli che lo vedono e lo provano ne restano colpiti, ma soprattutto contento di essere riuscito a realizzarlo davvero!

Infine i ringraziamenti!
Ringrazio mio figlio Gabriele per l'entusiasmo che mi ha sempre trasmesso: non ha mai smesso di chiedermi di giocarci anche quando il cabinato era ancora solo uno schermo e una plancia in giro sul tavolo ;-)
Non ringrazierò mai abbastanza Eros Mazza per il supporto e la pazienza che ha sempre avuto con me, grazie davvero!
Ringrazio tutti quelli che mi hanno aiutato in qualche modo, come mia moglie mentre applicava le grafiche con me o sopportava la presenza di questo catafalco sventrato in giro per casa, o mio suocero per tutta l'attrezzatura che mi ha prestato.
Infine ringrazio tutti quelli che hanno letto queste pagine, spero vi siate divertiti a leggere questa cronaca sgrammaticata e semiseria!
Arcade per sempre!

domenica 20 dicembre 2015

Man vs vetro

Questa è stata forse la cosa più ridicola e frustrante di tutte.
In pratica dovevo creare una cornicetta nera per coprire la carena rimasta dello schermo LCD, davvero brutta da vedere.


Intorno allo schermo nero si vede bene 
Naturalmente prima ho provato da solo, acquistando una pellicola di quelle che si applicano ai vetri dei bagni o delle docce... impossibile, senza un tecnigrafo e qualcosa che tenesse fermo il tutto, quindi ho desistito e ho portato tutto in tipografia.
La prima volta, il lavoro era perfetto ma avevano rigato il vetro :-|
Acquisto un nuovo vetro, riporto tutto in tipografia: lavoro perfetto, vetro perfetto.... ma mentre cerco di applicarlo, mi scivola e si rompe :-\
Acquisto il terzo vetro, questa volta mi vergognavo un po' a tornare in tipografia... quindi lo faccio verniciare direttamente dal vetraio: risultato discreto, una volta applicato non sono visibili le imperfezioni sui bordi della verniciatura quindi bene così.
Infine lo applico alla perfezione allo schermo LCD con il giusto velo di silicone, così che non si muova più e non possa passare la polvere tra vetro e schermo.

Tra i tempi della tipografia, quelli del vetraio e i miei... la lotta contro il vetro è durata circa un mese  :-(




domenica 1 novembre 2015

Lo sportello posteriore

Lo sportello dietro presentava alcune difficoltà: prima di tutto, una volta fissate correttamente le cerniere, lo sportello si chiedeva talmente a filo che ... poi non si apriva più :(

L'unica soluzione per me praticabile è stata quella di farlo tagliare circa mezzo centimetro in alto, così da poterlo aprire e chiudere senza fare attrito tra legni.

Altro dubbio era la chiusura: alla fine ho optato per delle calamite da ante di armadio e una maniglietta. So che quasi tutti in questi casi realizzano la chiusura con una serratura, ma non avendo mai fatto una cosa del genere ed essendo i legni non perpendicolari, ho preferito realizzare la chiusura nel modo che immaginavo più semplice per me.

Sui lati sono visibili le calamite
È stato anche necessario realizzare un grosso foro per fissare l'interruttore e la presa esterna: in pratica tutte le alimentazioni interne (Raspberry, LED, casse, schermo) sono collegate ad una ciabatta, che è collegata all'interruttore dall'interno.
In questo modo, il sistema si può facilmente accendere dall'esterno con un tasto.

Il risultato finale

domenica 11 ottobre 2015

Preparazione del Marquee e della griglia

Un po' di relax, niente software qui.

Innanzitutto cos'è il Marquee? È la parte con grafica applicata nella parte superiore frontale del cabinato, spesso semitrasparente e retroilluminata come nel mio.
Montarlo non è stato complicato, solo un po' macchinoso.

Avevo il vetro su misura e la grafica da applicare, ma non essendo questa retroadesiva una volta sistemata e provata con la retroilluminazione il tutto risultava troppo lucido e luminoso:  risolvo acquistando un plexiglass da applicare sopra, che attenua molto l'effetto sgradito e protegge il vetro dagli urti.

Il vetro senza plexyglass
Il doppio strato vetro-plexiglass viene bloccato alla struttura da due unghie metalliche, una sopra e una sotto, che si trovano tra i profili metallici presso un Brico qualunque.
Foro le unghie e leggermente anche il legno sottostante per avvitare con delle viti particolari, a testa molto larga e punta a trapano.

Dietro al Marquee ho sistemato una striscia di luci LED per la retroilluminazione e del materiale riflettente per evitare che la luce dei LED, molto forte, filtri attraverso le aperture della struttura e disturbi la vista durante il gioco.

Striscia LED accesa con il materiale riflettente applicato

Prima di completare il fissaggio del Marquee servivia anche la griglia per coprire i fori delle casse.

La griglia verniciara

La griglia fissata a coprire i fori per le casse
Dopo aver cercato in vari Brico della zona, mi faccio dare da Eros una griglia che non è in commercio da queste parti, davvero molto bella: la vernicio di un bel nero lucido spry, vernicio di nero anche il legno sotto, 3 fori e si monta!

Manca poco oramai!

domenica 13 settembre 2015

Problemi di plancia - seconda parte

Siamo oramai a fine agosto e finalmente riesco a mettere le mani sulla grafica della plancia ristampata, stacco la vecchia e applico questa.

La plancia definitiva di fronte

Il sottoplancia prima della cablatura

Poi mi armo di santa pazienza e di santo schema, cablo per bene i controlli all'encoder da collegare al Raspberry PI.

L'encoder (davanti) cablato ai vari tasti e joystick

Tutto bene, penso. È quasi fatta.

Allora, dopo aver montato il controller devo controllare che effettivamente funzioni:
per fare questo, devo entrare nella shell Linux e utilizzare il comando
jstest /dev/input/js0
per testare la risposta di ogni singolo controllo della plancia e scopro con sorpresa che funziona tutto come dovrebbe... tranne che per il joystick del secondo giocatore.
Chiaramente per prima cosa controllo il cablaggio, ma dopo molti tentativi devo arrendermi: purtroppo è cablato correttamente. È un problema software, e qui ti siedi e piangi... perché non hai un controller diffusissimo, ma un controller cinese che non sai nemmeno come si chiama....

Dopo un po' di ricerche, scopro che si tratta di uno xin-mo dual player.
Ancora un bel po' di ricerche e scopro che il driver linux per quel controller è difettoso e il joystick del secondo giocatore NON viene riconosciuto. Bene.
...
Dopo due settimane di ricerche totali arrivo in una pagina sperduta di un forum sperduto in un post sperduto dove un santone, sia benedetto, posta una soluzione tanto semplice:
basta editare il file /boot/cmdline.txt aggiungendo in fondo la stringa usbhid.quirks=0x16c0:0x05e1:0x040

Che tradotto in linguaggio umano pare aggiungere una eccezione per un dispositivo di input collegato sulla USB (usbhid), specificando il Vendor (10c0 - la xin-mo), il Product (05e1 - il mio modello) e l'azione (040 - dovrebbe essere una ignore). Immagino che dica a linux di ignorare il mio encoder, lasciando il compito di interpretarne i comandi ad un software caricato in un secondo momento.

L'alternativa altrimenti suggerita era di correggere e ricompilare il kernel, in pratica forkando il Retropie per collegare il mio xin-mo. Facile no?


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


domenica 28 giugno 2015

Lo schermo e l'accensione in modalità standby

Brutta sorpresa: lo schermo del quale ero in possesso non si comportava come atteso.

In pratica, perché la magia del cabinato funzioni è necessario che lo schermo si accenda già in modalità standby, agganciando il segnale proveniente dalla Raspberry e proiettando così correttamente le immagini.

Purtroppo il mio schermo, una volta spento, andava riacceso premendo il tastino ogni volta!
A nulla sono valsi i tentativi di capire come si potesse aggirare il problema agendo cortocircuitando l'elettronica dei comandi, perché comunque il comando di accensione non era un interruttore on/off ma un semplice impulso per un encoder.

Alla fine ho dovuto  acquistare un altro schermo, delle stesse dimensioni e senza quel problema.

Lo schermo nuovo Acer K222HQLBD
Come mi sono assicurato di non prendere un pacco?
Mi sono recato fisicamente all'Unieuro di zona, ho atteso con pazienza truffaldina che i commessi si allontanassero e ho fatto i miei test :D
Una volta trovato lo schermo che faceva per me, l'ho ordinato su Amazon, perché costava di meno :D

Per fissarlo alla struttura l'ho avvitato su un pannello dai fori VESA.

Il pannello che sostiene lo schermo, visto da dietro

domenica 21 giugno 2015

L'applicazione delle grafiche laterali e della guarnizione

L'applicazione delle grafiche laterali è stata abbastanza semplice, solo che essendo i fogli molto grandi sono stati un po' scomodi da maneggiare.

Uno dei fogli adesivi, con pellicola lucida e antibolla

Discorso diverso per la guarnizione laterale, quella che deve coprire la spina dei pannelli laterali.
I pannelli mi sono stati forniti con una scanalatura per poter inserire la guarnizione a T detta T-molding, quasi introvabile nella giusta misura in Italia e non esagero!

Il T-molding che ho utilizzato

Il primo tentativo di applicarla non è andato a buon fine, perché nella concavità frontale dei pannelli laterali il T-molding entrava davvero a fatica e ho usato un martelletto.... rovinando in modo evidente la guarnizione. Per fortuna ne avevo ordinata così tanta da poter recuperare l'errore, ecco il risultato finale!

Con grafiche e guarnizioni inizia a dare delle soddisfazioni!

lunedì 8 giugno 2015

La battaglia del fondo bianco(Max)

Una delle cose che più mi preoccupavano del lavoro era la verniciatura del legno: passi fissare qualche pannello, ma verniciarlo a regola d'arte ... richiede decisamente arte che non ho!
Non ho mai verniciato il legno. I muri si, ma pare siano decisamente più facili.
Mi sono rimboccato le maniche e ho studiato: su ArcadeItalia ho trovato una guida illuminante di un tizio che ha realizzato un cabinato bianco, precisamente come lo voglio fare io.
Poi ho saputo che addirittura Eros, il ragazzo che mi ha procurato i pannelli, ha iniziato con la stessa guida. Ero in una tolla di ferro.

Riassumendo, le fasi di lavoro sono queste:
1. levigare la superficie con una carta abbastanza fine
2. pulire bene con uno straccio e stendere il fondo bianco
3. levigare il pannello fino a quando la superficie diventa liscia al tatto e uniforme
4. se ci sono parti dove si intravede il legno sotto, ripetere dal punto 2
5. pulire bene e verniciare
6. se ci sono segni evidenti tipo gocce o pennellate, levigare e ripetere il punto 5

Trovare la carta vetrata è stato semplice, trovare il fondo che suggeriva la guida molto, molto meno.
Si tratta del mitologico fondo BiancoMax di MaxMeyer, un fondo sintetico caldamente indicato per la resa e la facilità d'uso: non lo trovo nel brico in città, non lo trovo nei brico delle città limitrofe ma devo andare in una ferramenta rivendita ufficiale MaxMayer in un paesino sperduto a 20 minuti d'auto. Senza esagerare lo avrò cercato una settimana e passa!!!

L'introvabile fondo

Per stendere il fondo ho utilizzato un rullo da legno, facilmente reperibile.
Alla fine ho dato due mani di fondo sui pannelli che si vedono, scartavetrando bene a fondo asciutto.
A proposito di carta vetrata, anziché grattare a mano ho usato una levigatrice palmare, che garantisce un risultato migliore e tempi di lavoro davvero ridotti ;)

Esperimenti sul pannello sotto, dopo una mano con il pennello e prima di essere levigato
Il pannello di sopra, dopo una mano con il rullo e prima di essere levigato
Pannello sopra dopo la levigatura
Successivamente ho verniciato tutti i pannelli visibili dall'esterno del cabinato, utilizzando una vernice sintetica bianca lucida: all'inizio avevo provato con il rullo, ma a vernice asciutta restavano i segni delle passate, quindi ho utilizzato il compressore per spruzzare la vernice ed il risultato è stato ottimo.

I pannelli principali dopo la verniciatura

domenica 24 maggio 2015

Il pannello speaker

Discorso a parte per il pannello degli speaker: abbiamo dovuto forare un pannello nei punti in cui volevamo fissare le casse.
Una volta prese le misure, qualche foro e poi seghetto. Anche qui abbiamo usato una strettoia per fissare il pannello al piano d'appoggio.

Il pannello forato e squadrettato bloccato con le strettoie

Le casse sono un modello economico da Amazon, Trust 16697 Mila 2.0 pagate meno di 10€, che riproducono perfettamente i suoni gracchiati dei cabinati anni '80. Consigliate direttamente da Eros.
Fatte a pezzi, avvitate al pannello e testate con un PC su un gameplay da Youtube di Ghost'n'Goblins.

Le casse, prima di essere smontate

Le casse con relativa elettronica prima di essere fissate


Il pannello finito e montato!

lunedì 11 maggio 2015

I pannelli principali

Per prima cosa abbiamo realizzato la struttura portante del cabinato: i laterali, la base e il pannello sopra.

Quattro pannelli e sembra già un cabinato

Prima abbiamo fissato un laterale con la base, formando una L, poi aggiunto l'altro laterale e infine il pannello sopra.

I pannelli tenuti stretti 
Per fissare i pannelli prima abbiamo usato un po' di colla vinilica, poi abbiamo tenuto in pressione tutto con due strettoie da falegname come quella in foto.
Strettoia da falegname - molto, molto utile per tenere fermi i pannelli

Per fissare tutto insieme abbiamo usato delle squadrette avvitate ai pannelli dall'interno, con una squadretta ogni 10 cm circa. Non potrò mai spiegare quanto è stato importante avere le strettoie, perché anche avendo quattro mani sarebbe stato veramente complicato avvitare le squadrette con precisione.

lunedì 4 maggio 2015

Si parte!

Ciao a tutti,
oggi vi racconto la storia di come io e mio figlio abbiamo costruito insieme un cabinato arcade.
  
Tutto è cominciato da un tutorial che ho letto per caso su instructables, all'indirizzo http://www.instructables.com/id/2-Player-Bartop-Arcade-Machine-Powered-by-Pi/, che parlava di un mezzo cabinato arcade fai-da-te basato su hardware raspberry PI. 

Dal momento che il mio erede ottenne è un bimbo di sostanza e apprezza i videogame per quanto sono divertenti, non solo per la grafica, ne abbiamo parlato e si è dimostrato super entusiasta all'idea di costruire una cosa del genere! 

Dopo una lunghissima fase dove mi sono fatto una cultura in materia, ho deciso di non fare proprio tutto da zero...  
Tagliare il legno sagomato in casa non è uno scherzo e io non ho esperienza di fai-da-te. 
Dopo aver cercato di farmi aiutare a scegliere un kit di legni e accessori da alcuni noti siti inglesi con scarso successo, ho scovato un ragazzo a due passi da casa che si occupa di restaurare cabinati e produrne di nuovi su ordinazione molto disponibile! Lo trovate qui https://www.facebook.com/erosmazza e qui http://www.mazzaarcade.com

Alla fine, ecco cosa ho acquistato da lui:
Kit di legni MDF per costruire la struttura 
Copriplancia in plexiglas 
Copri-marquee e copri-schermo in vetro 
Fogli con la grafica per fiancate, plancia e marquee
Striscia LED per la retroilluminazione della marquee

I pannelli MDF alla rinfusa

Dal sito arcadeworlduk ho preso:
2 Joystick Sanwa JLW-TM-8 con estensori per la staffa
12 Tasti colorati Sanwa OBSN-30 come tasti di fuoco
2 Tasti Player 1/2
3 Tasti Seimitsu PS-14-GN 30mm come tasti funzione start/pause/coin

Come hardware ho ordinato un kit Raspberry PI 2 da Kubii, sul quale ho installato una distribuzione Linux pensata per il retrogaming di nome RetroPie http://blog.petrockblock.com/retropie/

Per il resto:
1 Connettore di alimentazione IEC da pannello con porta fusibile ed interruttore (amazon)
1 Alimentatore 12V per la striscia LED
1 Monitor LCD 22" Wide che avevo a disposizione
1 Adattatore HDMI VGA, perchè il monitor ha solo la VGA mentre il Raspberry è HDMI  (amazon)
1 Coppia di casse Trust da 8 €, da smontare per prendere i due altoparlanti e l'elettronica (amazon)
1 Ciabatta da installare internamente per le alimentazioni di monitor, casse, raspberry e LED.
+ Materiale vario dal Brico di zona e non.

Si parte :)