Samedi, juillet 21st, 2012

L’émulation sur Mac

Amis lecteurs, vous le savez, j’apprécie Virtua Racing et Daytona USA l’émulation, j’en avais parlé .

Du coup, à chaque machine qui rejoint mon foyer, le cérémonial d’installation d’un (ou plusieurs) émulateurs réapparait.

C’était le cas pour le PC que je me suis monté, la PSP qui trainait, les différents iPad et Mac que j’ai eu et logiquement, c’est aussi le cas avec le MacBook Air arrivé récemment.

Autant sur PC l’émulation est monnaie courante et on trouve foultitude de solutions en tout genre, autant sur Mac, le sujet est déjà moins courant.

Ceci d’autant plus qu’il s’est pris une belle bastos en 2006 lors du passage de PowerPC à Intel, les émulateurs alors développés pour PowerPC étant depuis SnowLeopard totalement incompatibles avec les Mac Intel.

Du coup les quelques portages d’émulateurs sur Mac compatibles avec les dernières versions de Mac OS ont été plus réalisés pour faire plaisir à 2-3 personnes trainant sur des forums de psychotiques qu’autre chose.

Comme j’ai arpenté le web intercontinental à la recherche de tips pour lancer des émulateurs sur Mac, je vous livre ma méthodo plutôt simple qui peut vous épargner quelques prises de tête.

Pour l’heure j’utilise principalement Supermodel3 et MAME.

///SUPERMODEL

Supermodel, c’est l’émulateur du système Model 3 utilisé par SEGA en arcade pour des titres comme Daytona USA 2, Scud Race ou SEGA Rally 2 pour ne citer qu’eux.

Sur Windows, Supermodel est un .exe utilisable en l’état, la gestion de l’affichage est, comme de coutume, laissé aux bons soins de DirectX (bibliothèque graphique made in Microsoft).

Sur Mac évidemment, point de DirectX, il faut donc impérativement ajouter le SDL framework (OpenGL) dans les bibliothèques systèmes pour que l’émulateur puisse afficher quelque chose.

Téléchargez ce fichier (v. 1.2.15)

Déposer le répertoire sdl.framework dans Macintosh HD/Bibliothèque/Frameworks

Pour l’émulateur maintenant:

Téléchargez ce fichier (v.0.2a)

Déposez le répertoire où vous voulez (mais un répertoire Jeux dans votre dossier Home serait pas mal)

Ca, c’est pour l’install.

Ensuite arrive le fatidique: « OK, mais comment ça marche ? »

Sur Windows, le taux de mongoliens par machine étant exponentiel, on trouve pas mal de front-ends (petits programmes comblant le vide entre ces cons d’utilisateurs et ces connards de développeurs permettant de comprendre comment fonctionne ce bordel grâce à un écran ou deux avec des boutons et des menus).

Sur Mac, malgré le légendaire côté « vive l’ergonomie », personne ne s’est fait chier à programmer un front-end.

Non pas qu’il y’ait moins de mongoliens, hein, loin de là, c’est juste qu’il y’a moins d’utilisateurs tout court. Il faut donc se taper le lancement de l’émulateur à la main en balançant des lignes de commande via le Terminal.

En ce qui me concerne, me taper des lignes de commandes pour jouer à Daytona 2, ça va une fois ou deux, pour rire.

Quand il faut le refaire à chaque putain de fois qu’on veut lancer une petite partie, ça devient franchement relou.

Heureusement, dans leur grande mansuétude, Dieu et Apple ont inventé Automator.

Automator, c’est un utilitaire bien sympa qui permet de gérer des scripts via une interface compréhensible.

En clair: c’est un machin qui vous permet de faire plein de trucs avec votre Mac sans avoir besoin de paner quoique ce soit aux commandes UNIX et au fonctionnement global d’un ordinateur.

Pas besoin d’être un guru de l’AppleScript, donc, si vous savez ce que vous voulez faire, Automator est facilement utilisable en glissant/déposant des fonctions et en les chainant les unes aux autres.

J’avais déjà évoqué Automator ICI quand il fallait gérer la transformation de centaines de dossiers plein d’images en autant de fichiers .cbz pouvant être lus par les liseuses de comics/mangas.

Cette fois ça sera pour créer des raccourcis permettant de lancer l’émulateur et le jeu souhaité sans lancer le Terminal.

Parce que le truc cool avec Automator, c’est que le script généré peut ensuite être utilisé de moult façons: vous pouvez l’assigner à un répertoire (il exécute les actions définies dès qu’un fichier est ajouté au répertoire ciblé), le transformer en service (tournant en tâche de fond ou accessible via clic-droit sous Mac OS) ou encore, et c’est cette méthode qui nous interesse aujourd’hui, vous pouvez transformer ce script en une véritable petite application indépendante.

L’intérêt de la manoeuvre ? Dans votre script, vous rentrez les commandes permettant de lancer votre jeu avec les options qui vont bien (genre mode plein écran, résolution full HD…), vous générez l’application que vous stockez quelque part sur votre disque (on me dit que le répertoire Applications est pas mal pour stocker des applications, ça tombe bien) et quand vous voulez lancer une partie, double-cliquez sur votre appli et en voiture Simone !

Exemple concret (ou tutorial, ça dépend si vous lisez ce texte par hasard ou après une nuit de recherche sur Google):

On part du principe que:

  • SDL Framework est bien installé (voir plus haut)
  • Supermodel_02a est installé dans un répertoire Jeux créé dans votre répertoire de départ (voir plus haut aussi)
  • Vous voulez lancer la rom Daytona USA 2 Power Edition (dayto2pe.zip) (achtung: la rom doit être placée à la racine du répertoire Supermodel_02a)
  • Vous voulez lancer le jeu en plein écran et en 1920×1080 en niquant le ration d’origine, comme un goret des bois.

Dans Automator, vous crééz un nouveau script de type Application.

Glissez-déposez l’action « Exécuter un script Shell » depuis la liste des actions sur le plan de travail et copiez-collez le texte suivant:

cd Jeux/Supermodel_02a
./Supermodel_02a dayto2pe.zip -res=1920,1080 -fullscreen -noratio

shellscript

Sauvegardez le tout et hop, vous avez une application nommée Daytona USA 2 PE, comme si le jeu était un exécutable standard.

Pour achever votre oeuvre, virez l’icône par défaut de votre application et remplacez là par celle de votre choix.

du2pe

Voila, vous pouvez kiffer la vibe avec votre Mac et vos jeux, c’est ça la goodlife, coco !

Et si vous êtes sur Lion, en déposant les apps dans le répertoire Applications, vous les retrouverez dans le Launchpad, ce qui fera au moins UNE bonne raison de se servir de ce machin.

launchpad

Evidemment, si vous avez 20 jeux auquels vous voulez jouer, cela sous-entend qu’il faut faire autant de scripts et donc autant d’applications.

Moi ça ne me dérange pas spécialement mais si tel n’était pas le cas, il suffirait de rajouter une étape dans le script sous Automator pour qu’une invit système vous demandant de spécifier le titre souhaité apparaisse au moment où vous le lancez.

C’est tellement simple que même moi je pourrais le faire.

///MAME

MAME (Multiple Arcade Machine Emulator) est THE émulateur des machines d’arcade de l’époque. Rappelons qu’en ces temps reculés, chaque constructeur déboulait avec sa propre solution technique (Taito, SEGA, Data East, Namco, CAPCOM et consorts).

MAME permet d’en émuler une bonne partie, seuls les systèmes les plus complexes et/ou trop récents ne sont pas pris en compte, comme le système CPS3 de Capcom (Street Fighter 3.3) ou le Model 3 de SEGA qui nécessitent des émulateurs dédiés pour tourner (comme on l’a vu avec Supermodel).

Comme pour Supermodel, MAME a besoin du SDL Framework pour tourner (c’est d’ailleurs pour ça que cette version s’appelle SDL MAME, eh).

L’évolution de l’Humanité a voulu qu’à un moment MAME sur Mac OS suive un chemin différent de la version standard, donnant lieu à moult versions plus ou moins à jour par rapport à la release « officielle » (dispo sur MAME.org).

Mais ça c’est du passé, désormais SDL MAME sur OS X suit les montées de versions et est donc aujourd’hui en version 0.146u3, comme Windows.

Pour lancer SDL MAME, deux solutions:

  • Le script analogue à celui vu pour Supermodel (même si à l’inverse de l’émulateur Model 3, une fois lancé, MAME propose une UI pour choisir simplement le jeu à lancer)
  • Un front-end comme MAME Tunes permet en plus de lancer les jeux, de gérer sa bibliothèque de titres et évidemment de paramétrer les différentes options de l’émulateur.

Si parmi tous les titres dispos il y’en a quand même certains que vous utilisez fréquemment, rien n’empêche de fonctionner comme avec Supermodel et de spécifier le jeu souhaité et les options qui vont bien en ligne de commande pour en faire un raccourci autonome.

Moi je l’ai fait pour Virtua Racing par exemple en spécifiant en plus que je voulais que le jeu tourne sans respecter le ratio d’origine (option -nokeepaspect) pour forcer MAME à me l’afficher sur TOUT l’écran:

shellscriptvr

Voila, d’autres émulateurs sont dispos sur la plateforme pommée, j’ai vraiment uniquement fait un focus sur ceux que j’utilise le plus souvent.

Le prochain sera vraisemblablement Final Burn Alpha (CPS 3) qui serait dispo sur Mac OS. A suivre, donc.


Category: Gaming / Geek
Suivez les réponses à ce billet via le lien RSS. Comme nous sommes en démocratie, vous pouvez commenter, voire même faire un trackback depuis votre site (même si je ne sais toujours pas à quoi ça sert). Joie.

15 Commentaires

6 août 2012
Arren

Bonjour, j’ai essayé l’histoire du script pour l’émulateur supermodel, ça ne fonctionne pas, automator tourne pendant des heures, y a moyen que détail mieux la manip et les lignes de codes. thanks


6 août 2012

@ Arren: dis-moi si tu as bien installé le SDL framework et si tes roms sont dans le même répertoire que l’exécutable Supermodel (très important)


6 août 2012
Arren

SDL Framework est bien installé (dernière version SDL-1.2.15), et les roms sont bien dans le même répertoire que l’exécutable Supermodel_02a


6 août 2012

Ok peux tu m’en dire plus sur l’arborescence ?


6 août 2012
Arren

j’ai mis le dossier Supermodel_02a au premier niveau du disque dur avec Applications, Bibliothèque,
Developer etc…


6 août 2012

Tu peux me copier/coller ton script ?


6 août 2012
Arren

Supermodel_02a./Supermodel scud.zip

je suis sous os 10.6.8, peut être y a t’il un bug avec snow leopoard ?


6 août 2012

Nope, d’abord tu dis où se trouve l’appli à lancer (cd [dossier]), et ensuite tu entres la commande de lancement.

Dans ton cas tu devrais avoir ça:

cd Supermodel_02a
./supermodel scud.zip

Teste et dis-moi si ça se lance.


6 août 2012
Arren

ok je vais tester !

pendant qu’on y est, comment fait on pour dire a mame ou trouver le dossier ROM ?
je lance le dernier MAME via le terminal, il ce lance mais il dit qu’il ne trouve pas de dossier ROM.
Merci encore ^_^


6 août 2012

Par défaut le répertoire Roms doit être dans le même dossier que MAME, si tes roms sont ailleurs, tu dois utiliser la commande -rp et specifier le chemin vers ton répertoire quand tu lances MAME:

./MAME64 tonjeu.zip -rp chemin/dacces/vers/tes/roms

Sinon tu peux utiliser un front end et configurer le chemin vers tes roms dans les préférences :D


6 août 2012
Arren

j’ai retester, donc j’ai crée un script de type Application avec Exécuter un script Shell, j’ai marqué :
cd Supermodel_02a./Supermodel scud.zip je fais ensuite enregistrer et ça tourne pendant des plombs pour enregistrer, j’ai donc fais exécuter pour voir, et il y a une erreur, -: line 0: cd: Supermodel_2a/Supermodel: no such file or directory (1)


6 août 2012
Arren

j’ai tenté de lancé le jeu avec le terminal en rentrant /Supermodel_02a/Supermodel scud.zip
et voila le résultat

Supermodel: A Sega Model 3 Arcade Emulator (Version 0.2a)
Copyright (C) 2011 by Bart Trzynadlowski and Nik Henson

Error: Could not open ‘scud.zip’.
Error: Failed to load ROM set.

:-(


6 août 2012

attention, apres le cd Supermodel, fait un retour à la ligne avant de taper ./supermodel nomdujeu.zip


7 août 2012
Arren

Marche toujours pas le script, j’ai essayé de lancer avec le terminal
/Supermodel_02a/Supermodel scud.zip -rp/Supermodel_02a

voila la réponse :
Supermodel: A Sega Model 3 Arcade Emulator (Version 0.2a)
Copyright (C) 2011 by Bart Trzynadlowski and Nik Henson

Error: Ignoring unrecognized option: -rp/Supermodel_02a
Error: Could not open ‘scud.zip’.
Error: Failed to load ROM set.

cette manip fonctionne très bien avec Mame, mais pas avec Supermodel comprends pas !


8 août 2012

C’est ta rom de Scud Race qui est pourrie :D