Mon Mame à moi

Publié le par Pizza

mame1.JPG

C'est parti pour ce 2ème Tutoriel, dédié à la réalisation d'une version "perso" de MAME, plus adaptée à un usage privé que la version officielle.

Nous allons donc supprimer tous les messages d'avertissements au lancement d'une ROM imparfaite.

Le MAME résultant pourra être utilisé sous AtomicFE en mode ScreenSaver avec lancement de jeu aléatoire sans aucun problème.

Gardez à l'esprit que si un jeu rame, plante, n'a pas de son ou ne se lance pas du tout, ça sera votre faute, vous n'aviez qu'à trier vos roms, n'utiliser que des roms à l'émulation parfaite, ou complète (avec CHD et Samples), l'émuler avec autre chose que MAME et j'en passe. MAME ne vous préviendra plus.

C'est parti


Récupérer le code source

Rendez-vous sur le site http://mamedev.org/ dans la section Download / Latest release.

mame2.JPG

Téléchargez la dernière version du code source (son nom se termine toujours par un 's'), le plus simple est de choisir la version compressée auto-exécutable

mame3.JPG

Installer le code source

Décompressez le source-code dans un répertoire temporaire. Pour simplifier je mets ça dans c:/mamesrc

mame4.JPG

mame5.JPG

L'arborescence du source-code est prête, une chose à repérer pour plus tard, le sous-répertoire src/emu

mame6.JPG

Récupérer les outils de développement

Toujours sur le site Mamedav, allez dans la section Development / Development tools

mame7.JPG

Cette section du site indique très précisément les étapes à suivre pour compiler MAME, je n'ai rien inventé.

Pour résumer, télécharger le compilateur MINGW

mame8.JPG

Installer les outils

Comme pour le source-code, l'auto-extracteur vous demande la destination, j'ai choisi c:/mingw

mame9.JPG

L'arborescence du compilateur est en place.

mame10.JPG

Notez bien le répertoire que j'ai mis en surbrillance. Il contient les headers des fonctions C++ utilisées dans le source-code, mais il manque 6 fichiers spécifiques à Windows, des fichiers DirectX

Ces fichiers nous allons les trouver dans un fichier .ZIP complémentaire, téléchargeable sur la même page du site Mamedev.

mame11.JPG

Ouvrez le fichier ZIP, il contient deux sous-répertoires. include et lib.

mame12.JPG

Regardez dans le sous-répertoire lib, et sélectionnez les fichiers suivants :

mame21.JPG

Décompressez les dans le répertoire c:/mingw/include que nous avons créé tout a l'heure.

Attention ! Précisez bien à votre outil de décompression de ne pas recréer l'arborescence, de manière à ce que les fichiers .h rejoignent leurs camarades, et non un sous répertoire include dans include !

mame22.JPG

Voilà, le compilateur est prêt.

Localiser le fichier source

Les modifications à apporter à MAME concernent l'interface utilisateur de l'émulateur (user interface). C'est donc dans le fichier ui.c que nous allons tout casser. Vous le trouverez dans c:/mamesrc/src/emu.

mame16.JPG

Modifier le source

Ouvrez le fichier ui.c avec un éditeur de texte quelconque. Le bloc-Notes fera l'affaire.

Il y a plusieurs façons de contourner les messages, mais je présente ici la plus simple, ne nécessitant aucune connaissance en programmation.

Cherchez le morceau de source suivant :

 int str = options_get_int(mame_options(), OPTION_SECONDS_TO_RUN);
 int show_gameinfo = !options_get_bool(mame_options(), OPTION_SKIP_GAMEINFO);
 int show_warnings = TRUE;
 int state;

 /* disable everything if we are using -str */
 if (!first_time || (str > 0 && str < 60*5) || Machine->gamedrv == &driver_empty)
  show_gameinfo = show_warnings = show_disclaimer = FALSE;

Vous avez deux solutions. Soit vous mettez deux lignes en commentaire, soit vous les supprimez purement et simplement.

dans le premier cas ça donnera ça (en vert les lignes mises en commentaires ou supprimées)

/* int str = options_get_int(mame_options(), OPTION_SECONDS_TO_RUN);*/
 int show_gameinfo = !options_get_bool(mame_options(), OPTION_SKIP_GAMEINFO);
 int show_warnings = TRUE;
 int state;

 /* disable everything if we are using -str */
/* if (!first_time || (str > 0 && str < 60*5) || Machine->gamedrv == &driver_empty)*/
  show_gameinfo = show_warnings = show_disclaimer = FALSE;

C'est tout.

Fermez le fichier en enregistrant les modifications.

Compiler

Reste à compiler un nouveau MAME.EXE. Pour cette opération, nous allons descendre à la cave (sous MS-DOS).

Ouvrez une ligne de commande et tapez cd /mamesrc, puis appuyez sur entrée.

mame17.JPG

Ajoutez le compilateur au chemin d'exécution en tapant set path=%path%;c:/mingw/bin

mame19.JPG

Enfin lancez la compilation en tapant la commande mingw32-make
C'est parti pour 20 minutes de serbo-croate accéléré.

mame20.JPG

20 minutes plus tard (en moyenne), si n'avez pas raté une marche, dans le répertoire c:/mamesrc vous trouverez un beau MAME.EXE tout neuf, d'une trentaine de MegaOctets.

MAME.EXE se suffit à lui même. Vous pouvez le placer dans un répertoire vierge, (C:/MAME par le plus grand des hasards).

Pour l'initialiser, c'est à dire générer un fichier MAME.INI par défaut que vous pouvez modifier à loisir, tapez la commande

mame -createconfig

mame23.JPG

A vous de jouer.

Publié dans Tutoriel

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article