Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
notes [08/02/2015 20:46] sky99 [Projet émulateur portable] |
notes [10/02/2015 06:25] sky99 |
||
---|---|---|---|
Ligne 10: | Ligne 10: | ||
J'ai utilisé RetroPie, qui s'appuie sur EmulationStation. Voici le guide d'installation sur lequel je me suis basé : | J'ai utilisé RetroPie, qui s'appuie sur EmulationStation. Voici le guide d'installation sur lequel je me suis basé : | ||
[[http://emulationstation.org/gettingstarted.html#install_rpi_retropie|Installation de RetroPie sur un Raspberry Pi]] | [[http://emulationstation.org/gettingstarted.html#install_rpi_retropie|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 : | 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 : | ||
- Télécharger une image pré-configurée (la plus facile); | - Télécharger une image pré-configurée (la plus facile); | ||
Ligne 15: | Ligne 18: | ||
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 : | 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 : | ||
- | <code> | + | <code bash> |
sudo apt-get update | sudo apt-get update | ||
</code> | </code> | ||
On vérifiera alors que les paquets git et dialog soient installés : | On vérifiera alors que les paquets git et dialog soient installés : | ||
- | <code> | + | <code bash> |
sudo apt-get install git dialog | sudo apt-get install git dialog | ||
</code> | </code> | ||
Ligne 27: | Ligne 30: | ||
</code> | </code> | ||
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 : | 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 : | ||
- | <code> | + | <code bash> |
cd RetroPie-Setup | cd RetroPie-Setup | ||
chmod a+x retropie_setup.sh | chmod a+x retropie_setup.sh | ||
sudo ./retropie_setup.sh | sudo ./retropie_setup.sh | ||
</code> | </code> | ||
+ | |||
+ | 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 : | ||
+ | <code bash> | ||
+ | emulationstation | ||
+ | </code> | ||
+ | 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. | ||
+ | |||
+ | === Configuration des émulateurs === | ||
+ | == Super Nintento == | ||
+ | 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 : | ||
+ | <code bash> | ||
+ | cd /opt/retropie/emulators/retroarch | ||
+ | ./retroarch-joyconfig | ||
+ | </code> | ||
+ | |||
+ | 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 : | ||
+ | |||
+ | <code bash> | ||
+ | sudo ./retroarch-joyconfig -p 1 -j 0 -t 3 >> /opt/retropie/configs/all/retroarch.cfg | ||
+ | </code> | ||
+ | |||
+ | 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 : | ||
+ | <code bash> | ||
+ | sudo nano /opt/retropie/configs/all/retroarch.cfg | ||
+ | </code> | ||
+ | |||
+ | 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. | ||
+ | |||
+ | |||
+ | == Megadrive (Genesis) == | ||
+ | L'emulateur de Megadrive est probablement Retroarch, car la configuration de celui ci est également appliquée pour les jeux de Megadrive (Genesis). | ||
+ | |||
+ | == NES == | ||
+ | De même, ici, c'est Retroarch qui s'occupe de l'émulation NES, donc la configuration des manettes est utilisée ici. Sur NES on aura uniquement la croix directionnelle, les boutons start, select, A et B. | ||
+ | |||
+ | == Game Boy Advance == | ||
+ | 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 | ||
+ | |||
+ | <code>/opt/retropie/emulators/gpsp</code> | ||
+ | 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. | ||
+ | |||
+ | == Neo-Geo == | ||
+ | Par défaut, si on lance un jeu neogeo, il y a un chargement, puis un écran noir. | ||
+ | |||
+ | J'ai réussi à lancer un jeu, pour l'instant la manette n'est pas configurée. Voici la procédure : | ||
+ | - Télécharger la rom NeoGeo (par exemple ici : http://www.emuparadise.me/M.A.M.E._-_Multiple_Arcade_Machine_Emulator_ROMs/Neo-Geo/15030-download ) | ||
+ | - Copier neogeo.zip dans le partage roms/neogeo-gngeopi | ||
+ | - copier les roms dans le même partage. | ||
+ | |||
+ | =Configuration de la manette= | ||
+ | Pour la configuration de la manette, il faut trouver le fichier de configuration de gngeo. | ||
+ | Pour ma version, il se trouve dans le répertoire home, dans un sous dossier .gngeo, dans le fichier gngeorc. | ||
+ | |||
+ | pour se rendre dans ce répertoire, puis modifier le fichier, on pourra procéder comme suit : | ||
+ | <code bash> | ||
+ | cd ~/.gngeo/ | ||
+ | nano gngeorc | ||
+ | </code> | ||
+ | |||
+ | Voici mon fichier : | ||
+ | <file bash gngeorc> | ||
+ | p1control A=J0B1,B=J0B0,C=J0B2,D=J0B3,START=J0B9,COIN=J0B5,UP=J0a1,DOWN=J0a1,LEFT=J0A0,RIGHT=J0A0,MENU=J0B8 | ||
+ | p2control A=J1B1,B=J1B0,C=J1B2,D=J1B3,START=J1B9,COIN=J1B5,UP=J1a1,DOWN=J1a1,LEFT=J1A0,RIGHT=J1A0,MENU=J1B8 | ||
+ | </file> | ||
+ | Le principe du fichier est relativement simple. J0 correspond au joypad (manette) 0, J1 au joypad 1, etc. B0 correspond au bouton 0, B1 au bouton1, etc. Donc A=J0B0 indique que le bouton A de la neogeo est le bouton 0 du joypad 0. Dans mon cas, les boutons sont physiquement numérotés de 1 à 10, donc je réutilise ce nombre auquel je soustrais 1. | ||
+ | |||
+ | Pour les directions, ma manette à une croix directionnelle, avec deux axes. Du coup, il existe l'axe 0 et l'axe 1. Par essais, j'ai déterminé que l'axe 0 correspond à l'axe gauche-droite, et l'axe 1 correspond à l'axe haut-bas. | ||
+ | |||
+ | J'ai donc mis //UP=J0a1// et //DOWN=J0a1//, car les deux sont sur le même axe. Si l'axe est inversé, alors on pourra mettre le //a// en majuscule, comme je l'ai fait pour gauche et droite : //LEFT=J0A0// et //RIGHT=J0A0//. | ||
+ | |||
+ | Kxxx correspond ici à la touche xxx du clavier, il faudra probablement trouver le code ascii de la touche correspondante. | ||
+ | |||
+ | Pour déterminer les touches du joypad, on peut utiliser jstest, qui s'installe comme suit : | ||
+ | <code bash>sudo apt-get install joystick</code> | ||
+ | On l'exécutera par la commande suivante : | ||
+ | <code bash>jstest /dev/input/js0</code> | ||
+ | Cette commande affichera les sorties du joypad 0, on pourra utiliser js1 pour le 1 et ainsi de suite. | ||
+ | |||
+ | J'ai trouvé ce fichier de configuration commenté qui donne quelques détails : | ||
+ | http://sheasilverman.com/rpi/gngeorc | ||
+ | |||
+ | Le bouton //MENU// permet d'afficher un menu de configuration de l'émulateur, et permet de quitter celui ci et revenir à emulationstation. | ||
+ | |||
+ | |||
+ | |||
+ | Au cas où, voici le fichier par défaut que j'avais : | ||
+ | <file bash gngeorc> | ||
+ | p1control A=K122,B=K120,C=K97,D=K115,START=K49,COIN=K51,UP=K273,DOWN=K274,LEFT=K276,RIGHT=K275,MENU=K27 | ||
+ | p2control A=K108,B=K59,C=K111,D=K112,START=K50,COIN=K52,UP=K264,DOWN=K261,LEFT=K260,RIGHT=K262,MENU=K27 | ||
+ | </file> | ||
+ | |||
+ | |||
+ | Une page expliquant un peu la configuration de gngeo : | ||
+ | https://github.com/petrockblog/RetroPie-Setup/wiki/GnGeo-Pi | ||
+ | Pour l'instant, je ne suis pas parvenu à faire fonctionner l'autre émulateur NeoGeo, et j'ignore les différences. | ||
+ | Voici une piste : | ||
+ | http://blog.petrockblock.com/forums/topic/neo-geo-not-working-black-screen-only/ |