Doc /

Utiliser de (très) vieux jeux (dos)

Je retombe en enfance, parfois :-) (qui a dit "souvent"? Au coin!)

J'ai deux caisses de vieux jeux que j'utilisais sous DOS au temps où Linus était encore dans les langes :-). Au moins un d'entre eux (Jagged alliance) ne m'a jamais servi car, le temps que je m'en préoccupe, Windows n'était plus capable de le faire tourner.

Je connais (au 22 Octobre 2012) plusieurs façons de fonctionner. En résumé, Dosbox pour les jeux strictement dos, VirtualBox et Windows XP pour les jeux très Windows et pas trop anciens, donc qui acceptent XP, Wine pour les jeux intermédiaires, au besoin avec son interface PlayOnLinux, surout pour les jeux strictement Windows 95 (je n'ai pas réussi à installer une version utilisable de Windows 95 sous VirtualBox)

Archivage

readcd

Les vieux CD sont assez fiables, ils sont souvent lisibles longtemps après leur achat, mais il est facile de les perdre - j'ai beaucoup de boites de jeux sans le CD!

On peut donc les recopier sur un disque dur. Il ne manque pas d'outils, mais quand il s'agit de CD parfois "protégés" contre la copie, il vaut mieux utiliser ce qu'il y a de mieux.

Le grand spécialiste du CD/DVD est Joerg Schilling. Il est l'auteur original de "cdrecord" et des outils associés. Je ne peux trop vous conseiller d'utiliser ses outils qui sont bien meilleurs que les autres versions. Ce sont des outils en ligne de commande et il faut parfois patcher k3b pour qu'il les utilise, mais ca vaut le coup. En tout cas sous openSUSE c'est assez facile à obtenir.

Pour sauvegarder les CD, l'utilitaire de la boite à outuils de Joerg est "readcd". Avec l'option "-clone", il va copier sur disque dur deux fichiers, dont l'un avec l'extension "toc", qui contient tout le CD, y compris les pistes "étrangères". Une lecture des pages de man de cdrecord et readcd est ardue mais très instructive pour régler les cas d'espèce.

acetoneiso

Ces images de cd ne sont pas "montables" par "-o loop". Pour les monter il faut soit graver un cd... ce qui est fastidieu, soit extraire l'iso. Pour cela le meilleur outil est "acetoneiso".

Dosbox

Principe

Dosbox a un avantage énorme, il a été conçu pour régler les problèmes de carte son :-))) - le rève!

Par contre il m'a fallu un peu de travail pour comprendre son fonctionnement. Je vous résume ci-dessous.

  • Il mélange les commandes dos et Linux. Il faut monter les lecteurs avant de s'en servir. De mon coté, j'ai choisi de recopier les cd sur mon disque dur, pour éviter les manipulations ultérieures;
  • les fichiers de config de dosbox sont par défaut dans ~/.dosbox, où ils sont très bien, mais vous pouvez les mettre n'importe où.
  • J'ai choisi de placer tous mes fichiers de jeux dans un répertoire ~/dosbox, sous lequel j'ai donc un sous répertoire "dosprog" qui correspond au "c:" du dos et autant de répertoires que de cd de jeux (en ce moment "doscd-jagged" et "doscd-fast".
  • Je lance les jeux en construisant un fichier de config par jeu et en mettant les commandes de lancement dans un script sh. C'est très simple, vous allez voir.

Configuration

Le fichier de configuration par défaut de dosbox est ~/.dosbox/dosbox-0.73.conf. Je le recopie dans jagged.conf ou fast.conf.

Avant de créer ces fichiers, j'ai testé le jeu à la main. Il suffit ensuite de recopier à la main ce qui a marché. Il est plus commode de créer les répertoires dans Linux par avance. Recopiez auparavant tous les fichiers du CD dans le répertoire qui va bien (ici ~/dosbox/doscd-jagged).

Lancez "dosbox" (dans un terminal) vous avez "C:/" et vous êtes en QWERTY. Tapez tout de suite "keyb fr" - sous DOS, minuscules et majuscules c'est tout comme.

Dans le fichier de conf, par la suite, il faudra chercher, vers la fin, une option "keyboardlayout=auto" et la remplacer par "keyboardlayout=fr" (ne changez rien d'autre).

Tapez dans dosbox:

 mount c ~/dosbox/dosprog
 mount d ~/dosbox/doscd-jagged -t cdrom

Pour jagged alliance (adaptez pour vos besoins).

Puis

 d:
 DIR

pour vérifier qu'on est bien sur le CD (en fait sa copie).

Maintenant on installe le jeux (toujours dans dosbox):

inst (ou install, ou... éviter setup qui est en général pour windows).

Faites l'install normalement, les répertoires sont créés sous C, soit ~/dosbox/dosprog.

Si tout s'est bien passé, le jeu va probablement se lancer, sinon il faut peut-être configurer la carte son (setsound, pour les jeux sierra), soit depuis le cd soit depuis le répertoire d'install du jeu. Configurez le son numérique et midi, et testez soundblaster pro doit marcher avec les valeuers par défaut.

Pour moi Ça a marché du premier coup...

Automatisation

Si vous en restez là, il faut répéter les étapes de montage à chaque fois qu'on lance dosbox, c'est un peu lassant. D'où les fichiers de conf, recopiés depuis le default.conf sous le nom du jeu ("jagged.conf").

Dedans, depuis Linux, ajoutez le clavier fr (voir ci-dessus), puis les lignes de lancement du jeu:

[autoexec]
# Lines in this section will be run at startup.
mount c ~/dosbox/dosprog
mount d ~/dosbox/doscd-jagged -t cdrom
c:
cd jagged
ja

Ici, pour lancer le jeu il fallait faire "ja.exe" (l'extension est facultative).

Pour "fast" j'ai dû rajouter le label du cd, sinon le jeu protestait, soit:

[autoexec]
# Lines in this section will be run at startup.
mount c ~/dosbox/dosprog
mount d ~/dosbox/doscd-fast -t cdrom -label FAST_ATTACK
c:
cd sierra/fast
fast

openSUSE monte le cd avec son label, qui est donc facile à trouver :-).

Reste à organiser le lancement. Créez sur votre bureau un fichier texte contenant, par exemple:

!/bin/sh
dosbox -conf ~/.dosbox/jagged.conf

Il suffit ensuite de cliquer dessus pour que le jeu se lance...

Astuces

Control F10 permet de récupérer la souris sous Linux. Cliquer sur la fenetre dosbox la remet dans le jeu...

umount/unmount par mount -u <lettre>

alt + Entrée = plein écran on / off

Ultima 2 m'a demandé un module de gestion de la mémoire étendue, mais a l'air de marcher quand même.

VirtualBox

Il faut avoir une version de Windows installée sous VirtualBox. Xp est recommandé.l

Pour l'instant, j'utilise un instantané de VirtualBox pour chaque jeux (en repartant de la version de base). Je n'imagine pas de situation ou j'aurais besoin de plusieurs jeux installés en même temps, mais faites comme vous voulez.

Pour l'instant MYST et Civilization 2 fonctionnent comme ça.

Wine / PlayOnLinux

Play on Linux (POL) semble l'outil idéal, cependant il a l'air de réinstaller wine à chaque jeu, c'est sans doute inutile.