Raspicade : Distribution Arcade pour Raspiberry
Transcription
Raspicade : Distribution Arcade pour Raspiberry
Raspicade : Distribution Arcade pour Raspiberry Pi Manuel Utilisateur Ian57 – Novembre 2014 – Version 0.4 Raspicade : Manuel Utilisateur version 0.4 Raspicade : Manuel Utilisateur Version 0.4 Table des matières 1 Introduction.......................................................................................................................................4 2 Spécifications/prérequis.....................................................................................................................5 3 Spécificités du module Xin-Mo sous linux.......................................................................................8 4 Création et configuration de la carte SD.........................................................................................10 4.1 Sous Linux...............................................................................................................................10 4.2 Sous Windows..........................................................................................................................10 4.3 Redimensionner la carte SD.....................................................................................................11 4.4 Un peu plus loin avec moebius.config.....................................................................................11 5 Premier Démarrage..........................................................................................................................12 5.1 Configuration réseau................................................................................................................12 5.2 Configuration de la sortie son..................................................................................................13 5.3 Configuration du frontal de sélection d'émulateur...................................................................14 5.4 Extinction de Raspicade...........................................................................................................14 6 Utiliser/Configurer Raspicade.........................................................................................................14 6.1 Connexion en SSH...................................................................................................................14 7 Téléverser les roms..........................................................................................................................17 7.1 Téléversement de roms via ftp.................................................................................................17 7.2 Téléversement de roms via Samba (Utilisateurs Windows)....................................................19 8 Éviter la demande de configuration au démarrage..........................................................................20 8.1 Pimenu.....................................................................................................................................21 8.2 EmulationStation1...................................................................................................................23 8.3 Scraper pour EmulationStation1..............................................................................................25 9 EmulationStation2...........................................................................................................................27 10 Utilisation de gamepads et hack gamepad.....................................................................................29 Ian57 - https://sourceforge.net/projects/raspicade/ 2/54 Raspicade : Manuel Utilisateur version 0.4 10.1 Contrôle de Pimenu...............................................................................................................29 10.2 Contrôle de Mame4all-pi.......................................................................................................30 10.3 Contrôle de piFBA.................................................................................................................30 10.4 Contrôle de GnGeo................................................................................................................30 10.5 Contrôle de piSnes.................................................................................................................31 10.6 Cas d'autres gamepads...........................................................................................................31 11 Câblage de votre module Xin-Mo.................................................................................................32 12 Utilisation de Raspicade avec le module Xin-Mo 2 joueurs.........................................................34 12.1 Dans pimenu..........................................................................................................................35 12.2 Dans Mame............................................................................................................................35 12.3 Dans un jeu Mame.................................................................................................................35 12.4 Dans piFBA...........................................................................................................................35 12.5 Dans un jeu piFBA................................................................................................................35 12.6 Dans GnGeo...........................................................................................................................35 12.7 Dans un jeu GnGeo................................................................................................................36 12.8 Dans pisnes............................................................................................................................36 12.9 Dans un jeu pisnes.................................................................................................................36 13 Utilisation de Raspicade avec un clavier ou un encodeur clavier (IPAC, Hack Clavier, pikeydx32…)......................................................................................................................................36 14 Utilisation GPIO et programme Retrogame..................................................................................38 14.1 Pour 1 joueur..........................................................................................................................39 14.2 Pour 2 joueurs........................................................................................................................40 15 Configuration du WIFI..................................................................................................................41 16 A propos des Roms........................................................................................................................45 17 Configuration avancée...................................................................................................................45 17.1 « Quiet Boot » pour Raspicade..............................................................................................45 17.2 Problèmes avec le son en HDMI...........................................................................................46 17.3 Les modes vidéos...................................................................................................................47 17.4 Vous utilisez la sortie composite et l'image est en noir et blanc............................................47 Ian57 - https://sourceforge.net/projects/raspicade/ 3/54 Raspicade : Manuel Utilisateur version 0.4 17.5 Arcade Ready avec le GPIO..................................................................................................48 17.6 Que faire si mes contrôles ne semblent pas fonctionner........................................................48 17.7 Le mode scanline...................................................................................................................50 17.8 Raspicade et les TV 16:9.......................................................................................................52 18 Mise à jour via Github...................................................................................................................53 1 Introduction Raspicade est une distribution arcade pour Raspberry Pi basée sur Moebius Linux. Elle embarque 6 émulateurs : Mame4all-pi, piFBA, GnGeo, pi-SNES9x, Dgen and Picodrive. Une fois la carte SD crée, la distribution démarre automatiquement sur le frontal EmulationStation https://github.com/Aloshi/EmulationStation/tree/master (version 1) par défaut. D'autres frontaux sont présents : l'ancien Pimenu et EmulationStation dans sa version 2. Ces programmes permettent de sélectionner simplement les jeux parmi les émulateurs présents. Le choix du frontal peut être configuré au démarrage de Raspicade. EmulationStation 2 utilise les bibliothèques Sdl en version2. Il est plus joli graphiquement mais est aussi légèrement plus lent que le version 1 (notamment lorsque vous quittez un jeu et revenez au menu). Ian57 - https://sourceforge.net/projects/raspicade/ 4/54 Raspicade : Manuel Utilisateur version 0.4 2 Spécifications/prérequis Matériel nécessaire à la mise en place de Raspicade. • Un Raspberry pi Modèle B/B+ 512Mo et son alimentation (l'ancienne version 256Mo fonctionne aussi) ; • Une carte SD de 8Go pour la distribution Raspicade. 4Go suffisent mais il est préférable d'avoir 8 ou 16Go si vous ajoutez de nombreuses roms ; • 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 5 et https://github.com/ian57/Retrogame-2players); • Sur le nouveau B+, on pourra utiliser directement les GPIO étendu pour y brancher l'ensemble d'un panel 2 joueurs en utilisant une version modifiée du programme Retrogame https://github.com/ian57/Raspicade-Retrogame-2Player-Bplus. • On pourra aussi utiliser des encodeurs clavier tels que le Kade (http://kadevice.com/), l'IPAC (http://www.ultimarc.com/ipac1.html), pikeydx32 http://atmjoy.com/pikeyd-pi-gpio-keyboard-daemon-i2c-mcp3017/ avec le programme résident pikeyd (https://github.com/mmoller2k/pikeyd) (figure 4). • 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). Pour le premier démarrage vous aurez besoin d'un clavier USB afin de pouvoir répondre aux questions de configuration. Ian57 - https://sourceforge.net/projects/raspicade/ 5/54 Raspicade : Manuel Utilisateur version 0.4 Figure 1: Gamepads Sidewinder utilisés pour le développement Figure 2: Hack manette usb pour panel arcade Ian57 - https://sourceforge.net/projects/raspicade/ 6/54 Raspicade : Manuel Utilisateur version 0.4 Figure 3: Pisnes avec des gamepads sidewinder Figure 4 : Module pikeydx32 avec raspicade Ian57 - https://sourceforge.net/projects/raspicade/ 7/54 Raspicade : Manuel Utilisateur version 0.4 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). 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 5: premeier Hack GPIO Raspberry Pi pour panel Arcade 2joueurs sur un Pi B512 3 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. Depuis la version 3.12.25 du noyau, le patch a été intégré et il n'est plus necessaire d'utiliser un noyau patché. Raspicade utilise aussi des versions patchées des émulateurs : • Mame 0.37b5 a été patché pour supporter les 22 boutons du module (par défaut le nombre est limité à 16) ; Ian57 - https://sourceforge.net/projects/raspicade/ 8/54 Raspicade : Manuel Utilisateur version 0.4 • piFBA est patché pour la prise en comptes des 2 joysticks (cf. : https://github.com/petrockblog/RetroPie-Setup/wiki/Troubles-with-the-Xin-MoController ) ; Le support du module Xin-Mo a été intégrée à ces émulateurs par l'intermédiaire d'une variable dans le fichier de configuration. • pisnes est patché pour supporter les spécificités du modules : http://pimame.org/forum/discussion/comment/2367#Comment_2367. Le support du module Xin-Mo a été intégrée à ces émulateurs par l'intermédiaire d'une variable dans le fichier de configuration. • Picodrive a été patché pour supporter le module https://github.com/ian57/RaspicadePicoDrive/commit/7177879a50d3e4ec84a9041e645c3152a5932eb0. Xin-Mo La configuration du support du module Xin-Mo est réalisé par l'intermédaire des fichiers de configuration de chaque émulateurs. La distribution est donc livrée avec 2 séries de fichiers de configuration : une série pour les gamepads et les modules arcade 1 joueur et la seconde spécifique pour le module 2 joueurs Xin-Mo. En standard, le support des gamepads est activée et configurée . Les utilisateurs d'encodeurs claviers ou du GPIO n'ont pas besoin de réaliser de configuration sur les émulateurs. Ils sont déjà prévus avec les supports du clavier. Pour vous permettre d'utiliser Raspicade avec le module 2 joueurs Xin-Mo vous devrez copier 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 de puis le répertoire pisnes : cp snesx.cfgxinmo2players snesx.cfg Pour mame, il y a plusieurs fichiers de configuration : dans le répertoire mame4all-pi cp mame.cfgxinmo2players mame.cfg et cfg dans mame4all-pi : cp config2.cfgxinmo config2.cfg cp cfg/default.cfgxinmo2players cfg/default.cfgxinmo cp fba2x.cfgxinmo2players fba2x.cfg Attention le fichier de configuration de GnGeo se trouve dans le répertoire caché . gngeo à la racine de l'utilisateur pi : cp gngeoxinmo gngeo Dans ~/.gngeo, par précaution on modifie les droits sur le fichier gngeorc chmod 644 gngeorc cp gngeorc_xinmo2players gngeorc chmod 444 gngeorc Il faudra aussi réitérer pour les frontaux graphiques pimenu ou émulation station. Dans ~/pimenu : cp pimenu.cfgxinmo2players pimenu.cfg Ian57 - https://sourceforge.net/projects/raspicade/ 9/54 Raspicade : Manuel Utilisateur version 0.4 Normalement EmulationStation devrait fonctionner sans modification. Si ce n'est pas le cas dans ~/.emulationstation on fait : cp es_input.cfgall es_input.cfg Pour les émulateurs Pisnes et PiFba, l'activation du support du module Xin-Mo passe par une variable dans la section Joystick du fichier de configuration Pour PiFBA [Joystick] #1 = XinMoSupport, 0 = standard XinMoSupport=1 Pour Pisnes [Joystick] #XinMo (0=False, 1=True) XinMoEnabled=1 4 Création et configuration de la carte SD 4.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 $ 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. Si votre carte SD ne démarre pas, il est possible que la carte soit mal enfoncée dans le connecteur. Cela arrive souvent avec les adaptateurs SD-microSD. Une autre possibilité est qu'une des partitions n'ait pas bien été créée. Tenter de la recréer en supprimant les partitions existantes. Si votre carte SD possède déjà un partitionnement il est préférable de supprimmer toutes les partitions avant de procéder à la création. Les utilitaires fdisk, cfdisk et gparted pourront être utilisés. 4.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 : Ian57 - https://sourceforge.net/projects/raspicade/ 10/54 Raspicade : Manuel Utilisateur version 0.4 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/ 4.3 Redimensionner la carte SD 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 suivante : sudo moebius.config et choisir l'item « resizing ». Le programme doit être lancer en tant que l'utilisateur « root ». Il est aussi possible d'utiliser le programme raspi-config livré dans la distribution raspbian. Il est bien plus complet. sudo raspiconfig Attention s'il existe des erreurs sur une des partitions de la cart SD, le programme de redimensionnement ne pourra redimensionner votre carte. Il vous faudra faire une vérification des partitions sur une machine linux avant de poursuivre. Dans tous les cas, après chaque redimensionnement, vérifiez à l'aide de la commande df que la partition /dev/root a bien été étendue. 4.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 Raspicade utilise les réglages d'overclocking suivants : arm_freq=900 gpu_freq=350 core_freq=450 sdram_freq=450 Ian57 - https://sourceforge.net/projects/raspicade/ 11/54 Raspicade : Manuel Utilisateur version 0.4 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. Si vous avez ajouter des radiateurs au CPU/GPU de votre Pi, vous pourrez peut êre utiliser le mode turbo : arm_freq=1000 gpu_freq=350 core_freq=500 sdram_freq=500 over_voltage=6 Raspicade contient un petit script permettant de contrôler la température des cœurs CPU et GPU ainsi que la fréquence effective du processeur. 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 Speed: 900 MHz CPU Temp: 50.3°C GPU Temp: 50.8°C pi@raspberrypi ~ $ Vous disposez aussi du script getPiInfo.sh qui vous donnera des informations supplémentaires sur votre Raspberry Pi 5 Premier Démarrage 5.1 Configuration réseau 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 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 Attention, la clavier est en qwerty… utilisez le pavé num! Attention bis, la touche backspace ne fonctionne pas. • 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 ; Ian57 - https://sourceforge.net/projects/raspicade/ CTRL-C pour annuler la 12/54 Raspicade : Manuel Utilisateur version 0.4 • 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 ; • 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_config/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. • Pour revenir à une adresse IP en DHCP, il faudra éditer en tant que root le fichier /etc/network/interfaces et remplacer 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 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. 5.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 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. 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). Ian57 - https://sourceforge.net/projects/raspicade/ 13/54 Raspicade : Manuel Utilisateur version 0.4 5.3 Configuration du frontal de sélection d'émulateur Par défaut Raspicade est configurée pour utiliser le frontend EmultionStation1. Au démarrage le script de configuration de frontend est lancé. « n » évite la configuration et démarre sur EmulationStation1. « y » lance le script de configuration. On renseigne 0 pour Pimenu, 1 pour EmulationStation1 et 2 pour EmulationStation2. Do you want to configure frontend for raspicade (y/n): y Select your frontend output (0 = pimenu, 1 = EmulationStation1, 2 = EmulationStation2) : 2 Cette configuration est gérée par le script pifrontendconf.sh qui se trouve à la racine du compte de l'unique utilisateur pi. Il est possible de lancer ce script depuis une connexion SSH. Ce script permet de pointer (par l'intermédaire de lien symbolique unix) sur les bons répertoires EmulationStation et sur le bon fichier .profile qui est chargé de lancer le frontend. 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 8 pour plus d'informations). 5.4 Extinction de Raspicade 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 ;-). 6 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. Pour toutes les connexions à distance, il faudra bien sur connecter votre Raspberry Pi au réseau filaire de votre domicile. 6.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 ».. Ian57 - https://sourceforge.net/projects/raspicade/ 14/54 Raspicade : Manuel Utilisateur version 0.4 Depuis une machine Linux vous pouvez vous connecter à Raspicade par une commande du type : $ ssh [email protected] [email protected]'s password: pi Welcome in your RaspberryPI (Moebius Release) pi@raspberrypi ~ $ Pour les utilisateurs (http://www.putty.org/). Windows, il faudra utiliser le programme libre Putty Un fois téléchargé, on lance le programme : On renseigne l'adresse IP du Raspberry Pi à connecter et on clique sur le bouton Open : Ian57 - https://sourceforge.net/projects/raspicade/ 15/54 Raspicade : Manuel Utilisateur version 0.4 Une fenêtre s'ouvre vous invitant à saisir le login et le mot de passe pour la connexion : ici c'est l'identifiant pi et le mot de passe pi. Voilà vous êtes maintenant connecté en ssh sur votre Raspberry PI : Nous allons maintenant éditer le fichier de configuration de la partition /boot à l'aide de l'éditeur en ligne de commande nano : et l'on obtient la fenêtre suivante : Ian57 - https://sourceforge.net/projects/raspicade/ 16/54 Raspicade : Manuel Utilisateur version 0.4 Il ne vous reste plus qu'à réaliser vos modifications et les enregistrer. Les commandes de l'éditeur sont indiquées en bas de la fenêtre (^ signifie la touche Contrôle de votre clavier) On quitte la connexion ssh par la commande « exit ». 7 Téléverser les roms Chaque émulateur possède son répertoire de téléversement : • les roms de Mame4All-pi sont à déposer dans le répertoire /home/pi/mame4all- pi/roms • celles de piFBA dans /home/pi/pifba/roms • celles de piSnes dans • celles de GnGeo dans /home/pi/gngeo-pi/roms • celles de Dgen dans • celles de Picodrive dans /home/pi/pisnes/roms/ /home/pi/picodrive/roms /home/pi/picodrive/roms Avec EmulationStation1, il est possible de lire des videos depuis Raspicade. Ces fichiers sont à déposer dans le répertoire /home/pi/videos. Cette fonctionnalité n'est pas encore présente dans EmulationStation2 en raison d'un bug qui ne permet pas de piloter le lecteur Video OmxPlayer. 7.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. Le login et le mot de passe sont identique à ceux utilisés pour la connexion en SSH : Login = pi Mot de passe = pi En mode console, sous linux, on peut utiliser ncftp : $ ncftp u pi 192.168.1.61 Ian57 - https://sourceforge.net/projects/raspicade/ 17/54 Raspicade : Manuel Utilisateur version 0.4 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". 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 > En mode graphique, ou dans le cas d'un système Windows, faites de même avec Filezilla (https://filezilla-project.org/). Figure 6: Utilisation de Filezilla pour le téléversement des roms Ian57 - https://sourceforge.net/projects/raspicade/ 18/54 Raspicade : Manuel Utilisateur version 0.4 7.2 Téléversement de roms via Samba (Utilisateurs Windows) 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 ;-)). 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 Ian57 - https://sourceforge.net/projects/raspicade/ 19/54 Raspicade : Manuel Utilisateur version 0.4 « avoid_config » pour supprimer les demandes de configuration du démarrage (cf. Paragraphe 7). 8 Éviter la demande de configuration au démarrage Lors des démarrages, Raspicade réalise une demande systématique de configuration du réseau, de la sortie son et du frontend. Pour éviter cela, il suffit de créer (ou renommer) les fichiers vides no_netconf_at_boot, no_audioconf_at_boot et no_frontendconf_at_boot dans le répertoire avoid_config à la racine du compte de l'utilisateur pi, ou via samba depuis Windows. 3 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 • no_frontendconf_at_boot.remove_extention_to_deactivate_question Via SSH on utilisera les commandes suivantes : $ 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 $ mv frontendconf_at_boot.remove_extention_to_deactivate_question frontendconf_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 frontend de votre choix : Ian57 - https://sourceforge.net/projects/raspicade/ 20/54 Raspicade : Manuel Utilisateur version 0.4 8.1 Pimenu Figure 7: Pimenu et la liste des émulateurs présents Le programme Pimenu initial a été modifié pour permettre l'utilisation d'une image de fond d'écran au format bmp d'une taille de 1024x678 pixels nommée « BACKGROUND.bmp » (Attention les majuscules sont importantes!). Les icônes de tailles fixes 192x192 pixels pourront posséder une couleur transparente et se nommeront ICON0.bmp, ICON1.bmp etc. De plus un effet Zoom In/Out permet de différencier l’icône active des autres. Ian57 - https://sourceforge.net/projects/raspicade/ 21/54 Raspicade : Manuel Utilisateur version 0.4 Figure 8: Pimenu après modification La couleur transparente est un noir… mais par le noir absolu (0,0,0) en rgb, il s'agit en fait d'un bleu très foncé : (0,0,10) rgb ou 00000a notation HTML ou encore (240,100,4) en HSV : Ian57 - https://sourceforge.net/projects/raspicade/ 22/54 Raspicade : Manuel Utilisateur version 0.4 Figure 9: Valeurs de la couleur transparente des icônes Une nouvelle icône fait son apparition et permet d'éteindre proprement le système. 8.2 EmulationStation1 Par défaut, le frontal n'est pas configuré pour votre matériel (gamepad ou autre). Au démarrage, ce dernier va tenter de reconnaître vos joysticks pour générer le fichier de configuration. Attention cette configuration automatique ne concerne que le frontal EmulatioStation, cela n'a aucune influence sur les configuration des différents émulateurs. Ces derniers devront être configurés par l'intermédiaire de leur fichiers spécifiques dans le cas ou leur configuration pas défaut ne conviendrait pas. Une fois la détection des périphériques d'entrées réalisées, le logiciel vous demandera de les configurer : Ian57 - https://sourceforge.net/projects/raspicade/ 23/54 Raspicade : Manuel Utilisateur version 0.4 On recommence pour le joueur 2, si vous avez un second joystick/gamepad : Puis EmulationStation démarre, donnant accès aux émulateurs et aux jeux déjà présents sur Raspicade (jeux libres et « homebrew ») : Ian57 - https://sourceforge.net/projects/raspicade/ 24/54 Raspicade : Manuel Utilisateur version 0.4 Le thème par défaut est celui utilisé par le projet Retropie : Il s'agit du thème créé par Xevin (http://aloshi.com/emulationstation#themes) téléchargeable à l'adresse suivante : http://aloshi.com/emulationstation#themes Les fichiers de configuration d'EmulationStation1 se trouvent dans le répertoire .emulationstationv1. Ce répertoire contient les fichiers de configuration suivants : qui contient d'EmulationStation1 ; • es_input.cfg • es_systems.cfg la définition des périphériques de contrôle qui contient la liste des émulateurs et les répertoires des roms, le theme à utiliser, ainsi que le type de plateforme pour la récupération des données des jeux (scraper) ; Les thèmes sont stockés dans des sous-repertoires. Astuces : la suppression du fichier de configuration es_input.cfg oblige EmulationStation à relancer l'outil La version 1 d'EmulationStation est maintenant obsolète. Le site https://github.com/Aloshi/EmulationStation/ ne propose plus que la version 2. Cependant Cette version 1 est plus réactive que la version 2. Notamment lorsque l'on quitte un jeu. De plus la version 2 ne permet pas de piloter le lecteur vidéo OmxPlayer à travers le programme joy2key. De ce fait, la lecture de vidéo est absente des fonctionnalités de raspicade utilisant la version 2 d'EmulatioStation. 8.3 Scraper pour EmulationStation1 EmulationStation 1 ne possède pas de « scraper » intégré comme c'est le cas pour EmulationStation2. Cependant il est possible de générer les fichiers « gamelist.xml » qui contiendront des informations sur les jeux (Images, Synopsis, etc.). Le « scraper » utilisé dans Raspicade est un version modifiée du scraper de Retropie : https://github.com/petrockblog/RetroPie-Setup/wiki/ES-scraper. Elle permet notamment de remplacer le nom de rom du jeu par le nom réel du jeu même si une image du jeu ou un commentaire n'est pas trouvé dans la base de données. Ian57 - https://sourceforge.net/projects/raspicade/ 25/54 Raspicade : Manuel Utilisateur version 0.4 Ce script utilise le fichier de configuration d'EmulationStation 1 et plus particulièrement le champs PLATFORMID présent dans chaque bloc de chaque émulateur : NAME=snes DESCNAME=Snes PATH=/home/pi/pisnes/roms EXTENSION=.zip .ZIP COMMAND=/home/pi/pisnes/snes9x %ROM% PLATFORMID=6 Ce champ indique au Scraper le type de plateforme à considérer pour la récupération des informations. La liste des plateformes est la suivante : [25] 3DO [4911] Amiga [23] Arcade [22] Atari 2600 [26] Atari 5200 [27] Atari 7800 [28] Atari Jaguar [29] Atari Jaguar CD [30] Atari XE [31] Colecovision [40] Commodore 64 [32] Intellivision [37] Mac OS [14] Microsoft Xbox [15] Microsoft Xbox 360 [24] NeoGeo [4912] Nintendo 3DS [3] Nintendo 64 [8] Nintendo DS [7] Nintendo Entertainment System (NES) [4] Nintendo Game Boy [5] Nintendo Game Boy Advance [41] Nintendo Game Boy Color [2] Nintendo GameCube [9] Nintendo Wii [38] Nintendo Wii U [1] PC [33] Sega 32X [21] Sega CD [16] Sega Dreamcast [20] Sega Game Gear [18] Sega Genesis [35] Sega Master System [36] Sega Mega Drive [17] Sega Saturn [10] Sony Playstation [11] Sony Playstation 2 [12] Sony Playstation 3 [39] Sony Playstation Vita [13] Sony PSP [6] Super Nintendo (SNES) [34] TurboGrafx 16 Ian57 - https://sourceforge.net/projects/raspicade/ 26/54 Raspicade : Manuel Utilisateur version 0.4 Il faut donc renseigner le type de plate-forme pour chacun des émulateurs présents sur Raspicade. Pour lancer la génération des fichiers gamelist.xml, on utilise la commande suivante : $ python /home/pi/temp/Raspicadeconfigurationfiles/ESscraper/scraper.py v w 350 L'option -w permet de redimensionner simultanément l'image afin qu'elle ne prenne pas toute la place sur le thème utilisé. L'option -v rend le script verbeux et vous informe de toutes les actions. Avant de lancer le Scraper, vérifiez bien que le site http://thegamesdb.net/ est opérationnel, car c'est à cette endroit que le script télécharge ses infos. Ces derniers temps le site a subi plusieurs arrêt rendant le script non opérationnel. Une fois le script terminé, chaque répertoire de roms contient les images des jeux et le fichiers gamelist.xml contenant la description de chaque jeu présent s'il a été trouvé dans la base de données. Il est au format XML et peut être éditer manuellement : <?xml version="1.0"?> <gameList> <game> <path>/home/pi/pisnes/roms/Gods.zip</path> <name>Gods</name> <desc>Hercules is aiming to achieve immortality by completing th e task the Gods have set him. His task is presented as a platform adventure set in ancient Greece, featuring a variety of enemies as you play it through. Of more significance, however, is the game's Artificial Intelligence system, in which creatures monitor how you play, and try to find safer positions. Also, the game offers more bonuses and power-ups if you're struggling to progress. Even w ithout those, there are lots of bonus sections to find and unlock.</desc> <image>/home/pi/pisnes/roms/Gods.jpeg</image> <rating>0.000000</rating> <userrating>0.000000</userrating> <timesplayed>0</timesplayed> <lastplayed>0</lastplayed> </game> </gameList> 9 EmulationStation2 Par défaut, le frontal n'est pas configuré pour votre matériel (gamepad ou autre). Au démarrage, ce dernier va tenter de reconnaître vos joysticks pour générer le fichier de configuration. Attention cette configuration automatique ne concerne que le frontal EmulatioStation, cela n'a aucune influence sur les configuration des différents émulateurs. Ces derniers devront être configurés par l'intermédiaire de leur fichiers spécifiques dans le cas ou leur configuration pas défaut ne conviendrait pas. Une fois la détection des périphériques d'entrées réalisées, le logiciel vous demandera de les configurer (ici avec le gamepad 2) : Ian57 - https://sourceforge.net/projects/raspicade/ 27/54 Raspicade : Manuel Utilisateur version 0.4 Il est possible de reconfigurer les périphériques d'entrées à tout moment par l'intermédiaire du menu d'ES2 : Puis EmulationStation démarre, donnant accès aux émulateurs et aux jeux déjà présents sur Raspicade (jeux libres et « homebrew ») : Ian57 - https://sourceforge.net/projects/raspicade/ 28/54 Raspicade : Manuel Utilisateur version 0.4 EmulationnStation2 est plus convivial d'utilisation et propose un « scraper » graphique intégré pour récupérer les informations d'un jeu directement depuis internet. Il faudra bien sur que votre Raspicade soit connectée à internet. En ce qui concerne l’utilisation avancée d'EmulationStation2, il est préférable de consulter l'adresse : http://emulationstation.org/gettingstarted.html qui propose l'ensemble des configurations. Le thème par défaut utilisé par Raspicade peut être téléchargé à l'adresse : http://emulationstation.org/downloads/themes/simple_latest.zip. 10 Utilisation de gamepads et hack gamepad 10.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 obtenir une console linux (shell pour faire des configurations). Ian57 - https://sourceforge.net/projects/raspicade/ 29/54 Raspicade : Manuel Utilisateur version 0.4 10.2 Contrôle de Mame4all-pi Dans Mame • 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 • La touche « Tab » permet de configurer les entrées dans les jeux mame. Pour une configuration générale valable dans tous les jeux, on utilise l'entrée de menu « Input (General) », pour une configuration spécifique à un jeu on utilise « Input (this game) ». • 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) ; 10.3 Contrôle de piFBA Dans fbacapex (frontal graphique de piFBA) • Utiliser les directions pour sélectionner le jeu ; • Appuyer sur le bouton 1 pour lancer le jeu ; • Appuyer sur le bouton 6 pour afficher le menu de configuration (PFS, Game List) ; • 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) ; 10.4 Contrôle de GnGeo Avec l'utilisation de gamepads à 6 boutons, il est nécessaire d'en utiliser 2 pour pouvoir Ian57 - https://sourceforge.net/projects/raspicade/ 30/54 Raspicade : Manuel Utilisateur version 0.4 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. 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 1 pour lancer le jeu ; • Appuyer sur le bouton 2 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 ; 10.5 Contrôle de piSnes Dans piSnes • Contrôles standards direction + 4 boutons • Bouton 1 = Start, Bouton 2 = Select • Bouton 5 +Bouton 6 = quitte piSnes vers pimenu. 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 10.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. Ian57 - https://sourceforge.net/projects/raspicade/ 31/54 Raspicade : Manuel Utilisateur version 0.4 11 Câblage de votre module Xin-Mo Tableau de câblage du module correspondant à la configuration des émulateurs dans Raspicade : Pin 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 10 Bouton 1 11 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 Ian57 - https://sourceforge.net/projects/raspicade/ Masse commune Player 2 32/54 Raspicade : Manuel Utilisateur version 0.4 Schéma de câblage : B5 B4 B2 B1 Gauche Droite Start P1 Haut Joystick P1 USB Joystick P2 Bas B3 Coins 9 1 18 10 10 18 1 9 P0 Xin-Mo Bas B6 P1 Gauche Start P2 Droite Haut B1 B2 Ian57 - https://sourceforge.net/projects/raspicade/ B3 B4 B5 B6 33/54 Raspicade : Manuel Utilisateur version 0.4 Résultat : 12 Utilisation de Raspicade avec le module Xin-Mo 2 joueurs Voici les correspondances boutons/actions : Figure 10: Correspondance boutons/actions pour le module Xin-Mo Ian57 - https://sourceforge.net/projects/raspicade/ 34/54 Raspicade : Manuel Utilisateur version 0.4 12.1 Dans pimenu • 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. 12.2 Dans Mame • Joystick Joueur 1 = sélection du jeu ; • Bouton 1 Joueur 1 = lance le jeu ; • Start Player 1 + Crédit = quitte le Mame vers pimenu. 12.3 Dans un jeu Mame • La touche « Tab » permet de configurer les entrées dans les jeux mame. Pour une configuration générale valable dans tous les jeux, on utilise l'entrée de menu « Input (General) », pour une configuration spécifique à un jeu on utilise « Input (this game) ». • Contrôles standards direction + 6 boutons ; • Start Player 1 + Crédit = quitte le jeu vers Mame; 12.4 Dans piFBA • Joystick Joueur 1= sélection du jeu ; • Bouton 1 Joueur 1= lance le jeu ; • Start Player 1 + Crédit = quitte le Mame vers pimenu. 12.5 Dans un jeu piFBA • Contrôles standards direction + 6 boutons ; • Start Player 1 + Crédit = quitte le jeu vers piFBA. 12.6 Dans GnGeo • Joystick Joueur 1= navigation dans le menu ; • Bouton 1 Joueur 1= Valide l'item sélectionné ; • Bouton 2 Joueur 1= revient au menu précédent, quitte GnGeo si on est sur le premier menu. Ian57 - https://sourceforge.net/projects/raspicade/ 35/54 Raspicade : Manuel Utilisateur version 0.4 12.7 Dans un jeu GnGeo • Contrôles standards direction + 4 boutons ; • Start Player 1 + Crédit = affiche le menu (permet de quitter de revenir à pimenu). 12.8 Dans pisnes • Joystick Joueur 1= sélection du jeu ; • Bouton 1 Joueur 1= lance le jeu ; • Coin = quitte pisnes vers pimenu. 12.9 Dans un jeu pisnes • 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. 13 Utilisation de Raspicade avec un clavier ou un encodeur clavier (IPAC, Hack Clavier, pikeydx32…) Raspicade permet de jouer à 2 joueurs à l'aide d'un simple clavier, mais aussi grâce aux encodeurs claviers les plus connus : • IPAC : http://www.smallcab.net/encodeur-clavier-ipac-usb-p-559.html • Encodeur clavier : http://www.smallcab.net/encodeur-clavier-usb-p-476.html • pikeydx32 : http://atmjoy.com/pikeyd-pi-gpio-keyboard-daemon-i2c-mcp3017/ Pour le dernier, il s'agit d'un module spécifique au Raspberry Pi que l'on connecte simplement sur le port GPIO. Il permet très simplement d'obtenir 32 entrées/sorties pour y brancher boutons et microswitchs. Ce module d'utilise en association avec le programme résident (deamon) pikeyd (https://github.com/mmoller2k/pikeyd) présent dans raspicade, mais non activé par défaut. En effet si ce deamon est activé et que le module n'est pas présent, Raspicade ne démarre pas. Ian57 - https://sourceforge.net/projects/raspicade/ 36/54 Raspicade : Manuel Utilisateur version 0.4 Figure 11: Module pikeydx32 sur GPIO Raspberry Pi Pour activer ce programme résident, il suffit de décommenter la ligne suivante dans le fichier /etc/rc.local : #launch pikeyd deamon to support mcp modules /home/pi/pikeyd/pikeyd -d Puis de redémarrer en ayant bien pris soin de brancher le module. Pour les autres encodeurs claviers USB, ils sont reconnus automatiquement sous linux. Tous les programmes et émulateurs possèdes les mêmes configurations de touches. Elles sont résumées dans le tableau suivant : Action Touche P1 Up (KEY_UP or JOY_1_UP) P1 Down (KEY_DOWN or JOY_1_DOWN) P1 Left (KEY_LEFT or JOY_1_LEFT) P1 Right (KEY_RIGHT or JOY_1_RIGHT) P1 Button 1 (KEY_LCONTROL or JOY_1_BUTTON1 or MOUSE_1_BUTTON1) P1 Button 2 (KEY_LALT or JOY_1_BUTTON2 MOUSE_1_BUTTON3) or P1 Button 3 (KEY_SPACE or JOY_1_BUTTON3 MOUSE_1_BUTTON2) or Ian57 - https://sourceforge.net/projects/raspicade/ 37/54 Raspicade : Manuel Utilisateur version 0.4 P1 Button 4 (KEY_LSHIFT or JOY_1_BUTTON4) P1 Button 5 (KEY_Z or JOY_1_BUTTON5) P1 Button 6 (KEY_X or JOY_1_BUTTON6) P1 Button 7 (KEY_C or JOY_1_BUTTON7) P1 Button 8 (KEY_V or JOY_1_BUTTON8) P1 Button 9 (KEY_BACKSPACE or JOY_1_BUTTON9) P1 Button 10 (KEY_ESC or JOY_1_BUTTON10) P1 Start (KEY_1 or JOY_1_START) P1 Select (KEY_5 or JOY_1_SELECT) P2 Up (KEY_R or JOY_2_UP) P2 Down (KEY_F or JOY_2_DOWN) P2 Left (KEY_D or JOY_2_LEFT) P2 Right (KEY_G or JOY_2_RIGHT) P2 Button 1 (KEY_A or JOY_2_BUTTON1) P2 Button 2 (KEY_S or JOY_2_BUTTON2) P2 Button 3 (KEY_Q or JOY_2_BUTTON3) P2 Button 4 (KEY_W or JOY_2_BUTTON4) P2 Button 5 (KEY_E or JOY_2_BUTTON5) P2 Button 6 (KEY_T or JOY_2_BUTTON6) P2 Button 7 (KEY_O or JOY_2_BUTTON7) P2 Button 8 (KEY_L or JOY_2_BUTTON8) P2 Button 9 (KEY_TAB or JOY_2_BUTTON9) P2 Button 10 (KEY_ESC or JOY_2_BUTTON10) P2 Start (KEY_2 or JOY_2_START) P2 Select (KEY_6 or JOY_2_SELECT) Escape (KEY_ESC) 14 Utilisation GPIO et programme Retrogame Raspicade permet de s'affranchir de l'achat d'un module spécifique pour les entrées sorties : encodeurs joystick, encodeurs clavier. En effet il est possible d'utiliser le port GPIO du Raspberry Pi et un programme résident (ici retrogame) pour remplacer les encodeurs. Si vous disposez d'un Pi modèle B 512, possédant un GPIO à 26 pins, il ne vous sera possible que de câbler le panel pour un seul joueur. Il vous faudra un modèle B+ possédant un GPIO à 40 pins pour câbler un panel 2 joueurs complet. Ian57 - https://sourceforge.net/projects/raspicade/ 38/54 Raspicade : Manuel Utilisateur version 0.4 14.1 Pour 1 joueur Up Left B rev2 GPIO Coins Escape Pin Function Function Pin KEY_UP/P1 Up KEY_DOWN/P1 Down KEY_LEFT/P1 Left Common Ground KEY_RIGHT/P1 Right KEY_LEFTCTRL/P1 Button 1 KEY_LEFTALT/P1 Button 2 Key/Button Common Ground KEY_X/P1 Button 6 KEY_1/Start P1 KEY_5/Credits P1 Common Ground KEY_ESC/Escape KEY_0/Halt System Common Ground KEY_SPACE/P1 Button 3 KEY_LEFTSHIFT/P1 Button 4 KEY_Z/P1 Button 5 Common Ground Common Ground Common Ground Common Ground B+ GPIO extention maintaining more than 1s Start P1 + Credits P1 produces KEY_ESC (Escape) Start P1 B6 B5 B4 B3 B2 Right Down Joystick P1 Raspicade Retrogame 1 players for Model B/B+ Key/Button B1 Halt System Voici le schéma de câblage du panel sur le GPIO : Afin d'activer le programme Retrogame au démarrage de Raspicade, on decommente la ligne suivante dans le fichier /etc/rc.local /home/pi/Raspicade-Retrogame-1Player/retrogame & puis on redémarre le système. Pin de connexion sur le GPIO Touche renvoyée par le programme et interprétation par Raspicade dans les émulateurs GPIO 02 KEY_UP GPIO 03 KEY_DOWN GPIO 04 KEY_LEFT GPIO 17 KEY_RIGHT GPIO 27 KEY_LEFTCTRL // Button 1 GPIO 22 KEY_LEFTALT // Button 2 GPIO 10 KEY_SPACE GPIO 09 KEY_LEFTSHIFT// Button 4 GPIO 11 KEY_Z Ian57 - https://sourceforge.net/projects/raspicade/ // Up // Down // Left Joystick (4 pins) // Right // Button 3 // Button 5 39/54 Raspicade : Manuel Utilisateur version 0.4 GPIO 14 KEY_X // Button 6 GPIO 15 KEY_1 // Button Start P1 GPIO 18 KEY_5 // Button Coins/Credits P1 GPIO 23 KEY_ESC // Button Escape GPIO 24 KEY_0 // Button to Halt System -> "sudo halt" is launch Si l'on maintient les boutons Start P1 + Coins/Credits P1 plus d'une secondes, cela produira la touche "KEY_ESC" (Escape Key). 14.2 Pour 2 joueurs Up Left Right B1 Start P1 B2 Common Ground KEY_Q/P2 Button 3 Common Ground KEY_W/P2 Button 4 KEY_E/P2 Button 5 KEY_T/P2 Button 6 B6 Coins Coins B5 maintaining more than 1s Start P1 + Credits P1 produces KEY_ESC (Escape) B4 KEY_X/P1 Button 6 KEY_1/Start P1 KEY_5/Credits P1 KEY_2/Start P2 KEY_6/Credits P2 Common Ground B3 KEY_SPACE/P1 Button 3 KEY_LEFTSHIFT/P1 Button 4 KEY_Z/P1 Button 5 Common Ground B2 B3 Common Ground KEY_0/Halt System KEY_R/P2 Up Common Ground KEY_F/P2 Down KEY_D/P2 Left Common Ground KEY_G/P2 Right KEY_A/P2 Button 1 KEY_S/P2 Button 2 B1 Left B4 Key/Button Start P2 B5 Function Pin Halt System B6 Pin Function Up Down Key/Button KEY_UP/P1 Up KEY_DOWN/P1 Down KEY_LEFT/P1 Left Common Ground KEY_RIGHT/P1 Right KEY_LEFTCTRL/P1 Button 1 KEY_LEFTALT/P1 Button 2 Joystick P2 Raspicade Retrogame 2 players for Model B+ Down Right Joystick P1 Voici le schéma de câblage du panel sur le GPIO : Afin d'activer le programme Retrogame au démarrage de Raspicade, on decommente la ligne suivante dans le fichier /etc/rc.local : /home/pi/Raspicade-Retrogame-2Player-BPlus/retrogame & puis on redémarre le système. Pin de connexion sur le GPIO Touche renvoyée par le programme et interprétation par Raspicade dans les émulateurs Player 1 : GPIO 02 KEY_UP GPIO 03 KEY_DOWN GPIO 04 KEY_LEFT GPIO 17 KEY_RIGHT Ian57 - https://sourceforge.net/projects/raspicade/ // Up // Down // Left Joystick (4 pins) // Right 40/54 Raspicade : Manuel Utilisateur version 0.4 GPIO 27 KEY_LEFTCTRL // Button 1 GPIO 22 KEY_LEFTALT // Button 2 GPIO 10 KEY_SPACE GPIO 09 KEY_LEFTSHIFT// Button 4 GPIO 11 KEY_Z // Button 5 GPIO 05 KEY_X } // Button 6 GPIO 06 KEY_1 // Button Start P1 GPIO 13 KEY_5 // Button Coins/Credits P1 GPIO 18 KEY_R // Up GPIO 23 KEY_F // Down GPIO 24 KEY_D // Left Joystick (4 pins) GPIO 25 KEY_G // Right GPIO 08 KEY_A // Button 1 GPIO 07 KEY_S // Button 2 GPIO 12 KEY_Q // Button 3 GPIO 16 KEY_W // Button 4 GPIO 20 KEY_E // Button 5 GPIO 21 KEY_T // Button 6 GPIO 19 KEY_2 // Button Start P2 GPIO 26 KEY_6 // Button Coins/Credits P2 GPIO 15 KEY_0 // Button to Halt System = "sudo halt" is launch // Button 3 Player 2 : Si l'on maintient les boutons Start P1 + Coins/Credits P1 plus d'une secondes, cela produira la touche "KEY_ESC" (Escape Key). 14.3 Configuration d'EmulationStation 2 Par défaut, aucune configuration n'est faire au premier démarrage de Raspicade. Si vous utilisez le cablâge GPIO, il faut brancher temporairement un clavier usb afin de réaliser la configuration des touches de contrôle du frontal EmulationStation. En effet vous ne pourrez pas le faire directement depuis votre panel fraîchement câblé. Cela vient du mode de fonctionnement du programme Retrogame qui envoie des caractères lorsqu'un bouton/microswitch est activé. Il n'y a donc pas de notion de « touche appuyée » ou de touche « relâchée » et ES2 lors de sont premier lancement vous invite à appuyer plus d'une seconde sur la touche A (touche CTRL pour le clavier) afin de détecter Ian57 - https://sourceforge.net/projects/raspicade/ 41/54 Raspicade : Manuel Utilisateur version 0.4 précisément le périphérique et lancer la configuration. Pour cela ES2 utilise les messages « touche appuyée » et « relâchée » que ne fournit pas le programme Retrogame. Du fait vous ne pourrez pas accéder à la configuration avec simplement le panel câblé sur le GPIO. L’utilisation temporaire du clavier permet de pallier ce problème. On reste appuyé sur la touche « CTRL » et on passe alors à la configuration. On renseigne à l'aide des tableaux ci-avant. Une fois cette étape terminée, on redémarrer et débrancher le clavier.Votre panel devrait maintenant permettre de piloter ES2. Une autre solution plus rapide consiste à créer manuellement le fichier copie d'un fichier présent préconfiguré : es_input.cfg par la pi@raspicade ~ $ cd .emulationstation pi@raspicade ~/.emulationstation $ cp es_input.cfgkeyboard es_input.cfg Ce fichier contient la description suivante : <?xml version="1.0"?> <inputList> <inputConfig type="keyboard"> <input name="a" type="key" id="306" value="1" /> <input name="b" type="key" id="308" value="1" /> <input name="down" type="key" id="274" value="1" /> <input name="left" type="key" id="276" value="1" /> <input name="menu" type="key" id="32" value="1" /> <input name="pagedown" type="key" id="281" value="1" /> <input name="pageup" type="key" id="280" value="1" /> <input name="right" type="key" id="275" value="1" /> <input name="select" type="key" id="304" value="1" /> <input name="up" type="key" id="273" value="1" /> </inputConfig> </inputList> Une fois la copie réalisée on peut redémarrer ou lancer manuellement ES2 : pi@raspicade ~/.emulationstation $ ~/EmulationStation/emulationstation Votre panel devrait être opérationnel. 15 Configuration du WIFI 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 utiliserons la page méthode de configuration. http://doc.ubuntu-fr.org/wpa#par_wpa_supplicant pour la On commence par configurer le fichier /etc/network/interfaces comme suit auto lo iface lo inet loopback iface eth0 inet dhcp Ian57 - https://sourceforge.net/projects/raspicade/ 42/54 Raspicade : Manuel Utilisateur version 0.4 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf iface default inet 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 /etc/wpa_supplicant/wpa_supplicant.conf 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é>" } 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 ioctl[SIOCSIWENCODEEXT]: Invalid argument Ian57 - https://sourceforge.net/projects/raspicade/ 43/54 Raspicade : Manuel Utilisateur version 0.4 ioctl[SIOCSIWENCODEEXT]: Invalid argument Internet Systems Consortium DHCP Client 4.2.2 Copyright 20042011 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ 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 DHCPOFFER from 192.168.1.1 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 Ian57 - https://sourceforge.net/projects/raspicade/ 44/54 Raspicade : Manuel Utilisateur version 0.4 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) 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 : root@Raspicade:/home/pi# ifup wlan0 Vous pouvez aussi tester manuellement le programme Ian57 - https://sourceforge.net/projects/raspicade/ wpa_supplicant pour voir les 45/54 Raspicade : Manuel Utilisateur version 0.4 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 16 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 : • 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; • 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. 17 Configuration avancée 17.1 « Quiet Boot » pour Raspicade Raspicade peut être basculée en mode « Quiet Boot ». C'est à dire que , lors du démarrage vous n'aurez plus de lignes de texte qui s'affichent avant la vidéo, montrant ainsi une partie du système d'exploitation. Il est préférable de passer Raspicade en mode « Quiet Boot » une fois les configurations réalisées. C'est à dire que la distribution démarre sans poser les questions concernant le son et le réseau. Si vous le faites avant, il faudra basculer sur la console texte numéro 2 pour pouvoir répondre aux questions posées par le système. Pour cela on utllise le raccourci ALT+F2. On revient sur la console silencieuse 1 par ALF-F1. Pour activer le mode silencieux, il faut éditer le fichier Ian57 - https://sourceforge.net/projects/raspicade/ /boot/cmdline.txt sous linux à l'aide 46/54 Raspicade : Manuel Utilisateur version 0.4 de la commande sudo : pi@raspicade ~ $ sudo vim /etc/cmdline.txt Sous windows, le fichier se trouve sur la partition détectée par votre lecteur de carte SD. Il suffit de l'éditer avec le bloc-notes. On décommente la première ligne et on commente la seconde : dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty2 loglevel=3 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline nortc waitusb=5 rootwait logo.nologo vt.global_cursor_default=0 quiet #dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait logo.nologo quiet nortc L'opération inverse vous repasse en mode normal : #dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty2 loglevel=3 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline nortc waitusb=5 rootwait logo.nologo vt.global_cursor_default=0 quiet dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait logo.nologo quiet nortc 17.2 Problèmes avec le son en HDMI 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. Il est aussi possible que cela vienne de la configuration par défaut de Raspicade. Elle a é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. pi@raspicade ~ $ Ian57 - https://sourceforge.net/projects/raspicade/ 47/54 Raspicade : Manuel Utilisateur version 0.4 17.3 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. les listes de l'adresse Pour un moniteur arcade en 640x480 on configure de la manière suivante : hdmi_group=1 hdmi_mode=2 Pour une TV 16:9 en 1920x1080 on configure comme suit hdmi_group=1 hdmi_mode=16 Pour un écran plat d'ordinateur en 1024x768 on configure de la manière suivante : hdmi_group=2 hdmi_mode=16 17.4 Vous utilisez la sortie composite et l'image est en noir et blanc Pour passer l'image en couleur, il suffit d'indiquer le bon mode PAL dansle fichier dans le fichier /boot/config.txt. # uncomment for composite PAL (color) sdtv_mode=2 #sdtv_mode=0 Normal NTSC #sdtv_mode=1 Japanese version of NTSC – no pedestal #sdtv_mode=2 Normal PAL #sdtv_mode=3 Brazilian version of PAL sdtv_aspect=1 #4:3 #sdtv_aspect=1 4:3 #sdtv_aspect=2 14:9 #sdtv_aspect=3 16:9 Ian57 - https://sourceforge.net/projects/raspicade/ 48/54 Raspicade : Manuel Utilisateur version 0.4 #force tv mode hdmi_group=1 hdmi_mode=8 #240p 60Hz Vous pouvez aussi forcer l'aspect de l'image en fixant le mode. 17.5 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. 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 & 17.6 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 No device specified, trying to scan all of /dev/input/event* Not running as root, no devices may be available. Available devices: /dev/input/event0: 2.4G Wireless Touchpad Keyboard /dev/input/event1: 2.4G Wireless Touchpad Keyboard Ian57 - https://sourceforge.net/projects/raspicade/ 49/54 Raspicade : Manuel Utilisateur /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 version 0.4 Select the device event number [04]: 2 Input driver version is 1.0.1 Input device ID: bus 0x3 vendor 0x45e product 0x27 version 0x100 Input device name: "Microsoft® Microsoft® SideWinder® Plug & Play Game Pad" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 304 (BTN_A) Event code 305 (BTN_B) Event code 306 (BTN_C) Event code 307 (BTN_X) Event code 308 (BTN_Y) Event code 309 (BTN_Z) Event type 3 (EV_ABS) Event code 0 (ABS_X) Value 0 Min 0 Max 127 Flat 7 Event code 1 (ABS_Y) Value 0 Min 0 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 Ian57 - https://sourceforge.net/projects/raspicade/ 50/54 Raspicade : Manuel Utilisateur version 0.4 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 Event: time 1398874730.302176, SYN_REPORT Event: time 1398874730.443208, type 3 (EV_ABS), code 1 (ABS_Y), value 63 Event: time 1398874730.443208, SYN_REPORT Event: time 1398874731.035280, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001 Event: time 1398874731.035280, type 1 (EV_KEY), code 304 (BTN_A), value 1 Event: time 1398874731.035280, SYN_REPORT Event: time 1398874731.235329, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001 Event: time 1398874731.235329, type 1 (EV_KEY), code 304 (BTN_A), value 0 Event: time 1398874731.235329, SYN_REPORT Après avoir sélectionné le périphérique d'entrée, on peut contrôler le bon fonctionnement de chaque bouton/axe. 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. pi@raspicade ~ $ jstest /dev/input/js0 Driver version is 2.1.0. Joystick (Microsoft® Microsoft® SideWinder® Plug & Play Game Pad) has 2 axes (X, Y) and 6 buttons (BtnX, BtnY, BtnZ, BtnTL, BtnTR, BtnTL2). Testing ... (interrupt to exit) Axes: 0: 32767 1: 0 Buttons: 0:off 1:off 2:off 3:off 4:off 5:off 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. 17.7 Le mode scanline Par défaut la distribution Raspicade utilise le rendu « Scanline » des émulateurs. Celui-ci permet de se rapprocher du rendu originel des bornes arcade des années 80. En effet le rafraîchissement de l’écran était de 15Khz occasionnant un effet de lignes sombres et claires entrelacées. Ian57 - https://sourceforge.net/projects/raspicade/ 51/54 Raspicade : Manuel Utilisateur version 0.4 Figure 12: Avec effet scanline (gauche), sans effet scanline (droite) Dans le cas de notre distribution, ce rendu est réalisé de manière logicielle. Certains d'entre vous désireront le désactiver. Pour cela il faudra éditer les fichiers de configuration de chaque émulateur : • Pour l’émulateur GnGeo, il faut éditer le fichier remplacer /home/pi/.gngeo/gngeorc et effect scanline50 par effect none • Pour l’émulateur Mame4all-pi, il faut éditer le fichier et remplacer /home/pi/mame4all-pi/mame.cfg display_effect=1 par display_effect=0 • Pour l’émulateur pifba, il faut éditer le fichier /home/pi/pifba/fba2x.cfg et remplacer DisplaySmoothStretch=0 DisplayEffect=1 par DisplaySmoothStretch=1 DisplayEffect=0 • Pour l’émulateur pisnes, il faut éditer le fichier remplacer /home/pi/pifba/snes9x.cfg et DisplaySmoothStretch=0 DisplayEffect=1 par Ian57 - https://sourceforge.net/projects/raspicade/ 52/54 Raspicade : Manuel Utilisateur version 0.4 DisplaySmoothStretch=1 DisplayEffect=0 17.8 Raspicade et les TV 16:9 Comme d'habitude, la configuration passera par l'édition du ficher /boot/config.txt. Par exemple pour une TV en 16:9 avec une résolution de 1920x1080 on renseigne comme suit : hdmi_group = 1 #1=CEA (TV) 2=DMT(Computer Monitor) hdmi_mode = 16 #(1080p) Retrouver toutes les variables de configuration à l'adresse http://elinux.org/Rpiconfig. Par exemple pour du 720, on remplace 16 par 19. Si votre image est rognée en haut et en bas de l'écran, pour pouvez utilisé le mode « Adapté » de votre TV à la place du mode « 16:9 ». Il est aussi possible de fixer la variable overscan_scale=1 overscan_scale=1 Il s'agir une fonctionnalité expérimentale disponible dans les derniers « firmware ». Pour l'instant elle n'est pas documentée. Cela permet de redimensionner les couches dispmanx en incluant les programmes utilisant et les vidéos. Il est aussi possible de configurer les variables gérant l'« overscan ». Si vous avez des bords noirs autour de votre images, cela vient de l'« overscan ». Il faut activer l'« overscan » et régler les valeurs haute, basse, droite et gauche. Un exemple est disponible ici http://elinux.org/RPiconfig et une documentation plus conséquente là https://raw.githubusercontent.com/Evilpaul/Rpi-config/master/config.txt. Voici un exemple de configuration : # Force the monitor to HDMI mode so that sound will be sent over HDMI cable hdmi_drive=2 # Set monitor mode to CEA 1920x1080 60Hz hdmi_group=1 hdmi_mode=16 # Make display smaller to stop text spilling off the screen ## disable_overscan ## Set to 1 to disable overscan ## ## Value Description ## ------------------------------------------------------------------------## 0 Overscan Enabled (Default) ## 1 Overscan Disabled ## disable_overscan=0 ## overscan_top ## Number of pixels to skip on top ## overscan_top=50 Ian57 - https://sourceforge.net/projects/raspicade/ 53/54 Raspicade : Manuel Utilisateur version 0.4 ## overscan_bottom ## Number of pixels to skip on bottom ## overscan_bottom=50 # a priori pas besoin d'overscan sur les cotés ## overscan_left ## Number of pixels to skip on left ## #overscan_left=50 ## overscan_right ## Number of pixels to skip on right ## #overscan_right=50 18 Mise à jour via Github Les dernières version de Raspicade embarque un système de mise à jour via le réseau. Les mises à jour sont accessibles sur le dépôt github du projet (https://github.com/ian57/Raspicade-configuration-files). Le script raspicade_update.sh permet de lancer les mise à jour. Pour l'instant ce script est assez simpliste, il réalise : • il télécharge les mises à jour via git dans le répertoire • lance le script Upgrade.sh qui effectue la mise à jour. temp Ce dernier script réalise les opérations suivantes : • sauvegarde des différentes configurations de vos emulateurs, config.txt et EmulationStation dans le répertoire /home/pi/backupconfig • Mise à jour du système d'exploitation • Installation des différents paquets nécessaires à la dernier version de raspicade. • Installation de la bibliothèque SDL2 • Mise à jour du noyau et du firmware • Copie des mises à jour dans les différents répertoires (ES1, ES2, emulateurs…) • Redémarrage du système Attention, une fois la mise à jour terminée, les configurations des émulateurs sont remises au défaut. Il vous faudra donc manuellement restaurer vos propres configurations depuis le répertoire /home/pi/backupconfig. Ian57 - https://sourceforge.net/projects/raspicade/ 54/54