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.cfg­xinmo­2players snesx.cfg
Pour mame, il y a plusieurs fichiers de configuration : dans le répertoire mame4all-pi
cp mame.cfg­xinmo­2players mame.cfg
et cfg dans mame4all-pi :
cp config2.cfg­xinmo config2.cfg
cp cfg/default.cfg­xinmo­2players cfg/default.cfg­xinmo
cp fba2x.cfg­xinmo­2players fba2x.cfg
Attention le fichier de configuration de GnGeo se trouve dans le répertoire caché . gngeo à
la racine de l'utilisateur pi :
cp gngeo­xinmo gngeo
Dans ~/.gngeo, par précaution on modifie les droits sur le fichier gngeorc
chmod 644 gngeorc
cp gngeorc_xinmo­2players gngeorc
chmod 444 gngeorc
Il faudra aussi réitérer pour les frontaux graphiques pimenu ou émulation station.
Dans ~/pimenu :
cp pimenu.cfg­xinmo­2players 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.cfg­all 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 Raspicade­samba­xinmo­20140416.img.gz
$ sudo dd bs=1M if=Raspicade­samba­xinmo­20140416.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 raspi­config
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@
mame4all­pi/ pimenu.zip Retrogame­2players/
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/Raspicade­configuration­files/ES­scraper/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.cfg­keyboard 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 2004­2011 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@yann­biboo:~$ 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 [0­4]: 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