Guida al Mamecab

Premessa

Esiste un mondo di tecnicismi, di nomi proprietari e di soprannomi ai quali chi si vuole affacciare al mondo Arcade, prima o poi, si troverà di fronte.

Vediamo di muoverci tra Nomi, Generi, Guide e Sezioni del Forum.

Il Cabinato

Cabinet o italianizzato Cabinato è il mobile.

Composto in sostanza da ‘pezzi di legno’, parti in vetro, lamiera e plastica si suddivide in 6 parti esternamente

Aprendolo nella parte posteriore, possiamo trovare il cablaggio jamma, la parte trasformatore – che può essere comprensiva di più parti -, un porta schede, eventualmente una o più schede di gioco tra cui la parte audio.
Nella parte superiore abbiamo il monitor

È visibile la parte interna della Coin Door, utilizzabile dalla parte frontale e chiusa da una serratura e sotto la parte di raccolta gettoni

Particolare della Coin Door

Nella parte frontale del mobile, oltre alla gettoniera e allo sportello sottostante con il cassettino di recupero gettoni, abbiamo la plancia con le periferiche di gioco, la parte frontale del monitor ed il marquee.

Marquee personalizzato ArcadeItalia

A scendere abbiamo il monitor con relativo Bezel, ovvero il cartoncino che copre le estremità del monitor.

Come si può vedere, oltre a coprire le parti non utili ed antiestetiche del monitor arricchendo il mobile personalizzandolo, spesso sono usati anche per riportare le istruzioni del gioco.

Esistono varie tipologie di mobili tra dedicati, originali e generici.
Alcuni mobili originali sono stati pensati per essere usati con sistemi che supportano più giochi come ad esempio i Candy Cab. Sono a tutti gli effetti mobili generici.

Di monitor arcade ne esistono marche differenti con caratteristiche simili e possibilità di ripararli o sostituirli in modo pratico e veloce.

Davanti al monitor vi è un vetro temprato, i mobili più vecchi lo avevano leggermente oscurato mentre i più recenti hanno un vetro chiaro, che protegge il monitor dalla polvere, dalle ditate e da eventuali urti.
Di spessore variabile dai 3 ai 5 mm, il vetro è da sempre fonte di problemi relativi ai riflessi ma rende la pulizia interna del cabinet saltuaria e duratura.
Per togliere il vetro, in molti cabinet, si apre la plancia dei comandi,
La plancia o control panel:

Esistono moltissime tipologie di plance che variano in base alle periferiche di gioco quali joystick, pulsanti, trackball, spinner, leve, pistole, pedali..
Va da se che ogni plancia abbia un cablaggio personalizzato.
La plancia classica, ovvero il control panel con joystick e pulsanti, segue il cablaggio spiegato nella scheda Collegamenti Plancia.


I cabinati generici, così come molti giochi costruiti dopo la metà degli anni 80 seguono lo standard jamma

va da se che l’uso di un cabinet non cablato jamma ma che utilizzi un cablaggio pre-jamma implica uno studio per ricavarne il cablaggio prima di utilizzarlo.
Solitamente è sconsigliato l’uso di adattatori nel caso di trasformazione in Mamecab.

Altro particolare hardware che troviamo all’interno di un cabinet è l’alimentatore. Esistono varie marche e sistemi differenti ma il più utilizzato è il classico alimentatore switching

Spesso viene sostituito con un alimentatore per pc nel caso di modifica in Mamecab, ma anche per l’uso di alcune schede originali in quanto non tutte le pcb utilizzano alimentazioni particolari.

Schema riassuntivo

Cablaggio jamma con periferiche

Voglio un Mamecab!

Partiamo dal motivo principale:

Rigiocare alle vecchie glorie Arcade sul loro mobile, originale o generico che sia è un’esperienza che nessun altra macchina potrà dare.

Decidiamo di comprare un Cabinet.
Dobbiamo assolutamente essere certi che il mobile non sia gonfio, ammuffito o rotto!
Le grafiche, la plancia da modificare per aggiungere tasti, la gettoniera che non si illumina non sono problemi.
Il vero problema è il mobile: Se un mobile non è in ottime condizioni si dovrà procedere a tagli ed innesti di pezzi di legno. Incollaggi e stuccature con levigatura e riverniciatura sono passaggi non semplici a meno di non essere già pratici.

Altro punto focale: il monitor.
Un mobile senza monitor non vale molto. Anni fa venivano persino smaltiti in malo modo o regalati.
Se decidiamo di tenere il monitor originale questo deve funzionare bene, altrimenti sarà necessario procedere ad interventi sul telaio (chassis ) della parte video e se ci si rivolge ad un tecnico si pagherà il lavoro.
Tutt’ora i tecnici si trovano, anche se con qualche difficoltà, ed i lavori spesso rischiano di avere un costo elevato, ma un monitor revisionato da un professionista con un cambio dei condensatori, un controllo generale di resistenze o transistor ed una taratura garantiscono una lunga vita ad uno strumento ( il monitor ) creato per andare tutto il giorno, tutti i giorni.

Se invece si decide di cambiare il monitor con un lcd, sicuramente il passaggio a Mamecab sarà meno problematico ma si andrà a perdere quel feeling che si cercava inizialmente: rigiocare ai vecchi arcade sul loro mobile.
Ma perché tenere il CRT?

Prima la parte Hardware o la parte Software ?

Diciamo che inizialmente è buona norma capire cosa si è in grado di fare e cosa si vuole avere.
Le basi per convertire un cab in mamecab sono essenzialmente:

  • un mobile completo
  • un pc completo

Il mobile abbiamo visto cosa serve e valutiamo se tenere il monitor originale o meno.
Proseguiremo questo scritto con la scelta del monitor originale.
Il pc sarà un desktop, meglio evitare i portatili. Possibilmente con scheda video dedicata e forzabile a 15Khz.
La scelta cadrà sulle schede supportate dai crtemudriver.
Il sistema operativo sarà quindi legato all’uso della scheda video forzabile a 15KHz e viceversa !
Ovvero se utilizzo una scheda video non forzabile dai crtemudriver supportati da win10 o win7 dovrò o cambiare scheda o cambiare sistema operativo.
Mame andrà conseguentemente scelto in base al sistema operativo ed al pc in uso. Su pc molto datati non è consigliabile andare su versioni oltre la 0.106 questo perché, dalla versione successiva vi è stata una riscrittura della parte video ed all’uso delle ddraw viene preferito il D3D. Poi vi è stato l’abbandono del ddraw e l’introduzione delle OpenGL ma è un discorso che si può ampliare sul Forum.


Se si decide di utilizzare Linux si può procedere con l’installazione di GroovyArcade o seguire una distro personalizzata come nell’ottima guida di Eldiau sul Forum.


Un po’ di storia sui metodi di forzatura a 15Khz

I crtemudriver sono la soluzione migliore in quanto diretta evoluzione del vecchio Soft15KHz, il quale aveva sostituito PowerStrip.
Sono tutti programmi che prevedono la possibilità di forzare a 15KHz l’uscita del pc rendendola compatibile con i monitor arcade.

Come visto nella scheda precedente esiste anche la soluzione Hardware quale la ArcadeVGA di Ultimarc

Ovviamente questa soluzione renderà più semplice il lavoro avendo già una scheda che esce a 15KHz con driver dedicati.
L’unico neo di questa scheda, così come di altre, è di avere un numero fisso di risoluzioni, per tanto può succedere di non avere alcune risoluzioni disponibili per un sistema in pixel perfect. La soluzione è utilizzare comunque il groovymame

Per tanto, scelta la scheda video, il sistema operativo, la versione di mame ed il nostro pc, possiamo iniziare a configurare gli emulatori che ci interessano sul pc.
Essendo il cabinet un mobile per giochi arcade, solitamente si preferisce non emulare giochi per c64 o per sistemi con controller particolari. Ma questo è a scelta di chi si costruisce il Mamecab.

La soluzione più adottata è quella di configurare una prima volta gli emulatori che si vorranno utilizzare per poi passare sul cabinet e definire i dettagli.

Mame

Esistono varie versioni di Mame.
La distro ufficiale è il Mame liscio a cui si è andato a fondere il Mess.
Fino a qualche anno fa il mame era a riga di comando quindi senza un’interfaccia grafica che semplifichi il lavoro, negli ultimi tempi però è stata inserita una rudimentale GUI

Nonostante l’introduzione di questa interfaccia, si consiglia sia per comodità che per semplicità d’uso di utilizzare una versione con GUI come la MameUI

Queste versioni però contengono anche i sistemi console, quali alcuni magari interessanti come c64, nes, snes, amiga ecc . alcuni funzionanti altri imperfetti o con problemi, ma oltre a questi sistemi contiene anche calcolatrici, flipper, videopoker ecc che in un mamecab non sono ben graditi.
In nostro soccorso viene la versione Arcade64 ( o Arcade32 per sistemi a 32 bit ), che tratta solamente la parte arcade del mame con varie tab aggiuntive

Le versioni di mame, i pacchetti di immagini per il gioco, titolo, pcb, marquee ecc si possono trovare su internet con qualche ricerca. Una risorsa conosciuta a livello mondiale è il sito di AntoPisa: ProgettoSNAPS

Ogni Mame ha la possibilità di registrare dei file .inp. Questi file contengono i dati della partita, rendendo possibile riprodurla fedelmente. Esiste anche un Mame modificato per rendere impossibile l’uso di trucchi, di mettere in pausa, di cambiare i settaggi o altro, elevandolo a candidato idoneo per registrare partite valide che possono essere verificate certificandone il punteggio. Il WolfMAME è la versione adatta a questo.
Il sito di riferimento per i record e per scaricare le versione di WolfMame è http://replay.marpirc.net/.

Esistono diverse guide per configurare il mame, alcune basilari altre più importanti:

Guida Base per il Mame

Sul Forum abbiamo un Glossario del Mame con tutte le voci più importanti commentate

Una soluzione per aggiornare o scremare le nostre rom ed eliminare i giochi che non ci interessano, come ad esempio i giochi con le pistole o quelli che utilizzano spinner o volanti o trackball che a noi non interessano, sono i rommanager.
L’uso di un rommanager è una cosa che può risultare fatale per il romset per cui è sempre bene:

  • lavorare su copie del romset
  • studiare bene come funziona il rommanager

Uno dei più famosi è il ClrMamePro. Si basa su liste in formato .dat da cui può facilmente aggiornare o eliminare rom ma anche convertire le nostre rom in un formato diverso o in una modalità diversa

E si proseguirà con eventuali altri emulatori.

Il Frontend

Cos’è ? A cosa serve ? Come funziona ? Quale scegliere ?

Ci sono decine e decine di frontend, ognuno ad un livello di programmazione ed implementazione diverso.
Alcuni sono rimasti legati al vecchio sistema operativo XP, altri sono compatibili anche con quelli più recenti. Quale scegliere dipende, grosso modo, da cosa si cerca.
Il frontend è un programma che utilizzando un’interfaccia grafica permette di compiere delle azioni come, nel nostro caso, selezionare delle liste di giochi, scorrerle e lanciare il gioco desiderato o visualizzare video, immagini o oggetti in movimento

La lista dei Frontend è lunga ed ognuno, a suo modo, ha qualche particolarità che può piacere o qualche difetto da far storcere il naso.
Su Arcadeitalia è nato F.E.E.L. con tanto di Layout Manager – il programma per crearsi le skin, ovvero le schermate, per i vari sistemi di F.E.E.L.

Un video di una pagina di F.E.E.L. per c64

Per scegliere il frontend che si vuole utilizzare, serve un po’ di tempo per decidere quale utilizzare e studiarsi un attimo le varie impostazioni di quel frontend. Alcuni sono minimal, altri hanno interfacce piene di grafica e musica con elementi in movimento.
Dipende dai gusti.

Abbiamo un’intera sezione per F.E.E.L. sul forum ed una sezione a parte per la configurazione degli altri Frontend.

Collegamento PC – CABINET

Una volta configurati e testati gli emulatori, si passa all’assemblaggio delle varie componenti.
Come colleghiamo il PC al Cabinet? avremo bisogno di interfacce e porte particolari.
Un sistema in uso negli anni passati era quello del KeyHack o JoyHack o PadHack.

Ma sono sistemi sorpassati. La soluzione migliore, come pulizia, semplicità ed efficienza è l’uso di Encoder moderni come la JammASD o la SmartASD o simili

Abbiamo una sezione solo per queste schede, nate su ArcadeItalia grazie al contributo degli utenti, dall’ingegno di Picerno

Esistono però molte schede che possono fare al caso nostro, così come tanti tipi di cabinet con controlli diversi.
Bisogna capire che tipo di Encoder e/o interfaccia ci serve per affrontare al meglio il problema.
Vediamone una panoramica

Volendo convertire un Cabinet con pettine Jamma, la JammASD è la soluzione migliore.
Prendendo il caso dell’uso della JammASD, avremo un encoder per i tasti e le direzioni già funzionante, un amplificatore video con cavo, quindi collegheremo il cavo in dotazione di uscita video del pc alla porta di ingresso video JammASD e ci comporteremo nello stesso modo con l’audio utilizzando il cavetto jack da 3.5mm maschio maschio.
Dalla JammASD è possibile alzare e abbassare il volume tramite un potenziometro.

Uno schema finale di collegamento sarà dato dal pc, che andrà a collegarsi all’interfaccia JammASD con cavo vga-vga, connettore audio e usb per la tastiera ( nelle precedenti versioni di JammASD si utilizzava un cavp ps/2 per la parte tastiera )

Schema riassuntivo collegamenti Pc – Cab con JammASD

Nel caso si decida di cambiare il monitor con un Lcd sarà comunque possibile mantere il cablaggio jamma del mobile ma ci si collegherà direttamente la monitor Lcd senza passare per la JammASD.
Si userà quest’ultima per i comandi, la gettoniera, l’audio..

Ottimizzazione

Una volta preparato un pc, installato frontend ed emulatori, scelto il metodo con cui interfacciarsi via hardware e software ai comandi ed al monitor, non resta che collegare ed ottimizzare.

Per prima cosa, usando un crt dobbiamo forzare il segnale ed impostare il mame per avere la resa migliore.

Fatto questo possiamo configurare eventuali altri emulatori, lanciandoli e modificando la risoluzione se necessario, cercando di utilizzare le risoluzioni originali. Alcune macchine più recenti hanno una risoluzione a 640×480 o più alta. Da questa risoluzione il monitor avrà un leggero tremolio (fleackering), tipico delle risoluzioni interlacciate

Su wikipedia è possibile approfondire l’argomento:
https://it.wikipedia.org/wiki/Scansione_interlacciata
https://it.wikipedia.org/wiki/Scansione_progressiva
https://it.wikipedia.org/wiki/Televisione_a_bassa_definizione
https://it.wikipedia.org/wiki/480i

A noi basti sapere che scendendo sotto i 640×480 non siamo più interlacciati eliminando così quel fastidioso tremolio

Per tanto dobbiamo utilizzare una risoluzione idonea al nostro cab, per il frontend spesso si tiene una risoluzione di 640×480 anche se interlacciata, in quanto la si utilizza solamente nella selezione del gioco per poi passare alla risoluzione originale del gioco quando lanciato.

Configuriamo i vari comandi

Usando la JammASD i comandi base del mame saranno già preimpostati correttamente ma volendo è possibile cambiarli in base alle nostre esigenze. ( Rivedere la scheda Mame Guida Facile )

Logicamente effettueremo le configurazioni dei vari emulatori che desideriamo utilizzare.
A questo punto è già possibile giocare.

Nascondere il Sistema Operativo

Passiamo alla parte di rifinitura.
Vogliamo che il nostro cab, all’accensione parta e carichi direttamente il nostro Frontend con la lista dei giochi.
Esistono alcune possibilità.
Una potrebbe essere quella di mettere il Frontend come programma in esecuzione automatica all’avvio di windows: in base alla versione in uso si andrà a mettere il collegamento del eseguibile del frontend nella cartella C:/ProgramData/Microsoft/Windows/Start Menu/Programs/StartUp per windows 7 8 o 10, mentre in C:\ProgramData\Microsoft\Windows\Menu Start\Programmi\Esecuzione Automatica per windows xp.
Per linux solitamente si crea uno script nel file shutdown.sh nella cartella /lib/systemd/system-shutdown.

Un sistema poco utilizzato nei MameCab con Windows XP era quello di mettere una scheda video pci come primaria dal Bios e usarne una forzata a 15KHz che partirà all’avvio del sistema. Ma con le migliorie avute con la SmartASD questo sistema è stato letteralmente abbandonato.

Ogni sistema operativo ha alcune opzioni non sempre immediate.
Per windows xp è possibile nascondere il sistema operativo nascondendo le immagini di caricamento all’avvio e alla chiusura, il puntatore del mouse, la barra sottostante, le info a video chiamate fumetti o baloon

In Area Software è possibile trovare guide e programmi per nascondere o ottimizzare il sistema operativo

Nascondere Windows Xp – Guida per nascondere Xp
Nascondere Windows 7 – Guida semplice e veloce
Guida alla creazione di un cab utilizzando Linux – Linux nel Cab

Ibernazione e Protezione dei File

Un sistema molto comodo perché permette di salvaguardare i nostri file, rende l’avvio veloce e nasconde il sistema operativo è quello di abilitare EWF e Horm

EWF: è un sistema che carica i file in memoria e non scrive più su disco, ma tutte le modifiche effettuate saranno solamente nella memoria volatile. Andranno quindi perse quando si spegnerà il computer, ma in questo modo non andremo a scrivere su disco preservando Hard Disk e dati.

Horm: In parole povere si tratta di caricare il sistema operativo, creare un’immagine su disco come punto di ripristino e ricaricarlo all’avvio del pc.
Creando il punto di avvio con il frontend avviato, avremo che alla visualizzazione su schermo del punto di ripristino troveremo già il frontend avviato.

In base al Sistema Operativo in uso si avrà una procedura diversa per attivare le funzioni
MameCab Windows XP – Avvio e spegnimento come un ArcadeCab
MameCab Windows 7 – Avvio e spegnimento come un ArcadeCab
Abilitare il filtro UWF in Windows 10

Accensione!

Ultima parte da finire è l’accensione. Abbiamo un Cabinet con un pc interfacciato ai comandi e al monitor. Possiamo, per tanto, accendere il pc dal tasto di avvio classico.
Soluzione molto scomoda.

Un metodo utilizzato spesso è quello di allungare i contatti del Power dalla scheda madre del pc portandoli dentro la gettoniera o vicino al pulsante On-Off del cabinet.

In questo caso si può spegnere il monitor e lasciare il pc acceso magari mentre si fa manutenzione al pc da remoto ( ad esempio utilizzando VNC per copiare o modificare dati e configurazioni dal pc di casa senza dover collegare tastiera e mouse al cab ).
Ma il sistema più utile e vicino ad un mobile Arcade è quello di utilizzare la funziona nel BIOS di Power On all’arrivo della corrente. La voce può cambiare da un produttore all’altro o anche nei diversi aggiornamenti del BIOS, ma è nella sezione power management APM alla voce Restore On AC Power Loss o simile.

In questo modo, quando si connette la spina nella presa, il pc si avvia.
Purtroppo non tutti i BIOS hanno questa funzione.

Un sistema alternativo e molto efficace è quello di mettere un condensatore da 100μF in parallelo tra i due poli del power della scheda madre

Ora all’arrivo della corrente il condensatore simulerà la pressione del tasto di accensione, essendo scarico inizialmente. Dopo pochi secondi, caricandosi, ‘staccherà’ il contatto.

Il Condensatore va inserito rispettando la polarità. Per conoscere il positivo ed il negativo si usa un tester, lo si mette in misura di tensioni continue (Vdc) con fondo scala 20V e si prova a pc acceso, quale dei due pin della mobo, sia il positivo.
ATTENZIONE Collegare il positivo del condensatore al pin positivo. Non invertire la polarità o c’è il rischio che il condensatore si bruci.

Un ulteriore escamotage, ma poco praticato in quanto non funzionante su tutte le Mother Board, è quello di portare a massa il cavo verde dell’alimentatore, attivando quest’ultimo all’arrivo della corrente.

Vi sono poi gli accorgimenti tecnici che utilizzano teleruttori, Relè e circuiti più o meno complessi.
La sostanza è che dando corrente dal pulsante generale, si accenda tutto il sistema.

Normalmente, per semplificarsi il lavoro, si installa una ciabatta all’interno del mobile a cui si andranno a collegare monitor, alimentatore del pc e l’eventuale trasformatore del cabinet per le luci. La ciabatta sarà collegata al cavo principale del mobile, ovvero accendendo il cab si darà corrente alla ciabatta, dalla quale si alimenteranno le altre periferiche.