Ceci est une ancienne révision du document !
Cette page contient des notes diverses, qui se retrouveront probablement intégrées à d'autres pages ultérieurement.
L'objectif de ce projet est de fabriquer une console portable rétro-gaming. Pour cela, nous utiliserons de l'émulation, sur un Raspberry Pi. Le choix du Raspberry pi est justifié par son faible coût, l'énorme communauté, la compacité et la faible consommation. Pour ne rien gâcher, j'ai l'habitude de réaliser des projets dessus. Pour l'instant je développe sur un Raspberry pi B+, mais la question se posera par la suite de la carte à utiliser. En effet, le Raspberry pi A+ est significativement plus compact, et consomme nettement moins que les autres. Pour une console compacte, ce sera donc un choix intéressant, puisque nous gagnons en volume, mais aussi en autonomie à batterie constante. En contrepartie, on passe a 256 Mio de ram contre 512 pour le B+, et un port USB contre quatre et un port ethernet pour le B+. Cela ne devrait pas poser de problèmes pour une console portable. D'un autre côté, pour une consommation légèrement supérieure à celle d'un B+, il y a le Raspberry pi 2 B, qui intègre un CPU arm v7 à quatre cœurs à 900Mhz avec 1 Gio de RAM contre un CPU arm v6 à un cœur à 700Mhz et 512 Mio de ram. D'après les premiers tests, ce modèle est nettement plus puissant, et permet d'émuler de façon confortable la Playstation 1 ou la Nintendo 64, contrairement au Raspberry Pi B+ qui était un peu juste pour ces plateformes.
La première étape est de faire fonctionner le système d'émulation sur le Raspberry pi.
J'ai utilisé RetroPie, qui s'appuie sur EmulationStation. Voici le guide d'installation sur lequel je me suis basé : Installation de RetroPie sur un Raspberry Pi
Voici un autre tutoriel, que j'ai utilisé, et qui est plus détaillé, contenant des informations à jour sur la configuration post-installation : http://www.raspberrypi.org/forums/viewtopic.php?f=78&t=85041 Cette suite logicielle permet d'installer tout ce qui est nécessaire pour émuler un grand nombre de consoles retro-gaming. Plusieurs solutions pour l'installer :
J'ai retenu la seconde solution, car j'avais déjà un système configuré. En pratique, c'est un peu long, mais assez simple. Tout d'abord, il faut mettre la liste des paquets du système :
sudo apt-get update
On vérifiera alors que les paquets git et dialog soient installés :
sudo apt-get install git dialog
On récupère alors l'installeur :
git clone --depth=0 https://github.com/petrockblog/RetroPie-Setup
Une fois ceci fait, on obtient un répertoire RetroPie-Setup, dans lequel on se rend avant de rendre le script exécutable, puis de l'exécuter :
cd RetroPie-Setup chmod a+x retropie_setup.sh sudo ./retropie_setup.sh
Au bout d'un moment, on obtient un menu proposant divers choix. Deux options nous intéressent ici : installer les binaires, la solution la plus rapide des deux, ou compiler depuis les sources, ce qui sera bien plus long (16-17h), mais permettra d'avoir la toute dernière version. Pour ma part j'ai installé les binaires.
Au bout d'un moment, l'installation se termine, et on peut utiliser le système d'émulation.
Pour ma part, j'ai configuré le système afin que l'interface graphique ne se lance pas automatiquement. Je me logue donc, avant de lancer la suite logicielle via la commande suivante :
emulationstation
A ce stade, un clavier sera utile, pour se déplacer dans les menus. Si on branche une manette USB, le logiciel proposera de configurer celle ci. Dans le cas contraire, il suffira d'appuyer sur la touche espace pour activer le menu qui permet entre autres de configurer les manettes. Attention toutefois, ce menu permet de configurer la manette pour permettre de contrôler le menu général, mais ne permet pas de configurer les boutons pour les jeux, dans les émulateurs.
L'emulateur snes utilisé par défaut est à priori RetroArch. Voici la page wiki vers le fichier de configuration : https://github.com/petrockblog/RetroPie-Setup/wiki/RetroArch-Configuration La documentation présente sur ce site n'est pas à jour pour le moment, et indique que le fichier de configuation se trouve dans votre /home/pi Or, ce n'est plus le cas, il faut maintenant chercher dans /opt/retropie/emulators/. Du coup, pour pouvoir configurer la manette pour la SNES, avec retroarch, il faut faire :
cd /opt/retropie/emulators/retroarch ./retroarch-joyconfig
Nous pourrons ainsi visualiser les commandes, et voir à l'écran le fichier généré. C'est l'occasion d'essayer divers réglages, sans réellement enregistrer la configuration. Une fois ceci fait, il est alors possible d'utiliser la même commande pour générer le fichier de configuration, et de rajouter ceci à la fin du fichier de configuration de retroarch :
sudo ./retroarch-joyconfig -p 1 -j 0 -t 3 >> /opt/retropie/configs/all/retroarch.cfg
L'option -p 1 permet de spécifier qu'on configure le joueur 1, et le -j 0 indique qu'on utilisera pour cela la première manette branchée, la 0. Enfin, l'option -t 3 indique qu'au bout de 3 secondes, on passera à l'assignation de la commande suivante. C'est utile si votre manette ne dispose pas de toutes les touches, cela permet d'ignorer certaines des assignations.
Le double chevron (») indique qu'on ajoute la sortie de cette commande au fichier de configuration indiqué après. On peut de même vérifier le résultat de la commande, voire modifier les réglages enregistrés en faisant ceci :
sudo nano /opt/retropie/configs/all/retroarch.cfg
Attention à ne pas exécuter plusieurs fois la configuration comme indiqué précédemment, car cela ajouterait à chaque fois un bloc de commandes. Après la première fois, il faudra soit effacer les lignes correspondantes, puis relancer la commande, soit modifier directement le fichier de configuration.
L'émulateur game boy advance ne démarre pas pour le moment, car il réclame un fichier de bios de gba. J'ai trouvé ou télécher des fichiers de bios : http://www.emuparadise.me/biosfiles/bios.html Ce lien pourrait servir pour d'autres émulateurs.
L'émulateur de game boy advance est à priori gpsp, et son répertoire est
/opt/retropie/emulators/gpsp
Je cherche toujours ou placer le fichier pour faire fonctionner cet émulateur. Je n'ai pas eu de succès dans le répertoire partagé BIOS.