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é et les salles de jeu. cet émulateur est capable de reproduire à la perfection le fonctionnement de très nombreuses machines ayant des harware 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épots multiverse. Installez les paquets xmame xmame-X xmame-SDL ainsi que kxmame, une interface graphique pour xmame/KDE.
Xmame.x11 propose une utilisation d'openGL et de X. Xmame.SDL propose une utilisation des librairies SDL
Compilation
Récupérer les sources sur le site internet http://x.mame.net/, décompressez 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):
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 », il est indispensable de le 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 ...
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 '/rom'.
Où trouver les bios pour Xmame ?
Par exemple sur google
(En tapant par exemple bios megadrive).
Où trouver les roms ?
Vous disposez bien sur toujours de google
(En tapant roms nom du jeu)
Vous trouverez également des roms légales sur le site Consolemul.
testons l'installation de xmame
xmame.x11 ou xmame.SDL
Supposons que je possède dans mon salon la borne Street Fighter Alpha 2 et qu'en plus j'ai réussi à trouver le fichier rom correspondant 'sfa2.zip', que la rom et les bios soient dans le répertoire 'rom', je peux 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 fenetre
consulter l'aide
pour connaitre toutes les options possible de xmame, il y a 2 possibilités :
- via konqueror ( man:xmame )ou la console:
man xmame
- consulter le 'help':
xmame --help
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 par de configurer l"inser 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 HotrodSE car vous ne pouvez pas configurer d'autre 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.
le joystick
Xmame supporte les joysticks, à partir du moment où le noyau linux les gère. Pour cela il faut installer plusieurs paquets via Adept ou Synaptic: xserver-xorg-input-joystick , 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 , les paquets :joystick, 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
les GUI / interfaces graphiques
les possiblités sont nombreuses, Gxmame fonctionne à condition de compiler la dernière version, kxmame marche avec SDL mame ( disponible via Synaptic
gxmame
installation
http://gxmame.sourceforge.net/
Après avoir téléchargé et dezippé les sources gxmame-0.35beta2, on ouvre une console dans le répertoire des sources et on tape:
./configure make sudo make install //ou bien: sudo checkinstall //ou 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 ou/et xmame.SDL (vous trouverez rapidement avec la commande 'whereis xmame' tapée dans un console)
- chemin vers 'catver' (provenat de l'archive catver.bz2
- 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 [F5] rafraichir l'interface, la liste des jeux apparait dans 'available'.
Chaque jeux peut avoir sa propre configuration, et le résultat est vraiment à la hauteur.
Installation graphique facile
Autre solution rapide et facile qui fonctionne sur Gusty (non testé sur les anciennes versions) : Installer directement gxmame à partir du paquet suivant : http://downloads.sourceforge.net/gxmame/gxmame_0.35beta2-1_i386.deb?modtime=1113156184&big_mirror=0
Ajouter vos Roms dans le répertoire : /usr/share/games/xmame/roms, et le tour est joué!
kxmame
Il est disponible dans adept, ou sur kde-apps.org (si vous souhaitez installer à partir des sources, actuellement, la version 2.0beta est disponible).
Problème:
-Fait planter X, nécessitant de changer de terminal [ctrl]+[alt]+[Fx] puis [ctrl]+[alt]+[F7]
-Plante régulièrement, je ne suis pas arrivé jusqu'à lancer xmame via kxmame
-Capable de créer une liste des jeux (enfin!)
Erreurs connues
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 supplement 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
Vous n'aurez alors soit d'installer xmame-sdl via synaptyc , et de l'utiliser via une commande de ce type :
xmame.SDL -jdev /dev/input/js -jt 1 -fullscreen -afs <rom>
.
soit de compiler xmame comme expliquer plus haut.
webographie
à lire
alternatives à xmame
SDLMAME, une version alternative de MAME pour les unix, basé sur les librairies SDL. Un paquet à jour est disponible pour Ubuntu sur le dépôt apt.ludomatic.fr.
Contributeur : article proposé par manu_newbie