mGalaxy documentation

Ajout/Edition d’une definition d’un émulateur

Vous pourriez vouloir éditer un émulateur, ou encore ajouter un émulateur à la liste des émulateurs reconnus pas mGalaxy.

Le plus simple est alors d’en faire la requête sur le forum mais si vous voulez le faire par vous même nous allons voir dans les lignes qui suivent comment procéder.

Ces tutoriels vont concerner la création d’un émulateur mais si le principe est acquis il devrait vous permettre également d’éditer un émulateur en toute connaissance.

Création d’un émulateur #

La liste des émulateurs est dans le fichier « mGalaxy\Data\Definition\Emulators.xml »
Ce fichier est à ouvrir avec un éditeur de texte.
Voici comment est défini un émulateur:

<Emulator name="Atari800Win" hidden="false">
	<Systems>
		<System name="Atari 800" option="" script="true" cmd="-atari -run &quot;%path\%file%ext&quot;" extensions="a52|bin|car|zip"/>
		<System name="Atari 5200" option="" script="true" cmd="-5200 -cart &quot;%path\%file%ext&quot;" extensions="a52|bin|car|zip"/>
	</Systems>
	<Requirement>
		<b>To quit emulator using the ESC key</b>
This feature is not available in the emulator. mGalaxy will take care of it with a script.
	</Requirement>
</Emulator>

Le tag « Emulator » #

<Emulator name="Atari800Win" hidden="false">

Dans la première ligne, 2 attributs

  • name: va recevoir le nom de l’émulateur.
  • hidden: dont la valeur peut être « true » ou « false » va permettre de définir si l’on veut lancer l’émulateur avec son interface non-visible (« true ») ou visible (« false »).
    Certains émulateurs le permettent, d’autres pas, c’est donc à tester au préalable.

Le tag « System » #

<System name="Atari 800" option="" script="true" cmd="-atari -run &quot;%path\%file%ext&quot;" extensions="a52|bin|car|zip"/>

Compris dans le tag « Systems » suivent le ou les systèmes émulés par cet émulateur, avec comme attributs:

  • name: le nom exact du système tel que défini dans le fichier « Systems.xml »
  • option: une information supplémentaire, si nécessaire
  • script: dont la valeur peut être « true » ou « false » va permettre de définir si l’on veut lancer l’émulateur par le biais d’un script (« true ») ou pas (« false »).
  • cmd: la ligne de commande à envoyer à l’émulateur
  • extensions: la liste des extensions de fichier permises par cet émulateur, séparée par un « | »

Nous allons nous attarder en détail sur la ligne de commande.
La quasi totalité des émulateurs sont lançable via une « ligne de commande ». Ces commandes sont trouvables sur le site officiel ou la documentation de l’émulateur.

mGalaxy utilise cette pratique et va donc s’adresser à l’émulateur en lui envoyant au passage des demandes d’options (tels que ‘démarre en plein écran’) ainsi que le chemin vers le jeux à lancer.

cmd="-atari -run &quot;%path\%file%ext&quot;"
In this particular example, we have as values
-atari : (command specific to this emulator) to specify that it is the Atari 800 which will be emulated
-run : (command specific to this emulator) to tell it to launch the game whose path will follow
&quot; : as we have seen before, we are in XML and this &quot; represents in fact a " (opening quotation mark of the path)
%path : keyword that will be substituted by the folder containing the game, internally
%file : keyword that will be substituted by the name of the game file, internally
%ext : keyword that will be substituted by the game file extension, internally
&quot; : closing quotation mark of the path

Par facilité, la meilleur approche est donc sans doute de d’abord tester l’émulateur avec un fichier batch

Atari800Win.exe -atari -run "E:\EMULATION\Atari 800\Roms\Boulder_Dash_(1984)(First_Star).zip"

…et quand tout fonctionne parfaitement, de remplacer ce qui doit l’être.

cmd="-atari -run &quot;%path\%file%ext&quot;"

Le tag « Requirement » #

<Requirement>
	<b>To quit emulator using the ESC key</b>
This feature is not available in the emulator. mGalaxy will take care of it with a script.
</Requirement>

La valeur de ce tag est un texte reprenant les informations de prérequis au lancement de l’émulateur.

Ce texte peut contenir des balises de formatage du texte, telles que:

<a href="http://www.mgalaxy.com.index.html">Text</a>
<span style="color:#ff7900">Text</span>
<b>Text</b>
<i>Text</i>
<u>Text</u>
<br></br>
<p>Text</p>
<ul></ul>
<li>Text</li>
<img src="image.jpg" alt="Image" width="500" height="600"></img>

Par contre il ne peut comprendre aucun des signes spéciaux réservés au language XML. Ces signes devront être remplacés manuellement ou par le biais d’un outils en ligne, tel que https://codebeautify.org/xml-escape-unescape

' is replaced with &apos;
" is replaced with &quot;
& is replaced with &amp;
< is replaced with &lt;
> is replaced with &gt;

Insertion du nouvel émulateur dans la liste #

Une fois que votre bloc de définition est prêt, copiez-le au même niveau que les autres définitions.

<?xml version="1.0" encoding="utf-8"?>
<Emulators>
	<Emulator name="Atari800Win" hidden="false">
		<Systems>
			<System name="Atari 800" option="" script="true" cmd="-atari -run &quot;%path\%file%ext&quot;" extensions="a52|bin|car|zip"/>
			<System name="Atari 5200" option="" script="true" cmd="-5200 -cart &quot;%path\%file%ext&quot;" extensions="a52|bin|car|zip"/>
		</Systems>
		<Requirement>
			<b>To quit emulator using the ESC key</b>
This feature is not available in the emulator. mGalaxy will take care of it with a script.</Requirement>
	</Emulator>
	<Emulator name="1964, 1964 UltraFast" hidden="false">
		<Systems>
			<System name="Nintendo 64" option="" script="true" cmd="-f -g &quot;%path\%file%ext&quot;" extensions="n64|z64|zip"/>
		</Systems>
		<Requirement>
			<b>To quit emulator using the ESC key</b>
This feature is not available in the emulator. mGalaxy will take care of it with a script.</Requirement>
	</Emulator>
	<Emulator name="4DO" hidden="false">
		<Systems>
			<System name="Panasonic 3DO" option="" script="false" cmd="--StartFullScreen -StartLoadFile &quot;%path\%file%ext&quot;" extensions="bin|cue|iso"/>
		</Systems>
		<Requirement>
			<b>To quit emulator using the ESC key</b>
Extract the content of <a href="http://www.mgalaxy.com/downloads/4DO_JohnnyInputBindings.zip">4DO_JohnnyInputBindings.zip</a> to your 4DO folder &gt; Settings folder.
Launch 4DO, go to &apos;Options&apos; &gt; &apos;Configure Input...&apos; and configure your other keyboard shortcut.</Requirement>
	</Emulator>