- M.A.M.E.
-
MAME
Pour les articles homonymes, voir Mame.MAME Développeurs Nicola Salmoria et l'équipe MAME Dernière version 0.133 (le 20 juillet 2009) [+/-] Environnements Multiplate-forme Langue Anglais Type Émulateur Licence Propriétaire Site Web www.mamedev.org MAME, acronyme signifiant « Multiple Arcade Machine Emulator » [1], 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[2] 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.132, l'émulateur supporte plus de 4100 jeux uniques et plus de 8000 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
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ées ; 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.
Philosophie de l'émulation
Le but dicté de MAME étant de documenter le matériel, 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.
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é 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.
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
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[3]. 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
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 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.
SDLMAME
SDLMAME Développeurs Olivier Galibert et R. Belmont Dernière version 0.133 (le 20 juillet 2009) [+/-] Environnements Multiplate-forme Langue Anglais Type Émulateur Licence Propriétaire Site Web rbelmont.mameworld.info SDLMAME est un portage du logiciel d'émulation des bornes d'arcades MAME utilisant la bibliothèque portable libsdl. SDLMAME suit les principes qui de développement suivants :
SDLMAME doit pouvoir s'exécuter sous Linux, Mac OS X, les systèmes de type Unix et les autres systèmes d'exploitation supportés par la bibliothèque SDL en modifiant le moins possible le code Windows de base. Cela signifie que SDLMAME peut suivre l'évolution de MAME plus rapidement que des portages plus conventionnels comme MACMAME. Les développeurs de SDLMAME maintiennent également ce qu'il 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 en ligne de commandes 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 à fois pour Linux, Unix et Mac OS X.
Plateformes supportées par SDLMAME
SDLMAME supporte officiellement toutes les plateformes Linux avec n'importe quel processeur 32 ou 64 bits, FreeBSD avec n'importe quel processeur 32 ou 64 bits, Mac OS X 10.4 « Tiger » ou 10.5 « Leopard » (10.3 « Panther » fonctionne également , mais n'est pas officiellement pris en charge) à la fois sur les architectures PowerPC et Intel. La plateforme Windows est également supportée bien qu'il y ait peu d'intérêt à utiliser SDLMAME sur cette plateforme, puisque l'implémentation de base MAME fonctionne nativement sous Windows.
Qui a développé SDLMAME ?
Olivier Galibert a eu l'idée originale du portage et réalisé la plupart des portages originaux. R. Belmont a pris part aux portages originaux et à la plupart des portages récents. Olivier Galibert a écrit la version Linux GTK+ du déboggeur multi-fenêtré, et Ernesto Corvi a écrit la version Mac OS X Carbon du déboggeur multi-fenêtré. 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 a été écrit par Sven Gothel. L'assurance qualité a été assurée par MooglyGuy et Firewave, parmi tant d'autres.
Notes et références
- ↑ a et b (en)La licence de MAME
- ↑ (en)Site de SDLMAME
- ↑ (en)Joanna Glasner, Article en Anglais Court Upholds PlayStation Rival sur Wired, février 2000.
Voir aussi
Liens externes
- (en) Site officiel de MAME
- (en) Site officiel de SDLMAME
- (en) Catégorie MAME de l’annuaire dmoz
- Portail du jeu vidéo
Catégorie : Émulateur
Wikimedia Foundation. 2010.