Per molti MAME è una cosa molto semplice: installi il programma, scegli un vecchio arcade, premi Start e dopo pochi secondi sei di nuovo davanti a Pac-Man, Galaga o Ghosts ’n Goblins.
Funziona. Ma raccontarlo così significa perdersi la parte più interessante.
MAME non nasce come raccolta di videogiochi e, tecnicamente, non contiene neppure i giochi. È un progetto che cerca di ricostruire via software il comportamento dell’hardware originale: processori, chip audio, circuiti video, memorie, controlli e tutte quelle strane soluzioni che i produttori delle macchine arcade hanno utilizzato nel corso dei decenni.
Il suo obiettivo dichiarato è prima di tutto la conservazione della storia del software e dell’hardware. La possibilità di giocare è quasi la dimostrazione pratica che quella ricostruzione funziona davvero.
Ed è probabilmente questo il motivo per cui, a quasi trent’anni dalla sua nascita, MAME continua a essere qualcosa di molto diverso da un semplice emulatore.
Tutto comincia nel 1997
La prima versione pubblica, MAME 0.1, arriva il 5 febbraio 1997. Il progetto nasce dal lavoro di Nicola Salmoria, che ne sarà anche il primo coordinatore.
Il nome, all’epoca, significa Multiple Arcade Machine Emulator.
L’idea è brillante proprio perché ribalta il modello degli emulatori dell’epoca. Invece di creare un programma separato per ogni macchina, MAME costruisce un’architettura nella quale CPU, chip sonori, circuiti video e altri componenti possono essere descritti e riutilizzati.
All’inizio il territorio è chiaramente quello delle sale giochi. Poi il progetto cresce.
MAME finisce per incorporare anche MESS, il progetto dedicato all’emulazione di computer e console domestiche. Oggi la stessa infrastruttura documenta arcade, home computer, console e numerose altre macchine elettroniche. La documentazione ufficiale parla di oltre 32.000 sistemi individuali emulati.
Ed è qui che l’acronimo storico comincia quasi a stare stretto.

Cosa fa davvero MAME
Un emulatore deve convincere un programma scritto decenni fa di trovarsi ancora sulla macchina per cui era stato progettato.
Questo significa riprodurre via software il comportamento dei componenti originali.
Quando eseguiamo un arcade in MAME, quindi, il programma non sta semplicemente mostrando grafica e riproducendo suoni. Sta cercando di ricostruire il sistema originale abbastanza fedelmente da permettere al codice di quella macchina di funzionare come se l’hardware fosse ancora presente.
È una differenza importante.
Per il progetto MAME, infatti, la precisione della documentazione viene prima della ricerca delle prestazioni a ogni costo. La stessa documentazione ufficiale precisa che alcuni sistemi possono essere ancora troppo complessi per funzionare a piena velocità anche su hardware moderno: l’obiettivo è riprodurre correttamente la macchina, non necessariamente trovare la scorciatoia più veloce.
In altre parole:
MAME non cerca soltanto di conservare il gioco. Cerca di conservare la macchina che lo faceva funzionare.
Ed è una distinzione tutt’altro che accademica.
E allora, cosa sono le ROM?
Qui nasce probabilmente l’equivoco più comune.
MAME e le ROM sono due cose completamente diverse.
MAME è l’emulatore. La ROM contiene i dati provenienti dalla macchina originale.
Nelle vecchie schede arcade il programma del gioco era memorizzato su diversi chip ROM — Read Only Memory. Eseguendo il dump di quei chip si ottengono file contenenti i dati originali.
Una scheda arcade può averne parecchi: uno con parte del programma, altri con grafica, suoni o dati differenti. L’insieme dei file necessari a una determinata macchina viene normalmente chiamato ROM set.
MAME conosce quali chip dovrebbe avere quella macchina, le loro dimensioni e persino le impronte digitali dei dati attesi. Quando avviamo un sistema può quindi controllare se i file presenti corrispondono a quelli documentati.
Ecco perché una ROM trovata casualmente anni fa può non funzionare con una versione recente di MAME: nel frattempo la conoscenza della macchina può essere migliorata, nuovi chip possono essere stati documentati oppure un vecchio dump può essere stato riconosciuto come incompleto o scorretto.
Ci sono poi i BIOS, necessari ad alcune piattaforme, e i CHD.
Questi ultimi vengono utilizzati quando la macchina originale disponeva di supporti molto più grandi di una semplice ROM: hard disk, CD-ROM, DVD o LaserDisc. CHD significa Compressed Hunks of Data ed è un formato progettato proprio dal mondo MAME per conservare efficacemente questo tipo di immagini.

Il gioco non era un singolo file: su molte schede arcade programma, grafica e suoni erano distribuiti tra diversi chip.
Non solo arcade
Associare MAME esclusivamente ai coin-op è comprensibile, ma oggi è tecnicamente sbagliato.
Nel progetto convivono sistemi molto diversi: arcade, home computer, console e altre apparecchiature elettroniche.
Non tutti hanno lo stesso livello di maturità. Alcune macchine sono riprodotte con grande precisione, altre sono ancora oggetto di ricerca e altre possono essere soltanto parzialmente funzionanti.
Ed è perfettamente coerente con la natura del progetto.
MAME è anche una gigantesca documentazione in continua evoluzione.
MAME, RetroArch e FinalBurn Neo non sono la stessa cosa
È facile metterli tutti nello stesso cassetto, ma svolgono ruoli differenti.
MAME è un framework di emulazione completo. Contiene i componenti necessari a descrivere e riprodurre migliaia di macchine e pone particolare attenzione alla documentazione e all’accuratezza.
RetroArch, invece, non è un emulatore nel senso stretto del termine. È un frontend capace di caricare moduli chiamati core. Uno di questi core può essere MAME, ma possono esserci emulatori completamente diversi. RetroArch unifica interfaccia, controller, shader, configurazioni e numerose altre funzioni.
FinalBurn Neo è invece un progetto di emulazione orientato soprattutto agli arcade e ad alcuni sistemi console. Supporta, fra gli altri, hardware Capcom CPS, Neo Geo, Sega System 16 e molte altre piattaforme arcade. Il suo campo d’azione rimane però più circoscritto rispetto a quello di MAME.
Non c’è necessariamente un vincitore.
Sono strumenti nati con obiettivi e architetture differenti.
La scelta diventa interessante quando costruiremo concretamente il nostro sistema: interfaccia, hardware disponibile, precisione richiesta, facilità di configurazione e tipo di macchina che vogliamo realizzare cambiano parecchio le cose.
Ma questo lo affronteremo in un’altro post.
La questione che non si può ignorare: le ROM e il copyright
È probabilmente la parte meno divertente dell’emulazione, ma anche quella su cui circola più confusione.
MAME è perfettamente separato dai giochi.
Il programma non contiene il codice originale degli arcade e il progetto è distribuito come software libero. Le ROM, i CD, gli hard disk e gli altri supporti utilizzati dalle macchine emulate sono invece opere protette dai rispettivi titolari dei diritti.
Il fatto che un gioco abbia quarant’anni non lo trasforma automaticamente in abandonware.
E possedere il cabinato o la scheda originale non significa necessariamente che sia legale scaricare da Internet una copia della ROM. Lo stesso MAMEDev sottolinea che questo punto dipende dalla legislazione applicabile e che, in molti casi, sarebbe comunque necessaria l’autorizzazione del titolare.
Nel quadro europeo esiste, per chi ha diritto a utilizzare un programma, la possibilità di realizzare una copia di riserva quando necessaria all’uso; non è però una licenza generale per scaricare copie distribuite da terzi.
Esistono naturalmente software i cui titolari hanno autorizzato espressamente la distribuzione, così come è possibile effettuare personalmente il dump di hardware originale nei casi consentiti. La stessa documentazione MAME indica queste possibilità tra le modalità legittime per procurarsi il materiale necessario.
È una distinzione che su AlexEmme manterremo molto netta:
parlare di emulazione non significa distribuire giochi.
Ed è anche il motivo per cui qui non troverete raccolte di ROM da scaricare.
Conservare una macchina senza possederla più
C’è una cosa che rende MAME particolarmente affascinante.
Un cabinet può rompersi.
Una scheda può ossidarsi.
Una ROM può perdere i propri dati.
Un monitor CRT può smettere di accendersi.
Ma se sappiamo esattamente come quella macchina funzionava, possiamo continuare a documentarla.
È questo il punto in cui MAME smette di essere semplicemente il programma con cui giocare a vecchi arcade e diventa qualcosa di più interessante: un archivio eseguibile della storia dell’informatica e del videogioco.
Poi, naturalmente, resta il fatto che con un joystick davanti è anche molto divertente.
E quello non guasta.

