====== Emulateurs de jeux ====== {{:pacman.png?240x250 }} \\ ==== 🕹️ Mais où j'ai mis mon joystick !? ==== \\ Vous êtes nostalgique d'antiques plateformes ou architectures que vous voudriez re-découvrir.De plus vos vieux CD de [[https://www.ea.com/fr-fr/games/command-and-conquer|Command and conquer]] prennent la poussière. Nous allons voir divers émulateurs permettant de les réutiliser, 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. [[https://www.freebsd.org/doc/handbook/ports.html|Installez le port emulators/dosbox]] et lancez: dosbox keyb fr La dernière commande vos permettra d'utiliser une disposition clavier //AZERTY//. ==== Configuration ==== Montez le système: mount C /usr/local/share/games/PC et utilisez les comme si vous étiez désormais sous DOS.\\ Montez un CD virtuel à partir de son image //ISO//: 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. Préparez un fichier de configuration: david:~>dosbox -resetconf david:~>dosbox -printconf /home/david/.dosbox/dosbox-0.74-3.conf La dernière ligne vous indique le chemin du fichier de configuration par défaut. Modifiez le pour monter automatiquement votre système //DOS//. --- .dosbox/dosbox-0.74-3.conf.old 2021-04-28 11:12:43.514245000 +0200 +++ .dosbox/dosbox-0.74-3.conf 2021-04-28 11:13:49.706252000 +0200 @@ -247,4 +247,5 @@ # Lines in this section will be run at startup. # You can put your MOUNT lines here. - +mount C /usr/local/share/games/PC +keyb FR ==== Exemple ==== {{ :ra.png?320x240}}{{ :constructor.png?320x240}} Vous voulez jouer à //Constructor// ou à //Red alert// dont vous avez obtenu le fichier //ISO//.\\ Copiez les dans un repertoire dédié, au sein du système DOS, i.e. ''/usr/local/share/games/PC/iso/''. Vous pouvez créer autant de fichiers de configuration que vous avez de jeux: --- .dosbox/dosbox-0.74-3.conf 2021-04-28 11:13:49.706252000 +0200 +++ constructor.rc 2021-04-28 11:20:18.510026000 +0200 @@ -249,3 +249,8 @@ mount C /usr/local/share/games/PC keyb FR +imgmount D c:/ISO/CONSTR~1.ISO -t iso +c: +cd \ACCLAIM\CN +game + Pour les utiliser ensuite: dosbox -conf 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//, privilégiez les ports: * [[https://www.freebsd.org/doc/handbook/ports.html|emulators/mame]] * [[https://www.freebsd.org/doc/handbook/ports.html|emulators/mess]] Récemment //Mame// et //Mess// ont fusionnés. Ceux sont des versions dites //SDL// du projet, les versions //natives// ne sont plus prises en charge. Créez pour chacun un fichier de configuration: mame64 -createconfig mess64 -createconfig Vous obtiendrez deux fichiers ''mame.ini'' et ''mess.ini'' Pour de plus amples informations: mame64 -showusage mess64 -showusage ou consultez [[https://docs.mamedev.org/commandline|leur site]]. ==== M.E.S.S. ==== {{ :sonic.png?320x240}} Multiple Emulator Super System. ou //Sorcery+// ou //Cauldron// sous //Amstrad// //CPC6128// === Les Bios === Avant d'émuler une machine, il vous faut obtenir son bios. Diverses ressources sur Internet vous permettront de les obtenir. Certains sont intégrés de base, comme la Megadrive: mess64 megadriv -joy -cart /usr/local/games/Sonic.bin Par contre pour l'Amstrad, créez le répertoire idoine dans notre arborescence dédiée: mkdir - p /usr/local/share/games/mess/ et copiez y les bios: * cpc464 ; * cpc6128 ; * cpc6128f, version au clavier français. N'oubliez pas d'indiquer ce répertoire dans le champ ''rompath'' de la configuration. {{ :cauldron.png?320x240}} Enfin, un jeu sur disquette: $ ls /usr/local/share/games/cpc/*.dsk sorcerpf.dsk cauldr2e.dsk cauldr2s.dsk Lancez le tout: mess64 cpc6128 -flop1 /usr/local/share/games/cpc/sorcerpf.dsk === Les claviers === Ces machines posent un problème, la disposition clavier est assez particulière, celui de l'//Amstrad// français vous donnerait à peu près n'importe quoi. En fait, le //BIOS// français utilise un //patch// pour clavier //US//. Donc, pour contourner le problème, utilisez une disposition //US// avant de lancer le //BIOS// français: setxkbmap -model pc101 -layout us mess64 cpc6128f -flop1 /usr/local/share/game/cpc/sorcerpf.dsk Automatisez 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. ==== {{ :mslug.png?320x240}}Multiple Arcade Machine Emulator. Placez vos ROMs, Artworks, Marquees et autres samples dans un répertoire commun à tous les joueurs, et précisez le dans le fichier de configuration: --- mame.ini 2021-04-28 11:45:27.857182000 +0200 +++ mame.ini.new 2021-04-28 11:44:08.437219000 +0200 @@ -7,19 +7,19 @@ # # CORE SEARCH PATH OPTIONS # -homepath . -rompath roms -hashpath hash -samplepath samples -artpath artwork -ctrlrpath ctrlr +homepath /usr/local/games/arcade/ +rompath /usr/local/games/arcade/roms +hashpath /usr/local/games/arcade/hash +samplepath /usr/local/games/arcade/samples +artpath /usr/local/games/arcade/artwork +ctrlrpath /usr/local/games/arcade/ctrlr inipath $HOME/.mame;.;ini fontpath . -cheatpath cheat -crosshairpath crosshair -pluginspath plugins -languagepath language -swpath software +cheatpath /usr/local/games/arcade/cheat +crosshairpath /usr/local/games/arcade/crosshair +pluginspath /usr/local/games/arcade/plugins +languagepath /usr/local/games/arcade/language +swpath /usr/local/games/arcade/software # # CORE OUTPUT DIRECTORY OPTIONS === Les Roms === Ce sont des fichiers Zip à ne surtout pas décompresser. Vous trouverez ces roms sur de nombreux sites. === Jouer === Lancer simplement: * mame64 LeNomDelArom * mame64 bombjack === Tricher === C'est le seul moyen de finir //Ghost and goblins// ! Télécharger le fichier des tricheurs, décompressez le et ajoutez les fichiers obtenus dans le répertoire de l'émulateur. Il s'agit d'une fichier ''zip''. === 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: mame64 maRom -joy