En fait j'ai fini par découvrir que la librairie SDL2 que le nouveau Mame utilise désormais semble buggée, à moins qu'elle ne soit pas correctement implémentée dans Mame.
Heureusement il est encore possible de forcer l'utilisation de la librairie SDL1.2, à condition de le préciser lors de la compilation !
Compilation de mame 0.161 :
- Installation des dépendances :
apt install -y build-essential libgtk2.0-dev libgnome2-dev libsdl1.2-dev libqt4-dev libqt4-gui libsdl-ttf2.0-dev libsdl2-ttf-dev libsdl2-dev qt5-default
Les commandes :
gcc -v g++ -v
Doivent renvoyer qu'il sont en version 4.9 (ou plus ??), c'est le cas avec Debian 8, mais pas avec Ubuntu 14.04LTS.
Il existe un PPA permettant de les installer :
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-4.9 g++-4.9
Puis il faut indiquer au système de les utiliser à la place des anciennes version (4.8) :
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 10 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 10 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
- Préparation des sources :
Télécharger et dézipper les sources depuis mamedev.org, ou en annexe de ce billet.
apt install unzip unzip mame0161s.zip -d mame0161s cd mame0161s unzip mame.zip chmod +x makefile
- Toujours depuis le dossier mame0161, patcher les sources pour la prise en compte des hiscores [1] et la suppression du nagscreen [2] :
patch -p0 -E < hi_161.diff
Il est possible que le message (Stripping trailling CRs from patch; use --binary to disable.) apparaisse… on s'en fou :)
- Compilation avec SDL1 :
make -j4 SDL_LIBVER=sdl mv mame64 mame64_0161-SDL1-highscore_debian
-j2 pour un processeur double cœur, -J4 pour quatre cœur, etc… Ça permet de compiler plus vite !
Le binaire de mame 0.161 :
Voilà donc c'est tout, reste à créer le mame.ini :
./mame64_0161-SDL1-highscore_debian -createconfig
Veiller à ce que le binaire soit bien marqué exécutable.
- Si par hasard vous vouliez utiliser ce binaire sur votre Ubuntu ou Debian, il suffit de le télécharger en annexe de ce billet, puis d'installer les paquets requis à son exécution :
apt install libsdl-ttf2.0-0 libgtk2.0-0 libqtgui4 libgconf-2-4
Ressources :
1 De Sacha -
Bon tuto ! Juste deux petites corrections: il te manque "sudo" devant les deux "apt install" et l'option de make "-j2" parallélise sur 2 coeurs et ainsi de suite.
A plus
2 De Guillaume Munoz -
Sympa le tuto! Mais mame 0.172 est sorti ^^ et en plus il supporte les highscore d'office enfin, juste parfait mame maintenant!
Aller hop on recompile ;)
3 De Makoto -
Merci à vous :)
@Sacha, C'est corrigé !
Au détour d'un tuto il y a longtemps, j'avais cru comprendre qu'il fallait indiquer +1, mais je me suis sûrement fait induire en erreur par méconnaissance et je n'avais pas remis en question la chose depuis.
@Guillaume Munoz, C'est une bonne nouvelle ça ! Cependant afin de rester compatible avec le pack de rom 0161, je ne recompilerais pas de si tôt. Sauf si les performances d'émulations des jeux qui me sont cher s'améliorent dans de futures versions.