DOSBox : émulateur DOS

DOSBox est un excellent émulateur DOS capable de fonctionner sur de nombreux systèmes d'exploitation.

Le but de DOSBox est de vous permettre de jouer à n'importe quel vieux jeu DOS sur votre système d'exploitation moderne.

En interne, il utilise la bibliothèque SDL, ce qui le rend très facile à porter. Il émule très bien de vieux processeurs x86 (286/386/486/Pentium I/Pentium II) même s'il n'émule pas les capacités matérielles SSE ni le MMX des processeurs Pentium. Il permet aussi d'émuler les systèmes IBM PC compatibles (Tandy, par exemple). Le système de fichiers Microsoft FAT, la mémoire conventionnelle, XMS, EMS, les joysticks, le réseau (IPX, port série, modem) et même diverses cartes sons (Sound Blaster, Adlib, …) sont aussi émulés.

Si vous êtes courageux, vous pourrez même y faire tourner Windows 3.1.

Tapez ceci dans un terminal, pour créer le fichier de configuration :

dosbox -c 'config -writeconf dosbox.conf'

Quittez DOSBox en tapant :

exit

Il peut être intéressant d'ajouter un dossier pour contenir ce que vous voulez mettre dans le disque dur C de DOSBox. Pour cela on va créer un répertoire, tapez dans le terminal :

mkdir dosbox

Éditez le fichier dosbox.conf qui se trouve dans votre Dossier Personnel.

Ce fichier permet de configurer beaucoup de choses, la configuration dépendra beaucoup de ce que vous lancez. Par exemple une vieille application aura besoin d'un nombre de cycles très faible. C'est ici que vous indiquerez quel dossier est le lecteur C de DOS, ainsi que le lecteur CD que vous voulez utiliser.

Ajoutez en fin de fichier :

mount c ~/dosbox/
mount d /media/cdrom/ -t cdrom
c:
keyb fr

Ainsi lorsque DOSBox démarrera, il prendra en compte le dossier dosbox de votre dossier personnel comme lecteur C:\ et démarrera directement dessus.

Disque Dur

La commande pour monter un disque dur est très simple. Sous DOSBox :

mount Lettre_Disque Chemin_dans_linux

Par exemple :

mount E /home/moua/jeux/dosbox/

Lecteur de disquette

La commande pour monter une disquette, c'est comme pour un disque dur mais avec l'option « -t floppy ». Sous DOSBox :

mount Lettre_Disquette Chemin_dans_linux -t floppy

Par exemple :

mount A /home/moua/jeux/dosbox/disquette -t floppy

Il est à noter que DOS n'acceptait que les lettres A et B comme lecteur de disquettes.

Lecteur de CD

Alors là ça se complique un peu, Dosbox permet d'émuler plusieurs sortes de CD-ROM :

  • Basic cdrom support :
    mount D D:\ -t cdrom
  • SDL-cdrom support :
    mount D D:\ -t cdrom -usecd 0 
  • Support de l'Ioctl:
    mount D D:\ -t cdrom -usecd 0 -ioctl 
  • Support de l'ASPI:
    mount D D:\ -t cdrom -usecd 0 -aspi 

    le nombre 0 après -usecd correspond au nombre renvoyé par

    mount -cd
  • Monter une image:
    imgmount Lettre_CD "/home/moua/jeux/dosbox/cd/game.iso" -t iso

    ou

    imgmount Lettre_CD "/home/moua/jeux/dosbox/cd/game.cue" -t iso

Il existe plusieurs façons de lancer un programme avec DOSBox :

dosbox /chemin/repertoire/fichier.exe

ou bien

moua@PC:~$ dosbox

puis sous Dosbox :

c:
cd monrep
fichier.exe

Définir un fichier de configuration au lancement

On remarque ici qu'il y a un problème, suivant ce qu'on lance, on peut avoir besoin d'un fichier dosbox.conf différent. Il est néanmoins possible de définir un fichier de config au lancement de DOSBox :

dosbox -conf /chemin/vers/dosbox.conf

Par exemple :

dosbox -conf /home/moua/dosbox/mon_jeu/dosbox.conf

Lancer DOSBox uniquement pour une application

Il est un peu lourd de lancer DOSBox puis son jeu, pourquoi ne pas lancer le jeu directement dans DOSBox ?

dosbox /home/moua/dosbox/mon_jeu/mon_jeu.exe -exit

On remarque ici que le fichier de conf lancé est celui par défaut, on peut bien entendu choisir celui qu'on veut :

dosbox -conf /home/moua/dosbox/mon_jeu/dosbox.conf /home/moua/dosbox/mon_jeu/mon_jeu.exe -exit

Il est même possible de tout inclure dans le « dosbox.conf » et donc de ne plus avoir qu'à lancer Dosbox avec le bon « dosbox.conf ».

...
[autoexec]
# Lines in this section will be run at startup.
mount c /home/moua/dosbox
mount d /media/cdrom
c:
cd mon_jeu
mon_jeu.exe
exit

Raccourcis

  • ALT-ENTER Passe du mode plein écran au mode fenêtré ou inversement
  • CTRL-F1 Remappe le clavier
  • CTRL-F4 Recharger le lecteur de disquette
  • CTRL-F5 Commencer/arreter une video
  • CTRL-F6 Commencer/arrêter d'enregistrer la sortie audio dans un wav
  • CTRL-F7 Diminue le saut de frame.
  • CTRL-F8 Augmente le saut de frame.
  • CTRL-F9 Tue DOSBox.
  • CTRL-F10 Capture ou relâche la souris.
  • CTRL-F11 Réduit le nombre de cycles.
  • CTRL-F12 Augmente le nombre de cycles.

La première question qu'on se pose maintenant est : est-ce que mon jeu marche? Pour le savoir, allez voir cette page.

Il existe d'autre part des GUI pour faciliter la configuration de DOSBox.

Clavier

Le plus simple pour mettre le clavier en AZERTY est de modifier le fichier ~/.dosbox/dosbox-num_version.conf et de changer la disposition de clavier. Vers la fin du fichier on trouve la partie [dos]:

[dos]
# xms -- Enable XMS support.
# ems -- Enable EMS support.
# umb -- Enable UMB support.
# keyboardlayout -- Language code of the keyboard layout (or none).

xms=true
ems=true
umb=true
keyboardlayout=fr

(On peut aussi taper keyb fr en tant que commande, tout simplement)

Corrigé sur les dernières versions : 0.71 ok

Modifier la définition du clavier sous Linux avant de lancer DOSBox :

setxkbmap us

Utilisez ensuite le programme keyb.com pour retrouver votre clavier dans DOSBox.

Il est aussi possible d'utiliser Xkeyb 1.5. site : http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/xkeyb/xkeyb/

Une fois DOSBox fini, redéfinissez votre clavier en français :

setxkbmap fr
  • Utiliser « / » à la place.
  • Utiliser le fichier de configuration pour lancer votre application.
  • Lancer la définition des touches avec CTRL-F1 ou lancer DOSBox avec l'option « -startmapper ».
  • Chercher une touche équivalente autour de la touche ENTRÉE.

Pour la touche « : », essayez la touche Shift et une touche autour de la touche ENTRÉE.

  • Si rien ne marche, essayer ALT+58 et ALT+92 avec le numpad.

Problème de son

Pas de son

Vous pouvez être amené à rencontrer le problème suivant : Si une application utilise votre carte son, il n'y aura pas de son sur DOSBox. Et inversement, si vous avez du son sur DOSBox, mais que vous lancez un lecteur de musique, il ne fonctionnera pas.

Ceci est dû à Pulseaudio, encore relativement nouveau, et intégré à la "va-vite" dans Ubuntu, ce qui cause pas mal de bugs.

Il y a 2 solutions : installer le paquet libsdl1.2debian-pulseaudio dans synaptic, ou alors désinstaller le paquet pulseaudio purement et simplement.

Message d'erreur

Si l'application ne se lance pas et que vous avez le message :

Can't subscribe to MIDI port (65:0) nor (17:0)

Tapez :

SDL_AUDIODRIVER=pulse

puis :

dosbox

Touches directionnelles

Problème rencontré sur Ubuntu 8.10. Les touches "fléchées" ne fonctionnent pas dans DOSBox. Pour cela, vous devez ajouter une ligne dans votre fichier de configuration. Si vous avez suivi le tuto sur cette page, ce devrait être le fichier "dosbox.conf" dans votre répertoire personnel.

Ouvrez ce fichier, trouvez la ligne "usescancodes=true" et remplacez "true" par "false". Enregistrez et (re)lancez DOSBox. Le clavier sera passé en QWERTY, mais au moins les touches fléchées fonctionneront.

Multi-CD

Changer le CD en ouvrant le lecteur (si vous n'avez pas de boutons, CTRL–F9 puis éjecter) puis retourner dans le jeu et faites CTRL–F4 et voilà c'était plus simple que prévu.

Pour supprimer cette application, il suffit de supprimer son paquet. Selon la méthode choisie, la configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés.

  • dosbox.txt
  • Dernière modification: Le 11/09/2022, 13:57
  • par moths-art