lundi 11 septembre 2017

[AMIGA] Quand l'émulation porte la nuisette !



E-UAE en toute transparence ! 
Dommage que ce ne soit pas une belle blonde.


Les utilisateurs d'AmigaOS 4 ont la chance d'avoir RunInUAE, ce logiciel qui permet de lancer de manière complètement transparente les ADFs et autres ISOs CD32 dans UAE. Il suffit de double-cliquer sur les ADFs ou de les balancer nonchalamment sur l'icone RunInUAE de votre AmiDock pour voir vos jeux s'exécuter dans UAE. Quant aux jeux CD32, on choisit dans le menu de RunInUAE de booter la CD32 sur une ISO (que vous avez préalablement montée) ou sur un CD. Simple comme un enfant qui vient de mettre sa main dans le feu, ou quelque chose du genre !
Mais voilà, sous MorphOS, on n'a pas RunInUAE... mais on a Fab1, Serge et Daff mais aussi Jambalah et un tout petit peu moi ^^


Les ADFs, WHDLoad et autres exécutables 68k

Dans les archives d'E-UAE MorphOS, dans les versions que l'on doit à Fabien "Fab1" Coeurjoly, l'on retrouve à chaque fois des applications dans le tiroir "Amiga" ainsi que des scripts dans le répertoire "Bonus" et ce, depuis 2006 soit quelques années avant la sortie de RunInUAE. Ce que je vais vous dire n'est par conséquent pas nouveau et un très bon tutoriel est disponible sur Obligement, complété par celui de Paolo "Jambalah" Russo (uniquement disponible au format PDF et seulement en anglais pour le moment).

Pour résumer ces tutoriels, mais surtout pour ne pas réinventer l'eau froide qui coupe le beurre, il s'agit d'indiquer à Ambient via les préférences de ses types mimes que les applications 68k et autres ADFs pourront se lancer via E-UAE tout en permettant à ce dernier de faire le lien entre Ambient et le Workbench émulé via des petites applis que vous devrez copier dans votre Workbench émulé. Mais pour tout cela, je vous invite à aller lire le tutoriel d'Obligement. De son côté, Jambalah a quant à lui poussé cette intégration à son paroxysme. Ainsi, il vous explique comment faire un Workbench vraiment minimaliste pour pouvoir lancer de manière quasi-instantanée les jeux WHDLoad. Et il ajoute une petite cerise sur ce cheese-cake et vous détaille comment le faire de manière encore plus intégrée et automatique en utilisant iGame ! De cette façon, vous vous retrouvez avec un logiciel vous affichant l'ensemble de vos jeux WHDLoad, mais pas uniquement, que vous pourrez lancer d'un simple double-clic sur le nom du jeu. Royal !

Je ne voulais pas l'écrire pour ne pas avoir l'obligation de le faire mais je vais quand même le faire... Je vais voir pour compléter les deux articles disponibles sur Obligement ("Intégrer E-UAE dans Ambient", pour y mettre toutes les astuces de Jambalah plus celle que je vais vous décrire ci-dessous, et "Installation et configuration de E-UAE", pour y ajouter une partie sur le JIT). Voilà, c'est dit, il ne me reste plus qu'à m'y mettre.


Quid de la CD32 ?

Pour ce qui est de la CD32 sous MorphOS, la situation est moins glorieuse. Autant RunInUAE apporte une solution tout-en-un, all-in-one comme disent nos amis anglophones, autant sur MorphOS la console CD de Commodore est délaissée. J'ai alors fait le pari, un peu à cause de Daff d'ailleurs, d'essayer d'intégrer dans Ambient une solution permettant le lancement quasi-transparent des jeux CD32, qu'ils soient au format ISO ou CD et, devinez quoi ?.... J'ai réussi ! J'ai pour cela été aidé par les amis du forum AmigaImpact dont Ball000 que je remercie encore. Pour que cela fonctionne, il va vous falloir les deux roms de la CD32 (la ROM et l'extended ROM, disponibles légalement dans la version Plus d'Amiga Forever). Il vous faudra aussi récupérer trois petits logiciels sur Aminet à savoir GetVolumeName, Sed 68k et IsInserted. Le premier permet d'obtenir le nom de volume de vos ISO, le deuxième permet d'ajouter le nom de volume ainsi récupéré dans votre fichier de configuration CD32, quant au dernier il vérifie s'il y a une ISO montée ou non et suivant le résultat lancera tel ou tel script.
Pour lancer tout ça, on ira modifier les types mimes des ISO (à savoir "x-iso-9660", pour pouvoir monter les ISO facilement) et celui des volumes d'Ambient ("xmorphos-globalaction-device", pour lancer E-UAE en mode CD32 et pour démonter les ISO préalablement montées).


Passons au vif du sujet !

Après vous avoir expliqué rapidement comment on allait procéder, je vais maintenant vous détailler l'ensemble du processus.

Nous allons partir du principe que votre installation E-UAE est d'ores et déjà fonctionnelle, se trouve dans Volume:Répertoire/E-UAE/ et que votre fichier de configuration dédié à la CD32 se nomme cd32.conf et se trouve dans le dossier conf/ de votre tiroir E-UAE. Il vous faudra par conséquent adapter ce que vous allez lire pour que cela corresponde à votre environnement.

Tout d'abord, il va falloir copier les exécutables de GetVolumeName, Sed et IsInserted dans MorphOS:C/. Ensuite, nous allons créer un script que nous allons nommer sobrement "ScriptCD32" et que nous allons glisser directement dans le répertoire d'E-UAE.


Voici le contenu de ce doux script (pour pouvoir faire un copié-collé) :

C:IsInserted ISO0:
IF NOT WARN
     c:GetVolumeName ISO0: short >env:nomvolume
     c:sed68k -e "s/NOMDEVOLUME/$nomvolume/g" Volume:Répertoire/E-UAE/Conf/cd32.conf >ram:cd32.conf
    run >nil: Volume:Répertoire/E-UAE/e-uae -f ram:cd32.conf -0
ELSE
    run >nil: Volume:Répertoire/E-UAE/e-uae -f Volume:Répertoire/E-UAE/conf/cd32.conf -0
ENDIF

Maintenant, nous allons nous assurer que vous avez bien une ligne dédiée aux ISO dans votre fichier cd32.conf. Vous devez par conséquent avoir une ligne qui ressemble à ceci, si ce n'est pas le cas, ajoutez là : filesystem2=ro,CD0:NOMDEVOLUME:ISO0:,1

Il va falloir désormais modifier le type mime des ISO. Pour cela, rendez-vous dans les préférences d'Ambient, MIME, cliquez sur "chercher" et tapez "ISO". Là, vous éditez x-iso-9660 et vous ajoutez une ligne intitulée "Monter l'ISO..." configurée en mode AmigaDOS pour lancer "MOSSYS:S/MountISO %sp". On passe ensuite au type mime des volumes. Idem que précédemment, on cherche "global" dans MIME et on édite xmorphos-globalaction-device. Là, on va ajouter deux lignes : une "Boot CD32" configurée en mode AmigaDOS pour lancer "execute Volume:Répertoire/E-UAE/ScriptCD32" et l'autre, que l'on nomme "Démonter le volume" et que l'on configure en mode AmigaDOS pour lancer "mossys:c/UnMount >nil: %sp".

Maintenant, quand vous voudrez lancer une ISO CD32, il vous faudra au préalable la monter via le menu contextuel puis lancer "Boot CD32" via le menu contextuel sur l'icone de l'ISO montée. Quand vous aurez fini de jouer, pensez à démonter l'ISO pour pouvoir ensuite en monter une nouvelle. Si vous voulez lancer un jeu CD, insérez simplement le CD et lancer "Boot CD32" via le menu contextuel sur le CD. Et voilà !


RunInUAE or MorphOS Bidouilles ? Telle est la question !

Ayant les deux désormais, je peux faire une petite comparaison rapide. Alors même si RunInUAE est très pratique, je n'ai pas réussi à faire fonctionner le lancement des jeux CD32 sans mettre les mains dans le camboui. Par contre, la configuration reste tout de même minimaliste. De plus, Hyperion fournit même les ROMs et des jeux avec AmigaOS 4.1. A l'utilisation, RunInUAE OS4 s'avère aussi simple que nos multiples bidouilles MorphOS. Il permet lui aussi d'utiliser iGame, comme sous MorphOS et pour cela, je vous invite à aller voir le fil de discussion nommé "E-UAE/RunInUAE/iGame" disponible sur le site Amigans.net, même si apparemment vous avez le risque de vous confrontez à un Grim Reaper de temps à autre avec iGame.

Pour ce qui est de nos bidouilles MorphOSiennes, ça prend du temps, c'est long et aussi fastidieux à installer/configuer. Mais, c'est aussi gratifiant une fois que cela fonctionne. J'ai pour ma part hurlé à la lune et couru nu sous cette même lune quand j'ai enfin finalisé mon installation ! Plus sérieusement, on peut regretter l'absence d'un outil identique à RunInUAE sous MorphOS. Toutefois, cela nous apporte la possibilité de faire aussi bien, ce qui est déjà pas mal. On pourrait d'ailleurs imaginer un script d'installation qui irait chercher tous les bons exécutables, les bons chemins et automatiserait la configuration de tout cela pour simplifier la tâche du simple quidam. Sans vouloir vendre la mèche ni faire de la délation, un certain Serge "Sergius" Alves s'était proposé de le faire, il y a de cela quelques années maintenant... ^^

Enfin, niveau compatibilité d'E-UAE avec la CD32, Christopher Handley, le développeur de RunInUAE, annonce 2 jeux CD32 sur 3 fonctionnels. Pour ma part, j'ai un taux de réussite sous MorphOS un peu supérieur mais je n'ai pas non plus testé l'ensemble des jeux CD32.

Il ne me reste plus qu'à vous souhaiter bon courage et surtout bons jeux par la suite ! ^^


Liste des liens :

Site de Fab1 : http://fabportnawak.free.fr
Tutoriel sur Obligement : http://obligement.free.fr/articles/integrer_euae_ambient.php
Tutoriel de Jambalah : http://www.meta-morphos.fr/download/Tutoriel/E-UAE%20installation%20on%20MorphOS.pdf
GetVolumeName : http://aminet.net/util/cli/GetVolumeName.lha
Sed 68k : http://aminet.net/dev/gg/sed-4.1.4-bin-m68k.lha
IsInserted : http://aminet.net/util/boot/IsInserted.lha
Fil de discussion concernant iGame et RunInUAE : http://www.amigans.net/modules/xforum/viewtopic.php?post_id=73263



--
/me s'est bien amusé à créer ces petits scripts et autres pour automatiser le tout !




Billet posté le 11 septembre 2017 (écrit le 23 novembre 2016)
(paru initialement dans le n°58 d'Amiga=Power)