- MAME
-
Pour les articles homonymes, voir Mame.
MAME Développeurs Nicola Salmoria et l'équipe MAME Dernière version 0.144 (15 novembre 2011) [+/-] Version avancée [+/-] Environnements Multiplate-forme Langue Anglais Type Émulateur Licence Personnalisée Site web www.mamedev.org modifier 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 5 février 1997[3]. Sorti le 21 octobre 2010, 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 suites aux é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éritable borne d'arcade multi-jeux reposant sur du matériel informatique.
Sommaire
Fonctionnement
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ées ainsi que les ROM des jeux originaux ne sont pas distribué avec l'émulateur.
Philosophie de l'émulation
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 2 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
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
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
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
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
SDLMAME Développeurs Olivier Galibert et R. Belmont Dernière version 0.144 (15 novembre 2011) [+/-] Version avancée [+/-] Environnements Multiplate-forme Langue Anglais Type Émulateur Licence Personnalisée Site web rbelmont.mameworld.info modifier 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 (16 janvier 2010), 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
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é, l'implémentation de base de MAME fonctionnant nativement sous ce système.
Auteurs du portage
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éboggeur multi-fenêtré, Ernesto Corvi écrira la version Mac OS X Carbon. Hans de Goede a contribué à d'innombrables nettoyages, d'améliorations et d'optimisation du code source, et Tim Lindner a rendu le déboggeur 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
- (en) MAME Legal Information sur MameDev.org. Consulté le 2 décembre 2010
- (en) Site de SDLMAME
- (en) MAME Project History sur MameDev.org. Consulté le 2 décembre 2010
- (en) Joanna Glasner, « Court Upholds PlayStation Rival » sur Wired.com, 10 février 2000
Voir aussi
Articles connexes
Liens externes
- (en) Site officiel
- (en) Site officiel de SDLMAME
- (en) Catégorie MAME de l’annuaire dmoz
Wikimedia Foundation. 2010.