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.
Installation
Configuration
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.
Monter un disque
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
Les commandes pour monter un CD en ubuntu ne fonctionne pas
Lancer un programme
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 -c /home/moua/dosbox/mon_jeu/mon_jeu.exe -c 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 -c /home/moua/dosbox/mon_jeu/mon_jeu.exe -c 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.
Est-ce que mon jeu marche ?
La première question qu'on se pose maintenant est : est-ce que mon jeu marche? Pour le savoir, allez voir cette page.
Les interfaces graphiques
Il existe d'autre part des GUI pour faciliter la configuration de DOSBox.
- DosBox Game Launcher : Frontend en Java, tutoriel très bien expliqué pas à pas pour l'installer
- D-Box Frontend en Java
Problèmes fréquents
Clavier
Le plus simple pour mettre le clavier en AZERTY est de modifier le fichier dosbox.conf et de changer la disposition de clavier. Vers la fin du fichier :
[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
- 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.
Désinstallation
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.
Voir aussi
- (en) Site officiel