MAMEMAME
MAME, acronyme signifiant « Multiple Arcade Machine Emulator »[2], 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. Depuis le , il intègre MESS[3]. 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[4], 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]. Sortie le , la version 0.140 de l'émulateur prend en charge plus de 4 510 jeux uniques et plus de 9 012 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. FonctionnementMAME contient différents composants :
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'émulationLe but avoué de MAME est de documenter le matériel. Une vue plutôt puriste de l'émulation est adoptée, interdisant des modifications pouvant faire fonctionner un jeu correctement ou plus rapidement au profit de 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. En activant la prise en charge du multithreading, soit la gestion des CPU multi-cœurs, la vitesse d'émulation peut être améliorée comme sur certains jeux en 3D ou sur les systèmes Cave de 3e génération, le CV1000 à base d'Hitachi SH-3[Interprétation personnelle ?] prenant en charge les derniers jeux de la série DoDonPachi[6]. Avec la sortie de la version 0.191, fin , MAME inclut un compilateur dynamique expérimental pour les processeurs SH3/SH4 améliorant ainsi la vitesse d'exécution. Toutefois, il n'est activé actuellement que pour les cartes utilisant un processeur SH3. Stockage des jeuxDans 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 :
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 setsIl existe trois types de ROM sets :
Statut légalLa 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[7]. 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. LicenceMAME est un programme à code source ouvert et gratuit. Il est distribué sous une licence BSD modifiée depuis le [1]. Avant cette date, il possédait sa propre licence[2], qui n'était pas considéré comme une licence libre par la Free Software Foundation, car des contraintes sur la redistribution et sur la vente existaient. Le code source, pouvait être librement redistribué et modifié sous réserve :
Comme tous les projets open source, MAME encourage la contribution au projet plutôt qu'au développement de projets parallèles. Depuis le , les conditions de modifications et de distribution sont modifiées[8]. MAME passe sous licence GPL à partir de la 0.172. SDLMAMESDLMAME
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 pris en charge 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 compatiblesSDLMAME est officiellement compatible avec 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 intégré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 portageOlivier 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
Voir aussiArticles connexesLiens externes
|