Emulateurs de jeux
De Diablotins.org.
| Mais où j'ai mis mon joystick !? Nostalgiques, à vous de jouer |
| ||
|
... bon, en fait, toute hypocrisie mise à part, vous voulez jouer. nous allons voir divers émulateurs permettant de réutiliser votre machine, comme un PC sous DOS, machines d'arcade, «ordinosaures» etc. |
|
Pré-requis
Les supports de ces jeux sont souvent des images ISO ou des ROMS. Créez un groupe d'utilisateurs autorisés à jouer, par exemple «joueurs».
pw -group add joueurs -m david, patrick, lecid
Créez ensuite un répertoire dédié aux jeux:
mkdir -p /usr/local/share/games mkdir -p /usr/local/share/games/mameroms mkdir -p /usr/local/share/games/pciso chown -R :joueurs /usr/local/share/games
où vous copierez les originaux des jeux.
DosBox
DosBox va vous permettre de faire tourner un vieux MS-DOS pour IBM-PC dans votre FreeBSD.
Installez le port emulators/dosbox et lancez:
dosbox
Montez vos disques "virtuels":
mount C /ur/local/share/game/dosgames mount D /usr/home/david/dvdrom
et utilisez les, comme si vous étiez désormais sous DOS.
En émulation, vous pouvez créer un fichier de configuration: tapez:
config -writeconf maconfig.rc
Et l'utiliser ensuite:
dosbox -config maconfig.rc
Pour monter un iso, sous dosbox:
imgmount D c:/pciso/jeu.iso -t iso
Vous pouvez aussi utiliser la technique des média virtuels, mais certains jeux ne reconnaissent pas le lecteur CD ainsi.
Exemple
Vous voulez jouer à Constructor dont vous avez obtenu le fichier ISO. Copiez là dans /usr/local/share/games/dosgames/iso/.
Lancez l'émulation:
$ dosbox Z:\ keyb FR Z:\ mount C /usr/local/share/games/dosgames/ Z:\ imgmount D C:/PCISO/CONSTR~1.ISO -t iso Z:\ D: D:\ INSTALL
Installez le jeu, dans sa version minimale, puis créez un fichier de configuration constructor.rc, qui exécuté comme suit:
D:\ config -writeconf constructor.rc
s'installe dans /usr/local/share/games/dosgames/
Editez le pour changer les paramètres suivants:
[sdl] fullscreen=true fulldouble=false fullresolution=original windowresolution=original output=overlay [render] frameskip=0 aspect=true scaler=advmame2x [autoexec] keyb FR mount C /usr/local/share/games/dosgames/ imgmount D C:/PCISO/CONSTR~1.ISO -t iso c: cd /ACCLAIM/CN GAME
Pour obtenir une résolution maximale, adapter le paramètre:
fullresolution=1280x1024
à la résolution de votre écran.
Mieux, si vous avez la carte graphique et son pilote OpenGL:
output=opengl scaler=2xsai
Pour lancer le jeu,
dosbox -conf /usr/local/share/games/dosgames/constructor.rc
Mame et Mess
Ce sont deux puissants émulateurs, l'un pour les jeux d'arcade, l'autre pour les consoles et autres ordinosaures.
Leur interface est similaire, ces programmes se lancent en lignes de commandes mais disposent de diverses interfaces graphiques.
Sous FreeBSD, les ports suivent la branche de développement principale depuis que cette dernière utilisent les bibliothèques de la SDL
.
Soit les ports:
Ensuite, chacun va créer dans votre espace, dès son premier lancement, un répertoire dédié:
~.mame ~.mess
Si vous utilisiez les précédentes versions
( avant la .136 pour M.A.M.E et .139 pour .M.E.S.S, vous utilisiez certainement SDLMame et SDLMess)
et pour ne pas avoir à les recréer, lier simplement les anciens répertoires
ln -s ~.sdlmame/ .mame ln -s ~.sdlmess/ .mess
Créez dans chacun un fichier de configuration:
mame -createconfig mame.ini mess -createconfig mess.ini
Dont vous devrez activer l'OpenGL:
# VIDEO OPTIONS # video opengl
Pour de plus amples informations:
mame -showusage > mamehelp mess -showusage > messhelp
Comme la lecture par défaut de ce fichier varie selon les versions, n'hésitez pas à déposer le fichier de configuration dans le répertoire de l'application, par exemple:
/usr/local/share/mame/mame.ini
M.E.S.S.
Multiple Emulator Super System est un émulateur qui sévit sous deux formes pour FreeBSD.
- Mess: Le port officiel
- AdvanceMess: que je ne connais pas.
Les Bios
Avant d'émuler une machine, il vous faut obtenir son bios. Diverses ressources sur Internet vous permettront de l'obtenir.
Par exemple, pour l'Amstrad, créez le répertoire idoine dans notre arborescence dédiée:
mkdir - p /usr/local/share/games/cpc/
et copiez y les bios:
cpc464 cpc6128 cpc6128f version au clavier franchouillard
puis, un jeu sur disquette:
$ ls /usr/local/share/games/cpc/*.dsk sorcerpf.dsk
Lancez le tout:
mess cpc6128 -flop1 /usr/local/share/games/cpc/sorcerpf.dsk
Les claviers
Ces machines posent un problème, leur clavier est assez particulier. Par exemple, celui de l'Amstrad français vous donnera à peu près n'importe quoi.
En fait, c'est un "patch" sur un clavier US. Donc, pour contourner le problème, patchez le aussi, dans le sens inverse.
setxkbmap -model pc101 -layout us
...pour passer en clavier US, puis lancez le bios Amstrad francophone.
mess cpc6128f -flop1 /usr/local/share/game/cpc/sorcerpf.dsk n'utilisez pas de chemin relatif
Automatiser cette fonction, à l'aide de la touche «Windows», par exemple:
setxkbmap -model pc101 -layout fr,us -variant latin9 -option grp:lwin_toggle
M.A.M.E.
Multiple Arcade Machine Emulator est un émulateur qui sévit sous deux formes pour FreeBSD.
- XMame: Obsolète, mais encore utile sur les machines peu puissantes.
- Mame: Port officiel.
- AdvanceMame: Plus complet et plus complexe dans sa gestion de l'affichage, il permet, entre autres, d'utiliser SVGALib ou diverses configuration d'écrans marginales pour un PC mais classique pour l'arcade, i.e.:les écrans 15KHz; il est préféré lorsqu'il s'agit de fabriquer une «MameCab».
Indiquez l'emplacement de vos ROMs à la rubrique rompath:
rompath /usr/local/share/games/roms
MAME
Editez le fichier de configuration pour changer les options de clavier.
mkdir -p ~/.mame mame -sc > ~/.mame/mame.ini # # SDL KEYBOARD MAPPING # keymap 1 keymap_file /usr/local/mame/keymaps/km-fr.txt
vous créera le fichier d'aide mamehelp.
XMAME
Installez le port emulators/xmame puis créez vos fichier de configuration:
xmame -sc
Votre utilisateur peut créer un fichier de config qui lui est propre.
xmame -sc > ~/.xmame/xmamerc
Notamment pour retirer les commentaires qui suivent le
### Suggested French (azerty) SDL keymap mods by Luc Saillard.
Vous pouvez aussi travailler directement sur le fichier global, /usr/local/etc/xmamerc
Les Roms
Ce sont des fichiers Zip à ne surtout pas décompresser. Vous trouverez ces roms sur de nombreux sites, comme celui-ci de fort bonne facture
Jouer
Lancer simplement:
mame LeNomDelArom mame bombjack xmame 1942
Tricher
Vous n'avez pas honte ?
Ce n'est que pur hasard si je connais la méthode pour gagner à tous les coups.
Télécharger le fichier des tricheurs, décompressez le et ajoutez les fichiers obtenus dans le répertoire de l'émulateur,
-i.e. “/usr/local/share/mame”-
- il s'agit d'une fichier “.dat” pour les versions antérieures à la 0.130, un “.zip” sinon.
Modifiez ainsi votre configuration:
cheatpath /usr/local/share/mame/cheat cheat 1
Les interfaces graphiques
Ces interfaces vont vous permettre de manipuler plus facilement vos jeux. Exemple:
La manette de jeux
M.A.M.E. et M.E.S.S. utilisant les API SDL, il n'y a normalement rien à faire au niveau du système, la manette est détectée automatiquement, comme périphérique USB, sur uhid(4).
Autorisez la manette dans le fichier d'initialisation:
# # CORE INPUT OPTIONS # joystick 1
Précisez ensuite les fonctions dédiées pour chaque type d'entrée de commande:
# # CORE INPUT AUTOMATIC ENABLE OPTIONS # paddle_device joystick adstick_device joystick pedal_device joystick dial_device joystick trackball_device mouse lightgun_device mouse positional_device joystick mouse_device mouse
Au cas où l'émulateur refuserait d'associer le joystick au périphérique du jeu, forcez la:
mame maRom -joy
Wine
Wine est le mal, un alcool à consommer avec modération, mais pour faire revivre votre ludothèque, c'est un mal nécessaire.
Une fois le port emulators/wine installé, configurez le par :
winecfg
en particulier pour déclarer un lecteur de CDROM.
Et un ersatz de MS-Windows apparaîtra dans «~/.wine/»
Puis, lancez votre logiciel par
wine ~/.wine/drive_c/Program\ Files/NomDuLogiciel.exe
Attention toutefois, si c'est un mal nécessaire, il n'est pas suffisant, les jeux qui utilisent DirectX/Direct3D ne fonctionneront pas, ces API ne sont que partiellement opérationnelles.
Consultez la liste des applications pour connaître le status de votre logiciels, voir s'il est nécessaire de le «patcher» pour le faire fonctionner.
Si vous utilisez un système 64bits, consultez cet article.

