samedi 16 février 2013

installer O2em sous linux et recompiler

english version


Lors du précédent message installer et configurer o2em, j'avais expliqué comment installer cet émulateur videopac sous windows.
Dans ce message je vais essayer d'aider les utilisateurs  linux.

Le principal émulateur pour videopac est o2em. Le site web ne propose des binaires de la dernière version que pour windows. Nous allons donc repartir des sources et les recompiler.

Cet article a été rédigé à partir d'une distribution ubuntu Precise Pangolin 32 bits. Il vous faudra sans doute adapter les manipulations décrites à votre distribution.

1 Dépendances

La seule dépendance notable de l'émulateur o2em est liballegro.
Utilisez le gestionnaire de paquets synaptic pour l'installer. Vous devez arriver à un résultat comparable à celui-ci:


2 Reconstruire l'émulateur videopac a partir des sources 

Dans ce chapitre nous allons recompiler o2em à partir des sources. Ceux qui ne souhaitent pas recompiler eux mêmes peuvent aller au chapitre 3.

2.1 Télécharger les sources o2em

Cliquez sur le lien suivant pour télécharger un zip des sources o2em118src.zip
Decompresser le zip. Personnellement je le décompresse dans mon home directory.

Vous obtenez l'arborescence suivante:
  • o2em118src/
    • o2em118src/Docs/
  • changelog.txt
  • LICENSE.TXT
  • O2EM.TXT
    • o2em118src/SRC:
  • AUDIO.C
  • AUDIO.H
  • CONFIG.H
  • CPU.C
  • CPU.H
  • CRC32.C
  • CRC32.H
  • CSET.C
  • CSET.H
  • DEBUG.C
  • DEBUG.H
  • DIS48.C
  • KEYBOARD.C
  • KEYBOARD.H
  • MAIN.C
  • Makefile
  • Makefile.djgpp
  • Makefile.freebsd
  • Makefile.linux
  • Makefile.mingw
  • Makefile.win
  • O2EM116_private.h
  • O2EM116_private.rc
  • O2em118.dev
  • O2em118.layout
  • O2EM.ICO
  • o2em.png
  • O2EM.RC
  • O2EM.RES
  • SCORE.C
  • SCORE.H
  • SYSTEM.C
  • TABLE.C
  • TABLE.H
  • TIMEFUNC.C
  • TIMEFUNC.H
  • TYPES.H
  • VDC.C
  • VDC.H
  • VMACHINE.C
  • VMACHINE.H
  • VOICE.C
  • VOICE.H
  • VPP.C
  • VPP_CSET.C
  • VPP_CSET.H
  • VPP.H

2.2 Corriger la casse

Les fichiers du répertoire SRC sont presque tous en majuscule. Ceci pose problème lors de la compilation. nous allons donc corriger cela:
Saisissez un script et sauvez le dans le répertoire o2em118src/SRC
#!/bin/bash
for file in *
do
        trfile=$(echo $file|tr '[A-Z]' '[a-z]')
        if [ "$file" != "$trfile" ]
        then
                command="mv $file $trfile"
                $command
        fi
done
Executer le script.

 

 2.3 Editer score.c

Pour corriger les erreurs comme celle qui suit :
score.c:110:68: error: ‘errno’ undeclared (first use in this function)

Editez le fichier score.c , ajoutez #include <errno.h> devant le premier include.
 *   Score loading/saving by manopac
 */

#include <errno.h>
#include <dirent.h>


2.4 Modifier makefile

Pour corriger l'erreur
 /usr/bin/ld: cannot find -lalleg_unsharable
collect2: ld returned 1 exit status

Editez le fichier makefile.linux
Remplacez
LIBALLEG = /usr/lib/liballeg.so.4.2 -lalleg_unsharable

Par
LIBALLEG = `allegro-config --libs`
Attention à bien respecter les antiquotes (AltGr 7)

2.5 Compiler

make -f makefile.linux
En résultat, vous devez obtenir dans le répertoire SRC deux executables:
  • dis48
  • o2em

2.6  Installer

Copier o2em dans le répertoire de votre choix. Moi je mets ça dans /usr/local/games/o2em. Dans ce répertoire je crée deux sous-répertoires roms et bios.

drwxrwxr-x 2 ventrill ventrill   4096 Feb 16 17:57 bios
-rwxrwxr-x 1 ventrill ventrill  11768 Feb 16 17:57 dis48

drwx------ 2 ventrill ventrill   4096 Feb 16 18:18 Docs

-rwxrwxr-x 1 ventrill ventrill 133448 Feb 16 17:57 o2em

drwxrwxr-x 2 ventrill ventrill   4096 Feb 16 17:57 roms
Dans le répertoire bios il faut déposer un fichier bios, et dans le répertoire roms il faut déposer un fichier rom. Pour avoir plus de détails, consultez le post "installer-et-configurer-o2em" .

3 o2em a partir du tar binaire

Pour ceux qui ne veulent pas effectuer les manipulations du chapitre 2, voici une alternative. J'ai enregistré le résultat  de toutes les manipulations du chapitre 2 dans cette archive : emulvideopac001-linux-x86.tgz.
Téléchargez la, décompressez la et voilà.

4 Utiliser o2em

Pour le moment il n'y a pas de launcher. Je vous propose donc une ligne de commande. A partir du répertoire ou vous avez décompréssé l'archive :
cd o2em
./o2em vp01.bin

Pour en savoir plus sur les options disponibles, consultez le fichier Docs/O2EM.TXT ou attendez mes prochains posts ...


  



Aucun commentaire:

Enregistrer un commentaire