skay.actoweb.com
mon petit cahier du libre...


accueil > linux arcadeHITS

SDLmame

par skay • modifié le 10/03/2010 04:29
SDLmame est un port fabriqué à partir des sources de MAME officiel, construit autour de la bibliothèque SDL, ce qui en fait une version très portable.
C'est aujourd'hui la seule version de MAME disponible sur les plateformes alternatives, X-MAME bloqué en 0.106 est advanceMAME pas bien mieux...

On va donc s'intéresser à SDLMAME
Certaines distributions peuvent profiter de SDLmame en version paquetage.
* Fedora : Dépot Dribble
* Ubuntu : Dépot ludomatic
* Arch Linux : Dépot Aur
pour ceux qui sont sur Debian et autres, vous devez compiler le bestiau.


Si vous avez l'intention d'enregistrer vos parties et participer à MAMESCORE, consultez d'abord cet article !

Pré-requis


L'environnement de base pour compiler...
• Et bien évidement, les libs de développement SDL, Simple DirectMedia Layer development files ... Sur Debian, en root dans une console...
# apt-get install libsdl1.2-dev


Su Fedora, en root dans une console...
# yum install SDL-devel


• On peut bien sûr faire ceci en mode graphique en utilisant synaptic, l'outil de gestion des paquets debian. Recherchez et installez le paquet libsdl1.2-dev, avec ses dépendances si besoin est...
Sur Fedora, c'est le paquet SDL-devel dont on a besoin, on pourra utiliser yumex...

On récupère les sources SDLmame


Pour cela, direction le site officiel:
http://rbelmont.mameworld.info/?page_id=163
Téléchargez le fichier sdlmameXXXX.zip
On dézippe ensuite cela

• bouton droit -> extraire ici sur le fichier en environnement GNOME
• Pour ceux qui aiment le terminal
$ cd /ou/est/
$ unzip sdlmameXXXX.zip


On prépare la compilation



Si vous souhaitez participer à MAMESCORE et soumettre des enregistrements qui pourront être validés, vous devez appliquer les patchs "wolf" pour que votre émulateur soit homologué. Trouvez toute l'info sur la page wolfSDLmame.

On prépare ensuite le fichier makefile avec son éditeur de texte préféré.
Il y a là des options diverses pour la compilation... Si vous ne modifiez pas ce fichier, un binaire générique "mame" sera créé, compatible avec la plupart des distributions et architectures courantes...

Sinon, on peut tout particulièrement adapter cette partie selon son processeur:
#------------------------------------------------------------------------------------
# for SDLMAME, set this to unix, win32, macosx, or os2 (lowercase is important!
#------------------------------------------------------------------------------------

SUBARCH = unix


#-------------------------------------------------
# specify program options; see each option below
# for details
#-------------------------------------------------

# uncomment next line to include the debugger
# DEBUG = 1

# uncomment next line to use DRC MIPS3 engine
# X86_MIPS3_DRC = 1

# uncomment next line to use DRC PowerPC engine
# X86_PPC_DRC = 1

#-------------------------------------------------
# specify build options; see each option below
# for details
#-------------------------------------------------

# uncomment one of the next lines to build a target-optimized build
# ATHLON = 1
# I686 = 1
# P4 = 1
# PM = 1
# AMD64 = 1
# G4 = 1
# G5 = 1
# CELL = 1
On notera qu'à partir de la version 0.117, aucune option de processeur n'est sélectionnée, ce n'est d'ailleurs pas plus mal à mon avis

On compile SDLmame


Tout d'abord, on va se placer dans le bon répertoire
$ cd /ou/est/sdlmameXXXX
$ make

On peut boire un café, la compilation de l'émulateur est plutôt longue, un bonne vingtaine de minutes sur un PC 1.8 Ghz 1Go de RAM...

Si tout se passe bien, la sortie est positive, l'exécutable mame (ou mamemp ou mamepp (selon les options de compilation)) est présent dans le répertoire. Pas besoin de lancer un make install, SDLMAME est disponible dans son répertoire de sources.
On va dans la foulée créér le fichier de configuration mamepp.ini
$ ./mame -createconfig

Note: Selon votre build, vous n'aurez peut-être pas un mame, mais un mamemp, mamepp... Adaptez en fonction !

On configure SDLmame


Il faut éditer le fichier mame.ini qui a été créé à l'aide de la commande précédente. On y trouvera en particulier les adresses des répertoires utiles (roms, artwork, samples, ...)
Pour plus d'infos sur le mame.ini, consultez cet article

On joue.


On peut placer un racourci direct sur la commande mame
Dans une console, en root
# ln -s /ou/est/sdlmameXXXX/mame /usr/local/bin


Attention, comme pour ZiNc, le clavier est mappé par défaut en us. Pour arranger le tout, vous pouvez modifier correctement le mame.ini depuis la version 0.117 (voir toujours cet article)
Sinon, changez le mapping du clavier avant de jouer et revenez en clavier français à la fin de la session SDLmame...
$ setxkbmap us
$ mame nomdelarom
$ setxkbmap fr



Front-end


GXmame ne fonctionne pas avec SDLmame malheureusement...
Essayez Mame Catalog
Et voyez ceci pour utiliser le mini-FE arcadeHITS







Commentaires

mrSkay le 29/12/2008 @ 18:05
Salut,
Il faudrait regarder dans le makefile du côté des lignes du makefile concernant le processeur... Eventuellement décommenter AMD64 =1 si tel est le cas...Revolver Onslaught le 29/12/2008 @ 16:01  [email]
Très bon tuto. Ca fonctionne en 32 bits mais sur ma debian en 64 bits, j'ai cette erreur:
root@neptune:~/tmp/mame/sdlmame/sdlmame0128# make
Compiling src/emu/cpu/m68000/m68kmake.c...
src/emu/cpu/m68000/m68kmake.c:1: erreur: le processeur sélectionné ne supporte pas le jeu d'instructions x86-64
make: *** [obj/sdl/mame/emu/cpu/m68000/m68kmake.o] Erreur 1
Une idée ?
Merci.


Poster un commentaire
Pseudo: (*)
email:
Site web:
Commentaire: (*)
* obligatoire

Les commentaires sont visualisés avant publication
ˆhaut