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.
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/
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.
Alors là ça se complique un peu, Dosbox permet d'émuler plusieurs sortes de CD-ROM :
mount D D:\ -t cdrom
mount D D:\ -t cdrom -usecd 0
mount D D:\ -t cdrom -usecd 0 -ioctl
mount D D:\ -t cdrom -usecd 0 -aspi
le nombre 0 après -usecd correspond au nombre renvoyé par
mount -cd
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
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
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
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.
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)
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
Pour la touche « : », essayez la touche Shift et une touche autour de la touche ENTRÉE.
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.
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
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.
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.