Faire fonctionner les jeux MS-DOS sous linux
Suite à une discussion avec mes enfants sur les jeux d’hier et d’aujourd’hui, j’ai été amené à chercher les jeux sur lesquels j’avais passé quelques heures dans ma jeunesse. Ceux-ci tournaient à l’époque avec MS-DOS dans un mode graphique qui dépassait rarement le 640x480 en 256 couleurs.
Aujourd’hui, beaucoup de ces jeux refuse de fonctionner avec windows. La solution va consister à utiliser un émulateur MS-DOS sur linux dans lequel on installera ces vieux logiciels .
pré-requis Installation (...)
Suite à une discussion avec mes enfants sur les jeux d’hier et d’aujourd’hui, j’ai été amené à chercher les jeux sur lesquels j’avais passé quelques heures dans ma jeunesse. Ceux-ci tournaient à l’époque avec MS-DOS dans un mode graphique qui dépassait rarement le 640x480 en 256 couleurs.
Aujourd’hui, beaucoup de ces jeux refuse de fonctionner avec windows. La solution va consister à utiliser un émulateur MS-DOS sur linux dans lequel on installera ces vieux logiciels .
pré-requis
Installation effectuée sur kubuntu 6.10 avec un fichier /etc/apt/sources.list qui contient les lignes suivantes :
deb http://fr.archive.ubuntu.com/ubuntu/ edgy main restricted
deb http://fr.archive.ubuntu.com/ubuntu/ edgy-updates main
deb http://fr.archive.ubuntu.com/ubuntu/ edgy universe
deb http://fr.archive.ubuntu.com/ubuntu/ edgy-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu edgy-security main restricted
deb http://security.ubuntu.com/ubuntu edgy-security universe
deb http://security.ubuntu.com/ubuntu edgy-security multiverse
deb http://www.getautomatix.com/apt edgy main
La dernière ligne permet d’installer des paquets non libres, je sais c’est pas bôô, et notamment de décompacter les archives RAR que nous allons utiliser. Il faut ensuite lancer plusieurs commandes pour prendre en compte ces modifications.
wget http://www.getautomatix.com/apt/key.gpg.asc
gpg --import key.gpg.asc
gpg --export --armor 521A9C7C | sudo apt-key add -
sudo aptitude update
sudo aptitude install automatix2 dosbox
Ceci va installer un grand nombre de programmes indispensables au bon déroulement de la suite de ce mémo ainsi qu’un émulateur MS-DOS.
Il suffit de lancer le programme dosbox depuis une console pour faire apparaître une fenêtre DOS ! On en sort classiquement avec exit ou en fermant la fenêtre. Ce document explique de manière très complète tous les réglages possibles. Il explique notamment comment configurer le clavier français. En résumé, il faut récupérer sur ce site les 2 fichiers binaires suivant :
et les copier dans /home/jeb/dosemu.
NOTA : Il faut remplacer jeb par votre login ici et partout plus bas lorque j’écris /home/jeb.
Finalement j’ai du renoncer au clavier français car il était alors impossible de lancer le jeu par manque de mémoire. Ah ce fameux manque de mémoire, ça me rappelle des jongleries avec highmem et ses copines.
A ce stade de l’installation, le programme rar n’est pas installé. On va faire cette opération avec le programme Automatix2 qu’on lance avec le menu K / Système / Automatix.
Le programme rar se trouve dans la section Utilities / Archiving Tools
Et maintenant, le jeu.
Le jeu que je souhaitais montrer à mes enfants se nome Little big adventure (LBA pour les intimes). On peut le télécharger sur l’un des nombreux sites abandonware qui regroupe tous ces jeux anciens et leur évite de tomber dans l’oubli. Si vous voulez en savoir un peu plus sur celui-ci il suffit d’interroger wikipédia.
Pour ce mémo j’ai utilisé la version disquette que l’on trouve ici.
Il suffit d’extraire les fichiers. Je les ai placé dans mon répertoire /home/jeb/dosemu/LBA.
Il faut ensuite copier le code suivant dans le fichier dosbox.conf à la racine de votre répertoire personnel.
Lors du premier lancement, il faut configurer le jeu. Il faut choisir français puis :
Une fois la configuration effectuée, il faudra commenter la ligne qui la lance en ajoutant un # devant le mot setup à la fin du fichier /home/jeb/dosbox.conf.
[sdl]
# fullscreen -- Start dosbox directly in fullscreen.
# fulldouble -- Use double buffering in fullscreen.
# fullresolution -- What resolution to use for fullscreen: original or fixed size (e.g. 1024x768).
# windowresolution -- Scale the window to this size IF the output device supports hardware scaling.
# output -- What to use for output: surface,overlay,opengl,openglnb.
# autolock -- Mouse will automatically lock, if you click on the screen.
# sensitiviy -- Mouse sensitivity.
# waitonerror -- Wait before closing the console if dosbox has an error.
# priority -- Priority levels for dosbox: lowest,lower,normal,higher,highest.
# Second entry behind the comma is for when dosbox is not focused/minimized.
# mapperfile -- File used to load/save the key/event mappings from.
# usescancodes -- Avoid usage of symkeys, might not work on all operating systems.
fullscreen=false
fulldouble=false
fullresolution=original
windowresolution=original
output=surface
autolock=true
sensitivity=100
waitonerror=true
priority=higher,normal
mapperfile=mapper.txt
usescancodes=true
[dosbox]
# language -- Select another language file.
# memsize -- Amount of memory dosbox has in megabytes.
# machine -- The type of machine tries to emulate:hercules,cga,tandy,pcjr,vga.
# captures -- Directory where things like wave,midi,screenshot get captured.
language=
machine=vga
captures=capture
memsize=16
[render]
# frameskip -- How many frames dosbox skips before drawing one.
# aspect -- Do aspect correction, if your output method doesn't support scaling this can slow things down!.
# scaler -- Scaler used to enlarge/enhance low resolution modes.
# Supported are none,normal2x,normal3x,advmame2x,advmame3x,advinterp2x,advinterp3x,tv2x,tv3x,rgb2x,rgb3x,scan2x,scan3x.
frameskip=0
aspect=false
scaler=normal2x
[cpu]
# core -- CPU Core used in emulation: simple,normal,full,dynamic.
# cycles -- Amount of instructions dosbox tries to emulate each millisecond.
# Setting this higher than your machine can handle is bad!
# You can also let DOSBox guess the correct value by setting it to auto.
# Please note that this guessing feature is still experimental.
# cycleup -- Amount of cycles to increase/decrease with keycombo.
# cycledown Setting it lower than 100 will be a percentage.
core=normal
cycles=10000
cycleup=500
cycledown=20
[mixer]
# nosound -- Enable silent mode, sound is still emulated though.
# rate -- Mixer sample rate, setting any devices higher than this will
# probably lower their sound quality.
# blocksize -- Mixer block size, larger blocks might help sound stuttering
# but sound will also be more lagged.
# prebuffer -- How many milliseconds of data to keep on top of the blocksize.
nosound=false
rate=22050
blocksize=2048
prebuffer=10
[midi]
# mpu401 -- Type of MPU-401 to emulate: none, uart or intelligent.
# device -- Device that will receive the MIDI data from MPU-401.
# This can be default,alsa,oss,win32,coreaudio,none.
# config -- Special configuration options for the device. In Windows put
# the id of the device you want to use. See README for details.
mpu401=none
device=default
config=
[sblaster]
# sbtype -- Type of sblaster to emulate:none,sb1,sb2,sbpro1,sbpro2,sb16.
# sbbase,irq,dma,hdma -- The IO/IRQ/DMA/High DMA address of the soundblaster.
# mixer -- Allow the soundblaster mixer to modify the dosbox mixer.
# oplmode -- Type of OPL emulation: auto,cms,opl2,dualopl2,opl3.
# On auto the mode is determined by sblaster type.
# All OPL modes are 'Adlib', except for CMS.
# oplrate -- Sample rate of OPL music emulation.
sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
mixer=true
oplmode=auto
oplrate=22050
[gus]
# gus -- Enable the Gravis Ultrasound emulation.
# gusbase,irq1,irq2,dma1,dma2 -- The IO/IRQ/DMA addresses of the
# Gravis Ultrasound. (Same IRQ's and DMA's are OK.)
# gusrate -- Sample rate of Ultrasound emulation.
# ultradir -- Path to Ultrasound directory. In this directory
# there should be a MIDI directory that contains
# the patch files for GUS playback. Patch sets used
# with Timidity should work fine.
#gus=true
#gusrate=22050
#gusbase=240
#irq1=5
#irq2=5
#dma1=3
#dma2=3
#ultradir=C:\ULTRASND
[speaker]
# pcspeaker -- Enable PC-Speaker emulation.
# pcrate -- Sample rate of the PC-Speaker sound generation.
# tandy -- Enable Tandy Sound System emulation (off,on,auto).
# For auto Tandysound emulation is present only if machine is set to tandy.
# tandyrate -- Sample rate of the Tandy 3-Voice generation.
# disney -- Enable Disney Sound Source emulation.
pcspeaker=true
pcrate=22050
tandy=auto
tandyrate=22050
disney=true
[bios]
# joysticktype -- Type of joystick to emulate: none, 2axis, 4axis,
# fcs (Thrustmaster) ,ch (CH Flightstick).
# none disables joystick emulation.
# 2axis is the default and supports two joysticks.
joysticktype=none
[serial]
# serial1-4 -- set type of device connected to com port.
# Can be disabled, dummy, modem, directserial.
# Additional parameters must be in the same line in the form of
# parameter:value. Parameters for all types are irq, startbps, bytesize,
# stopbits, parity (all optional).
# for directserial: realport (required).
# for modem: listenport (optional).
# Example: serial1=modem listenport:5000
serial1=disabled
serial2=disabled
serial3=disabled
serial4=disabled
[dos]
# xms -- Enable XMS support.
# ems -- Enable EMS support.
# umb -- Enable UMB support (false,true,max).
memsize=64
xms=true
ems=true
umb=true
[ipx]
# ipx -- Enable ipx over UDP/IP emulation.
ipx=false
[autoexec]
# Lines in this section will be run at startup.
mount c /home/jeb/dosemu
c:
#keyb fr
cd lba
setup
lba
Pour jouer :
Attention, si on clique avec la souris sur la fenêtre le curseur est capturé par celle-ci et disparait. Pour le libérer, il faut utiliser Ctrl+F10. Mais il faut insister car Ctrl est controlé par le jeu pour afficher le mode actif !
Historique des modifications
Version | Date | Commentaire |
---|---|---|
0.1 | 01/03/2007 | Création par Jibux |
Fichier attaché | Taille |
---|---|
twinsen-libere.jpg | 106.16 Ko |
Commentaires
> Faire fonctionner les jeux MS-DOS sous linux
C’est assez complet :)
Tous à vos Duke Nukem 3D !!!
> Faire fonctionner les jeux MS-DOS sous linux
Merci,
Fait attention ce jeu est assez prenant ;-)
> Faire fonctionner les jeux MS-DOS sous linux
Très bon article.
Je vais m’y coller.
:)
Patrice.