Raspicade - SourceForge
Transcription
Raspicade - SourceForge
Raspicade : Distribution Arcade pour Raspiberry Pi Raspicade : Manuel Utilisateur version 0.1 Raspicade : Manuel Utilisateur Version 0.1 Table des matières 1 Spécifications/prérequis.....................................................................................................................4 2 Spécificités du module Xin-Mo sous linux.......................................................................................6 3 Création et configuration de la carte SD...........................................................................................7 3.1 Sous Linux.................................................................................................................................7 3.2 Sous Windows............................................................................................................................7 3.3 Redimensionner la carte SD......................................................................................................7 3.4 Un peu plus loin avec moebius.config.......................................................................................8 4 Premier Démarrage............................................................................................................................8 4.1 Configuration réseau..................................................................................................................8 4.2 Configuration de la sortie son..................................................................................................10 4.3 Extinction de Raspicade...........................................................................................................10 5 Utiliser/Configurer Raspicade.........................................................................................................10 5.1 Connexion en SSH...................................................................................................................10 6 Téléverser les roms..........................................................................................................................11 6.1 Téléversement de roms via ftp.................................................................................................11 6.2 Téléversement de roms via Samba (Utilisateurs Windows)....................................................12 7 Éviter la demande de configuration au démarrage..........................................................................13 Manuel Utilisateur 8 Utilisation de gamepads et hack gamepad.......................................................................................14 8.1 Contrôle de Pimenu.................................................................................................................14 8.2 Contrôle de Mame4all-pi.........................................................................................................14 8.3 Contrôle de piFBA...................................................................................................................15 8.4 Contrôle de GnGeo..................................................................................................................15 8.5 Contrôle de piSnes...................................................................................................................16 8.6 Cas d'autres gamepads.............................................................................................................16 Ian57 – Avril 2014 – Version 0.1 Ian57 - https://sourceforge.net/projects/raspicade/ 2/28 Raspicade : Manuel Utilisateur version 0.1 9 Câblage de votre module Xin-Mo...................................................................................................17 10 Utilisation de Raspicade avec le module Xin-Mo 2 joueurs.........................................................19 Raspicade : Manuel Utilisateur version 0.1 1 Spécifications/prérequis Matériel nécessaire à la mise en place de Raspicade. 10.1 Dans pimenu..........................................................................................................................19 • Un Raspberry pi Modèle B 512Mo et son alimentation ; 10.2 Dans Mame............................................................................................................................19 • Une carte SD de 8Go pour la distribution Raspicade 10.3 Dans un jeu Mame.................................................................................................................19 • Initialement Raspicade a été conçue pour fonctionner avec des gamepads 6 boutons et sans clavier. Lors du développement des gamepads Sidewinder d'occasion ont été utilisés (cf. figure 1). Ils sont peu chers, mais ne possèdent ni boutons « Start » ni « Select ». Il faudra donc émuler les actions « Start P1 », « Start P2 » et « Credits ». • Vous pouvez aussi utiliser des « hacks » manette usb (cf. figure 2 et http://www.morere.eu/spip.php?article174 ) ; • On pourra aussi utiliser le port GPIO du Raspberry pour récupérer les états des boutons et joysticks d'un panel arcade (cf. figure 3 et https://github.com/ian57/Retrogame-2players); • La distribution est aussi prévue (moyennant quelques manipulations en ligne de commande) pour un module Arcade très utilisé : le Xin-Mo 2 joueurs (http://www.xin-mo.com/?page_id=34). Celui utilisé pour le développement de la distribution provient du webmarchand bien connu SmallCab http://www.smallcab.net/encodeur-joystick-boutons-arcade-usb-joueur-cosses28mm-p-273.html ; • un câble HDMI pour connecter sur la télévision, ou un convertisseur HDMI ↔ VGA pour connecter un écran de PC (Plat ou cathodique). 10.4 Dans piFBA...........................................................................................................................19 10.5 Dans un jeu piFBA................................................................................................................20 10.6 Dans GnGeo...........................................................................................................................20 10.7 Dans un jeu GnGeo................................................................................................................20 10.8 Dans pisnes............................................................................................................................20 10.9 Dans un jeu pisnes.................................................................................................................20 11 Configuration du WIFI..................................................................................................................20 12 A propos des Roms........................................................................................................................24 13 Configuration avancée...................................................................................................................24 13.1 Problèmes avec le son en HDMI...........................................................................................24 13.2 Les modes vidéos...................................................................................................................25 13.3 Arcade Ready avec le GPIO..................................................................................................26 13.4 Que faire si mes contrôles ne semblent pas fonctionner........................................................26 Pour le premier démarrage vous aurez besoin d'un clavier USB afin de pouvoir répondre aux questions de configuration. Figure 1: Gamepads Sidewinder utilisés pour le développement Ian57 - https://sourceforge.net/projects/raspicade/ 3/28 Ian57 - https://sourceforge.net/projects/raspicade/ 4/28 Raspicade : Manuel Utilisateur version 0.1 Raspicade : Manuel Utilisateur version 0.1 La distribution possède un serveur SSH pour la connexion à distance, un serveur ftp pour le téléversement des roms, un serveur samba pour téléverser les roms depuis Windows. Figure 2: Hack manette usb pour panel arcade Figure 4: Hack GPIO Raspberry Pi pour panel Arcade 2 Spécificités du module Xin-Mo sous linux Ce module 2 joueurs possède un comportement particulier sous linux : il vu comme un seul joystick comportant 4 axes et 22 boutons alors que sous windows il est vu comme 2 joysticks différents. Du fait, la plupart des émulateurs ne verront pas les commandes du seconds joueurs attendant un réel second joystick. De plus le module noyau linux gérant ce matériel est buggé : http://ithink.ch/blog/2013/09/08/patching_the_linux_kernel_to_install_the_xinmo_dual_arcade_driver_on_a_raspberry_pi.html. Raspicade utilise donc un noyau patché pour corriger cela. Raspicade utilise aussi des versions patchées des émulateurs : Figure 3: Pisnes avec des gamepads sidewinder Par défaut Raspicade est configurée pour afficher une résolution de 1024x768 en 60Hz. Si vous désirez afficher une autre résolution, il faudra modifier le fichier « config.txt » qui se trouve sur la partition FAT sur la carte SD (ou dans la partition /boot si le système fonctionne). Ian57 - https://sourceforge.net/projects/raspicade/ 5/28 • Mame 0.37b5 a été patché pour supporter les 22 boutons du module (par défaut le nombre est limité à 16) ; • piFBA est patché pour la prise en comptes des 2 joysticks (cf. : https://github.com/petrockblog/RetroPie-Setup/wiki/Troubles-with-the-Xin-MoController ) ; • pisnes est patché pour supporter les spécificités du http://pimame.org/forum/discussion/comment/2367#Comment_2367. modules : La distribution est donc livrée avec 2 séries d'exécutables : une série pour les gamepads Ian57 - https://sourceforge.net/projects/raspicade/ 6/28 Raspicade : Manuel Utilisateur version 0.1 Raspicade : Manuel Utilisateur et les modules arcade 1 joueur et la seconde spécifique pour le module 2 joueurs Xin-Mo. suivante : En standard, la première série d'exécutables est activée et configurée . Pour vous permettre d'utiliser Raspicade avec le module 2 joueurs Xin-Mo vous devrez copier les exécutables et les fichiers de configuration de la version « Xin-Mo » à la place des fichiers « standards ». Par exemple pour utiliser la version de pisnes pour le module Xin-Mo il suffit de faire : sudo moebius.config cp snesxxinmo2players snesx; cp snesx.cfgxinmo2players snesx.cfg Faites la même chose pour les autres émulateurs. Attention le fichier de configuration de GnGeo se trouve dans le répertoire caché . gngeo à la racine de l'utilisateur pi, et celui de mame4all-pi dans le répertoire cfg de mame4all-pi. 3 Création et configuration de la carte SD 3.1 Sous Linux Télécharger l'image de la carte SD de la distribution Raspicade à l'adresse https://sourceforge.net/projects/raspicade/ . Décompressez là à l'aide de gunzip et créez la carte SD à l'aide des commandes suivantes : $ gunzip Raspicadesambaxinmo20140416.img.gz et choisir l'item « resizing ». Le programme doit être lancer en tant que l'utilisateur « root ». 3.4 Un peu plus loin avec moebius.config Raspicade est basée sur la distribution Moebius Linux http://moebiuslinux.sourceforge.net/ qui est plus légère qu'une raspbian (pas de Xorg, pas d'applications superflues). Vous pouvez utiliser le programme moebius.config pour : • Redimensionner la partition de la carte SD ; • Changer le mot de passe root • Changer la langue d'utilisation • Overclocker le système • Configurer la mémoire (GPU et CPU) Ce programme doit être lancer en tant que root : $ sudo moebius.config $ sudo dd bs=1M if=Raspicadesambaxinmo20140416.img of=/dev/sdx Remplacez le « x » par la lettre correspondant au périphérique de votre carte SD. Pour cela vous pouvez utiliser la commande df afin de vérifier la lettre.Vous aurez besoin d'une carte SD de 8Go pour créer le système. Attention la commande df est dangeureuse, et il est impératif de bien identifier le périphérique sur lequel vous allez écrire. Insérez votre carte SD dans le Raspberry Pi et démarrez le. 3.2 Sous Windows Il est possible d'utiliser le programme Win32disk Imager (https://sourceforge.net/projects/win32diskimager/) pour générer la carte SD. Vous trouverez un tutoriel français à l'adresse suivante : http://www.tropfacile.net/doku.php/raspberry-pi/preparer-carte-sd et un en langue anglaise ici : http://www.askvg.com/win32-disk-imager-write-any-bootable-image-to-usb-drive-inwindows/ 3.3 Redimensionner la carte SD Raspicade utilise les réglages d'overclocking suivants : arm_freq=900 gpu_freq=350 core_freq=450 sdram_freq=450 Il est bien sur possible de modifier ces paramètres d'overclocking par l'intermédiaire du fichier /boot/config et l'adresse http://elinux.org/RPiconfig#Overclocking. Raspicade contient un petit script permettant de contrôler la température des cœurs CPU et GPU. Il se nomme getTemp.sh et trouve à la racine de l'utilisateur pi. Vous pouvez l'utiliser via une connexion SSH : pi@raspberrypi ~ $ ./getTemp.sh CPU temp=44.9'C GPU temp=44.4'C pi@raspberrypi ~ $ 4 Premier Démarrage 4.1 Configuration réseau Si votre carte fait plus de 8Go, vous désirerez la redimensionner pour profiter de tout l'espace disponible. Vous pouvez utiliser le programme moebius.config pour étendre la partition principale de votre carte SD. Via une connexion SSH (cf. ci-après pour la méthode) vous pourrez lancer la commande Ian57 - https://sourceforge.net/projects/raspicade/ version 0.1 7/28 A la première mise sous tension est lancé le script de configuration IP statique en filaire (eth0, attention le wifi est pas supporté, mais pas en configuration automatique) : • Il peut être intéressant de fixer l'adresse filaire de Raspicade lors de son premier Ian57 - https://sourceforge.net/projects/raspicade/ 8/28 Raspicade : Manuel Utilisateur version 0.1 démarrage. Cela évite de chercher l'adresse IP délivrée par le serveur DHCP de la box pour s'y connecter en SSH. le script fonctionne comme suit : • Lors du premier démarrage, on teste si le fichier configuration DHCP (ce qui est le cas par défaut) ; • On demande à l'utilisateur s'il veut configurer une adresse IP fixe (y/n) ; • s'il répond “y”, on demande à l'utilisateur de saisir adresse IP, masque de réseau et passerelle. Ex : ip addr : 192.168.1.50, netmask 255.255.255.0 gateway :192.168.1.1. /etc/network/interfaces utilise la Raspicade : Manuel Utilisateur version 0.1 4.2 Configuration de la sortie son Par défaut Raspicade est configurée pour émettre le son sur la prise Jack 3,5''. Si vous désirez rediriger le son via la connectique HDMI, il faudra renseigner la valeur 2 au démarrage. Pour avoir le son sur la sortie 3,5'' il faut renseigner 1. Do you want to configure audio output of Raspicade (y/n): y Select your audio output (0 = auto, 1 = jack3,5, 2 = hdmi) : 2 Attention, la clavier est en qwerty… utilisez le pavé num! Attention bis, la touche backspace ne fonctionne pas. De manière identique à la configuration du réseau, il est possible d'éviter le configuration au démarrage par la création ou renommage d'un fichier dans le répertoire avoid_config (Voir le paragraphe 7 pour plus d'informations). • Le plus simple si ça se passe mal, c'est de faire configuration et redémarrer! • Sinon le fichier /etc/network/interfaces est modifié avec les nouvelles valeurs ; 4.3 Extinction de Raspicade • et l'adresse IP sera fixée et active dès ce premier démarrage. Au prochain redémarrage, le script se contentera d'afficher la configuration réseau statique, avant d'afficher la vidéo d'attente ; Avec le clavier USB branché, il suffit d'appuyer sur la touche « ESC » pour lancer l'arrêt de Raspicade. Vous verrez apparaître brièvement le logo de Raspicade ;-). • S'il répond “n”, on poursuit le démarrage, mais lors du prochaine démarrage la question sera à nouveau posée. Pour éviter le demande de configuration à chaque démarrage, il suffit de créer le fichier vide ” /home/pi/avoid/no_netconf_at_boot” (par la commande touch par exemple “touch no_netconf_at_boot”, on peut aussi renommer le fichier déjà présent en supprimant l’extension). Dans le script, un test sur l’existence de ce fichier permet d'éviter la configuration. • CTRL-C pour annuler la Cette configuration est gérée par le script piaudioconf.sh qui se trouve à la racine du compte de l'unique utilisateur pi. Il est possible de lancer ce script depuis une connexion SSH. Pour revenir à une adresse IP en DHCP, il faudra éditer en tant que root le fichier /etc/network/interfaces et remplacer 5 Utiliser/Configurer Raspicade Des programmes/serveurs utiles ont été installés par défaut sur Raspicade : • un serveur SSH pour prendre le contrôle de votre système via le réseau filaire; • un serveur FTP pour le téléversement facile des roms; • le réseau utilise par défaut la configuration automatique d'adresse IP (DHCP). Si vous branchez votre Raspberry Pi sur le réseau de votre box, il sera automatiquement configuré et pourra être connecté à distance (il suffira d'en trouver l'adresse IP par l'intermédiaire des utilitaires contenus dans votre box par exemple); • un serveur Samba pour le téléversement facile des roms depuis Windows. iface eth0 inet static address 192.168.1.50 netmask 255.255.255.0 gateway 192.168.1.1 par iface eth0 inet dhcp Cette configuration est gérée par le script pinetconf.sh qui se trouve à la racine du compte de l'unique utilisateur pi. Il est possible de lancer ce script depuis une connexion SSH. Do you want to fix the ip address of your pi (y/n): y Give the IP address : 192.168.1.10 5.1 Connexion en SSH Raspicade utilise le login automatique pour l'utilisateur « pi ». Dans le cas d'une connexion SSH, c'est différent. le login est « pi » et le mot de passe « pi ».. Give the netmask : 255.255.255.0 Give the gateway : 192.168.1.1 L'édition des fichiers de configuration peut être réalisée à l'aide des éditeurs de texte en mode console nano et vim. Nano est recommandé pour les utilisateurs les plus novices. Ian57 - https://sourceforge.net/projects/raspicade/ Pour toutes les connexions à distance, il faudra bien sur connecter votre Raspberry Pi au réseau filaire de votre domicile. 9/28 Depuis une machine Linux vous pouvez vous connecter à Raspicade par une commande du type : $ ssh [email protected] [email protected]'s password: pi Ian57 - https://sourceforge.net/projects/raspicade/ 10/28 Raspicade : Manuel Utilisateur version 0.1 pi@raspberrypi ~ $ Pour les utilisateurs Windows, il faudra utiliser le programme Putty (http://www.putty.org/). 6 Téléverser les roms Si vous utilisez Windows comme système d'exploitation, il est possible de transférer des fichiers vers Raspicade (et aussi renommer des fichiers pour la configuration) depuis l'explorateur Windows. Pour accéder aux répertoires partagés de Raspicade, il suffit de parcourir le réseau et de sélectionner « Raspicade ». Vous pouvez aussi saisir \\raspicade dans la barre d'adresse (ou smb://raspicade depuis une machine linux ;-)). Chaque émulateur possède son répertoire de téléversement : les roms de Mame4All-pi sont à déposer dans le répertoire version 0.1 6.2 Téléversement de roms via Samba (Utilisateurs Windows) Welcome in your RaspberryPI (Moebius Release) • Raspicade : Manuel Utilisateur /home/pi/mame4all- pi/roms • celles de piFBA dans /home/pi/pifba/roms • celles de piSnes dans /home/pi/pisnes/roms/ • celles de GnGeo dans /home/pi/gngeo-pi/roms 6.1 Téléversement de roms via ftp De la même manière, on peut utiliser une client ftp pour le téléversement des roms dans les répertoires des émulateurs : $ ncftp u pi 192.168.1.61 NcFTP 3.2.5 (Feb 02, 2011) by Mike Gleason (http://www.NcFTP.com/contact/). Connecting to 192.168.1.61... (vsFTPd 2.3.5) Logging in... Password requested by 192.168.1.61 for user "pi". Un simple « Glisser/Déposer » permet de téléverser des fichiers dans les répertoires partagés. Il vous sera aussi possible de renommer les fichiers du répertoire « avoid_config » pour supprimer les demandes de configuration du démarrage (cf. Paragraphe 7). Please specify the password. Password: ** Login successful. Logged in to 192.168.1.61. ncftp /home/pi > ls getTemp.sh pcsx_rearmed/ pisnes.zip isos/ pimenu/ pistore.desktop@ mame4allpi/ pimenu.zip Retrogame2players/ mame4all_pi.zip pisnes/ temp/ ncftp /home/pi > Dans le cas d'un système Windows, faites de même avec le programme Filezilla (https://filezilla-project.org/) par exemple. Ian57 - https://sourceforge.net/projects/raspicade/ 11/28 Ian57 - https://sourceforge.net/projects/raspicade/ 12/28 Raspicade : Manuel Utilisateur version 0.1 Lors des démarrages, Raspicade réalise une demande systématique de configuration du réseau et de la sortie son. Pour éviter cela, il suffit de créer (ou renommer) les fichiers vides no_netconf_at_boot et no_audioconf_at_boot dans le répertoire avoid_config à la racine du compte de l'utilisateur pi, ou via samba depuis Windows. 2 fichiers sont déjà présents dans le répertoire. Il suffit de les renommer en enlevant leur extensions : no_audioconf_at_boot.remove_extention_to_deactivate_question • no_netconf_at_boot.remove_extention_to_deactivate_question 8 Utilisation de gamepads et hack gamepad 8.1 Contrôle de Pimenu • Utiliser les directions gauche-droite pour sélectionner l'émulateur ; • Appuyer sur le bouton 1 ou 5 pour le lancer ; • Appuyer sur le bouton 6 pour quitter pimenu et stopper proprement Raspicade ; 8.2 Contrôle de Mame4all-pi Via SSH on utilisera les commandes suivantes : Dans Mame $ cd avoid_config $ mv no_audioconf_at_boot.remove_extention_to_deactivate_question no_audioconf_at_boot $ mv no_netconf_at_boot.remove_extention_to_deactivate_question no_netconf_at_boot Maintenant il n'y aura plus de question au prochain redémarrage et vous pouvez dorénavant débrancher le clavier USB. Raspicade est complètement pilotable grâce aux gamespads (et panel arcade). Raspicade démarre directement sur le petit programme pimenu qui vous propose les émulateurs disponibles. Ian57 - https://sourceforge.net/projects/raspicade/ version 0.1 Figure 5: Pimenu et la liste des émulateurs présents 7 Éviter la demande de configuration au démarrage • Raspicade : Manuel Utilisateur 13/28 • Utiliser les directions pour sélectionner le jeu ; • Appuyer sur le bouton 1 pour lancer le jeu ; • Appuyer sur le bouton 6 pour sélectionner ; • Appuyer simultanément sur les boutons 5 et 6 pour quitter Mame vers pimenu ; Dans un jeu Mame • Contrôles standards direction + 6 boutons ; • Appuyer simultanément sur les boutons 5, 2 et 4 pour quitter le jeu vers le frontal Mame ; • Appuyer simultanément sur les boutons 5 et 1 du Player1 pour ajouter des crédits ; • Appuyer sur le bouton 5 du Player 1 pour jouer avec le Player 1 (start Player 1) ; • Appuyer sur le bouton 5 du Player 2 pour jouer avec le Player 2 (start Player 2) ; Ian57 - https://sourceforge.net/projects/raspicade/ 14/28 Raspicade : Manuel Utilisateur version 0.1 Raspicade : Manuel Utilisateur 8.3 Contrôle de piFBA 8.5 Contrôle de piSnes Dans fbacapex (frontal graphique de piFBA) Dans piSnes • Utiliser les directions pour sélectionner le jeu ; • Contrôles standards direction + 4 boutons • Appuyer sur le bouton 1 pour lancer le jeu ; • Bouton 1 = Start, Bouton 2 = Select • Appuyer sur le bouton 6 pour afficher le menu de configuration (PFS, Game List) ; • Bouton 5 +Bouton 6 = quitte piSnes vers pimenu. • Appuyer simultanément sur les boutons 5 et 6 pour quitter fbacapex (piFBA frontend) vers pimenu ; Dans un jeu piFBA • Contrôles standards direction + 6 boutons ; • Appuyer simultanément sur les boutons 5 et 6 pour quitter le jeu vers fbacapex ; • Appuyer sur le bouton 6 du Player 1 pour ajouter des crédits ; • Appuyer sur le bouton 5 du Player 1 pour jouer avec le Player 1 (start Player 1) ; • Appuyer sur le bouton 5 du Player 2 pour jouer avec le Player 2 (start Player 2) ; 8.4 Contrôle de GnGeo Avec l'utilisation de gamepads à 6 boutons, il est nécessaire d'en utiliser 2 pour pouvoir faire fonctionner les jeux avec gngeo. Il n'est pas possible de configurer les appuis simultanés de boutons dans cet émulateur. Le bouton 6 du gamepads 2 est alors dédié à l'ajout de crédits. Dans le cas d'un seul gamepad, il vous faudra connecter un clavier pour pouvoir ajouter des crédits. version 0.1 Dans un jeu piSnes • Contrôles standards direction + 4 boutons • Bouton 1 = Start, Bouton 2 = Select • Bouton 5 +Bouton 6 ou Bouton 1 + Bouton 2 = quitte le jeu vers piSnes 8.6 Cas d'autres gamepads Si vous possédez des gamepads différents avec des boutons supplémentaires, il vous faudra alors éditer les fichiers de configuration de chaque émulateurs (et l'interface graphique de configuration avec Mame) pour permettre la prise en compte de votre matériel. Rendez vous sur les pages web respectives de chaque émulateurs pour comprendre comment il se configure. La section 13.4 de ce manuel peut alors vous être utile. Dans l'interface de GnGeo • Utiliser les directions pour naviguer dans les menus et sélectionner le jeu (le caractère '>' doit être en face du jeu que vous voulez choisir) ; • Appuyer sur le bouton 3 pour lancer le jeu ; • Appuyer sur le bouton 1 pour quitter l'interface GnGeo vers pimenu ; Dans un jeu GnGeo • Contrôles standards direction + 6 boutons ; • Appuyer sur le bouton 5 du Player 1 pour jouer avec le Player 1 (start Player 1) ; • Appuyer sur le bouton 5 du Player 2 pour jouer avec le Player 2 (start Player 2) ; • Appuyer sur le bouton 6 du player 1 pour quitter le jeu et afficher le menu de GnGeo. • Appuyer sur le bouton 6 du Player 2 pour ajouter des crédits ; Ian57 - https://sourceforge.net/projects/raspicade/ 15/28 Ian57 - https://sourceforge.net/projects/raspicade/ 16/28 Raspicade : Manuel Utilisateur version 0.1 Raspicade : Manuel Utilisateur version 0.1 Schéma de câblage : 9 Câblage de votre module Xin-Mo Tableau de câblage du module correspondant à la configuration des émulateurs dans Raspicade : Player 1 (P0) Pin Player 2 (P1) 1 Bouton 1 1 Joystick Droite 2 Bouton 2 2 Joystick Gauche 3 Bouton 3 3 Joystick Bas 4 Bouton 4 4 Joystick Haut 5 Bouton 5 5 6 Bouton 6 6 7 Start Player 1 7 8 Coins 8 9 Masse commune Player 1 9 10 11 Bas B1 B2 B3 Droite Joystick P1 Bouton 1 11 Bouton 2 12 Joystick Droite 12 Bouton 3 13 Joystick Gauche 13 Bouton 4 14 Joystick Bas 14 Bouton 5 15 Joystick Haut 15 Bouton 6 16 16 Start Player 2 17 17 18 18 USB Joystick P2 Bas B5 B6 Start P1 Haut 10 B4 Gauche Coins 1 9 10 18 1 9 10 18 P0 Xin-Mo Pin P1 Gauche Start P2 Masse commune Player 2 Droite Haut B1 Ian57 - https://sourceforge.net/projects/raspicade/ 17/28 B2 Ian57 - https://sourceforge.net/projects/raspicade/ B3 B4 B5 B6 18/28 Raspicade : Manuel Utilisateur version 0.1 Résultat : Raspicade : Manuel Utilisateur version 0.1 10.5 Dans un jeu piFBA • Contrôles standards direction + 6 boutons ; • Start Player 1 + Crédit = quitte le jeu vers piFBA. 10.6 Dans GnGeo • Joystick Joueur 1= navigation dans le menu ; • Bouton 1 Joueur 1= quitte GnGeo ; • Bouton 2 Joueur 1= sélectionne l'item. 10.7 Dans un jeu GnGeo 10 Utilisation de Raspicade avec le module Xin-Mo 2 joueurs • Joystick Joueur 1 = sélection de l'émulateur. Celui qui est au centre de l'écran est celui que l'on va lancer ; • Bouton 1 Joueur 1 = lance l'émulateur ; • Bouton Crédit = quitte pimenu et stop proprement Raspicade. • Bouton 1 Joueur 1 = lance le jeu ; • Start Player 1 + Crédit = quitte le Mame vers pimenu. Contrôles standards direction + 6 boutons ; • Start Player 1 + Crédit = quitte le jeu vers Mame; Bouton 6 Joueur 1 = affiche le menu (permet de quitter de revenir à pimenu). • Joystick Joueur 1= sélection du jeu ; • Bouton 1 Joueur 1= lance le jeu ; • Coin = quitte pisnes vers pimenu. • Contrôles standards direction + 4 boutons ; • Player 1 = Bouton Select du pad 1 snes ; • Player 2 = Bouton Select du pad 2 snes ; • Bouton 1 + Player 1 = permet de quitter le jeu proprement ; • Bouton 2 + Player 2 = permet de quitter le jeu proprement. 11 Configuration du WIFI 10.3 Dans un jeu Mame • • 10.9 Dans un jeu pisnes 10.2 Dans Mame Joystick Joueur 1 = sélection du jeu ; Contrôles standards direction + 4 boutons ; 10.8 Dans pisnes 10.1 Dans pimenu • • On prendra l'exemple d'un réseau WIFI derrière une box Orange utilisant WPA/WPA2 (TKIP/AES). Les autres box possèdent des configurations similaires et vous ne devriez pas avoir de problème. Nous utilisarons la page méthode de configuration. 10.4 Dans piFBA http://doc.ubuntu-fr.org/wpa#par_wpa_supplicant pour la • Joystick Joueur 1= sélection du jeu ; On commence par configurer le fichier • Bouton 1 Joueur 1= lance le jeu ; auto lo • Start Player 1 + Crédit = quitte le Mame vers pimenu. iface lo inet loopback Ian57 - https://sourceforge.net/projects/raspicade/ 19/28 /etc/network/interfaces Ian57 - https://sourceforge.net/projects/raspicade/ comme suit 20/28 Raspicade : Manuel Utilisateur version 0.1 iface eth0 inet dhcp version 0.1 ioctl[SIOCSIWENCODEEXT]: Invalid argument ioctl[SIOCSIWENCODEEXT]: Invalid argument allow-hotplug wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf Internet Systems Consortium DHCP Client 4.2.2 Copyright 20042011 Internet Systems Consortium. All rights reserved. iface default inet dhcp For info, please visit https://www.isc.org/software/dhcp/ Dans le cas de la configuration d'une adresse IP statique on aura par exemple : #to fix ip adress allow-hotplug wlan0 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf iface default inet static address 192.168.1.63 netmask 255.255.255.0 network 192.168.1.0 gateway 192.168.1.1 ensuite on configure le fichier Raspicade : Manuel Utilisateur Listening on LPF/wlan0/80:3f:5d:16:cf:49 Sending on LPF/wlan0/80:3f:5d:16:cf:49 Sending on Socket/fallback DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 7 DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 12 DHCPREQUEST on wlan0 to 255.255.255.255 port 67 /etc/wpa_supplicant/wpa_supplicant.conf DHCPOFFER from 192.168.1.1 ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev ap_scan=1 update_config=1 network={ ssid="VotreSSID" proto=WPA RSN scan_ssid=1 key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP #psk=<la clé générée par wpa_passphrase> psk="<votre clé de sécurité, ne pas oublier les "" qui entourent la clé>" } DHCPACK from 192.168.1.1 Reloading /etc/samba/smb.conf: smbd only. bound to 192.168.1.63 renewal in 33734 seconds. pi@Raspicade ~ $ Pour d'autres exemples de mode de sécurité reportez vous à l'adresse http://doc.ubuntufr.org/wpa#par_wpa_supplicant contient la clé de sécurité de votre connexion, soit on met la clé originale (de 8 à 63 caractères alphanumérique saisis sur l'interface de configuration de la box) entre des ””, soit on peut mettre la clé générée par le programme wpa_passphrase sans ”” : psk Ces fichiers sont déjà présents dans Raspicade et vous n'aurez qu'à remplacer le SSID et la clé de sécurité par les vôtres. root@Raspicade:/etc/wpa_supplicant# wpa_passphrase VotreSSID # reading passphrase from stdin VotreCleDeSécurité network={ ssid="VotreSSID" #psk="VotreCleDeSécurité" psk=clegenereeparleprogrammewpa_passphrase } root@Raspicade:/etc/wpa_supplicant# On peut alors faire un test de connexion à la box : pi@Raspicade ~ $ sudo ifup wlan0 ioctl[SIOCSIWAP]: Operation not permitted Ian57 - https://sourceforge.net/projects/raspicade/ 21/28 Ian57 - https://sourceforge.net/projects/raspicade/ 22/28 Raspicade : Manuel Utilisateur version 0.1 Raspicade : Manuel Utilisateur version 0.1 erreurs générées en cas de problème : root@Raspicade:/home/pi# wpa_supplicant /etc/wpa_supplicant/wpa_supplicant.conf B i wlan0 c 12 A propos des Roms Seules les roms libres libres de droits (http://www.mamedev.org/roms/) sont disponibles dans Raspicade. Il vous appartient de récupérer, téléverser et tester sur Raspicade les roms de jeux que vous désirez utiliser. Ils existent de nombreux problèmes de compatibilité entre les bios, les roms et les émulateurs. Cependant voici quelques informations qui vous éviteront de perdre du temps lors de vos recherches : Après un redémarrage, on se connecte avec l'adresse IP 192.168.1.63 via ssh : yann@yannbiboo:~$ ssh [email protected] [email protected]'s password: Welcome in your RaspberryPI (Moebius Release) • Pour l'émulateur pisnes, il sera nécessaire de procéder empiriquement : téléchargement et tests ; • Pour l'émulateur piFBA, la liste des jeux supportés est données à l'adresse https://code.google.com/p/pifba/source/browse/FBAcapex_src/gamelist.txt • Pour l'émulateur gngeo, il est compatible avec le jeu de roms de mame 0.138. Si vous avez un autre jeu de roms, vous pouvez utiliser le programme clrmamepro pour créer la bonne version de la rom. (source https://github.com/ymartel06/GnGeo-Pi/wiki/Roms). N'oubliez pas les bios https://github.com/ymartel06/GnGeo-Pi/wiki/Bios-neogeo.zip. 13.1 Problèmes avec le son en HDMI pi@Raspicade ~ $ En cas de problème de connexion, vérifiez bien la syntaxe de votre fichier wpa_supplicant.conf. Ensuite réalisez les commandes suivantes qui permettent de réinitialiser la connexion wifi pour la tester à nouveau : root@Raspicade:/home/pi# ifdown wlan0 root@Raspicade:/home/pi# killall q wpa_supplicant root@Raspicade:/home/pi# rm /var/run/wpa_supplicant/wlan0 root@Raspicade:/home/pi# rm rf /var/run/wpa_supplicant/ Ensuite tentez de relancer la configuration de la connexion wifi : Vous avez branché Raspicade sur votre télévision en HDMI, configuré le son en sélectionnant la sortie sur HDMI, mais malheureusement vous n'entendez rien. Cela peut arriver. La page suivante http://elinux.org/RPi_Troubleshooting#Sound_does_not_work_with_an_HDMI_monitor nous indique que la cause peut provenir de la sélection du mode DVI à la place de HDMI même si le câble HDMI est connecté. Il suffit alors d'éditer le fichier de configuration /boot/config.txt et d'ajouter la ligne suivante : hdmi_drive=2 Cela force le système à sélectionner le mode HDMI. root@Raspicade:/home/pi# ifup wlan0 Ian57 - https://sourceforge.net/projects/raspicade/ Pour l'émulateur Mame4All-pi, le « set » de roms « gp2x_wiz 2.2 full romset 0.37b5 » semble fonctionner convenablement. Il est cependant très ancien. La liste des jeux présents est disponible à l'adresse https://sourceforge.net/p/raspicade/wiki/HowTo/attachment/gamelist.txt; 13 Configuration avancée Vous pouvez aussi tester manuellement le programme • wpa_supplicant pour voir les 23/28 Il est aussi possible que cela vienne de la configuration par défaut de Raspicade. Elle a Ian57 - https://sourceforge.net/projects/raspicade/ 24/28 Raspicade : Manuel Utilisateur version 0.1 été configurée pour être utilisée avec un convertisseur HDMI ↔ VGA sur une résolution de 1024x768. Si vous utiliser une télévision, il est fortement recommandé de modifier la variable hdmi_group dans le fichier /boot/config.txt : hdmi_group=2 #(pour ecran pc) hdmi_group=1 #(pour tv) Pour vous aider la commande votre configuration courante : tvservice permet d'obtenir des informations concernant pi@raspicade ~ $ tvservice s state 0x120016 [DVI DMT (16) RGB full 4:3], 1024x768 @ 60Hz, progressive pi@raspicade ~ $ tvservice a PCM supported: Max channels: 2, Max samplerate: 48kHz, Max samplesize 24 bits. version 0.1 13.3 Arcade Ready avec le GPIO Si vous ne désirez pas utiliser un module arcade pour récupérer les commandes issues de votre panel, il est possible d'utiliser directement le GPIO du Raspberry Pi. La distribution utilise le projet Retrogame-2players https://github.com/ian57/Retrogame2players. Il s'agit d'un utilitaire GPIO vers USB destinés aux émulateurs arcade : le programme transforme un appui sur une bouton connecté au GPIO en une touche clavier (par défaut la configuration des touches est celle de Mame). Ce dernier permet de connecter 2 joysticks et 15 boutons soit 23 entrées du GPIO (2 joueurs avec 6 boutons, start player1, start player2 et crédits). Ce projet est un clone amélioré du projet AdafruitRetrogame https://github.com/adafruit/Adafruit-Retrogame. Les modifications permettent d'obtenir 25 entrées GPIO sur le Raspberry Pi pour les boutons et « microswitchs » de joysticks. Les informations sont disponibles à l'adresse https://github.com/ian57/Retrogame-2players/wiki. pi@raspicade ~ $ 13.2 Les modes vidéos Si vous désirez exécuter Raspicade dans une résolution spécifique (par exemple 640x480), il vous faudra aussi éditer le fichier /boot/config.txt et ajouter/modifier la variable hdmi_mode : hdmi_mode=4 Vous trouverez la liste complète des résolutions http://elinux.org/RPiconfig#Video_mode_options. supportées à l'adresse Les modes CEA doivent être utilisés pour les Télévisions, alors que les modes DMT sont réservés aux écrans d'ordinateur (cf. http://raspberrypi.stackexchange.com/questions/7332/what-is-the-difference-between-ceaand-dmt) Dans le cas de l'utilisation de moniteurs d'arcade ou de télévision, on utilisera les modes CEA et on ajoutera la variable suivante au fichier /boot/config.txt : hdmi_group=1 Dans le cas de l'utilisation d'écrans d'ordinateur, on utilise les modes DMT et on ajoute la ligne suivante au fichier /boot/config.txt : hdmi_group=2 Ensuite on choisit le bon mode dans http://elinux.org/RPiconfig#Video_mode_options. Raspicade : Manuel Utilisateur Pour activer/désactiver le programme qui contrôle les entrées sur le GPIO, il suffit de décommenter/commenter la ligne suivante dans le fichier /etc/rc.local : #launch support pour GPIO at startup #/home/pi/Retrogame-2players/retrogame & 13.4 Que faire si mes contrôles ne semblent pas fonctionner Dans le cas de l'utilisation d'un module arcade, on commence par vérifier le câblage de la tresse de masse et de chaque « microswitch ». Dans le cas de gamepads on se tourne directement vers les outils logiciels. Les paquets « evtest » et « joystick » sont installés sur Raspicade afin de pouvoir tester les différents périphériques d'entrée pour les émulateurs. On pourra aussi les utiliser pour déterminer les numéros des boutons et axes de joysticks pour la configuration des entrées pour les émulateurs. Evtest est un moniteur d’événements d'entrée. Il permet de détecter et d'afficher les actions réalisées sur un périphérique d'entrée. Voici une séquence de test sur un gamepad sidewinder : pi@raspicade ~ $ evtest les listes de l'adresse No device specified, trying to scan all of /dev/input/event* Not running as root, no devices may be available. Pour un moniteur arcade en 640x480 on configure de la manière suivante : Available devices: hdmi_group=1 hdmi_mode=2 /dev/input/event0: 2.4G Wireless Touchpad Keyboard /dev/input/event1: 2.4G Wireless Touchpad Keyboard /dev/input/event2: Microsoft® Microsoft® SideWinder® Plug & Play Game Pad /dev/input/event3: Microsoft® Microsoft® SideWinder® Plug & Play Game Pad /dev/input/event4: CHICONY HP Basic USB Keyboard Pour un écran plat d'ordinateur en 1024x768 on configure de la manière suivante : hdmi_group=2 hdmi_mode=16 Select the device event number [04]: 2 Ian57 - https://sourceforge.net/projects/raspicade/ 25/28 Ian57 - https://sourceforge.net/projects/raspicade/ 26/28 Raspicade : Manuel Utilisateur version 0.1 Raspicade : Manuel Utilisateur version 0.1 Input driver version is 1.0.1 Event: time 1398874730.302176, SYN_REPORT Input device ID: bus 0x3 vendor 0x45e product 0x27 version 0x100 Event: time 1398874730.443208, type 3 (EV_ABS), code 1 (ABS_Y), value 63 Input device name: "Microsoft® Microsoft® SideWinder® Plug & Play Game Pad" Event: time 1398874730.443208, SYN_REPORT Supported events: Event: time 1398874731.035280, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001 Event type 0 (EV_SYN) Event: time 1398874731.035280, type 1 (EV_KEY), code 304 (BTN_A), value 1 Event type 1 (EV_KEY) Event: time 1398874731.035280, SYN_REPORT Event code 304 (BTN_A) Event: time 1398874731.235329, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001 Event code 305 (BTN_B) Event: time 1398874731.235329, type 1 (EV_KEY), code 304 (BTN_A), value 0 Event code 306 (BTN_C) Event: time 1398874731.235329, SYN_REPORT Event code 307 (BTN_X) Après avoir sélectionné le périphérique d'entrée, on peut contrôler le bon fonctionnement de chaque bouton/axe. Event code 308 (BTN_Y) Event code 0 (ABS_X) Le programme jstest, présent dans le paquet « joystick » permet de tester les états des différents boutons/axes des joysticks détectés. Ces périphériques sont nommés « jsx » et se trouvent dans le répertoire /dev/input. « x » est le numéro du joystick. Value 0 pi@raspicade ~ $ jstest /dev/input/js0 Min 0 Driver version is 2.1.0. Max 127 Joystick (Microsoft® Microsoft® SideWinder® Plug & Play Game Pad) has 2 axes (X, Y) Flat 7 and 6 buttons (BtnX, BtnY, BtnZ, BtnTL, BtnTR, BtnTL2). Event code 1 (ABS_Y) Testing ... (interrupt to exit) Value 0 Axes: 0: 32767 1: 0 Buttons: 0:off 1:off 2:off 3:off 4:off 5:off Min 0 La commande précédente permet de connaître toutes les entrées accessibles sur un matériel particulier (ici le premier joystick détecté) et de le tester en temps réel : l'appui sur un bouton ou un axe change l'état affiché dans la console. Event code 309 (BTN_Z) Event type 3 (EV_ABS) Max 127 Flat 7 Event type 4 (EV_MSC) Event code 4 (MSC_SCAN) Properties: Testing ... (interrupt to exit) Event: time 1398874726.857710, type 3 (EV_ABS), code 0 (ABS_X), value 127 Event: time 1398874726.857710, type 3 (EV_ABS), code 1 (ABS_Y), value 63 Event: time 1398874726.857710, SYN_REPORT Event: time 1398874727.002477, type 3 (EV_ABS), code 0 (ABS_X), value 63 Event: time 1398874727.002477, SYN_REPORT Event: time 1398874728.527948, type 3 (EV_ABS), code 0 (ABS_X), value 0 Event: time 1398874728.527948, SYN_REPORT Event: time 1398874728.639956, type 3 (EV_ABS), code 0 (ABS_X), value 63 Event: time 1398874728.639956, SYN_REPORT Event: time 1398874729.710119, type 3 (EV_ABS), code 1 (ABS_Y), value 0 Event: time 1398874729.710119, SYN_REPORT Event: time 1398874729.838110, type 3 (EV_ABS), code 1 (ABS_Y), value 63 Event: time 1398874729.838110, SYN_REPORT Event: time 1398874730.302176, type 3 (EV_ABS), code 1 (ABS_Y), value 127 Ian57 - https://sourceforge.net/projects/raspicade/ 27/28 Ian57 - https://sourceforge.net/projects/raspicade/ 28/28