Articles

DosBox, Le plus connu des émulateurs DOS

DOSBOX, L’émulateur ultime DOS pour votre Raspberry Pi (enfin ! pour le moment)

L’installation est dès plus facile.

Une fois votre RPi démarrée avec Rasbian, ouvrez le Terminal et tapez

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install dosbox

Une fois installé, il suffit de se rendre sur le bureau et aller dans le menu JEUX > DOSBOX

Bureau LXDE DOSBOX

Bureau LXDE > Menu DOSBOX

Avant de lancer l’émulateur DOSBOX on va faire quelques préparations en créant le futur disque C:\

mkdir pi-c

et une modification dans le fichier dosbox-0.74.conf si vous voulez que le disque C:\ soit monté à chaque démarrage de DosBOX

sudo nano .dosbox/dosbox-0.74.conf

Tout à la fin du fichier on rajoute la ligne suivante pour monter le disque C automatiquement
mount c pi-c

mount c pi-c

Enregistrer le fichier avec un CTRL + O suivi d’un CTRL + X pour le sauvegarder

Voilà vous pouvez lancer DOSBOX et voir le résultat…


Configuration du fichier dosbox-0.74.conf

Pour plus de faciliter je vous conseille d’ouvrir le fichier directement à partir du gestionnaire de fichiers.
=> /home/pi/.dosbox/dosbox-0.74.conf

Sinon pour ouvrir le fichier, vous pouvez tapez dans votre console

sudo nano .dosbox/dosbox-0.74.conf

On va modifier quelques points (juste le minimum) afin de booster un peu l’expérience de jeu…

Dans la catégorie [sdl]

Ici vous pouvez modifier à votre guise les paramètres d’affichage de la fenêtre de DosBox.

Dans la catégorie [dosbox]

modifer la ligne machine=svga_s3 par une meilleure carte graphique (perso j’ai mis svga_et4000).

valeurs possibles :  hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe

Dans la catégorie [cpu]

modifier la ligne cputype=auto par le processus que vous voulez, je vous conseille le pentium.

valeurs possibles : auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch

Dans la catégorie [dos]

On met le clavier en français, pour cela modifier la ligne keyboardlayout=auto par keyboardlayout=fr.

Et voilà ! C’est terminé !

Pour les autres paramètres, je vous laisse consulter le manuel d’utilisation de dosbox.


Installation d’un jeu ou d’un programme

Si vous n’avez pas de jeux en stock vous pouvez aller sur abandonware ou vous pouvez tester ce lien qui donne une liste de sites de jeux retros…

Une fois votre jeu choisi, il suffit de le copier dans le dossier pi-c pour qu’il soit visible depuis DosBox dans le disque C:\

Il ne vous reste plus qu’à l’installer comme à la vieille époque… 😉

De même pour les logiciels, vous pouvez aller sur OldApps.com, OldVersion.com, vetusware.com (special DOS),


Installation de Windows 95 / 98

Malgré de nombreuses tentatives, plusieurs méthodes d’installation et avec des fichiers différents (Win95, W95 OSR2, W98se), je n’ai jamais pu terminer une installation sans erreur.

En effet, elle se termine irrémédiablement lors du premier démarrage par une erreur de REGSVR32, MSGSVR32 menant à une faute sur le fichier KERNEL32.DLL… 

Donc, si vous avez réussi à installer Windows 95 ou 98 sur votre RPi, je suis preneur. Indiquez votre procédure et n’oubliez pas les liens de téléchargement des fichiers ISO que vous avez utilisés.

Emulateurs DOS : 8086tiny

Après RPI X86, je vous présente 8086 TINY, un autre émulateur DOS.

8086 Tiny est une machine virtuel émulant un PC XT. 8086 Tiny est écrit en C.IBM PC XT

8086 Tiny été créé par Adrian CABLE. Ce projet lui a fait gagné l’ IOCCC  (The International Obfuscated C Code Contest) en 2013.

Son 8086tiny a remporté un franc succès avec ses 4043 octets de C qui sont « seulement » capables d’émuler (excusez du peu) un compatible IBM PC du milieu des années 1980 comprenant :

  • CPU Intel 8086/186
  • 1 Mo de RAM
  • Contrôleur de disquette 3.5  » (1.44MB/720KB) 8072A
  • Contrôleur de disque dur (prend en charge un seul disque dur 528MB)
  • Carte graphique Hercules 720×348 graphiques en 2 couleurs (64 Ko de RAM vidéo), et CGA 80×25 16 couleurs avec support du mode texte
  • Timer programmable 8253 (PIT)
  • Contrôleur d’interruption programmable 8259 (PIC)
  • Contrôleur de clavier XT 83 touches 8042
  •  Horloge temps réel MC146818 (RTC)
  • Haut-parleur du PC

L’émulateur utilise la bibliothèque graphique SDL pour la portabilité, et se compile sur Windows, Mac OS X, Linux et probablement sur la plupart des autres systèmes 32-bit/64-bit également.


Installation de 8086 Tiny

Après avoir démarré votre RPi avec Raspbian, ouvrez le terminal et tapez les commandes suivantes

sudo mkdir tiny
cd tiny
sudo wget https://github.com/adriancable/8086tiny/archive/master.zip
sudo unzip master.zip

Afin de pouvoir compiler le code, il faut rajouter le paquet SDL

sudo apt-get install libsdl1.2-dev

Renommage du dossier 8086tiny-master en 8086tiny (à cause de la différence qu’il y a entre le répertoire d’installation et ce qu’il y a dans le fichier makefile)

sudo mv 8086tiny-master 8086tiny

Compilation

cd 8086tiny
sudo make

Puis exécution

sudo ./runme

Et voilà, le terminal affiche maintenant l’écran d’accueil de 8086 Tiny

Ecran d'accueil 8086tiny

Ecran d’accueil 8086tiny

Pour sortir de l’émulation il suffit de taper après le A:\> quitemu

quitemu

Créer un Disque Dur

Pour mettre des programmes dans cet environnement d’émulation, c’est quand même mieux d’avoir sa propre place…

Nous allons donc créer une partition FAT…

Utilisation de la commande DD pour créer une partition de 256Mo ce qui devrait être bien suffisant par rapport à la taille des applications/logiciels de la fin des années 80

sudo dd if=/dev/zero of=./hd.img bs=1024K count=256

Nous pouvons de nouveau lancer l’émulateur

sudo ./runme

Création de la partition avec la commande a:\> FDISK

fdisk

Voici les réponses aux questions des différents écrans :

  • Dire NON to large disk support: N
  • Entrer 1 pour créer une DOS partition or logical drive
  • Entrer 1 pour créer une primary DOS partition
  • Dire Oui  use the maximum available size… and make active: Y
  • Escape
  • Escape
  • Escape
  • Et maintenant quittez l’émulateur (a:\>quitemu)
    et redémarrez le (sudo ./runme).

Il faut maintenant formater le disque C: en y ajoutant le système (c’est le /s)

format c: /s

A la question : Warning: all data… (YES,NO) => répondre YES
et donnez un nom à votre disque dur

On quitte l’émulateur pour monter le disque sous raspbian

quitemu

On vérifie l’existence du disque sous raspbian

fdisk -lu hd.img
Ecran partition DD 8086 tiny

Ecran partition DD 8086 tiny

Nous avons besoin de savoir taille des secteurs (ici 512) et le secteur de démarrage de la partition (ici 63).
Ensuite, nous pouvons utiliser la boucle de montage pour monter le disque et y accéder

sudo losetup /dev/loop0 hd.img -o $((63 * 512))
sudo file -s /dev/loop0
sudo mount /dev/loop0 /mnt

 

Et voilà votre disque dur est accessible depuis le système de fichiers de Raspbian

Après transfert des logiciels que vous voulez installer sur votre système DOS, il faut démonter le disque

sudo umount /mnt
sudo losetup -d /dev/loop0
sudo reboot

Dépôt 8086 Tiny

Il existe un dépôt 8086 Tiny. Pour l’installer il suffit donc de taper

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install 8086tiny

Mais je n’ai pas réussi à le faire fonctionner. Donc si vous avez la solutions, je suis preneur…