Prenons un exemple simple avec le jeu Alley Cat :
AlleyCat.pc
. La première partie du nom du répertoire avant le '.' doit avoir au maximum 8 caractères et ne pas contenir de caractères spéciaux ;AlleyCat.pc
, créez un fichier dosbox.bat
et modifiez pour appeler l’exécutable du jeu.Ceci nous donne :
c:
CAT.EXE
/recalbox/share/roms/dos/AlleyCat.pc
). De même pour '.'CTRL + F9
sur votre clavier.Ajouter un fichier dosbox.cfg
dans votre répertoire de jeu au même niveau que dosbox.bat
vous permet de définir une configuration DOS spécifique pour ce jeu.
Vous pouvez soit copier le fichier dosbox.conf
depuis \recalbox\share\system\configs\dosbox\dosbox.conf
ou utilisez celui-ci.
L'extension dans le répertoire du jeu doit bien être
cfg
et nonconf
!
Dans ce fichier, la ligne mapperfile=mapper.map
vous permet d'utiliser un fichier mapper.map
pour mapper n'importe quelle touche clavier ou même la souris sur votre manette. Ce fichier peut être créée depuis votre jeu en pressant CTRL + F1
à n'importe quel moment et sera alors sauvé à côté de vos fichiers dosbox.cfg
et dosbox.bat
.
Quelques paramètres du fichier dosbox.cfg
peuvent aussi être mis au début de votre fichier dosbox.bat
si vous ne voulez pas utiliser un fichier dosbox.cfg
spécifique mais certains de ces paramètres ne fonctionneront pas dans le dosbox.bat
; tout ce qui est graphique semble fonctionner, mais le paramètre mapperfile
ne fonctionne pas par exemple.
Comment convertir un jeu pour l'utiliser sur Recalbox ?
Tout d'abord, copiez le contenu du répertoire de jeu (renommez le correctement avec le .pc).
Nous devons ensuite adapter le contenu du dosbox.cfg
et du fichier bat utilisé pour lancer le jeu.
Exemple avec le jeu Wacky Wheels :
Ne copiez pas directement le dosbox.cfg
(or .conf) du répertoire original car ceci peut conduire à des bugs difficiles à débusquer. Copiez plutôt le fichier standard lié plus haut, il suffit ensuite de vérifier si le dosbox.cfg
avait une configuration spéciale et si oui, l'utiliser dans votre dosbox.cfg
. Celle-ci se trouve dans la partie [autoexec]
du fichier.
Déplacez tout d'abord le contenu de cette partie au début de votre fichier dosbox.bat
et adaptez les chemins. Ici nous avons :
[autoexec]
cd ..
cd ..
mount c .\games\WackyWhe
imgmount d .\games\WackyWhe\cd\wackywheels.iso -t cdrom
c:
cd wacky
cls
@ww
exit
et cela va nous donner une fois converti pour Recalbox :
imgmount d .\cd\wackyw~1.iso -t cdrom
c:
cd WACKY
pause
WW.EXE
imgmount
est simplifié et nous devons convertir le nom d'iso à un nom DOS standard (8 caractères maximum avec les deux derniers changés à ~1, ~2, ~3 etc. si le chemin est plus long et si vous avez plusieurs fichiers du même nom). Dans ce cas, il vaut de toute façon mieux changer le nom du fichier pour quelque chose de simple ;.cue
non plus, donc vous aurez peut-être à renommer les fichiers .vue
/.bin
manuellement et à modifier le fichier .cue
pour référencer le nouveau nom du fichier .bin
Et DOSBox peut-être plutôt strict : pas de caractères spéciaux, et parfois pas de caractères majuscules.imgmount
fonctionne bien (n'utilisez pas pause après l'appel de l'exécutable du jeu ou vous ne verrez rien)@ww
devient WW.EXE
(il s'agit juste de l'appel de l'exécutable du jeu).Et voilà ! Certains jeux peuvent aussi utiliser un lanceur en .bat
, copiez ses instructions à la fin de votre dosbox.bat
après celles-provenant de la partie [autoexec]
de dosbox.cfg
et adaptez-les.
Ce wiki a pour objectif de vous permettre de jouer au jeu DOS via l'émulateur DOSBox mis à disposition par RecalBox.
Il faut savoir qu'il y a une multitude de contextes possibles, chaque jeu a sa spécificité.
C'est pourquoi il est impossible, à l'heure actuelle, d'avoir quelque chose de "Plug&Play" sur l'émulation DOS.
Cependant, dans les grandes lignes et pour la majorité des jeux, c'est à peu près toujours la même chose.
Nous allons voir 3 cas de figure ici : 1. le jeu ne nécessitant ni installation, ni support CD; 2. le jeu nécessitant une installation, mais pas de support CD; 3. le jeu nécessitant une installation et un support CD.
Mais avant cela, quelques généralités sur le fonctionnement de l'émulateur DOSBox mis à disposition par Recalbox.
Les différents cas de figure
Nous allons exposer ci-dessous les différents cas de figure. Ne lisez pas que le cas de figure qui vous intéresse, mais bien l'ensemble : certains points acquis dans les premiers cas de figure ne seront pas répétés dans les suivants.
Le jeu ne nécessitant ni installation, ni support CD :
Le plus simple de tous les cas de figure : vous avez un jeu version disque, qui ne possède pas de fichier "install.bat" (ou ".exe") ou qui, à défaut, ne nécessite pas d'installation (le fichier "install.bat" servant parfois également à faire la configuration, notamment du son).
Idéalement, vous avez deux fichiers clés dans le répertoire du jeu (que ce soit en ".bat" ou en ".exe") : "setup" (parfois le fichier "install" fait office de "setup") et un autre portant soit le nom du jeux (par exemple "wolf3d" pour "Wolfenstein 3D" ou bien "s2" pour "settlers2" ou bien tout simplement "go" signifiant "lancer").
Donc créer le fichier "dosbox.bat" si ce n'est pas déjà fait, puis édité le pour qu'il contienne les lignes suivantes :
setup
pause
L'instruction pause
va nous permettre de demander à DOSBox d'attendre avant de "clôturer sa session" et donc de retourner sous EmulationStation.
Cela nous permettra notamment de pouvoir lire les éventuelles erreurs retournées par l’exécution de telle ou telle commande.
Une fois le fichier "dosbox.bat" édité et enregistré, retourné à EmulationStation, mettez à jour la liste des jeux (si ça n'a pas déjà été fait une fois depuis la création du fichier dosbox.bat), et lancé le jeu !
Vous arrivez dans le programme de configuration du jeu. Ce dernier est surtout intéressant pour configurer le son.
Chaque "setup" est différent mais en règle général on vous propose un menu en anglais avec "setup sound...".
Vous devez sélectionner (pour le "midi" ET pour le "sound effect" si la différence est faite) l'entrée "Sound Blaster 100% compatible" et le paramétrage automatique (ou à défaut, tous les choix par défaut que l'on vous proposera).
Parfois, un test vous est proposé ce qui vous permettra de constater que tout est OK.
Une fois cela fait, vous pouvez quitter le setup (il y a une entrée dans le setup à cet effet, pensez bien à sauvegarder les modifications si l'on vous pose la question).
Vous aurez alors un "prompt" vous demandant de presser une touche pour passer l'instruction pause : exécutez-vous après avoir constaté un éventuel message d'erreur.
Après retour sur l'interface EmulationStation, éditez le fichier "dosbox.bat" comme suit (nous prenons ici l'exemple du fichier exécutable cité précédemment "s2.bat" pour "Settlers 2", remplacé "s2" par le nom du fichier ".bat" ou ".exe" correspondant au jeu traité) :
s2
pause
Sauvegardé, puis lancé le jeu à nouveau. Et normalement tout fonctionne
Si ce n'est pas le cas, exposez votre problème sur le forum ou Discord, en précisant les messages d'erreurs éventuellement capté.
Le principe est le même que dans le cas de figure précédent, mais avec l'étape d'installation en plus.
Si le cas de figure précédent ne vous a pas donné satisfaction, c'est probablement que le jeu nécessite d'être installé.
Afin d'éviter toute confusion de fichier, je vous conseille de créer un sous répertoire "source" dans le répertoire type ".pc" et de placer les fichiers/dossiers du jeu dans celui-ci.
Assurez-vous de bien avoir un fichier "install" (que ce soit en ".bat" ou en ".exe" - parfois en fichier "setup" propose également l'option d'installation).
Puis créez/éditez le fichier "dosbox.bat" comme suit :
cd source
install
pause
Lancé à nouveau le jeu depuis EmulationStation, cette exécution vous mène au programme d'installation.
Parfois similaire à la présentation du "setup" classique, il a une option supplémentaire proposant l'installation.
Tout comme le "setup", il n'y a rien d'universel ou de standard, il faut donc s'adapter.
Mais les intitulés, bien que souvent anglophone, sont généralement clairs.
Lors du processus d'installation, un chemin vous sera demandé.
Assurez-vous qu'il soit renseigné comme suivant :
c:\cible
Le nom "cible" est un exemple (il faut ici écho au nom "source" précédemment utilisé), vous pouvez le remplacer par ce que vous souhaitez, mais dans cette documentation nous partirons sur le principe qu'il s'appelle "cible".
Une fois l'installation terminé, procédé à la configuration du son si elle vous est proposée. Ensuite, quitter le programme d'installation.
Vous arrivez sur le prompt provoqué par "pause", encore une fois cela vous permet de relever les éventuelles erreurs renvoyées.
Appuyer sur une touche pour revenir à EmulationStation.
Ensuite, process est similaire au cas de figure précédent si ce n'est qu'il faut ajouter l'accès au répertoire "cible" en plus.
Donc pour configurer le son, si ça n'a pas déjà été fait et avec l'exemple d'un fichier nommé "setup", votre fichier "dosbox.bat" doit ressembler à cela :
cd cible
setup
pause
Lancé de nouveau l'entrée, et procédé comme indiqué dans le cas de figure précédent.
Ensuite, une fois toute installation/configuration OK, vous pouvez procéder au lancement du jeu en lui-même.
Votre fichier "dosbox.bat" doit alors contenir les lignes suivantes :
cd cible
s2
pause
Et, normalement, le tour est joué .
Le répertoire "source" n'est parfois plus utile après installation, ce genre d'installation étant faites à l'époque pour simplement copier le contenu de la disquette sur disque dur pour se passer du support amovible. A tester.
Ce dernier cas de figure a de nombreux points communs avec le cas précédent, avec deux différences majeures :
Donc, dans un premier temps, nous allons créer un répertoire "source_cd" en racine de notre répertoire suffixé ".pc". Ce dernier va recevoir le ou les fichiers image CD (bin, cue, iso, img, ...).
Par rapport au cas précédent (un jeu sur support CD nécessitant toujours une installation), la différence majeure est donc le montage de l'image CD sur un lecteur CD virtuel. La ligne de commande utilisée pour cela va légèrement varié en fonction du format de l'image CD. Quelques exemples (en dos, les noms excédant 6 ou 7 caractères - j'ai un doute - sont tronqué avec "~x") :
imgmount D "C:\source~1\settle~1.cue" -t iso -fs iso
imgmount D "C:\source~1\settle~1.iso" -t iso -fs iso
imgmount D "C:\source~1\settle~1.img"
mount D "C:\source~1"
Certains CD de jeu sont des CD "mixtes". C'est à dire qu'ils comportent les données de jeu ainsi que les pistes audio qui permettront de jouer la musique dans le jeu.
Il est important pour ces CD que l'image soit contenue dans un seul fichier .img ou .bin car DOSBOX ne supporte pas les images CD splittées en plusieurs fichiers .bin.
Le montage devra alors se faire impérativement via le fichier .cue correspondant pour que toutes les pistes audio soient correctement chargées.
A l'exception de cette ligne de montage, le reste est quasi identique au cas de figure précédent.
Il faut simplement ajouter la ligne "mount ..." en début de fichier "dosbox.bat" de manière systématique puis procéder à l'installation, la configuration, puis le lancement du jeu.
Attention aussi a bien se déplacer dans le bon répertoire (commande "cd") : ainsi il faut faire cd source_cd
pour l'installation, puis cd cible
pour accéder au répertoire du jeu (comme dans le cas de figure précédent).
Une fois qu'un jeu est fonctionnel, vous pouvez retirer l'instruction "pause" afin d'éviter de subir le prompt de temporisation à chaque sortie du jeu.
Par défaut, le clavier virtuel s'ouvre avec Ctrl-F2.
Mais un nouveau bouton est disponible dans le mapper (Ctrl-F1 > Virt Keyb) pour l'associer à une autre événement (clavier, souris ou joystick).
Une fois ouvert, utilisez la souris ou le joystick pour sélectionner et actionner les touches:
Cliquez à nouveau avec n'importe quel bouton de la souris ou du joystick pour la relâcher.
Cela permet de réaliser des combinaisons avec Shift, Ctrl ou Alt.
Finalement, appuyez sur le bouton V vert pour fermer le clavier virtuel et envoyer les événements à DOSBox. Il est aussi possible de presser la croix rouge pour annuler les événements et fermer le clavier virtuel.
- Si vous utilisez un fichier de mapping existant, la combinaison par défaut Ctrl-F2 ne sera pas configurée.
- Si vous quittez le clavier virtuel avec une touche maintenue, cet événement sera constamment envoyé à DOSBox, jusqu'à ce que vous ouvriez à nouveau le clavier virtuel !
- Tous les mappings configurés du joystick ou de la souris seront ignorés tant que le clavier virtuel est ouvert
dosbox.cfg
)L'image est déformée : Pour certains vieux jeux, vous aurez peut-être à modifier le paramètre aspect=false
en aspect=true
pour obtenir une image en 4/3 ratio. Attention sur des jeux plus récents, ceci pourrait conduire à un problème de performances ;
Le joystick bouge tout seul : Essayez de modifier timed=false
en timed=true
. Ceci peut-être dû aux deadzone des joysticks également et malheureusement il n'y aucun moyen de configurer celle-ci dans DOSBox pour le moment ;
On ne peut pas mapper le D-pad d'une manette xbox360 : Oui, le mapper DOSBox permet de configurer le D-PAD mais ça ne marche pas en jeu, vous pouvez peut-être essayer de changer le type de joystick ;
Comment configurer la deadzone d'un joystick : Malheureusement, ce n'est pas possible dans DOSBox pour le moment ;
CD Not Found / CD Driver not present : Vous avez du mal renommer vos fichiers cd (io, cue, bin, edition du cue) ou utiliser des noms ne respectant pas le standard DOS (voir adv. rundown) ;
Je n'arrive pas à faire marcher mount a
ou mount d
: Contrairement à imgmount
, la commande mount
ne peut pas utiliser des chemins 'virtuels' de l'intérieur de la machine DOSBox. Pour que mount
marche, vous ne pouvez utiliser que des chemins réels locaux du système de fichiers de Recalbox. Comme '.' est positionné sur le répertoire root / au lancement de DOSBox, il est obligatoire d'utiliser le chemin absolu complet vers le fichier ou le répertoire ;
Le mapper est bugué, il efface mon fichier ou mélange mes boutons : Vous êtes vraisemblablement victime du paramètre buttonwrap
. Quand celui-ci est mis à true
, il configure les boutons de votre pad avec une ID supérieure à celle du nombre de boutons du joystick émulé en repartant à zéro (5 sera remappé à 0, 6 à 1, etc...) . Mettez ce paramètre à false
et tout devrait rentrer dans l'ordre.