Ceci est une ancienne révision du document !
voir aussi dosemulator
DOSBox: émulateur DOS
DOSBox est un excellent émulateur DOS tournant sous Windows, BeOS, Linux, MacOS X, etc. Il utilise la bibliothèque SDL ce qui la rend très facile à porter. Il émule très bien de vieux processeurs (286/386), Le système de fichiers, XMS, EMS et même une carte Sound Blaster.
Mais à quoi ça sert ? Si vous êtes motivé, on peut y faire tourner Windows 3.1, personnellement, ça me permet de rejouer à mes premiers jeux qui n'avaient besoin que de dos pour tourner.
Et comment on l'installe ?
En installant le paquet dosbox.
Configuration
Tapez ceci dans un terminal, pour créer le fichier de configuration:
dosbox -c 'config -writeconf dosbox.conf'
Quittez dosbox :
exit
Éditez avec votre éditeur préféré le fichier créé « dosbox.conf » qui se trouve dans le répertoire depuis lequel vous avez lancé dosbox.
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. Il peut par contre être intéressant d'ajouter un disque dur C et un lecteur de CD. Pour cela on va créer un répertoire qui contiendra le disque C:
mkdir dosbox
ajouté à la fin du fichier:
... [autoexec] # Lines in this section will be run at startup. mount c ~/dosbox mount d /media/cdrom -t cdrom c:
Ainsi lorsque dosbox 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
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 que 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-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.
Il est à noter que la version incluse dans Dapper est la 0.63.
Et Que dans feisty c'est la 0.70 si vous activez les backports (dans les mises à jours). Sous gutsy, c'est la 0.71.
Les interfaces graphiques
Il existe d'autre part des GUI pour faciliter la configuration de DOSBox.
- DOSBoxGui : http://losfinkos.googlepages.com/dosboxgui
- DOSBOXer (lien mort): http://www.jaegertech.com/index.php?option=com_content&task=view&id=19&Itemid=40 site non officiel: http://emulationrealm.net/frontends/linux/dos/dosboxer.php
- pyDOSBox (lien mort): http://www.panayotis.com/pydosbox/pydosbox.html
- DosBoxGL : Frontend en Java, tutoriel très bien expliqué pas à pas pour l'installer : http://gaming.gwos.org/doku.php/guides:64bit:dosboxgui
Problèmes rencontrables
Clavier
Le plus simple pour mettre 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)
On ne peut pas taper les caractères « \ » ou « : » sur un clavier autre qu'anglais, voici quelques solutions: (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, redefinissez 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
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 du à 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 (ce qui m'a résolu pas mal d'autres bugs au passage).
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 le "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.
Lien
Documentation de DosBox officiel [en] : http://www.dosbox.com/wiki/Main_Page