In questo post vi
parlerò di un progetto che ho realizzato lo scorso anno e che ho
battezzato “Custom Arcade Desk”, in pratica si tratta di una
scrivania con doppia postazione da gioco per rivivere il fascino
delle sale giochi degli anni '80/'90.
Come avrete intuito, se seguite questo blog,
il computer al quale ho collegato la postazione da gioco è
alimentato da una distribuzione GNU/Linux: Debian 8 (Jessie),
recentemente aggiornato a Debian 9 (Stretch).
Comunque è possibile usare qualsiasi altra distribuzione GNU/Linux, incluso Raspbian per Raspberry Pi.
Comunque è possibile usare qualsiasi altra distribuzione GNU/Linux, incluso Raspbian per Raspberry Pi.
Custom Arcade Desk |
Prima di iniziare la
carrellata di foto, vediamo la lista dei materiali che ho utilizzato:
- due pannelli in
OSB (Oriented Strand Board) da 25 mm di spessore, è un materiale
composto da pezzi di legno incollati insieme, in modo simile al
truciolato, ma con la caratteristica di essere più resistente;
- un pannello di
plexiglas da 3mm di spessore;
- un adesivo
permanente polimerico laminato opaco sul quale ho fatto stampare
un'illustrazione del gioco Tastunoko vs Capcom;
- una scheda
Ultimarc I-PAC 2, è il circuito che si occupa di tradurre i segnali
dei pulsanti e del joystick in caratteri e li invia al computer
tramite il cavo USB;
- due joystick
Sanwa JLF-TP-8YT;
- sedici pulsanti
Sanwa OBSF-30 da 30mm di larghezza;
- quattro pulsanti
Sanwa OBSF-24 da 24mm di larghezza;
- cavo elettrico
mono-polare;
- 20 terminali
fastom da 2,8 mm;
- bordo per pannelli
preincollato (si applica a caldo con un ferro da stiro);
- flatting per
proteggere il legno;
- stucco francese;
Gli utensili
necessari per realizzare questo progetto sono:
- un trapano con
punte a tazza da 30mm e da 24mm;
- un seghetto
alternativo con lame per legno e per metallo;
- una fresatrice per
il legno;
- carta vetrata a
grana media e fine;
- avvitatore;
- saldatore
elettrico;
Una fonte preziosa di informazioni riguardanti i materiali da utilizzare, i diversi costruttori di joystick e pulsanti, nonché i vari schemi di disposizione dei tasti la potete trovare su questo sito.
Questa era la mia piccola scrivania Ikea modello MICKE che utilizzavo
per il computer. Notare come il piano si è era curvato al centro e mostrava segni di cedimento.
L'economica scrivania Ikea MICKE |
Ho smontato il piano originale e tolto il cassetto.
Questo è un pannello in OSB da 25 mm, della stessa misura di quello
originale, ma il materiale è più pesante e molto più resistente.
Ho recuperato e montato gli agganci originali Ikea.
Agganci Ikea montati sul pannello in OSB |
Il piano sostitutivo si monta alla perfezione come l'originale |
Al posto del cassetto ho montato un altro piano che utilizzo per la
tastiera ed il mouse, ho riutilizzato il meccanismo scorrevole per
farlo a scomparsa.
Questo è un altro pannello in OSB da 25 mm di spessore, ma di
dimensioni maggiori, che estende la scrivania. Sopra c'è un pannello
in plexiglas da 3 mm.
Piano superiore con plexiglas e schemi di disposizione dei pulsanti e joystick |
Lo schema della disposizione del joystick e dei pulsanti è quello standard utilizzato nelle sale giochi
giapponesi.
Di seguito i fori da 30 mm realizzati con una punta a tazza.
Fori da 30mm e catena di fastom per il collegamento a terra dei pulsanti |
I due fori da 24 mm per i tasti di servizio, per questi ho
utilizzato una mecchia per il legno.
Fori da 24mm e mecchia per legno montata sul trapano |
Fori per le due postazioni completati |
Fresatura da 3 mm nell'area dove poggia la piastra del
joystick.
Fresatura di 3mm di profondità |
Il piano delle dimensioni di quello originale è montato su
quello superiore di dimensioni maggiori, una fresatura profonda nella parte inferiore della scrivania facilita il
montaggio dei pulsanti.
Parte inferiore della scrivania |
Dopo aver carteggiato con cura tutta la parte inferiore, ho dato una
mano di flatting per proteggere il legno.
Stuccatura del piano per renderlo il più liscio possibile e prepararlo all'applicazione dell'adesivo. Anche sul lato superiore, dopo aver carteggiato, ho passato una mano
di flatting.
Il pannello in OSB non è perfettamente liscio e va stuccato |
Rifinitura con bordo per pannelli bianco |
Questo è il cablaggio completato. Tutti i componenti sono collegati
tramite terminali fastom da 2,8 mm, la scheda I-PAC 2 invece è dotata
di morsetti a vite.
La scheda I-PAC 2 invia dei caratteri per ogni pulsante premuto o per ciascuna delle 4 direzioni del joystick, proprio come fosse una tastiera, quindi basta un text editor per verificare che tutto funzioni correttamente.
Test di funzionamento con gedit |
Applicazione dell'adesivo permanente che ho
fatto realizzare su misura, questo adesivo è stato laminato per
essere resistente all'usura.
Con l'adesivo applicato l'aspetto è decisamente migliore |
Ho montato il plexiglas ed i pulsanti. I joystick sono dei Sanwa con pallina e copri leva in alluminio colorato. I
pulsanti sono Sanwa da 30mm e 24mm, la caratteristica forma convessa del
tasto li rende ideali per i picchiaduro.
Scrivania completata |
Vediamo ora la parte
software ed il supporto per Linux.
La scheda I-PAC 2
viene riconosciuta dal sistema immediatamente e senza il bisogno di
installare driver.
E' preimpostata con la mappatura dei tasti del MAME (Multiple Arcade Machine Emulator), ma è possibile rimappare i controlli per mezzo di
un apposito programma.
Ultimarc (la casa produttrice, vedi il sito) fornisce il
programma per Windows, OS X e indirettamente anche per Linux. La
libreria per configurare I-PAC 2 è infatti sviluppata da Katie Snow (vedi il sito) ed è
scaricabile dal repository su github (link di github).
Iniziamo con l'installare il MAME inserendo i seguenti comandi come root
# apt update
# apt install mame mame-tools mame-extra
Per poter utilizzare il MAME ovviamente vi occorrono i file di dump delle rom dei videogiochi dell'epoca e questi non sono distribuiti con l'emulatore perché coperti dalle rigide regole del copyright.
Ora scaricate l'ultima versione della libreria Ultimarc dal repository di github (link download), è un archivio tar.gz. Decomprimete l'archivio con il comando:
tar -zxvf nome_file
Attualmente l'ultima versione è la seguente
$ tar -zxvf ultimarc-linux-1.1.update.tar.gz
Ora entrate nella directory con
$ cd ultimarc-linux-1.1
Nel file README ci sono le informazioni per la compilazione della libreria, in particolar modo ci serve sapere quali sono le librerie necessarie e sono le seguenti:
json-c (0.11), su Debian il pacchetto si chiama libjson-c-dev
libusb-dev, su Debian il pacchetto si chiama libusb-1.0-0-dev
libtool
Per finire vi serve il pacchetto build-essential per poter compilare, quindi installate tutto il necessario
# apt install build-essential libjson-c-dev libusb-1.0-0-dev libtool
Un'altra informazione importante che troverete nel file README è la necessità di copiare il file 21-ultimarc.rules nella directory di sistema /etc/udev/rules.d
# cp 21-ultimarc.rules /etc/udev/rules.d
Quindi procedete alla compilazione con
$ ./configure
$ make
Troverete l'eseguibile umtool all'interno della directory src/umtool, si invoca dal terminale e la sintassi è semplice
$ cd src/umtool
$ ./umtool ipac2.json
Dove ipac2.json è il nome del file di configurazione della scheda. All'interno della stessa directory ci sono vari file di configurazione di esempio, utilizzate solo i file ipac2 per la vostra scheda I-PAC2 e solo quelli denominati 2015 (la versione 2014 è per le schede più vecchie). Se non trovate i file .json dentro src/umtool allora scaricate da github il file source code e li troverete lì.
Potete aprire il file .json con un text editor e modificare a piacimento la mappatura dei tasti, è un operazione veramente semplice ed intuitiva.
Una volta preparato il file di configurazione basterà invocare il comando umtool per caricarlo sulla scheda. Vi consiglio comunque di conservare sempre una copia del file di configurazione di default.
Buon divertimento!