N64 Tuto 3.30b7 : switch automatique entre plugin N64 et plungin Rice
-
Bonjour à tous, Ça fait maintenant plusieurs années que j'utilise un Raspberry Pi 1 dans un premier temps puis le Pi 2 plus récemment avec OpenELEC (Kodi ex XBMC) pour avoir mon petit média center personnel. J'ai découvert Recalbox un peu par hasard grâce à un ami qui justement voulait faire comme moi et qui est tombé sur un article qui en parlait. Je m'y suis donc immédiatement intéressé et j'ai constaté que Kodi y était directement intégré. De plus, grand fan de la Nintendo 64, mon sang n'a fait qu'un tour quand j'ai vu que Recalbox était compatible. Après avoir lu les informations sur le blog, le wiki et Facebook j'ai décidé de mettre la version 3.3.0-beta-7 directement vu qu'elle offrait la compatibilité la plus poussé avec l'émulation N64. Le temps me de remettre dans le bain et après pas mal de recherche sur les émulateurs j'ai constaté que cela était tout de même compliqué d'avoir à gérer 2 plugin vidéo (N64 et Rice) en fonction du jeu lancé et ce n'était pas très pratique d'aller modifier le fichier "recalbox.conf" pour lancer l'un ou l'autre des plugin surtout que le fichier est mise à jour à chaque fois qu'on change la configuration des jeux (ex. format 4/3 16/9 ou auto). J'ai donc pris mon courage à 2 mains pour modifier les scripts d'exécutions afin de pouvoir gérer le chargement de l'un ou l'autre des plugin en fonction du jeu lancé. Je vous propose donc mon Tuto afin que vous puissiez si vous le désirez vous simplifier la vie. Explication sur le fonctionnement avant mise en oeuvre Au lancement d'un jeu N64 le script récupère : 1 - Le nom du jeu lancé 2 - Cherche dans "GamesListRice.txt" le nom du jeu lancé 3 - Si le nom du jeu lancé existe dans "GamesListRice.txt" il lance l'exécution de l'émulateur avec le plugin Rice 4 - Sinon il lance l'exécution de l'émulateur avec le plugin N64 Prérequis : Accès avec WinSCP : via le wiki Modifier le nom de vos roms N64 pour qu'il n'y ai pas d'espace dans le nom de celle-ci (ex. Mario Kart 64.n64 devient Mario_Kart_64.n64) Etape 1 - Afficher les fichiers cachés dans WinSCP : Après vous etres connecté a recalbox avec WinSCP faite : Options > Préférence > Panneaux > Afficher le fichiers cachés Etape 2 - Modifier fichier "es_systems.cfg" Rendez vous dans "/root/.emulationstation", faite une sauvegarde du fichier "es_systems.cfg" et éditer celui-ci comme suit : Le bloque suivant :
<system> <fullname>Nintendo 64</fullname> <name>n64</name> <path>/recalbox/share/roms/n64</path> <extension>.n64 .N64 .zip .ZIP .z64 .Z64 .v64 .V64</extension> <command>python /usr/lib/python2.7/site-packages/configgen/emulatorlauncher.pyc %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM%</command> <platform>n64</platform> <theme>n64</theme> </system>
Devient :
<system> <fullname>Nintendo 64</fullname> <name>n64</name> <path>/recalbox/share/roms/n64</path> <extension>.n64 .N64 .zip .ZIP .z64 .Z64 .v64 .V64</extension> <command>/recalbox/scripts/emulatorlauncher.sh %ROM% %SYSTEM%</command> <platform>n64</platform> <theme>n64</theme> </system>
Etape 3 - Modifier fichier "emulatorlauncher.sh" Rendez vous dans "/recalbox/scripts", faite une sauvegarde du fichier "emulatorlauncher.sh" et éditer celui-ci comme suit : Le bloque suivant :
if [[ "$emulator" == "n64" ]]; then settings_n64="
$systemsetting get n64.pluginvideo
" if [[ "$settings_n64" == "n64" ]];then /recalbox/scripts/runcommand.sh 4 "SDL_VIDEO_GL_DRIVER=/usr/lib/libGLESv2.so mupen64plus --corelib /usr/lib/libmupen64plus.so.2.0.0 --gfx /usr/lib/mupen64plus/mupen64plus-video-n64.so --configdir /recalbox/configs/mupen64/ --datadir /recalbox/configs/mupen64/ "$1"" elif [[ "$settings_n64" == "rice" ]];then /recalbox/scripts/runcommand.sh 3 "SDL_VIDEO_GL_DRIVER=/usr/lib/libGLESv2.so mupen64plus --corelib /usr/lib/libmupen64plus.so.2.0.0 --gfx /usr/lib/mupen64plus/mupen64plus-video-rice.so --configdir /recalbox/configs/mupen64/ --datadir /recalbox/configs/mupen64/ "$1"" else /recalbox/scripts/runcommand.sh 4 "SDL_VIDEO_GL_DRIVER=/usr/lib/libGLESv2.so mupen64plus --corelib /usr/lib/libmupen64plus.so.2.0.0 --gfx /usr/lib/mupen64plus/mupen64plus-video-n64.so --configdir /recalbox/configs/mupen64/ --datadir /recalbox/configs/mupen64/ "$1"" fi fiDevient avec tous les guillemet bas à remplacer par des guillemet haut:
if [[ ''$emulator'' == ''n64'' ]]; then filewithoutext=${filename%.*} filenamelist=
grep $filewithoutext $dirName/GamesListRice.txt
echo nom fichier sans extension : $filewithoutext echo nom fichier dans GamesListRice.txt : $filenamelist if [[ ''$filewithoutext'' == ''$filenamelist'' ]];then /recalbox/scripts/runcommand.sh 3 ''SDL_VIDEO_GL_DRIVER=/usr/lib/libGLESv2.so mupen64plus --corelib /usr/lib/libmupen64plus.so.2.0.0 --gfx /usr/lib/mupen64plus/mupen64plus-video-rice.so --configdir /recalbox/configs/mupen64/ --datadir /recalbox/configs/mupen64/ ''$1'''' else /recalbox/scripts/runcommand.sh 3 ''SDL_VIDEO_GL_DRIVER=/usr/lib/libGLESv2.so mupen64plus --corelib /usr/lib/libmupen64plus.so.2.0.0 --gfx /usr/lib/mupen64plus/mupen64plus-video-n64.so --configdir /recalbox/configs/mupen64/ --datadir /recalbox/configs/mupen64/ ''$1'''' fi fiEtape 4 - Utilisation du fichier "GamesListRice.txt" L'exécution de l'un ou l'autre d'un plugin est basé sur le contenu de ce fichier. Récupérer le fichier "GamesListRice.txt" en pièce jointe, il contient déjà certain jeu que j'ai utilisé pour faire mes tests. Il faut ajouter ce fichier dans "/recalbox/share/roms/n64" et l'éditer avec l'ensemble des jeux (sans l'extension) que l'on possède qui fonctionne avec le plugin Rice. Il faut que le nom du jeu (sans l'extension) dans le "GamesListRice.txt" soit le même que le nom du fichier de la rom Exemple : Dans "GamesListRice.txt" : Mario_Kart_64 Nom du fichier de la rom : Mario_Kart_64.n64 (ou autres extensions prise en charge) Correction affichage plein écran (Optionnel) Ceci est ma configuration personnel afin de profiter de l'affichage plein écran sur ma TV. Rendez vous dans "/recalbox/configs/mupen64", faite une sauvegarde du fichier "mupen64plus.cfg" et éditer celui-ci comme suit : Dans le bloque [Video-General] mettre : ScreenWidth = 640 ScreenHeight = 480 Voilà pour mon tuto si vous avez des questions n’éditez pas. Je fini par une petite liste des jeux que j'ai testés. Liste des jeux testés : 007 GoldenEye Plugin Video : N64 Statut : Fonctionne mais saccadé Banjo-Kazooie Plugin Video : Rice Statut : Apparemment Jouable Banjo-Tooie Plugin Video : N64, Rice Statut : Exécution OK, plantage après sélection du slot de sauvegarde au début de la cinématique Bomberman 64 Plugin Video : N64, Rice Statut : Exécution KO Castlevania 64 Plugin Video : N64, Rice Statut : Apparemment Jouable Castlevania Legacy of Darkness Plugin Video : N64, Rice Statut : Apparemment Jouable Conkers Bad Fur Day Plugin Video : N64, Rice Statut : Exécution OK mais injouable trop lent Diddy Kong Racing Plugin Video : N64 Statut : Apparemment Jouable F Zero X Plugin Video : N64 Statut : Apparemment Jouable Jet Force Gemini Plugin Video : Rice Statut : Exécution OK mais injouable affichage buggé Killer Instinct Gold Plugin Video : Rice Statut : Exécution OK mais injouable trop lent Zelda Ocarina of Time Plugin Video : Rice Statut : Apparemment Jouable Zelda Majora's Mask Plugin Video : Rice Statut : Apparemment Jouable Mace The Dark Age Plugin Video : Rice Statut : Apparemment Jouable (problème affichage texte) Mario Kart 64 Plugin Video : N64 Statut : Apparemment Jouable Perfect Dark Plugin Video : Rice Statut : Fonctionne mais saccadé Super Mario 64 Plugin Video : N64,Rice Statut : Apparemment Jouable
-
Salut, Quand tu dis "Statut : Apparemment Jouable" , ça veut dire que ça tourne juste suffisamment pour qu'on puisse un peu jouer durant quelques minutes (mais avec une vitesse réduite, des textures absentes, etc...), ou bien c'est parfaitement émulé et on peut se faire 50 heures de Zelda sans se dire qu'on va finir par y jouer sur le PC ou acheter une N64?
-
Je pense que ça veut dire que c'est jouable, mais qu'il a pas testé le jeu de fond en comble
-
oui mais ce que je veux dire c'est par exemple , sur la PSP, mario kart est jouable (sans le son).. mais le framerate fait que au mieux je vais faire une course et ça va me lasser car la vitesse d'origine n'y sera pas.
-
Oui j'ai pas eu le temps de tester à fond (les Zelda en particulier vu que j'ai les 2 remake sur 3DS donc je me suis pas trop penché dessus). Mes tests étaient fait en particulier pour le remplissage du fichier GamesListRice.txt. Ça serait bien d'ailleurs de me dire ce que vos tests à vous donne que je puisse étoffer la liste et les statuts. Si le post permet à terme de savoir ce qui est jouable ou pas ça serait cool.
-
J'ai complété un peu le wiki recalbox sur github pour les jeux que j'avais testé avec l'émulateur N64 (pas grand chose ne marche !) ça serait bien que tu le mettes à jour là bas pour que ce soit centralisé
-
https://github.com/digitalLumberjack/recalbox-os/wiki/Compatibility-list-N64-(EN) (je précise que j'ai juste testé chaque jeu cinq minutes du démarrage au premier niveau si j'ai mis vert ça veut dire que ça tourne bien, mais je garantie pas que ça va pas planter à 5 minutes de la fin du jeu ou à une demi heure du début !!)
-
I tested this modification with recalboxOS v3.3.0-beta-14. But it dont work. Every time i start the Pi2 a window will show up. The windows says: the config cant be loaded. Is this not working anymore?