MAME

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Mame.
MAME
Image illustrative de l'article MAME
Logo

Développeurs Nicola Salmoria et l'équipe MAME
Dernière version 0.153 () [+/-]
Environnements Multiplate-forme
Langue Anglais
Type Émulateur
Licence Personnalisée
Site web www.mamedev.org

MAME, acronyme signifiant « Multiple Arcade Machine Emulator » [1], est un logiciel d'émulation pour PC dont le but est de reproduire fidèlement le fonctionnement des jeux et des systèmes 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 pour les systèmes d'exploitation Windows et DOS, mais a été porté sur différents systèmes. Une version nommée SDLMAME[2], utilisant la bibliothèque portable Simple DirectMedia Layer (SDL), est développée pour être compatible avec les systèmes de type UNIX et Mac OS X.

La première version publique (0.1) de MAME, par Nicola Salmoria, est sortie le [3]. Sortie le , la version 0.140 de l'émulateur supporte plus de 4510 jeux uniques et plus de 9012 ROM sets, ce nombre grandissant sans cesse. Toutefois, de nombreux jeux ne fonctionnent pas, sans compter que certains jeux émulés peuvent devenir non fonctionnels à la suite des évolutions du logiciel. Il faut alors se procurer la dernière image (ROM) des jeux concernés.

MAME est utilisé par certains particuliers afin de réaliser de véritables bornes d'arcade multi-jeux reposant sur du matériel informatique.

Fonctionnement[modifier | modifier le code]

MAME contient différents composants :

  • plusieurs émulateurs de matériel imitant le comportement des processeurs et des cartes mères des jeux d'arcade 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.

Pour des raisons légales, les différents BIOS des jeux d'arcade émulés ainsi que les ROM des jeux originaux ne sont pas distribués avec l'émulateur.

Philosophie de l'émulation[modifier | modifier le code]

Le but dicté de MAME est de documenter le matériel et 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 ainsi plus élevé que d'autres émulateurs. Ne faisant généralement tourner que des jeux anciens, la loi de Moore assure que la majorité des jeux fonctionnent bien sur un ordinateur avec un processeur se situant dans les GHz. Cependant, l'émulation des jeux d'arcade utilisant 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.

Stockage des jeux[modifier | modifier le code]

Dans la plupart des jeux 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). 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. Par abus de langage, ces derniers sont appelés ROMs, parfois à tort car d'autres support de stockage comme les cassettes, disquettes, disques durs ou CD-ROM sont également utilisés.

Le stockage d'un jeu est ainsi réalisé en 2 parties :

  • un fichier d'archive ZIP, contenant les données principales du jeu ;
  • un fichier CHD (Compressed Hunks of Data), contenant les données d'un disque dur ou d'un CD-ROM.

Pour jouer à un jeu en particulier, MAME doit donc utiliser un ensemble de ROM (appelé ROM set) contenant toutes les données du jeu original. Le nom de chaque fichier image a été normalisé, permettant à l'émulateur de s'y retrouver.

Types de ROM sets[modifier | modifier le code]

Il existe trois types de ROM sets :

  • 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 (appelé ROM parent) 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).
  • 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).
  • Les ROM sets du BIOS, qui sont les ROM communes utilisées par tous les jeux d'une même machine (comme Neo-Geo MVS). Ce sont les programmes utilisés au démarrage de la machine, et qui exécutent ensuite le logiciel.

Statut légal[modifier | modifier le code]

La possession et la distribution d'un émulateur, comme MAME, sont légales aux États-Unis, à la condition d'être distribué seul sans ROM. Certaines compagnies, dont Sony, ont tenté d'empêcher la distribution d'émulateurs en justice, mais leurs tentatives furent infructueuses[4]. 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.

Licence[modifier | modifier le code]

MAME est un programme à code source ouvert et gratuit. Il possède sa propre licence[1] mais n'est pas considéré comme un logiciel libre par la Free Software Foundation, car des contraintes sur la redistribution et sur la vente existent.

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.

SDLMAME[modifier | modifier le code]

SDLMAME
Développeurs Olivier Galibert et R. Belmont
Dernière version 0.153 () [+/-]
Environnements Multiplate-forme
Langue Anglais
Type Émulateur
Licence Personnalisée
Site web rbelmont.mameworld.info

SDLMAME est un portage de MAME utilisant la bibliothèque portable Simple DirectMedia Layer. SDLMAME suit les principes de développement suivants : le logiciel doit pouvoir s'exécuter sous Linux, Mac OS X, les systèmes de type Unix et d'autres systèmes d'exploitation supportés par la bibliothèque SDL, en ne modifiant le moins possible le code source de base. Ainsi, SDLMAME peut suivre l'évolution de MAME plus rapidement que des portages plus conventionnels comme MacMAME ou xMame. Les développeurs maintiennent également ce qu'ils appellent la « compatibilité Firefox », qui signifie que l'apprentissage de l'application sur un système d'exploitation est valorisée sur les autres plateformes, par exemple si un utilisateur sait utiliser MAME en ligne de commande sous Windows, il saura utiliser SDLMAME de cette façon sur toutes les autres plateformes.

Pour les développeurs de SDLMAME, le développement réalisé sur MAME est important : le fait d'avoir une version de SDLMAME rapidement à jour permet aux non utilisateurs de Windows de proposer des modifications directement sur le code de MAME. Par exemple, les développeurs de SDLMAME ont proposé des implémentations natives d'un débogeur avec interface graphique multi-fenêtrée pour MAME à la fois pour Linux, Unix et Mac OS X.

Depuis la version 0.136u1 (), SDLMAME est directement inclus dans MAME. Les sources ne sont donc plus disponibles séparément et sont intégrées aux sources de MAME.

Plateformes supportées[modifier | modifier le code]

SDLMAME supporte officiellement toutes les plateformes Linux, FreeBSD, Mac OS X 10.4 « Tiger » ou 10.5 « Leopard » (10.3 « Panther » fonctionne également bien que non officiellement pris en charge), sur les microprocesseurs d'architecture PowerPC et x86, 32 ou 64 bits. La plateforme Windows est également supportée bien que n'ayant peu d'intérêt à être utilisée, l'implémentation de base de MAME fonctionnant nativement sous ce système.

Auteurs du portage[modifier | modifier le code]

Olivier Galibert a eu l'idée originale du portage et a réalisé la plupart des portages originaux. R. Belmont a pris part à ces portages et à la plupart des portages récents. Olivier Galibert a écrit la version Linux GTK+ du débogueur multi-fenêtré. Ernesto Corvi écrira la version Mac OS X Carbon. Hans de Goede a contribué à d'innombrables nettoyages, améliorations et optimisation du code source, et Tim Lindner a rendu le débogueur Mac OS X plus agréable à utiliser. Beaucoup de grandes améliorations ont été apportées par Couriersud et Antoine Mine, et presque tout le code OpenGL (Open Graphics Library) a été écrit par Sven Gothel. L'assurance qualité a été assurée par MooglyGuy et Firewave, parmi tant d'autres.

SDLMAME est actuellement maintenu par R. Belmont et Couriersud.

Notes et références[modifier | modifier le code]

  1. a et b (en) « MAME Legal Information », sur MameDev.org (consulté le 2 décembre 2010)
  2. (en) Site de SDLMAME
  3. (en) « MAME Project History », sur MameDev.org (consulté le 2 décembre 2010)
  4. (en) Joanna Glasner, « Court Upholds PlayStation Rival », sur Wired.com,‎ 10 février 2000

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]