Emulateurs de jeux

De Diablotins.org.


Mais où j'ai mis mon joystick !?
Nostalgiques, à vous de jouer

Image:brush.png


Afin d'utiliser des logiciels venant d'autre plate-formes,
- vous êtes nostalgiques de Multiplan sous MS-DOS, de l'AmigaOS, des applications CP/M pour Amstrad ou vous voulez corriger le bug du niveau 256 de Pacman.

...

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.



Sommaire

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

Stonekeep sous DOS

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.

Sorcery+ sous Amstrad CPC6128

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.

PuckMan, l'original

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.

Plus !

Projets :