Installer et jouer à MAME sous Ubuntu !

Par le dans . Marqué comme , , avec 9 Commentaires

Installer et jouer à MAME sous Ubuntu !

Hello,

En faisant un peu d’archéologie dans mes disques durs, je suis tombé sur un bon gros répertoire compressé appelé « MAME ». Il traînait bien sagement depuis des lustres.

C’est à ce moment que je n’ai pas pu m’empêcher de sourire … Plus d’une centaine de roms set pour l’émulateur MAME qui m’attendaient sagement :D

Pour ceux qui n’ont jamais eu la chance d’utiliser cet émulateur, en voici une rapide description (Merci Wikipedia) :

MAME, acronyme signifiant « Multiple Arcade Machine Emulator » 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, 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.

Plus quelques informations utiles pour les plus curieux d’entre vous :

Développeurs Nicola Salmoria et l’équipe MAME
Dernière version 0.166 (30 septembre 2015) [+/-]
Écrit en C++
Environnements Multiplate-forme
Langue Anglais
Type Émulateur
Licence Personnalisée, puis BSD modifiée
Site web www.mamedev.org

Du coup, en voyant cela, ma souris n’a pas pu s’empêcher de lancer une machine virtuelle tournant sous Ubuntu 15.04 LTS et mon clavier s’est soudainement mis à tapoter dans un Terminal des lignes de commandes, un peu comme celles qui suivent ^^

L’émulateur MAME, OK, comment ça s’installe ?!

Vous allez voir, rien de bien compliqué pour ceux qui n’ont pas peur d’ouvrir une console.

Installation du paquet Mame :

sudo apt-get install mame

Une fois l’émulateur installé, n’hésitez pas à jeter un petit coup d’œil à l’aide :)

mame -help affichage

Pour information, voici la liste des commandes fournies par MAME (version utilisée pour la rédaction de cet article : M.A.M.E. v0.160 (Mar 31 2015) – Multiple Arcade Machine Emulator)

Usage:  MAME [game] [options]

        MAME -showusage    for a brief list of options
        MAME -showconfig   for a list of configuration options
        MAME -listmedia    for a full list of supported media
        MAME -createconfig to create a mame.ini

Il faut maintenant demander à MAME de générer son fichier de configuration avec les commandes suivantes :

mkdir $HOME/.mame && cd $HOME/.mame/
mame -createconfig # génère un fichier de configuration à partir du template qui se trouve dans /etc/mame et le dépose là où vous vous trouvez

En fouinant dans ce fichier de configuration, il se trouve que j’ai trouvé quelques informations intéressantes (c’est d’ailleurs comme cela que j’ai personnalisé la configuration de MAME sur ma machine) :

grep -e "\$HOME/.*mame/" $HOME/.mame/mame.ini

Exemple de retour de cette commande :

rompath                   $HOME/.mame/roms;/usr/local/share/games/mame/roms;/usr/share/games/mame/roms;/chemin/vers/repertoire/roms/mame
samplepath                $HOME/.mame/samples;/usr/local/share/games/mame/samples;/usr/share/games/mame/samples
artpath                   $HOME/.mame/artwork;/usr/local/share/games/mame/artwork;/usr/share/games/mame/artwork
cheatpath                 $HOME/.mame/cheat;$HOME/.mame/cheat/cheat;/usr/local/share/games/mame/cheat;/usr/local/share/games/mame/cheat/cheat
crosshairpath             $HOME/.mame/crosshair;/usr/local/share/games/mame/crosshair
cfg_directory             $HOME/.mame/cfg
nvram_directory           $HOME/.mame/nvram
memcard_directory         $HOME/.mame/memcard
input_directory           $HOME/.mame/inp
state_directory           $HOME/.mame/sta
snapshot_directory        $HOME/.mame/snap
diff_directory            $HOME/.mame/diff
comment_directory         $HOME/.mame/comments

Comme vous pouvez le remarquer, j’ai édité le fichier mame.ini afin de demander à MAME d’utiliser le répertoire .mame précédemment créé comme « workspace ». C’est à dire que je lui ai demandé d’utiliser ce répertoire pour stocker les ROMS, ARTPATH, SAMPLES etc.

J’ai également ajouté un chemin supplémentaire à la configuration du paramètre rompath afin qu’il pointe également vers le fameux répertoire dont je vous parlais un peu plus tôt.

Voici ce que cela donne lorsque qu’aucun jeu n’est présent dans la bibliothèque de l’émulateur :

Absence de roms = MAME pas content

Pas de bras … pas de chocolat, comme on dit :)

J’ai donc été « obligé » de générer manuellement l’arborescence que MAME s’attend à trouver afin qu’il puisse y déposer ses affaires pour notre plus grand plaisir :)

mkdir -p $HOME/.mame/{roms samples artwork cheat crosshair nvram memcard inp sta snap diff comments}

Pour lancer l’émulateur, un petit « mame » dans un Terminal fait l’affaire !

MAME et jeux disponibles

ici, MAME a été lancé et propose une liste de jeux présents dans sa bibliothèque

MAME installé, OK, on joue à quoi du coup ?!

Ah, c’est ici que les ennuis commencent. En effet, à part ce fameux répertoire que j’ai retrouvé sur un de mes disques laissés à l’abandon pendant plusieurs années (mais chuuuuuuuuut faut pas le dire), je vous avoue qu’il n’est pas aisé de s’en procurer sans outre-passer les lois du droit d’auteur (© Copyright madness).

Voici à peu près les seules options qui se présentent à vous si vous souhaitez respecter la loi :

  • Vous pouvez obtenir une licence vous permettant d’utiliser un « ROM set » avec l’achat du dit-jeu en version matérielle
  • Vous pouvez avoir accès à un des ensembles de ROMS qui ont été rendus publics pour un usage non-commercial seulement
  • Vous pouvez acheter une borne d’arcade réelle, lire les « ROMS set » vous-même, et laisser MAME utiliser ces données

Après avoir lu cela, vous êtes informés et je décline donc toute responsabilité concernant ce point, mais j’ai tout de même réussi à vous trouver quelques jeux disponibles en libre accès pour votre plus grand bonheur :

Mais pour être honnête, cela ne vaut pas un bon « Metal Slug » bien à l’ancienne, ou encore une partie de « Neo Bomberman » :)

Petits conseils de dernière minute :

** N’hésitez pas à fouiner dans les paramètres de l’émulateur, il y a énormément de choses à personnaliser comme par exemple les raccourcis claviers ou les réglages de l’interface. Pour faire cela, avec les touches fléchées de votre clavier, sélectionnez Configure General Inputs et laissez votre imagination s’exprimer !

** Afin de vérifier si les ROMS que vous possédez sont compatibles avec votre version de MAME, une fois que vous êtes dans le répertoire de votre machine qui contient les ROMS auxquels vous souhaitez jouer, je vous conseille cette petite ligne de commande :

mame -verifyroms "nom-du-jeux"

Exemple de retour de cette commande : mame -verifyroms "starfire"

romset starfire is good
1 romset found, 1 were OK.

** Les ROMS sont disponibles sous forme d’archives compressées (format ZIP), il n’est pas utile de les décompresser. MAME est capable d’extraire et de lire les fichiers dont il a besoin et cela sert également à conserver l’ensemble des fichiers nécessaires à un jeu, sous forme de paquet unique.

** Je décris dans cet article l’utilisation de MAME pour Ubuntu, mais sachez que cet émulateur est multiplate-forme. Des versions pour Windows et Mac OS X sont également disponibles !

Sur ce, je vous laisse, j’ai quelques souvenirs à réanimer :)
Une petite partie de StarFire sous MAME, ça vous tente ?Une petite partie d'AirBurner2 sous MAME, ça vous tente ?

Sources utilisées pour la rédaction de l’article :
* Le wiki officiel de mamedev.org bien entendu : wiki.mamedev.org
* Le site Upubuntu qui m’a aidé sur la génération de l’arborescence de MAME : upubuntu.com
* Et bien entendu, l’encyclopédie libre Wikipédia : wikipedia.org/wiki/MAME

Sources des images utilisées en illustrations :
* L’illustration principale provient de l’encyclopédie libre Wikipédia
Pour information, ce logo est une marque déposée soumise au droit d’auteur. En France, sa mise à disposition est autorisée dans la limite des droits accordés par l’article L713-6 alinéa b du Code de la propriété intellectuelle et est reproduite ici en vertu de ces droits.
* La totalité des imprimes écrans ont ensuite été réalisés par mes soins avec l’application « screenshot » installée par défaut sous Ubuntu.

9 Commentaires


  1. Bonsoir.

    Ayant joué ado sur bornes d’arcade, je trouve mame super.
    Le adaptation NES et autres des jeux n’ont rien à voir.

    J’utilise Mame sur Ubuntu depuis 2009, donc je me permet une précision.

    Avant sur Ubuntu c’était sdlmame. Le dev de Mame avait un site ou il proposait des mises à jour en fonction des distribution et il n’y avait aucun problème lors de la mise à jour du soft.

    Mais depuis quelques années ça a changé. SDLmame est devenu Mame dans les dépôts et depuis si l’on veut utiliser les dernières rom il faut utiliser le dépôt Launchpad qui installe aussi Mess, et ça faut le bordel.

    On peut perdre les sauvegardes d’anciennes parties.

    • Hello,

      En effet, j’ai vu passé dans la documentation des histoires concernant MESS.
      J’avoue ne pas avoir creuser plus que ça à ce sujet, à priori, il s’agirait de la fusion de 2 émulateurs.

      J’avais joué avec MAME il y a de ça de très nombreuses années, mais sur Windows seulement. C’est donc la première fois que j’utilise MAME sous Ubuntu ^^
      Une chose est sûr, pas mal des ROMS que je possédais ne sont maintenant plus compatibles avec la nouvelle release de MAME …

      Merci pour ces précisions en tout cas, j’espère ne pas avoir dit trop d’âneries au sujet de cet émulateur.
      Si tu as d’autres retours d’expériences à faire, je suis preneur !

  2. Tu n’as pas dit d’âneries. Perso je n’utilise Mame que sur Ubuntu. Je ne connais pas sur Windows que j’ai abandonné depuis 2008.

    J’utilise Ubuntu en install minimale depuis 2008 et utilise sans problème Mame pour Buble bobble, Ghosts’n Goblins, Rygar, etc des jeux de cette époque.

    Par contre il faut faire attention aux version de Mame utilisées si on ne veut pas perdre d’ancienne partie.

    Perso mes rom de départ viennent de http://www.romnation.net/

    Pour les roms qui nécessitent une version de Mame plus récente, je télécharge le paquet, le décompresse, et fais pointer via des liens symboliques le tout vers d’autres dossiers.

    Exemple je lance Mame de départ via mame depuis le terminal mais si j’ai besoin d’une version plus récente qui fait planter la précédente version je renomme la version suivante style : mv mame mame01 et je fais pointer le tout sur un autre dossier.

    • J’ai également quitté le monde Windows vers 2008/2009 et j’avouerai que depuis, je n’avais pas rejoué à MAME.

      Merci pour le partage du lien, je vais aller y faire un tour pour voir quels ROMS sont disponibles.
      Pas super pratique cette histoire changement de versions de MAME, les devs auraient nous faire un truc « rétrocompatible » …

      Encore une fois, merci pour toutes ces informations !

  3. Bonsoir.

    Comme je te disais ce n’était pas le cas lorsque c’était sdlmame.
    Lorsque c’était sdlmame je faisais les mises à jour régulièrement parce que je n’avais aucun problème de compatibilité.

    J’avais même modifié la page de doc d’Ubuntu https://doc.ubuntu-fr.org/xmame?do=revisions pour indiquer où on pouvait télécharger les dernières versions de sdlmame parce que les versions disponibles sur Launchpad installaient des dépendances inutiles dans 99% des cas.

    À un moment j’avais bien pensé à comparer les codes source de sdlmame et de mame pour éviter d’avoir à refaire tous mes réglages à chaque fois (manette et tous) mais comme je n’utilise que des LTS d’ubuntu, que le passage de sdlmame à mame est intervenu alors que j’utilisais encore Lucid et le développement est assez soutenu il m’aurait fallu comparer trop de versions même en lisant les changelogs.

    Du coup je ne fais des mises à jour de mame que si c’est réellement nécessaire.
    Avant je teste sur un pc qui me sert pour les tests ou avec la méthode précédemment citée.

    Là j’utilise sur Precise la version 0.154 alors que la version des dépôts est la 0.145.
    Comme je vais à un moment devoir installer la 16.04 à venir, avoir une version plus récente de mame et que j’ai pas envie de perdre mes réglages ou mes sauvegardes de parties surtout que sur Bubble Bobble il n’y a plus de continu arrivé à un certain niveau et que je suis obligé de tricher en faisant une partie avec deux bonhommes, ça me ferait chier d’avoir à recommencer depuis le début surtout que ça fait pas loin de trente ans que j’ai envie de le finir. :D

    Au pire j’utiliserai la version 0.154 sur la 16.04 si je n’ai pas réussi à finir le jeu en refaisant la liste des dépendances du paquet pour qu’il s’installe sans problème sur la 16.04.

  4. Salut,
    Pour ma part je viens de me mettre à Ubuntu. Et en plus je découvre MAME avec ce site.
    Du coup comme j’ai un projet de création d’une borne d’arcade je me suis lancé.

    Cependant après avoir installé mame je ne parviens pas à installer les fichiers roms que je télécharge dans le dossiers roms selon l’arborescence pour que mame puisse les trouver.
    Sauriez vous pourquoi ?
    Ou à défaut comment je devrais procéder ?
    Je suis plutôt débutant dans ce domaine. Ecrire des trucs dans un terminal c’est une grande première pour moi. Et les émulateurs aussi. Du coup j’ai bien aimé ce tuto plutôt précis (pas à pas) mais il m’a manqué la partie installation des Roms une fois téléchargé ^^
    Merci par avance pour vos retours ^^

    • Hello Noureddine,

      Dans le billet, je parle à un moment de « rompath ». Cette variable que tu peux trouver dans le fichier de configuration de MAME (mame.ini) permet d’indiquer à l’émulateur où trouver les ROMS que tu souhaites installer.
      Normalement, il te suffit de télécharger les ROMS et de les copier dans le répertoire indiqué par la variable « rompath ». Ensuite, rien de plus à faire, MAME s’occupe du reste et tu pourras ensuite trouver les jeux dans l’émulateur et les démarrer.

      N’hésites pas à repasser par ici si tu galères trop =)

  5. Salut Joël,
    je te remercie pour ta réactivité ^^
    En fait j’ai bien fait cela. J’ai après beaucoup de mal, réussi à mettre mes roms télécharger dans le dossiers en question.
    Je n’arrivais pas à les y mettre car je n’avais pas les droits administrateurs ou propriétaire. Il m’a fallu solutionner ce problème en passant par une ligne de code « Sudo chown … » via le terminal pour me définir comme le propriétaire des fichiers.

    Une fois mes fichiers Roms mis dans le dossier « roms » selon l’arborescence décrite par le « rompatch » trouvé dans le « mame.ini » je pensais que j’en avais fini avec mon calvaire mais …c’était sans compter sur ce message d’erreur de MAME lorsque je clique sur le jeu à lancer :
    « The selected game is missing one or more required ROM or CHD image.Please select a different game. »
    Du coup c’est un peu la loose…

    • Hello Noureddine,

      Hummm, ce message d’erreur me fait penser à une chose … Tu les as téléchargé où tes ROMS ?
      En gros, les fichiers que tu donnes à manger à MAME ne sont pas complets, du coup, pour régler ce problème, je ne vois qu’une chose, essayer de re-télécharger les jeux qui sont défaillants. J’ai indiqué plusieurs liens dans le billet où tu peux en trouver pas mal. Un des postes de Vikin indique un lien qui a l’air pas mal aussi ;)

      @+

N'hésitez pas, laissez un commentaire — DoFollow activé sur ce site —


« »