Compiler MAME

Apprenez à personnaliser MAME et à créer VOTRE build ! Vous découvrirez tout d’abord ce que signifie le mot « compiler », et puis vous passerez aux travaux pratiques en comilant directement les sources ! Enfin, vous verrez quelques idées d’ordre général sur la structure de MAME et de ses drivers, structure quasi-identique pour l’émulation des systèmes de 1980 à nos jours.


Compiler MAME version lignes de commandes

Pour commencer, on va s’attaquer à la compilation de la version « ligne de commande » de MAME, qui est la version « originale » si on peut dire. En effet, MAME32et MAME32 Plus ! sont développées par des équipes différentes de la MAME Team. Cette version est peu utilisée car dépourvue d’interface graphique.Cette lacune peut être comblée par l’utilisation d’un FrontEnd qui est un petit programme remplissant le rôle d’interfacegraphique. MAME32 n’est en fait qu’un heureux mariage entre MAME et un frontend… Mais trève de bavardages, on se lance maintenant dans le vif du sujet ! ;o)

Etape 1 : Téléchargement du nécessaire !

Pour compiler MAME, vous allez avoir besoin de plusieurs fichiers. Par chance, ils sont tous rassemblés sur le site officiel de MAME :http://www.mame.net. On ne s’intéressera ici qu’à la compilation d’une version non-WIP, c’est à direqu’on ne compilera pas la version 0.78u4 par exemple, mais la 0.78. On verra comment compiler une version WIP dans l’annexe. Mais alors, de quoi a-t-on besoin ?

  • Un compilateur, pour transformer le code-source en exécutable; en gros qui vous permettra de jouer au lieu d’avoir plein de fichiers texte ! :p
  • Le code-source de MAME, qui est constitué d’une multitude de fichiers texte. Tous les fichiers portant l’extension « .c » peuvent être ouverts grâce à Visual C++ par exemple, le « .c » signifiant que le contenu du fichier est codé en language C. Mais vous pouvez tout aussi bien les ouvrir à l’aide d’un simple éditeur de texte.
  • Quelques fichiers complémentaires pour le compilateur l’aidant à faire son travail.

Rendez-vous donc sur le site officiel de MAME pour pouvoir télécharger comme des petits fous ! Cliquez sur « Downloads » dans le menu du haut de lapage d’accueil, puis sur « Main Downloads » dans le menu de gauche de la page qui apparaîtra. Téléchargez ensuite les fichiers suivants :

Tout d’abord dans la catégorie Source Code Archive, téléchargez le fichier mame078s.zip ( environ 9 Mo), puis dans la rubriqueWin32 Compile Utilities :

  • MinGW 2.0.0(environ 12 Mo)
  • mingw-over.zip (0.5 Mo)
  • GCC 3.2.2 (environ 7 Mo)
  • dx70_mingw.zip (0.2 Mo)

Ca y est, vous avez tout le matériel nécessaire pour compiler ! Votre modem a eu chaud, mais c’est pour la bonne cause ;o) Vous devriezdonc vous retrouver avec les fichiers suivants :compilation MAME

Allez, on s’attaque maintenant à la mise en place des sources et l’installation du compilateur…

Etape 2 : Préparation de la compilation

Tout ce qui suit doit être suivi à la lettre, un fichier manquant ou un détail oublié, et c’est le plantage assuré lors de la compilation… Restez donc vigilants ! ^^

  • Installez MinGW. Pour cela, double-cliquez sur l’icône « MinGW-2.0.0-3 » et ainsi l’installation se fera toute seule et très rapidement dans c:\mingw comme répertoire par défaut, que nous conserverons.
  • Dézippez le fichier Mingw-over.zip dans c:\mingw. Acceptez l’écrasement de fichiers si demandé.
  • Dézippez le fichier dx70_mingw.zip dans c:\mingw. En effet, MAME se sert d’instructions DirectX pour gérer les manettes, par exemple. Acceptez l’écrasement de fichiers si demandé.
  • Dézippez le fichier GCC 3.2.2 dans c:\mingw, et, vous l’aurez deviné, acceptez encore et toujours l’écrasement de fichiers, on peut dire que vous êtes perspicace ! ^^

Voilà, le compilateur est « installé » ! Il ne nous reste plus qu’à disposer les sources et tout sera prêt à compiler. Allez hop, encore deux petites manip’ donc :

  • Créez un dossier : c:\mingw\mame
  • Dézippez le fichier mame078s.zip dans c:\mingw\mame. Ne vous inquiétez pas, l’archive est compréssée deux fois ce qui fait qu’après une première décompression, vous obtiendrez une archive d’environ 50 Mo ! Dézippez-là une seconde fois et ça y est, vous avez devant vous le code-source de MAME. C’est beau… Et vous vous apercevrez qu’il y a beaucoup de fichiers et que ce n’est vraiment pas évident de se repérer là-dedans !

J’espère que vous avez bien accroché votre ceinture car là on va faire le grand saut et ENFIN compiler ! Car pour l’instant on n’a encore rien fait…

Etape 3 : La compilation proprement dite

Juste avant de compiler, créez un fichier nommé mingw.bat, qui contiendra ni plus ni moins que ceci : SET PATH=%PATH%;c:\mingw\bin et disposezce fichier dans c:\mingw\mame. Ceci est très important car ce fichier configure configure le chemin d’accès du compilateur !

Allez, ensuite, on lance une invite de commande. Pour ce faire, effectuez : « Démarrer > Exécuter » et tapez « command » si vous êtes sous Windows 95/98 ou « cmd »si vous êtes sous Windows 2000/XP, puis tapez exactement ce qui suit :

  • cd c:\
  • cd mingw
  • cd mame
  • mingw.bat
  • make

Deux mots d’explication avant d’aller plus loin : les commandes « cd » servent à se placer dans le répertoire où se situent les sourcesde MAME. La commande « make » lance la compilation elle-même, et vous pouvez ajouter une commande (optionnelle), afin d’optimiser lacompilation en fonction de votre processeur ! Elle est pas belle la vie ? ;o) Il vous suffit pour cela de taper :

  • make ATHLON=1, ce qui optimise le build pour un athlon comme la commande l’indique ^^
  • make P4=1, qui optimise le build pour les possesseurs de Pentium 4.
  • make K6=1, donne un build optimisé pour les AMD K6, c’est comme le Port-Salut, c’est écrit dessus !
  • make I686=1, qui optimise le build pour les i686 (Pentium II, Duron et Athlon)

La compilation étant lancée, vous verrez alors apparaître des lignes défilant dans votre invite de commandes qui ressemblent à ça :compilation mame

La compilation prendra entre 15 et 30 minutes environ, cela dépend de votre processeur et de votre RAM. Par exemple, cela prend 20 minutes sur monAthlon 1800+ avec 512 Mo de RAM. A la fin de la compilation, voilà ce que vous devriez voir apparaître :compilation mame

Filez donc voir maintenant dans c:\mingw\mame, et vous trouverez un joli, mais alors très joli mame.exe !Vous pouvez dès maintenant utiliser votre build…Attention, je me répète, cette version est à utiliser en invite de commandes car il n’ya pas d’interface graphique. Ca y est, on est arrivé au bout. Vous voyez, c’était pas si terrible… ;o) En fait, on dispose tout comme ilfaut, et après c’est l’ordinateur qui travaille. Mais bon on a fait ici une compilation « telle quelle », c’est-à-dire qu’on n’a pas touchéaux sources. Maintenant que vous savez compiler, rien ne vous empêche de modifier les sources à votre guise, pour rajouter des jeux,modifier des CRC… Si vous voulez écrire vos propres drivers, jetez un oeil à la page du dossier « Guide pour écrire un driver »…Puis de recompiler. Maintenant, étape suivante : on va apprendre à compiler Mame32, en fait MAME avec une interface graphique pourfaire simple, ce qui en intéresse déjà un plus grand nombre ! Mais bon, apprendre à compiler la version basique est très bon pour se mettre en jambes.