Rétro-Gaming avec Raspberry-Pi

Voici un nouveau tutoriel tutoriel chez MCHobby... il ravira les utilisateurs du Pi puisque ce dernier se penche sur le rétro-gaming avec une manette d'Arcade.

Outre son aspect rétro-gaming, ce tutoriel à l'énorme intérêt de montrer comment utiliser des broches du GPIO pour simuler des frappes au clavier à l'aide de uinput. Un tutoriel intéressant pour de très nombreuses autres applications.


Introduction
Je suis un enfant des années 80. Le commodore 64, l'Atari, les jeux Miami Vice, Frogger, Space invader, Pac-Man et Mario Bros. Les vacances dans les Luna-parks ! Une époque très colorée! Et chacun avait ses préférences en guise de jeux vidéo d'arcade. Grâce à notre Raspberry super abordable et quelques bons logiciels, il est possible de re-créer et revivre les sensation des bornes d'Arcade d’antan chez soit. Nous proposons une interface de contrôle de borne d'arcade (les joysticks de LunaPark), vous pouvez alors apporter vos fichiers de jeux et vos compétences en bricolage pour réaliser vos propres bornes d'arcades.

Si vous disposez de contrôle de type "Arcade", alors vous pouvez réaliser des raccordements sur le port GPIO de votre Pi
voir les détails dans cet article
voir les détails dans cet article

Raccordement
Raccordements que vous pouvez réaliser comme suit (sur un Pi Rev 2)
Plus de détails sur notre tutoriel
Raccordements qui ressemble à ceci
Vous trouverez plus d'informations sur les raccordements dans notre tutoriel.
 
Après l’interfaçage matériel, voici l’interfaçage logiciel

Les logiciel d'émulation de jeu utilisent généralement un clavier pour recevoir les différentes instructions de contrôle dans les jeux.
Modifier les émulateurs pour qu'ils utilisent les broches de GPIO est une option qui tournerait assez vite au cauchemar (sans compter que cela serait compliqué).

Une autre options plus élégante consiste utiliser un petit logiciel qui surveille le port GPIO et simule lui-même des frappes claviers.
Nous avons de la chance, Raspberry-Pi fonctionne avec un système d'exploitation Linux ce dernier dispose du module uinput spécialement dédié à ce type de tâche (Yes!).

Dans les suites du tutoriels (voir lien en bas de l'article), vous apprendrez comment charger le module uinput du noyau linux... et comment activer le programme utilitaire Retrogame (cfr: le dépot GitHub d'AdaFruit).

Le programme Retrogame est donc ce petit bout de logiciel dont l'unique but  est  de convertir les états détectés sur le GPIO du Raspberry-Pi en frappe de touche clavier (à l'aide du module uinput).

Encore plus loin:
Le tutoriel montre également comment modifier et recompiler le programme Retrogame... les sources étant disponibles dans le dépôt GitHub d'AdaFruit, vous pourrez le modifier et l'adapter à vos propres besoins... même très éloigné du rétro-gaming :-)

Qu'est-ce que "uinput"?
uinput est un module du kernel/noyau Linux qui permet de manipuler le sous-système d'entrée depuis la un processus/programme utilisateur. Il peut être utilisé pour créer et gérer des périphériques d'entrées depuis une application. Il crée des périphériques de type caractère dans le répertoire /dev/input... périphérique qui est une interface virtuelle puisqu'elle n'appartient pas à un périphérique physique.

Vous pouvez manipuler uinput en C mais aussi en python :-) voyez donc notre section ressource dans le tutoriel.

Les produits phares 

Tutoriel

 Vous voulez en savoir plus...