Outils pour utilisateurs

Outils du site


notes

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 [09/02/2015 03:09]
sky99 [Réalisation - prototype 1]
notes [22/02/2015 06:56]
sky99
Ligne 1: Ligne 1:
 ====== Notes diverses ====== ====== Notes diverses ======
 Cette page contient des notes diverses, qui se retrouveront probablement intégrées à d'​autres pages ultérieurement. Cette page contient des notes diverses, qui se retrouveront probablement intégrées à d'​autres pages ultérieurement.
 +Un super lien, avec plein de ressources utiles, et à jour :
 +https://​weekendengineer.wordpress.com/​2014/​09/​08/​setting-up-gameboy-advance-for-retropie/​
 +
 +
  
 ===== Projet émulateur portable ===== ===== Projet émulateur portable =====
 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. 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. 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.
 +==== Activation des sauvegardes d'​état ====
 +Pour activer les sauvegardes d'​état,​ il faut faire quelques manipulations:​
 +https://​weekendengineer.wordpress.com/​2014/​09/​05/​retropie-adding-game-roms-bios-files-and-enabling-save-states/​
 +Je dois encore vérifier si tout fonctionne à ce niveau.
 +
 ==== Réalisation - prototype 1 ==== ==== Réalisation - prototype 1 ====
 La première étape est de faire fonctionner le système d'​émulation sur le Raspberry pi.  La première étape est de faire fonctionner le système d'​émulation sur le Raspberry pi. 
Ligne 10: Ligne 19:
 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 74: Ligne 86:
  
 == Megadrive (Genesis) == == 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 == == 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 == == Game Boy Advance ==
Ligne 82: Ligne 96:
 Ce lien pourrait servir pour d'​autres émulateurs. Ce lien pourrait servir pour d'​autres émulateurs.
  
-L'​émulateur de game boy advance est à priori ​**gpsp**, et son répertoire est +L'​émulateur de game boy advance est **gpsp**, et son répertoire est 
  
 <​code>/​opt/​retropie/​emulators/​gpsp</​code>​ <​code>/​opt/​retropie/​emulators/​gpsp</​code>​
-Je cherche toujours ou placer ​le fichier ​pour faire fonctionner cet émulateurJe n'ai pas eu de succès ​dans le répertoire partagé BIOS.+Il faut donc copier ​le fichier ​gba_bios.bin dans le répertoire partagé BIOS (/​home/​pi/​RetroPie/​BIOS/​) 
 +On pourra ensuite copier ce fichier dans le répertoire adéquat :  
 +<code bash>​sudo cp /​home/​pi/​RetroPie/​BIOS/​gba_bios.bin /​opt/​retropie/​emulators/​gpsp/​raspberrypi/</​code>​
  
 +Si on lance maintenant emulationstation,​ on peut lancer des jeux de gba (bien sur il faut avoir copié les roms dans le répertoire partagé roms/gba).
 +
 +Pour ouvrir le menu de l'​émulateur,​ il faudra appuyer sur la touche F10 du clavier, ce qui nous permettra de configurer la manette. Pour la première configuration,​ il faudra donc un clavier, mais ça n'est pas nécessaire par la suite. Il suffit de suivre les indications à l'​écran.
 +A noter que par défaut, la dernière option permet d'​activer un raccourci vers le menu de l'​émulateur,​ avec select + gâchette droite. On peut alors se déplacer dans le menu sans clavier, et également quitter l'​émulateur et ainsi revenir au menu principal.
 +
 +Le fichier de configuration des touches se trouve à l'​emplacement suivant : 
 +<code bash>/​opt/​retropie/​emulators/​gpsp/​raspberrypi/​keys.txt</​code>​
 +
 +
 +Voici un lien vers le site qui m'a permis de faire fonctionner l'​émulateur de game boy advance : 
 +https://​weekendengineer.wordpress.com/​2014/​09/​08/​setting-up-gameboy-advance-for-retropie/​
 +
 +(il y a plein d'​autres choses utiles et intéressantes!)
 == Neo-Geo == == 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/​
notes.txt · Dernière modification: 24/02/2015 17:07 par sky99