Intro Editorial A Propos Sommaire Quizz Musiques Pub Archives
Obligement


Labo : DOSBox par Nicolas Gressard





Introduction

DosBox est un projet OpenSource multi plates-formes permettant d'émuler juste ce qu'il faut pour pouvoir jouer à ces bons vieux jeux qui tournaient sous MSDos à l'époque du 286 et du 386. La clé de sa portabilité est l'utilisation de la librairie multimédia maintenant bien connue "SDL", il a d'ailleurs déjà été portée sur beaucoup de plates-formes dont Windows, BeOS, MacOS, Linux, BSD, etc. Nous devons le portage sur notre plate-forme de la version 0.58 de cet émulateur à Léo (alias Nogfx). Il est téléchargeable librement et gratuitement et ses sources sont disponibles. La dernière version officielle du projet est la 0.60.

Présentation

Vous pourrez télécharger le binaire 68K, MorphOS ainsi que les sources sur le site de Léo à cette adresse : nogfx.free.fr/morphos/. Le site officiel du projet se trouve ici : dosbox.sourceforge.net/.
DOSBox ne peut pas être assimilé à un émulateur de PC dans le sens où l'on ne peut, par exemple, pas installer un MSDos dessus. Il est en fait conçu comme un unique bloc intégrant un émulateur de 386, les fonctions du Bios et un shell compatible MSDos. Ainsi, lorsque vous lancez DOSBox, vous vous retrouvez directement dans un simili DOS sans avoir à booter quoi que ce soit. Le but avoué de DOSBox étant de faire tourner les jeux, il intègre toutes les fonctions dont avaient besoin les jeux de l'époque.
  • Emulation des cartes video CGA, EGA, VGA
  • Emulation SoundBlaster (la plus importante) parmis d'autres cartes son
  • Emulation joysticks
  • Emulation de la mémoire EMS et XMS
La seule grosse ombre au tableau est la non prise en charge du mode "protégé" du 386, ce qui mettra pour l'instant directement à l'écart tous les jeux nécessitant ce mode pour fonctionner. Exit donc les jeux contenant un fichier "Dos4GW" mais d'autres aussi comme ceux utilisant le moteur de Doom par exemple. Un début de gestion du mode "protégé" a cependant fait son apparition dans la version 0.60, mais celle-ci n'est pour l'instant pas à notre disposition sur AmigaOS.

Dans la pratique

Avant toute chose, sachez que la version MorphOS n'est pour l'instant pas réellement utilisable. En effet, il est impossible de "monter" un répertoire, et le mapping des touches clavier est mauvais. J'ai donc, pour les besoin de l'article, utilisé DosBox version 68K sur mon Pegasos sous Morphos. DOSBox peut être lancé en ligne de commande ou depuis le Workbench. Lorsqu'il est lancé sans option, on se retrouve sur un disque virtuel "Z:" contenant quelques commandes que l'on peut apercevoir en faisant un "dir". Les commandes MSDos principales sont intégrées dans le shell (Dir, Cd, etc.), mais le but n'est de toute façon pas le support de scripts shell complexes. Cet émulateur n'utilise pas des images-disques comme les autres, mais utilise directement les répertoires du système hôte en tant que disques. Pour monter un disque "C:" ayant pour contenu le répertoire "pinballdreams", il suffit de taper la commande "mount c pinballdreams". Il est également possible de monter un disque dès le lancement de DOSBox en utilisant une ligne de commande de la forme "dosbox [repertoire]". Un disque virtuel C est alors à notre disposition et l'on peut s'y rendre en tapant "C:" suivi de la touche [Entrée]. En tapant "dir", on va pouvoir lister les fichiers de ce répertoire, et un simple "pinball" lancera le jeu sans que l'on ait à se soucier du contenu de notre autoexec.bat et de notre config.sys afin d'avoir de la mémoire paginée ou encore de gagner quelques octets de mémoire dans la zone des 640 Ko contrairement à la bonne époque ;).



Pinball Dreams sous DosBox (NB : il s'agit bien ici d'une capture d'écran sous MorphOS, même si la skin utilisée peut prêter à confusion ;).

Un fichier de configuration très complet permet de jouer sur beaucoup de paramètres de l'émulation comme le mode d'affichage au démarrage, le frameskipping, la vitesse de l'émulation CPU, l'émulation de la carte son ou la configuration de la mémoire. Il est d'ailleurs normalement possible de créer plusieurs fichiers de configuration et de choisir celui à utiliser lors de l'exécution de DOSBox en lançant ce dernier avec une ligne de commande de la forme "dosbox -conf [fichierdeconfiguration]". Malheureusement, le portage Amiga ne gérant pas les paramètres de la ligne de commande, vous devrez recopier le fichier "dosbox_soundenabled.conf" dans "dosbox.conf" (utilisé par défaut) si vous voulez pouvoir profiter du son qui, par défaut, est désactivé. Le mode plein écran n'est pas vraiment fonctionnel, si ce n'est pour le mode texte, quoiqu'il est impossible d'en revenir proprement. On peut noter également qu'il est impossible de mettre une fenêtre en avant plan par dessus DOSBox, ce dernier semblant écrire directement dans la mémoire vidéo. Il est également vivement déconseillé de jouer avec sa fenêtre au delà des limites de l'écran sous peine de trasher l'affichage vidéo de l'OS ;).

Voici un tableau récapitulatif des jeux que j'ai testés :

Jeu
Résultat
Doom
KO (mode protégé)
Lion King
KO (mode protégé)
FlashBack
OK
Hexen
KO (mode protégé)
Doom2
KO (mode protégé)
Prince of Persia
OK
Rise of the Triad
KO (mode protégé)
Pinball Dreams
OK
Red Baron
OK
Vroom
OK

Pour résumer, on peut dire que les jeux qui ont de bonnes chances de fonctionner avec cette version 0.58 sont les jeux 2D d'avant la génération des Doom et autres jeux DOS à moteur 3D logiciel. Une liste de plus de 1400 jeux avec leur compatibilité est disponible sur le site officiel à cette adresse : http://dosbox.sourceforge.net/comp_list.php?letter=a.



Flashback



Red Baron

En ce qui concerne la vitesse d'émulation, un Pegasos G3/600 permet par exemple de jouer à Prince of Persia presque à vitesse réelle mais il faut tout de même garder à l'esprit que la version de DOSBox utilisée ici est la 68K. D'après les auteurs, le principal responsable de la relative lenteur de DOSBox est l'émulation VGA. Pour cette raison, le fait d'appliquer un "frameskipping" améliore grandement les choses au détriment évidemment du nombre d'images par seconde.

Conclusion

Le projet DOSBox semble très prometteur car il est très actif. En effet, comme on peut le voir sur le site officiel, la version 0.60 permet dors et déjà de faire tourner des jeux 3D dont Doom et Duke Nukem 3D et même d'autres beaucoup plus évolués. A notre charge d'assurer les portages réguliers pour pouvoir bénéficier en temps et en heure de la dernière version sur notre plate-forme préférée.