MAME

Un article de Wikipédia, l'encyclopédie libre.

Pour les articles homonymes, voir Mame (homonymie).
MAME
Le logo de MAME
Développeurs Nicola Salmoria et l'équipe MAME
Dernière version 0.125 (le 5 mai 2008)
Environnements Multiplate-forme
Type Émulateur
Licence Propriétaire
Site web www.mamedev.org

MAME (acronyme de Multiple Arcade Machine Emulator) est un émulateur pour PC dont le but est de reproduire très fidèlement le fonctionnement des jeux d'arcade afin de préserver l'histoire du jeu vidéo et ainsi éviter que certains titres ne sombrent dans l'oubli.

MAME est officiellement disponible sur Windows et DOS, mais a été porté sur différents systèmes d'exploitation. Une version récente nommée SDLMAME[1] et utilisant la bibliothèque portable libsdl est développée pour être compatible avec les systèmes de type UNIX et Mac OS X. Celle-ci se rapproche le plus possible de la version officielle. Cette dernière version est donc à privilégier par rapport à feu xMame et au presque défunt macMame. A titre anecdotique, cette version peut donc elle-même être compilée et installée sur Windows. Certaines personnes se servent du système MAME pour réaliser de véritable borne d'arcade personnelle reposant sur du matériel d'ordinateur (au moins en ce qui concerne l'unité centrale).

D'après le site officiel de MAME, la première version publique de MAME, par Nicola Salmoria, est sortie le 5 février 1997. Depuis la version 0.125 publiée le 5 mai 2008 (cf. mamedev.org), l'émulateur supporte désormais 3 746 jeux uniques et 7031 ROM sets, ce nombre grandissant sans cesse.

Toutefois, tous les jeux ne fonctionnent pas et on peut encore dénombrer de nombreux jeux dans cette situation. Sans compter que certains jeux émulés peuvent passer de fonctionnels à non fonctionnels lors d'une mise à jour. Il faut alors se procurer la dernière image (ROM) des jeux concernés.

Sommaire

[modifier] Fonctionnement

MAME contient différents composants : plusieurs émulateurs de matériel qui imitent le comportement des processeurs et des cartes mères des bornes d'arcades supportés ; un émulateur de contrôle simulant les différents dispositifs (manette de jeu) par les claviers ou d'autres périphériques ; un émulateur pour simuler et rediriger les sorties audio et vidéo des bornes d'arcades vers les sorties respectives de l'ordinateur.

La seule chose que MAME ne fournit pas pour des raisons de droit sont les différents BIOS des bornes d'arcades émulées ainsi que les ROM des jeux originaux.

[modifier] Philosophie de l'émulation

Le but dicté de MAME est de documenter le matériel, alors MAME adopte une vue plutôt puriste de l'émulation, interdisant des modifications pouvant faire fonctionner un jeu correctement ou plus rapidement qui compenserait sur la précision de l'émulation. Dans MAME, chaque composant est émulé le plus fidèlement possible, des registres aux jeux d'instructions. Par conséquent, l'émulation des jeux réalisée par MAME est très précise, mais le système minimum requis pour exécuter le logiciel devient aussi plus élevé que d'autres émulateurs. Puisque MAME fait tourner en général des jeux anciens, la loi de Moore assure que la majorité des jeux fonctionnent bien sur un ordinateur se situant dans les 2 GHz. L'émulation des bornes d'arcade qui utilisent de l'électronique plus récente, comme des processeurs RISC ou des DSP dédiés aux opérations mathématiques, nécessite une machine bien plus puissante.

[modifier] Stockage des jeux

Dans la plupart des bornes d'arcade, les données (comprenant le programme, les graphismes, les sons…) sont entreposées dans de la mémoire morte ou ROM (read-only memory), c'est pourquoi leur image sous forme de fichier utilisé par les émulateurs sont appelés ROM, même si d'autres support de stockage comme les cassettes, disquettes, disques durs ou cédérom sont également utilisés. Par différentes méthodes, ces supports peuvent être lus pour créer des images numériques fidèles, sauvées ensuite dans des fichiers. Pour jouer à un jeu en particulier, MAME doit utiliser des ensembles de ROM (appelés ROM sets) contenant toutes les données de la machine originale. Pour chaque jeu d'arcade, les noms de chaque fichier image ont étés normalisés, permettant à l'émulateur de s'y retrouver.

MAME manie ces données de deux façons, par des fichiers CHD (Compressed Hunks of Data) qui contiennent les données d'un disque dur ou d'un CD et tous les autres types de données du jeu sont dans le format d'archives ZIP, une par jeu.

[modifier] Types de ROM sets

Il existe trois types de ROM sets :

  1. Le ROM set du jeu original (au nombre des jeux que l'équipe de MAME a décidé de nommer « versions originales »). Excepté pour les fichiers ROM BIOS (voir ci-dessous), les fichiers ROM pour ces jeux contiennent tout ce qui est nécessaire au fonctionnement du jeu. L'ensemble original est jugé comme étant la révision la plus récente et si de multiples versions régionales sont disponibles, est utilisée la révision world (internationale) ou US (américaine).
  2. Les ROM sets clones, qui sont différentes versions ou variantes d'un même jeu (par exemple, Street Fighter II Turbo est considéré comme variante de Street Fighter II Champion Edition).
  3. Les ROM sets du BIOS, qui sont les ROM communes utilisées par tous les jeux d'une même machine (comme Neo-Geo). Ce sont les programmes utilisés au démarrage de la machine, et qui exécutent ensuite le logiciel.

[modifier] Statut légal

Posséder et distribuer MAME est en soi légal aux États-Unis, car ce n'est qu'un simple émulateur quand il est distribué seul sans ROM. Certaines compagnies (surtout Sony) ont tenté, en justice, d'empêcher la distribution d'émulateurs, mais leurs tentatives furent infructueuses[2]. Pour l'instant, aucune action en justice n'a été prise à l'encontre de l'équipe du projet MAME. Toutefois, bien que l'émulation soit légale, les ROM sont soumises aux droits d'auteurs.

[modifier] Licence MAME

MAME est un logiciel à source ouverte et gratuit. Il possède sa propre licence[3] mais n'est pas considéré comme un logiciel libre par la Free Software Foundation, car il y a des contraintes sur la redistribution et sur la vente.

Le code compilé peut être librement distribué et utilisé. Le code source peut être librement distribué et modifié sous réserve :

  • d'une utilisation non commerciale
  • d'une consultation possible des codes sources modifiés (open source)
  • de ne pas toucher au code désactivant l'utilisation de certains jeux (pour empêcher que l'équipe de MAME ne soit dénoncée comme faisant concurrence a une vraie borne d'arcade).

Comme tous les projets open source, MAME encourage la contribution au projet plutôt qu'au développement de projets parallèles.

[modifier] Notes, sources et références

[modifier] Liens externes