MAME

Immagine mancante
MAME-logo.jpg
Il logo ufficiale del MAME.

Il MAME è un software per personal computer in grado di emulare varie piattaforme di gioco arcade. Lo scopo di tale emulazione è quello di preservare la storia dei videogames e di prevenire la sparizione di vecchie rarità. In nome è l'acronimo di Multiple Arcade Machine Emulator.

Indice

Storia

Secondo quanto si legge sul sito ufficiale[1] Nicola Salmoria iniziò a lavorare all'emulatore il 24 dicembre 1996 e rilasciò la prima versione, la 0.1 il 5 febbraio 1997 che funzionava in ambiente DOS da linea di comando (CLI). Nicola in realtà aveva avuto la brillante idea di unire più emulatori trovati in rete (tra i quali un primitivo emulatore di PacMan) in un unico programma in grado di eseguire più giochi (6 nella versione 0.1). In breve tempo MAME iniziò a crescere e sempre più giochi furono aggiunti anche grazie ad un'archittettura ben studiata che aiutava molto la programmazione. Nell'agosto del 1997 appariva MAME32, la versione di MAME adattata all'ambiente Windows a 32 bit con l'aggiunta di una GUI che rendeva più facile l'utilizzo. Nel 1998 la versione 0.30 già supportava oltre 300 giochi e con la 0.34 ci fu il sorpasso della simbolica quota 1000. Dal 2001 la versione ufficiale del MAME non viene più sviluppata sotto DOS ma sotto Windows come programma a linea di comando. Oggi MAME 0.95 (la 139esima relase) supporta 3083 giochi unici e 5578 ROM.

Funzionamento

MAME è composto da varie parti in grado di emulare completamente le architetture tipiche delle macchine arcade che ad esempio si trovavano nei bar e nelle sale giochi. In pratica MAME ricostruisce via software tutte quelle circuiterie interne che permettono di gestire gli input dei joystick, la gestione del monitor e dei riproduttori di suoni. L'unica cosa che manca sono le immagini originali dei giochi, che per motivi di copyright non possono essere distribuite.

Architettura

Da un punto di vista logico MAME può essere diviso in 3 livelli:

I primi due livelli sono scritti in C in modo d'avere maggior velocità e portabilità. Nessuna libreria esterna è richiesta e questo codice è compilabile per qualunque piattaforma da un compilatore standard, praticamente senza modifica alcuna. Il terzo livello è definito OSD (Operating System Dependent) e contiene tutto quel codice specifico per le varie piattaforme. Tutte le varie chiamate di sistema di Windows o di Linux si trovano in questo livello permettendo una facile migrazione del codice da una piattaforma all'altra modificando solo questo livello.

ROM

In quasi tutti i giochi arcade i dati (software, grafica, audio, ecc.) sono memorizzati in chip di memoria di sola lettura (Read Only Memory, ROM) sebbene in alcuni casi siano utilizzati anche floppy disk, CD-ROM o cassette. I dati contenuti in questi supporti vengono letti e riscritti in file contenenti l'esatta copia del chip da cui provengono attraverso un processo chiamato dumping. Tali file (indipendentemente dal supporto dal quale provengono) vengoni chiamati ROM. Solitamente un gioco è composto da più ROM (alcune per l'audio, alcune per la grafica, ecc.). L'insieme di tutte le ROM di un gioco prende il nome di ROM Set.

Il MAME gestisce i ROM Set in 2 modi: file CHD (Compressed Hunks of Data) che contengono le immagini compresse di hard disk o compact disc oppure file ZIP contenenti tutte le ROM.

ROM Set

Ci sono 3 tipi principali di ROM Set:

Sviluppo

Team di sviluppo

Attualmente MAME viene sviluppato attivamente da:

Coordinatori

Versioni

Rilasci ufficiali

MAME viene sviluppato da programmatori esperti che scrivono codice per passione senza alcun compenso di denaro. Le relase ufficiali (contraddistinte fino ad ora da un codice del tipo 0.X dove X è la versione) vengono rilasciate piuttosto regolarmente ogni 3-4 settimane. Circa ogni settimana poi vengono rilasciate delle versioni intermedie con codice 0.XuY dove X rappresenta ancora la versione e Y il livello di patch. MAME è liberamente scaricabile dal sito ufficiale[2].

Rilasci particolari

La relase 0.32 non fu mai rilasciata per evitare confusioni con il MAME32, la versione di MAME per Windows. Della relase 0.31 si iniziò a numerare le beta con numeri sempre più alti nella speranza di arrivare presto ad una versione 1.0. Ciò portò all'uscita di molte relase nominate beta ma che in realtà erano versioni vere e proprie perfettamente funzionanti (0.35b13, 0.36b9 per esempio). Con la relase 0.37 si iniziò ad utilizzare la numerazione attuale senza più sperare in una versione 1.0 tanto che alcuni sviluppatori pensano che probabilmente non ci sarà mai una vera e propria versione definitiva di MAME.

Porting e modifiche

La portabilità del MAME ha fatto si che molti programmatori ne abbiano sviluppato versioni per varie piattaforme, alcune volte realizzando vere e proprie versioni modificate:

Note etiche e legali

ROM

Il problema legale maggiore quando si parla del MAME è quello delle ROM. Dal punto di vista legale un ROM set altro non è che una copia del gioco originale. Per questo motivo s'incorre in violazione di copyright nel caso in cui non si abbia l'originale del gioco stesso che nel caso delle piattaforme arcade è la scheda con i chip. Online si trovavano siti da cui scaricare tutti i giochi emulati dal MAME ma dopo varie pressioni legali questi siti han dovuto eliminare il servizio. Attualmente i giochi si possono trovare sulle reti peer-to-peer e attraverso sistemi di vendita on-line. Resta comunque vietato (la licenza del MAME è piuttosto chiara in merito) distribuire il MAME sullo stesso supporto in cui si trovano i giochi copiati.

Emulazione

Tolto ogni dubbio sulla legalità delle copie dei giochi, rimane il dubbio sulla legittimità etica dell'emulazione di piattaforme che ancora oggi si trovano comunque in bar e sale giochi. Lo spirito del MAME non è comunque quello di evitare ai giocatori di pagare per giocare, ma solo quello di preservare questi giochi e di documentarne l'hardware.

Licenza

Sebbene il codice sorgente del MAME sia disponibile, MAME non è software libero nel senso più stretto del termine. È vietato vendere MAME compilato o in forma sorgente, utilizzare MAME per fini di lucro è espressamente vietato, tutto il codice utilizzato per la compilazione (sia esso il cuore del MAME o le librerie esterne) devono poter essere disponibili. Sono inoltre vietate versioni modificate del MAME che facciano funzionare giochi recenti o appositamente disabilitati.

Trademark

Nel febbraio 2005 una piccola società californiana produttrice di cabinet arcade in grado di lanciare più giochi, la Ultracade[23] ha cercato di registrare il nome MAME per prevenire l'abuso di tale termine da parte di società concorrenti che invece usano MAME e copie pirata dei giochi nei loro cabinet. La comunità di utenti si è subito infiammata e ciò ha costretto il titolare della società a cedere la registrazione a Nicola Salmoria che ora detiene il trademark del nome MAME.

Collegamenti esterni

See also: MAME, 1996, 1997, 1998, 2001, 2005, 24 dicembre, 5 febbraio, Amiga, Apple