Le projet Mame a vu le jour en février 1997 et est développé maintenant en Open Source depuis mai 2015.

Il se compose d’une base programme (habituellement un fichier .EXE à installer sur l’ordinateur) chargé d’émuler plusieurs systèmes, comprenant un émulateur de contrôle destiné à prendre en charge les manettes et bâton de Joie divers (Joystick), et un contrôleur se chargeant de la redistribution de l’information sur les périphériques externes audio et vidéo. Toute cette partie est légale et gratuite d’utilisation (puisqu’en Open-Source).

Il existe à ce jour plus de 20 releases différentes. Les premières versions de Mame se présentaient sous la forme de ligne de commande qu’il fallait exécuter sous DOS avec moult configurations qui suivaient le nom du jeu pour avoir une chance de la faire fonctionner… O récompense suprême!

Cosole DOS mameppro

Par la suite, les développeurs ont intégré une interface graphique permettant de lancer plus facilement les jeux, de les configurer, et surtout d’y intégrer des « Snapshots », c’est à dire des copies d’écran des jeux sélectionnés. Le premier « Front-End » à proprement parlé était né (si on excepte le projet HTPC mais c’est une autre histoire).

Interface de Mame32

Dans cette version plus fonctionnelle, nous pouvons trouver dans la fenêtre de gauche les différentes options concernant tous les jeux présents dans le répertoire ROM. Il devient possible de sélectionner ceux qui fonctionnent à 30, 60 ou à 100%, de ceux qui ne fonctionnent pas, trier en fonction des années de sortie, sélectionner ses favoris et surtout accéder à une configuration globale de l’émulateur et plus fine pour chaque jeu.

Bien entendu, vous l’aurez compris, l’émulateur seul donc ne suffit pas. Il faut ces fameux jeux appelé (à tord) ROMs. Les ROMs tirent leur nom de l’endroit où étaient entreposés les jeux dans les bornes d’arcade, c’est à dire la mémoire morte (Read Only Memory), une mémoire qui ne s’efface pas quand on éteint tout à la différence de la RAM (Random Access Memory). Fin du cours d’info!

Les roms sont des fichiers comprenant les données principales du jeu en format compressé (ZIP). Il en existe 3 types sur Mame :

  • 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, 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. (source Wiki).

A noter que les ROMs originales sont nécessaires pour faire tourner les ROMs « clones ».

Mais si l’émulateur n’est soumit à aucune législation, il n’en est rien pour les ROMs qui sont soumises elles, à un droit d’auteur. En clair, pour chaque ROM, vous devez possédez le jeu original (en théorie. Mais je me vois mal stocker environ 2000 bornes d’arcade chez moi…). Cependant, la multiplication des projets Mame a vite rendu les anciennes ROMs obsolète dont la mise à jour était nécessaire pour fonctionner avec les nouvelles releases. C’est la raison pour laquelle que vous pourrez trouver un jeu fonctionnant sous une vieille émulation Mame et ne fonctionnant plus du tout sous la dernière release (MAME 0.171) et vice versa.

Vous l’aurez compris, c’est un peu la jungle. C’est la raison pour laquelle j’ai choisi une version intermédiaire, une version 0.36 beta 11 de 1999. Plus toute jeune en effet mais compatible avec le plus grand nombre de ROMs existantes. Ceci dit, je n’ai pas fait le tour de la toile afin de de tester toutes les ROMs avec la dernière release. D’un autre côté, si vous avez du temps… 😉

Après avoir installé Mame dans la partition « Jeux », ouvrez le répertoire et analysons les fichiers qui s’y trouvent :

Répertoire de Mame32

En rouge, l’exécutable, reconnaissable entre-autre par l’icône du jeu. a noter que comme tous les programmes Windows, cet exécutable peut se lancer en cliquant dessus par l’interface Windows ou bien par une ligne de commande DOS suivi du nom du jeu et des paramètres appliqués (important pour le Front-End si vous décidez de passer par une ligne de commande plutôt que l’interface de lancement d’Atomic FE).

En bleu, le dossier « ROMs » dans lequel vous allez pouvoir glisser les fichiers ZIP (les images compressées des jeux). Ne dézippez surtout ces fichiers, Mame se chargera de le faire lors du lancement de ces derniers. Notez que se trouve également dans ce dossier un fichier « dir.txt ». Vous pouvez dans ce fichier lister toutes les ROMs contenues dans le dossier pour faciliter l’exploitation par d’autres logiciels de type Front-End. Les nouvelles versions de Mame ont rendu ce fichier obsolète. Inutile donc de perdre votre temps à le remplir. Mais pour les perfectionnistes, il existe une fonction sous Windows qui vous permet de créer une commande dans le menu contextuel afin d’exporter rapidement une liste de fichiers dans un répertoire cible.

Enfin en vert, le dossier « SNAP » qui contient toutes les captures au format PNG. L’image n’a pas besoin d’être grande mais en format 4/3 (300 x 225 pixels par exemple). Dans certaines versions de Mame, les captures se trouvent dans le dossier « IMAGES », dans d’autres, il faut créer le fichier. Les anciennes ROMs disposent également de leur fichier audio séparé dans le dossier « SAMPLES ».

Placez ensuite les fichiers ROMs au format ZIP que vous avez récupérés dans les répertoires correspondants selon le type correspondant (« ROMS » pour les roms complètes et « ROMS »/ »SAMPLES » pour les ROMs BIOS).

Cliquez sur « mame32.exe » et c’est parti!

Interface de Mame32

Dans la colonne de gauche, les différents filtres que vous pouvez utiliser pour trier les ROMs (par fonctionnalité, par années de sortie, uniquement les clones, les favoris etc…). La colonne du milieu liste toutes les ROMs par ordre alphabétique. Il suffit juste de cliquer sur l’une d’elle pour lancer le jeu. Dans la colonne « Directory » figure le nom de la ROM dans le dossier (utile pour retrouver les correspondances). Enfin dans la colonne de droite, figure la capture écran du jeu que Mame va chercher dans le dossier SNAP ou IMAGES, selon la version du logiciel que vous utilisez.

Si je sélectionne « All Games » dans la colonne de gauche, j’aurai accès à toute la liste du répertoire mais sans avoir la garantie que tous les jeux fonctionnent. Si en revanche je clique sur « Working », j’aurai la liste de tous les jeux qui fonctionnent (en théorie). Attention toutefois, des erreurs d’affectation persistent selon les versions de Mame, ou bien sur les propriétés des Roms que vous avez importés. Un clic droit sur le fichier « Propriété » d’une ROMs vous donnera la possibilité de changer l’affectation de sa catégorie. Si un jeu est estampillé « Working » (fonctionnel) et qu’il ne marche pas avec votre configuration, modifiez la catégorie pour « Non-Working ». Inversement, certains jeux estampillés « Non working » peuvent très bien fonctionner sous votre version Mame (mais c’est rare). Le meilleur moyen est de tous les essayer.

Une indication importante peut vous avertir lors du lancement de la ROM sur certains problèmes rencontrés sur le jeu :

Mame errorIci le jeu n’a pas de son. (Plutôt gênant…)

Si le jeu se lance, a priori la ROM est fonctionnelle mais non exempt de petits défauts. Notez que s’il existe des différences entre les versions de Mame, des bugs peuvent apparaitre en passant d’un  système 32 à 64 bits. A l’origine, Mame fut développé pour les système 32 bits. La conversion aux systèmes 64 n’est que très récente et les versions ne sont pas encore compatibles entres elles (à quelques rares exceptions près). Mais la mort programmée du 32 bits va forcer une conversion rapide sur le 64 bits à moyen terme.

Une fois que le jeu est lancé, les contrôles sont identiques selon les versions du logiciel (à quelques variantes près) :

mame3

  • Les touches de flèches de direction (en rouge). Attention, certains jeux sont configurés pour fonctionner avec le clavier numérique à droite
  • La touche « 5 » pour créditer les parties (commencer par là avant toute chose) (en bleu). Certaines fois, c’est la touche « 3 » qui crédite
  • Les touches « 1 » et « 2 » pour sélectionner le nombre de joueurs (en bleu)
  • Les touches « Ctrl », « Alt » et « Espace » pour les tirs, les sauts et autres fonctions (en vert).
  • La touche « TAB » pour modifier les paramètres du jeu
  • La touche « ESC » pour sortir du jeu et revenir à l’interface de Mame.

 

Configuration du logiciel

Il existe sur Mame deux niveaux de configuration : la configuration générale qui va s’appliquer pour tous les jeux et la configuration personnalisée pour chaque jeu.

La configuration générale (Options/Default options) n ‘est accessible que si Mame est lancé en tant « qu’administrateur système » (clic droit sur l’icône du jeu et « Exécuter en tant qu’administrateur’).

mame4

Vous accédez ensuite à l’interface de configuration générale de Mame.

Menu de configuration général

Chaque onglet vous offre la possibilité de configurer l’affichage, le son, les contrôles et des options complémentaires du jeu. L’onglet affichage est le plus important puisqu »il permet de régler les problèmes de résolution qui peuvent survenir sur certains jeux, notamment les jeux orientés verticalement comme les « Shoot them up » ou jeux de tir. La fonction « Auto size » ne fonctionnant pas toujours (l’affichage est alors tronqué), il faut forcer le paramétrage du jeu afin d’obtenir une résolution plein écran. Un 800×600 fera l’affaire dans la plupart des cas.

En ce qui concerne la configuration personnalisée de chaque jeu, vous y accédez en lançant le jeu puis en appuyant sur « TAB » pour ouvrir le menu de configuration.

Menu de configuration personnalisé

Je vous invite à modifier ici le fichier de configuration des touches qui se trouve sur le troisième choix : « Keys (this game) ». Sélectionnez ensuite chaque touche de votre choix afin de définir les nouveaux paramètres. En sélectionnant « Return to Game », les nouveaux paramètres seront automatiquement sauvegardés. Pour ré-initialiser les paramètres par défaut, sélectionnez « Reset Game ». Rappel : ceci est à faire pour chacun des jeux (la fonction Keys (general) permettant de paramétrer l’ensemble des jeux ne fonctionnant pas sur toutes les versions de Mame). Ceci est la phase la plus importante de la programmation de Mame car il faut absolument que tous vos jeux aient le même contrôle.

De plus, en investissant dans le joystick X-Arcade, je me suis heurté à la configuration assez limitée de ses contrôles et j’ai été dans l’obligation de re-paramétrer tous mes jeux en passant par cette interface personnalisée (le joystick utilisant le pavé numérique plutôt que les flèches de direction par défaut).

Vous remarquerez que vous pouvez utiliser l’interface de Mame seule et cette utilisation peut suffire pour une simple configuration Arcade n’intégrant aucune autre option. Pour cela, il suffit de lancer Mame au démarrage de Windows et de sélectionner le jeu (en ayant pris soin de configurer les contrôles au joystick). Mais dans le cas de la présence de plusieurs émulateurs (en l’occurrence Mame et Daphne en ce qui concerne notre projet) voire d’autres programmes annexes, un Front-End devient indispensable.

Nous pouvons maintenant passer à la configuration d’Atomic FE, le Front-End en question.