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.


<br />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 .


<br />pré-requis Installation (...)
<p class="spip">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.</p>

<p class="spip">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 .</p>

<p class="spip"><strong class="spip">pré-requis</strong>
Installation effectuée sur kubuntu 6.10 avec un fichier /etc/apt/sources.list qui contient les lignes suivantes :</p>
<div style='text-align: left;' class='spip_code' dir='ltr'><code>deb http://fr.archive.ubuntu.com/ubuntu/ edgy main restricted<br />
deb http://fr.archive.ubuntu.com/ubuntu/ edgy-updates main <br />
deb http://fr.archive.ubuntu.com/ubuntu/ edgy universe<br />
deb http://fr.archive.ubuntu.com/ubuntu/ edgy-backports main restricted universe multiverse<br />
deb http://security.ubuntu.com/ubuntu edgy-security main restricted<br />
deb http://security.ubuntu.com/ubuntu edgy-security universe<br />
deb http://security.ubuntu.com/ubuntu edgy-security multiverse<br />
deb http://www.getautomatix.com/apt edgy main<br />
</code></div>
<p class="spip">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.</p>
<div style='text-align: left;' class='spip_code' dir='ltr'><code>wget http://www.getautomatix.com/apt/key.gpg.asc<br />
gpg --import key.gpg.asc<br />
gpg --export --armor 521A9C7C | sudo apt-key add -<br />
sudo aptitude update<br />
sudo aptitude install automatix2 dosbox<br />
</code></div>
<p class="spip">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.</p>

<p class="spip">Il suffit de lancer le programme <strong class="spip">dosbox</strong> depuis une console pour faire apparaître une fenêtre DOS ! On en sort classiquement avec <strong class="spip">exit</strong> ou en fermant la fenêtre. <a href="http://clinique.jeuxvideos.free.fr/file/Utilisation_avancee_de_DOSBox_2_1.pdf" class="spip_out">Ce document</a> 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 <a href="http://projects.freedos.net/keyb/" class="spip_out">ce site</a> les 2 fichiers binaires suivant :
<br /></p>
<li> KEYB.EXE extrait de http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/keyb/KEYB200X.ZIP
<br /><li> KEYBOARD.SYS extrait de http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/keyb/kblayout/kpdos25x.zip
<p class="spip">et les copier dans /home/jeb/dosemu.</p>

<p class="spip">NOTA : Il faut remplacer jeb par votre login ici et partout plus bas lorque j’écris /home/jeb.</p>

<p class="spip">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.</p>

<p class="spip">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 <strong class="spip">K / Système / Automatix</strong>.</p>

<p class="spip">Le programme rar se trouve dans la section <strong class="spip">Utilities / Archiving Tools</strong></p>

<h3>Et maintenant, le jeu.</h3>
<p class="spip">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 <a href="http://fr.wikipedia.org/wiki/Little_Big_Adventure" class="spip_out">wikipédia</a>.</p>

<p class="spip">Pour ce mémo j’ai utilisé la version disquette que l’<a href="http://www.abandonware-france.org/ltf_abandon/ltf_jeu.php?id=732&fic=liens" class="spip_out">on trouve ici</a>.</p>

<p class="spip">Il suffit d’extraire les fichiers. Je les ai placé dans mon répertoire /home/jeb/dosemu/LBA.</p>

<p class="spip">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 :
<br /></p>
<li> carte video = vesa
<br /><li> musique = sound blaster pro 1 ; 220h
<br /><li> effets = sound blaster pro 1 ; 220h ; 7 ; 1
<br /><li> sauvegarder la configuration
<br /><li> retour au dos
<p class="spip">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.</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>[sdl]<br />
# fullscreen -- Start dosbox directly in fullscreen.<br />
# fulldouble -- Use double buffering in fullscreen.<br />
# fullresolution -- What resolution to use for fullscreen: original or fixed size (e.g. 1024x768).<br />
# windowresolution -- Scale the window to this size IF the output device supports hardware scaling.<br />
# output -- What to use for output: surface,overlay,opengl,openglnb.<br />
# autolock -- Mouse will automatically lock, if you click on the screen.<br />
# sensitiviy -- Mouse sensitivity.<br />
# waitonerror -- Wait before closing the console if dosbox has an error.<br />
# priority -- Priority levels for dosbox: lowest,lower,normal,higher,highest.<br />
#             Second entry behind the comma is for when dosbox is not focused/minimized.<br />
# mapperfile -- File used to load/save the key/event mappings from.<br />
# usescancodes -- Avoid usage of symkeys, might not work on all operating systems.<br />
<br />
fullscreen=false<br />
fulldouble=false<br />
fullresolution=original<br />
windowresolution=original<br />
output=surface<br />
autolock=true<br />
sensitivity=100<br />
waitonerror=true<br />
priority=higher,normal<br />
mapperfile=mapper.txt<br />
usescancodes=true<br />
<br />
[dosbox]<br />
# language -- Select another language file.<br />
# memsize -- Amount of memory dosbox has in megabytes.<br />
# machine -- The type of machine tries to emulate:hercules,cga,tandy,pcjr,vga.<br />
# captures -- Directory where things like wave,midi,screenshot get captured.<br />
<br />
language=<br />
machine=vga<br />
captures=capture<br />
memsize=16<br />
<br />
[render]<br />
# frameskip -- How many frames dosbox skips before drawing one.<br />
# aspect -- Do aspect correction, if your output method doesn't support scaling this can slow things down!.<br />
# scaler -- Scaler used to enlarge/enhance low resolution modes.<br />
#           Supported are none,normal2x,normal3x,advmame2x,advmame3x,advinterp2x,advinterp3x,tv2x,tv3x,rgb2x,rgb3x,scan2x,scan3x.<br />
<br />
frameskip=0<br />
aspect=false<br />
scaler=normal2x<br />
<br />
[cpu]<br />
# core -- CPU Core used in emulation: simple,normal,full,dynamic.<br />
# cycles -- Amount of instructions dosbox tries to emulate each millisecond.<br />
#           Setting this higher than your machine can handle is bad!<br />
#           You can also let DOSBox guess the correct value by setting it to auto.<br />
#           Please note that this guessing feature is still experimental.<br />
# cycleup   -- Amount of cycles to increase/decrease with keycombo.<br />
# cycledown    Setting it lower than 100 will be a percentage.<br />
<br />
core=normal<br />
cycles=10000<br />
cycleup=500<br />
cycledown=20<br />
<br />
[mixer]<br />
# nosound -- Enable silent mode, sound is still emulated though.<br />
# rate -- Mixer sample rate, setting any devices higher than this will<br />
#         probably lower their sound quality.<br />
# blocksize -- Mixer block size, larger blocks might help sound stuttering<br />
#              but sound will also be more lagged.<br />
# prebuffer -- How many milliseconds of data to keep on top of the blocksize.<br />
<br />
nosound=false<br />
rate=22050<br />
blocksize=2048<br />
prebuffer=10<br />
<br />
[midi]<br />
# mpu401      -- Type of MPU-401 to emulate: none, uart or intelligent.<br />
# device      -- Device that will receive the MIDI data from MPU-401.<br />
#                This can be default,alsa,oss,win32,coreaudio,none.<br />
# config      -- Special configuration options for the device. In Windows put<br />
#                the id of the device you want to use. See README for details.<br />
<br />
mpu401=none<br />
device=default<br />
config=<br />
<br />
[sblaster]<br />
# sbtype -- Type of sblaster to emulate:none,sb1,sb2,sbpro1,sbpro2,sb16.<br />
# sbbase,irq,dma,hdma -- The IO/IRQ/DMA/High DMA address of the soundblaster.<br />
# mixer -- Allow the soundblaster mixer to modify the dosbox mixer.<br />
# oplmode -- Type of OPL emulation: auto,cms,opl2,dualopl2,opl3.<br />
#            On auto the mode is determined by sblaster type.<br />
#            All OPL modes are 'Adlib', except for CMS.<br />
# oplrate -- Sample rate of OPL music emulation.<br />
<br />
sbtype=sb16<br />
sbbase=220<br />
irq=7<br />
dma=1<br />
hdma=5<br />
mixer=true<br />
oplmode=auto<br />
oplrate=22050<br />
<br />
[gus]<br />
# gus -- Enable the Gravis Ultrasound emulation.<br />
# gusbase,irq1,irq2,dma1,dma2 -- The IO/IRQ/DMA addresses of the<br />
#            Gravis Ultrasound. (Same IRQ's and DMA's are OK.)<br />
# gusrate -- Sample rate of Ultrasound emulation.<br />
# ultradir -- Path to Ultrasound directory.  In this directory<br />
#             there should be a MIDI directory that contains<br />
#             the patch files for GUS playback.  Patch sets used<br />
#             with Timidity should work fine.<br />
<br />
#gus=true<br />
#gusrate=22050<br />
#gusbase=240<br />
#irq1=5<br />
#irq2=5<br />
#dma1=3<br />
#dma2=3<br />
#ultradir=C:\ULTRASND<br />
<br />
[speaker]<br />
# pcspeaker -- Enable PC-Speaker emulation.<br />
# pcrate -- Sample rate of the PC-Speaker sound generation.<br />
# tandy -- Enable Tandy Sound System emulation (off,on,auto).<br />
#          For auto Tandysound emulation is present only if machine is set to tandy.<br />
# tandyrate -- Sample rate of the Tandy 3-Voice generation.<br />
# disney -- Enable Disney Sound Source emulation.<br />
<br />
pcspeaker=true<br />
pcrate=22050<br />
tandy=auto<br />
tandyrate=22050<br />
disney=true<br />
<br />
[bios]<br />
# joysticktype -- Type of joystick to emulate: none, 2axis, 4axis,<br />
#                 fcs (Thrustmaster) ,ch (CH Flightstick).<br />
#                 none disables joystick emulation.<br />
#                 2axis is the default and supports two joysticks.<br />
<br />
joysticktype=none<br />
<br />
[serial]<br />
# serial1-4 -- set type of device connected to com port.<br />
#              Can be disabled, dummy, modem, directserial.<br />
#              Additional parameters must be in the same line in the form of<br />
#              parameter:value. Parameters for all types are irq, startbps, bytesize,<br />
#              stopbits, parity (all optional).<br />
#              for directserial: realport (required).<br />
#              for modem: listenport (optional).<br />
#              Example: serial1=modem listenport:5000<br />
<br />
serial1=disabled<br />
serial2=disabled<br />
serial3=disabled<br />
serial4=disabled<br />
<br />
[dos]<br />
# xms -- Enable XMS support.<br />
# ems -- Enable EMS support.<br />
# umb -- Enable UMB support (false,true,max).<br />
<br />
memsize=64<br />
xms=true<br />
ems=true<br />
umb=true<br />
<br />
[ipx]<br />
# ipx -- Enable ipx over UDP/IP emulation.<br />
<br />
ipx=false<br />
<br />
[autoexec]<br />
# Lines in this section will be run at startup.<br />
<br />
mount c /home/jeb/dosemu<br />
c:<br />
#keyb fr<br />
cd lba<br />
setup<br />
lba<br />
</code></div>
<h3>Pour jouer :</h3>
<li> H : Holomap (pour afficher la carte)
<br /><li> P : pause
<br /><li> les flèches pour se déplacer
<br /><li> F1 : mode normal
<br /><li> F2 : mode sportif
<br /><li> F3 : mode agressif
<br /><li> F4 : mode discret
<br /><li> F5 : zoom
<br /><li> F6 : le menu du jeu
<br /><li> "espace" pour effectuer une action, par exemple fouiller dans le mode normal, frapper dans le mode agressif, sauter en mode sportif.
<br /><li> "shift" pour appeler l’inventaire
<br /><li> "Echap" pour sortir de l’inventaire
<br /><li> "Ctrl" affiche le mode actif
<p class="spip">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 !</p>

<dl class='spip_document_1080 spip_documents spip_documents_center' >
<dt><a href="http://download.tuxfamily.org/assocoagul/drupal-files/spip/twinsen-libere.jpg" title='texte - 106.1 ko' type="text/plain"><img src='dist/vignettes/txt.png' width='52' height='52' alt='texte - 106.1 ko' /></a><dt>
</dl>
<h3>Historique des modifications</h3>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Version</strong></th><th scope='col'><strong class="spip">Date</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td>0.1</td><td>01/03/2007</td><td>Création par Jibux</td></tr>
</tbody>
</table>