Ceci est une ancienne révision du document !
Émulateur de bornes d'arcade : XMAME
XMAME est un émulateur de borne d'arcade, celles qu'on trouve dans les cafés et les salles de jeu. Cet émulateur est capable de reproduire à la perfection le fonctionnement de très nombreuses machines ayant des hardwares bien différents.
XMAME est basé sur MAME (Multiple Arcade Machine Emulator).
MAME et son dérivé XMAME sont sous copyright bien que les sources soient disponibles.
Installation
Automatisée
- Activez les dépôts multiverse
- Installez les paquets xmame-x et xmame-sdl
- Vous pouvez choisir une interface graphique tel que par exemple KXMame
Compilation
Récupérer les sources sur le site internet EmuWiki, décompressez les dans un répertoire et éditez le fichier makefile
.
Pour générer xmame.x11, il faut décommenter certaines lignes :
... DISPLAY_METHOD = x11 ... X11_OPENGL = 1 ... JOY_SDL = 1 ##support du joystick par les lib. SDL
Les sources ne contenant par de fichier configure
la compilation se fera de la façon suivante :
make sudo make install
Configuration
Ajout des répertoires
Créer des répertoire :
sudo mkdir /usr/share/xmame/roms =>rompath sudo mkdir /usr/share/xmame/samples =>samplepath sudo mkdir /usr/share/xmame/artwork =>artwork_directory
Et autoriser l'écriture :
sudo chmod 777 -R /usr/share/xmame/*
Fichier xmamerc
Le répertoire /etc/xmame/ contient un fichier xmamerc
qu'il est indispensable de configurer en fonction des répertoires qui existent vraiment. Éditez le fichier /etc/xmame/xmamerc :
... ### Data files/directories ### rompath /usr/share/xmame/roms ##éditez cette ligne samplepath /usr/share/xmame/samples ##celle ci artwork_directory /usr/share/xmame/artwork ##et les suivantes cheat_file /usr/share/xmame/cheat.dat hiscore_file /usr/share/xmame/hiscore.dat history_file /usr/share/xmame/history.dat mameinfo_file /usr/share/xmame/mameinfo.dat ### System-wide Configuration directories ### inipath /etc/xmame/ini ctrlr_directory /etc/xmame/ctrlr ...
De cette façon :
... ### Data files/directories ### rompath /dossier/de/votre/choix ##de cette façon samplepath /dossier/de/votre/choix ## artwork_directory /dossier/de/votre/choix cheat_file /dossier/de/votre/choix/cheat.dat hiscore_file /dossier/de/votre/choix/hiscore.dat history_file /dossier/de/votre/choix/history.dat mameinfo_file /dossier/de/votre/choix/mameinfo.dat ### System-wide Configuration directories ### inipath /etc/xmame/ini ctrlr_directory /etc/xmame/ctrlr ...
Configurer le clavier
Durant le jeu, la touche [TAB] permet de rentrer dans l'interface de configuration, vous pouvez donc régler les actions associées à chaque touche, n'oubliez pas de configurer le insert coin (Mettez la monnaie ).
Si certaines touches ne fonctionnent pas (Les touches par défaut pour "insert coin" et "start" par exemple), c'est parce que vous n'utilisez pas de clavier américain. Ceci est particulièrement embêtant si vous utilisez un joystick mappé sur les touches du clavier comme le Hotrod SE, car vous ne pouvez pas configurer d'autres touches. L'utilisation d'un frontend comme KXMame devrait vous faciliter la tâche pour régler votre problème, mais si vous préférez la version en ligne de commande, ajoutez ceci à votre fichier /etc/xmame/xmamerc
:
### SDL keys remapping ### sdlmapkey 0xb2,0x29 sdlmapkey 0x26,0x2 sdlmapkey 0xe9,0x3 sdlmapkey 0x22,0x4 sdlmapkey 0x27,0x5 sdlmapkey 0x28,0x6 sdlmapkey 0x2d,0x7 sdlmapkey 0xe8,0x8 sdlmapkey 0x5f,0x9 sdlmapkey 0xe7,0xa sdlmapkey 0xe0,0xb sdlmapkey 0x29,0xc sdlmapkey 0x3d,0xd sdlmapkey 0x41,0x10 sdlmapkey 0x5a,0x11 sdlmapkey 0x5e,0x1a sdlmapkey 0x24,0x1b sdlmapkey 0x51,0x1e sdlmapkey 0x4d,0x27 sdlmapkey 0xf9,0x28 sdlmapkey 0x2a,0x29 sdlmapkey 0x57,0x2c sdlmapkey 0x2c,0x32 sdlmapkey 0x3b,0x33 sdlmapkey 0x3a,0x34 sdlmapkey 0x21,0x35
Ces codes sont valables pour un clavier français uniquement.
Configurer le joystick
XMAME supporte les joysticks, à partir du moment où le noyau Linux les gère. Pour cela il faut installer les paquets xserver-xorg-input-joystick et libjsw2 :
sudo apt-get install xserver-xorg-input-joystick libjsw2
Vous pouvez aussi utiliser des utilitaires d'aperçu et de configuration de vos pads en installant les paquets joystick et jscalibrator :
sudo apt-get install joystick jscalibrator
Pour vérifier que le joystick est bien pris en charge par le noyau :
lsmod | grep joydev => module noyau joystick ls /dev/input/js* => doit renvoyer une ligne par joystick /dev/imput/js0, 1 ...
Certaines options en ligne de commande permettent de tester le fonctionnement du / des joystick :
- Indiquer le chemin vers le(s) périphérique(s) joystick :
xmame.x11 <rom> <option video> -jdev /dev/input/js
- Indiquer le type de joystick : Ici 5 correspond à un support joystick SDL, à remplacer par 1 si le joystick doit être pris en charge en standard :
xmame.x11 <rom> <option video> -jdev /dev/input/js -jt 5
NOTE : Le paquet jscalibrator installe un utilitaire de calibration qui pourrait vous servir. Il est accessible par le menu Applications/Accessoires/Joystick Calibration
Testons l'installation de XMAME
xmame.x11 ou xmame.SDL
Supposons que je possède dans mon salon la borne "Street Fighter Alpha 2", qu'en plus j'ai réussi à trouver le fichier rom correspondant "sfa2.zip" et que la rom et les bios soient dans le répertoire rom, je peux alors tester XMAME.
Avec xmame.x11 :
xmame.x11 sfa2 -vidmod 2 -fullscreen -afs ##vidmod2=openGL afs=autoframeskip
Avec xmame.SDL :
xmame.SDL sfa2 -ef 2 -ws 2 -hs 2 -fullscreen -afs ##ef 2=effet diminuant les scanlines, ws et hs=augmenter par 2 la taille de la fenêtre
Consulter l'aide
Pour connaître toutes les options possibles de XMAME, il y a 2 possibilités :
- Via Konqueror (
man:xmame
) ou bien via la console :
man xmame
- Consulter le help :
xmame --help
BIOS et ROM
Là, ça se complique, il faut mettre les bios et les roms (Dont vous possédez l'original bien sûr), dans le répertoire roms
.
Où trouver les bios pour XMAME ? Par exemple sur google (En tapant par exemple bios NeoGeo).
Où trouver les roms ? Vous disposez bien sur toujours de google (En tapant rom nom du jeu).
Vous trouverez également des roms légalement téléchargeables pour un usage non commercial sur ce site.
Les GUI / Interfaces graphiques
Les possibilitées sont nombreuses, GXMame fonctionne à condition de compiler la dernière version, KXMame fonctionne quant à lui avec SDLMAME (Disponible via Adept ou bien Synaptic).
GXMame
Installation
http://gxmame.sourceforge.net/
Après avoir téléchargé et dezippé les sources gxmame-0.35beta2.tar.gz, on ouvre une console dans le répertoire des sources et on tape :
sudo apt-get install build-essential libexpat1-dev zlib1g-dev libgtk2.0-dev ./configure make sudo make install //ou bien: sudo checkinstall //si vous avez l'habitude de checkinstall
GXMame nécessite les paquets -dev suivant: GTK+ 2.4 (libwxgtk2.6-dev ?), zlib-dev, libexpat1-dev.
GXMame sera installé et sera disponible dans le menu jeux ou dans une console via la commande gxmame
.
Utilisation
Gxmame nécessite d'être configuré ; Il faut renseigner la liste des répertoires :
- roms et bios : /usr/share/xmame/roms/
- l'exécutable Xmame.x11 et/ou xmame.SDL : /usr/games
- chemin vers catver (Provenant de l'archive catver.zip)
- chemin vers d'autres fichiers (non indispensables) à télécharger préalablement via la documentation en ligne de gxmame.
Ensuite il faut reconstruire la liste des jeux, puis appuyer sur [F5] pour rafraîchir l'interface, la liste des jeux apparaît quant à elle dans "available".
Chaque jeu peut avoir sa propre configuration, et le résultat est vraiment à la hauteur.
Installation graphique facile
Autre solution (Tester sur Ubuntu 7.10 Gusty Gibbon) : Installer directement GXMame à partir du paquet suivant : http://sourceforge.net/projects/gxmame/files/gxmame/0.35beta2/gxmame_0.35beta2-1_i386.deb/download
Ajouter vos Roms dans le répertoire : /usr/share/games/xmame/roms
, et le tour est joué !
KXMame
- Le meilleur GUI pour xmame.SDL.
- Prends en charge le plein écran et les manettes.
- Capable de construire une liste de jeux.
- Il fonctionne avec les paquets xmame-sdl et xmame-common
Si vous souhaitez l'installer à partir des sources, rendez vous à cette adresse : kde-apps.org
Utilisation
KXMame nécessite d'être configuré. Il faut renseigner :
- La liste des répertoires roms et bios : /usr/share/xmame/roms/
- Les pads : Dans le menu Settings>Configure kxmame…>Contrôleurs changer le "joystick device prefix" par /dev/input/js
- Ensuite, dans le menu File sélectionner Audite tous les jeux
Pour un meilleur rendu vous pouvez utiliser l'effet deluxe scanlines pour affichage.
Erreurs connues
Si vous n'arrivez pas à copier les bios et les roms dans le répertoire /usr/share/xmame
:
Utilisez la commande suivante afin d'avoir l'accès au dossier :
sudo chmod -R a+rwx /usr/share/xmame
Si vous obtenez ce message d'erreur :
ERROR: required files are missing, the game cannot be run.
C'est que vous n'avez pas indiqué le bon chemin vers la rom ou le sample , ou que vous avez lancé la rom au lieu du sample.
"Un sample est un supplément essentiel au jeu , c'est lui qui définit le paramètre linguistique à utiliser".
Exemple pour le jeu "Marvel vs. Capcom" : Le nom de la rom est mvsc et le nom du sample US est mvscu.
Si vous obtenez ce message d'erreur :
cannot access OpenGL library libGL.so
Essayez de créer un lien symbolique vers la librairie OpenGL :
sudo ln -s /usr/lib/libGL.so.1 /usr/lib/libGL.so sudo ln -s /usr/lib/libGLU.so.1 /usr/lib/libGLU.so
Sinon vous devrez soit installer xmame-sdl et l'utiliser via une commande de ce type :
xmame.SDL -jdev /dev/input/js -jt 1 -fullscreen -afs <rom>
Soit compiler XMAME comme expliqué plus haut.
Si la rom n'est pas en plein ecran avec KXMame :
Choisissez pour Effets : scale2x (smooth scaling effect)
Webographie
À lire
Alternatives à XMAME
SDLMAME, une version alternative de MAME pour les Unix, basé sur les librairies SDL. Il est présent dans les dépots officiels depuis peu, pour les anciennes versions d'Ubuntu vous pouvez utiliser le dépôt suivant : apt.ludomatic.fr.
Contributeur : article proposé par manu_newbie