
Aujourd'hui, la plupart des appareils domestiques sont pilotables par un smartphone : télévision, chaine hi-fi, stores, détecteur de fumées, etc ...
Qu'en est-il des bornes d'arcades ?
C'est dans cette optique que j'ai développé un moyen de piloter mon MAMECab à partir de mon smartphone.

MAMETel est un front-end déporté.
Une fois MAMETel installé sur le MAMECab, il ne reste plus qu'à connecter MAMETel au réseau, et le front-end est accessible depuis le navigateur internet de n'importe quel appareil.
IMPORTANT : MAMETel doit être lancé en mode administrateur afin d'autoriser l'ouverture du port sur votre PC.
Pour faciliter l'utilisation avec smartphone, MAMETel génère un QRCode qui permet rapidement d'ouvrir l'interface depuis votre smartphone.
Votre smartphone devient instantanément une télécommande pour votre borne d'arcade.
MAMETel est protégé par une clef qu'il partage avec le smartphone via le QRCode.
Si vous préférez piloter MAMETel depuis un appareil autre qu'une tablette ou un smartphone, il est également possible de partager la clef avec un simple copier-coller du lien par messagerie instantanée ou par mail.

J'ai effectué le développement et les tests avec Windows 10 (64 bits) et GroovyMAME 0.195 (64 bits).
Je n'ai pas pu le tester, mais cela devrait être compatible avec Windows XP (32 bits) et n'importe quelle version de MAME.
En effet, MAMETel a été développé avec "Microsoft .NET Framework 4" (32 bits).
MAMETel s'occupe de générer la listes des roms compatibles et présents dans le dossier ciblé, cependant, il est possible de gérer une liste complémentaire entièrement personnalisable.
Il s'agit du fichier "Perso.lst"
Exemple du contenu de "Perso.lst" :
Code : Tout sélectionner
Sonic & Knuckles (Genesis);"C:\MAME\groovymame\mame64.exe -keyboardprovider dinput genesis sk"
Sonic The Hedgehog 3 (Genesis);"C:\MAME\groovymame\mame64.exe -keyboardprovider dinput genesis sonic3u"
Pour que MAME accepte les commandes qui lui sont envoyée, il faut qu'il accepte l'API DirectInput, pour cela, il suffit d'ajouter le paramètre "-keyboardprovider dinput" dans la ligne de commande, ou de le préciser dans "mame.ini".
Il est également possible de gérer une liste de roms favoris.
Pour ajouter un rom à la liste de vos favoris, il suffit de sélectionner l'étoile située devant le titre et il apparaitra automatiquement dans la liste des favoris.
Toutes les listes sont combinables depuis l'interface déportée.
Il est également possible, depuis l'interface Windows de MAMETel d'afficher ou masquer la listes BIOS.
Là encore, la liste des BIOS, à considérer comme tel ou non, est entièrement personnalisable.
La liste des roms est accessible depuis l'interface Windows de MAMETel directement.
Il est possible d'ouvrir le front-end directement sur le PC hôte si nécessaire, cela pourra parfois être utile de lancer un rom depuis le PC.
Pour plus facilement naviguer dans la liste des roms depuis une interface tactile, il est possible de rester appuyer sur l'alphabet et de glisser sur la lettre ciblée.
Pour baisser ou augmenter le volume, il est également possible de rester appuyer pour mieux l'ajuster.
L'interface déportée par défaut est compatible avec la majorité des navigateurs internet pour Windows et Android.
Il est également compatible avec Safari pour iOS.
L'interface déportée étant au format HTML, il est facile de créer des habillages personnalisés selon vos goûts ou les couleurs de votre MAMECab.
La seule contrainte, est que les images, fichiers .JS ou fichiers .CSS doivent être situé soit sur internet, soient intégré directement au fichier HTML du thème. Les images au format Base 64 sont pris en charge. (MAMETel n'est pas un serveur de fichier, il ne fait qu'interpréter les fichiers HTML pour maintenir la connexion entre le PC sur lequel il est installé et l'appareil utilisé pour piloter la borne.)
L'interface déportée permet, par défaut, de piloter le son, de naviguer dans les menu de MAME ou du BIOS du rom.
MAMETel s'adapte aussi bien aux smartphones tenus en position verticale, qu'aux tablettes tenues en position horizontale.

L'interface a été conçu pour être utilisée de manière tactile, ou avec le curseur de la souris.
Il est possible de passer d'un rom à l'autre directement, sans à avoir à fermer celui qui est déjà ouvert. MAME se fermera proprement en enregistrant l'état dans lequel vous avez quitté, si MAME est configuré dans ce sens et que votre rom le permet.
Une fois opérationnel, il est possible d'automatiser la connexion au réseau au démarrage du MAMECab par exemple.
Un écran de veille laissant apparaitre le même QRCode que celui de l'interface du logiciel permet à n'importe quel appareil de commander la borne, juste en flashant le QRCode présent sur un bord de l'écran. Si l'écran de veille est automatiquement activé, il s'affichera en overlay pendant qu'un rom tourne à l'écran mais qu'aucune commande n'est activé, ce qui permet à l'utilisateur de choisir à quoi il souhaite jouer, sans avoir à manipuler quoique ce soit sur la borne.
Comme écrit plus haut, il est possible de piloter la borne depuis internet, pour peu que le port de MAMETel soit ouvert sur votre routeur et qu'il cible l'adresse IP locale de la borne.
Cela permet à quiconque, mais sans avoir à se connecter à votre réseau Wifi, de piloter la borne, pour peu qu'il puisse flasher le QRCode.
Pour des raisons de sécurité, la clef est modifiable à tout moment via l'interface Windows de MAMETel. La clef est composée de 64 caractères différents et composé de chiffres et lettres, en majuscules et en minuscules, afin de renforcer la sécurité. Si le port de MAMETel est ouvert sur votre routeur, je vous conseille fortement de changer la clef régulièrement. Pour cela, un simple clic sur le bouton de la barre d'outil, et le tour est joué. Il est impossible d'envoyer la moindre commande à MAMETel sans avoir la seule et unique clef qui aura été généré aléatoirement.
MAMETel sauvegarde sa configuration dans un fichier d'initialisation "MameTel.ini"
Tous les paramètres de MAMETel sont éditable depuis ce fichier, y compris la clef, si vous préférez, par exemple, entrer un mot de passage personnalisé plutôt qu'une clef aléatoire.
Télécharger MAMETel :
MAMETel 1.0
Il s'agit ici de la toute première version de cette application. Elle peut contenir des anomalies. Merci à vous de me remonter toute anomalie rencontrée.