Solved Surcharge pour forcer une conf Joystick
-
Bonjour à tous,
Tout d'abord je tiens à préciser que je suis noob dans le monde Recalbox (j'ai monté mon bartop le WE dernier), donc merci de ne pas taper trop fort si la question a déjà été posé. Sinon je pourrais y prendre plaisir et du coup cela embarrasserait tout le monde... (Oh oui ! Fait moi mal !)
Blague mise à part, promis, j'ai bien utilisé Google et la barre de recherche avant de poser ma question. Ceci dit, la doc n'étant (pour l'instant) pas franchement à jour et comme elle a bougé de github à gitbook ce n'est pas facile/facile de s'y retrouver (google renvoie souvent sur les pages maintenant vides de github).Pour rentre dans le vif du sujet, je souhaite faire les 2 choses suivantes:
- Je souhaiterais mapper les boutons GPIO différemment pour certains jeux NeoGeo (ceux nécessitant que 3 boutons tels que les Metal Slug) afin que cela corresponde aux 3 boutons du bas sur mon panel.
- Pour certains jeux Dreamcast (CrazyTaxi pour ne pas le nommer), je souhaiterais remapper certaines touches. Avec RB 7.0.1 et mon joystick GPIO de type "D-Pad", je ne peux pas ni accélérer, ni freiner.
Je suis aller dans le menu RetroArch et j'ai pu changer le mapping des boutons afin d'obtenir ce qu'il faut (mais j'ai pas trouvé comme créer un fichier que je pourrais pendre comme exemple pour la suite). Maintenant je souhaiterais mettre en place les surcharges qui vont bien juste pour les jeux qui ont besoin de cette modif.
J'ai lu (et relu) la doc ici: Surcharge de configuration
Par contre je suis un peu perdu.
- EmuStation (ES) est bien le front-end (ce qui affiche l'interface) ?
- RetroArch, c'est bien la partie planqué derrière qui permet de charger les ROMs et lancer le bon émulateur ?
- Recalbox, c'est quoi exactement ?
Je pose la question, car je n'ai pas bien compris la différence entre surcharger Reclabox ou surcharger RetroArch...
De plus dans la doc Surcharges Retroarch, on parle par exemple de la commande "input_player1_analog_dpad_mode", mais je ne la retrouve pas ici: retroarch.cfg. Du coup, je ne sais pas si c'est un setting RB ou RA.Bref, je voudrais pas tout péter au bout d'une semaine...
Si une bonne âme pouvait m'aiguiller vers la bonne piste, ce serait super.Petit question connexe, j'ai installé un GeeekPI Ice Tower sur mon flambant neuf RPI4. Cela marche du tonnerre. Après plus de 1h de Metal Slug 1, je n'ai pas dépassé les 39°C. Du coup, je me suis dit que je tenterai bien quelque chose pour essayer de me rapprocher des 60FPS sous Dreamcast (pour l'instant je ne suis qu'à 45FPS).
- Tenter de forcer les consoles les plus gourmandes en 720p.
- Overclocker le RPI4
Quel serait la meilleure approche ? Utiliser les surcharges ou aller directement dans recalbox.cfg ? Surtout pour l'overcloking.
Par avance, un grand merci à ceux qui auront eu le courage de me lire jusqu'au bout et qui m'aideront.
-
Bonjour @LapinFou
les surcharges ne fonctionnent qu'avec les cores retroarch.
tu as des éléments de réponse ici : https://forum.recalbox.com/topic/21653/pi4-recalbox-7-x-mupen64plus-bug-enregistrement-du-mapping-dans-retroarch/60?_=1605804421733- oui mais emulationstation n'a plus rien à voir avec la version originale, emulationstation a subi énormément de modification pour intégrer nos besoins et une automatisation de beaucoup de chose
- oui
- Un système d'exploitation basé sur buildroot embarquant emulationstation pour l'interface graphique et retroarch et ses cores , mais aussi des emulateurs standalone. La team a développés ses propres modules (configgen, pad2keyboard par exemple) pour une automatisation sans prise de tête pour l'utilisateur.
Essaie retropie tu comprendras ce qu'est recalbox;)
https://fr.wikipedia.org/wiki/Recalbox
sujet déplacé dans la bonne catégorie et la bonne section de langue.
merci d'y être attentif -
@acris Merci beaucoup pour toutes ces explications. Je ne pensais pas voir une réponse aussi rapide.
Concernant Retropie Vs Recalbox, je sais que c'est un peu la guerre de religions. Perso, j'ai vite fait mon choix → je préfère RB pour sa simplicité, sa communauté et son côté ne pas confondre vitesse avec précipitation.
En tout cas, les choses sont bien plus claires maintenant. Et je n'avais pas compris qu'il y avait plusieurs cores. Je pensais qu'il n'y avait que retroarch sous le capot.
Je vais potasser tout cela (probablement ce WE) et je posterais mes résultats. Si tout fonctionne comme sur des roulettes, je pourrais même poste ça sous forme de tuto (si cela peut aider d'autres membres).
Et pour l'amélioration des perfs pour la Dreamcast, aurais-tu un avis éclairé ? Forcer le 720p et/ou overclocking du RPI4 ?
PS: Désolé pour la mauvaise section. Je ne manquerais pas de faire plus attention la prochaine fois.
-
@LapinFou
retroarch est aussi une interface d'emulation : un moteur
et les cores libretro sont en général des adaptations d'émulateurs standalone pour l utilisation dans retroarch, qui permet aussi une certaine automatisation de différentes tâches.
En général le portage en core reprend l'essentiel de l'emulateur standalone, pour simplifier d'autres me corrigeront si je dis une bétise.Loin de nous la guerre de religions mais tu as bien compris que recalbox essaie de rendre lexpérience retrogaming les plus simple possible.
tu flashes, ça s installe tu joues.Pour l'émulation, je n'ai pas d avis, car je joue très peu sur ces consoles.
d'autres te réponderont.
Juste que overlocker le pi ne passe pas par une surcharge, tu le fais dans le fichier config.txt et bien sûr tu prends un risque, il y a un sujet dans la section international avec des personnes qui ont testé. -
C'est très clair. Si je vulgarise un certain nombre d'émulateurs standalone ont été modifié (les "cores") pour être des genres d'add-on/plugins utilisable dans retroarch.
Oui, j'ai vu un sujet sur l'overclocking. Je vais regarder ça et j'ouvrirai un nouveau sujet en Français dès que j'aurais procéder à des tests. -
@LapinFou salut
L'overclocking du Pi4, pas possible (dans le menu Overclocking -> Aucun), sauf par le fichier config. Fais attention à la surchauffe, le Pi4 n'est pas réputé pour rester froid ^^ -
- Un système d'exploitation basé sur buildroot embarquant emulationstation pour l'interface graphique et retroarch et ses cores , mais aussi des emulateurs standalone. La team a développés ses propres modules (configgen, pad2keyboard par exemple) pour une automatisation sans prise de tête pour l'utilisateur.
Essaie retropie tu comprendras ce qu'est recalbox;)
https://fr.wikipedia.org/wiki/Recalbox
Does a list exsist that shows what cores are using retroarch vs standalone in RB?
- Un système d'exploitation basé sur buildroot embarquant emulationstation pour l'interface graphique et retroarch et ses cores , mais aussi des emulateurs standalone. La team a développés ses propres modules (configgen, pad2keyboard par exemple) pour une automatisation sans prise de tête pour l'utilisateur.
-
Hello @sroach
in the compatibility board,
https://recalbox.gitbook.io/documentation/hardware-compatibility/emulators-compatibilityyou have the list of all libretro and standalone emulators.
Libretro xxxx is a core for retroarch.
Without the word libretro it is a standalone emulator.Exemple :
Libretro flycast, libretro mame = libretro core
ppsspp, openbor = standalone emulator -
This is an interesting document.
According the table, the core used for the Dreamcast is Flycast. Thus, it means it is not handle with retroarch.
Question: does it mean the "overload" (not sure this is the right English term) will not work? -
Ahhh that's easy enough, if Libretro is in the name it's restroarch.
-
@LapinFou said in Surcharge pour forcer une conf Joystick:
This is an interesting document.
According the table, the core used for the Dreamcast is Flycast. Thus, it means it is not handle with retroarch.
Question: does it mean the "overload" (not sure this is the right English term) will not work?tu mélanges ,
un core Flycast est utilisé par retroarch et donc les surcharges fonctionneront.Un emulateur standalone les surcharges ne sont pas possible.
Libretro est le nom de l'équipe de developpeurs de tous les portages d'émulateurs pour leur interface retroarch.
wikipedia est riche en informaton : https://fr.wikipedia.org/wiki/RetroArch
-
@acris said in Surcharge pour forcer une conf Joystick:
in the compatibility board,
https://recalbox.gitbook.io/documentation/hardware-compatibility/emulators-compatibility
you have the list of all libretro and standalone emulators.
Libretro xxxx is a core for retroarch.
Without the word libretro it is a standalone emulator.Merci pour la précision. Mais comment tu avais écrit ce qui est cité au-dessus, j'ai supputé que s'il n'y avait pas le nom libretro (comme pour la Dreamcast) alors ce n'était pas géré par retroarch (donc pas de surcharge).
En soulevant le capot pour regarder le moteur, cela me permet de me rendre compte de tout le boulot fait par l'équipe Recalbox.
-
C'est un oubli, qui sera corrigé, je l'ai signalé merci.
-
Re-bonjour à tous,
J'ai pu testé les surcharges et cela fonctionne à merveille !
Pour ceux que cela intéresse, voici la procédure.
Pour rappel, mes contrôleurs sont branchés directement sur les GPIOs en suivant l'article ici: Les contrôleurs GPIOLe mapping des boutons est comme ceci:
↑ Ⓨ Ⓧ Ⓛ
← → Ⓑ Ⓐ Ⓡ
↓
La correspondance est:
Ⓨ = "3"
Ⓧ = "2"
Ⓛ = "4"
Ⓑ = "1"
Ⓐ = "0"
Ⓡ = "5"
↑ = "-1" (NB; Là, je suis étonné car je m'attendais à un "+1", mais j'ai vérifié mes branchements donc cela doit être normal)
↓ = "+1"
← = "-0"
→ = "+0"
Select = "6"
Start = "7"1ère exemple avec Crazy Taxi: l'accélérateur et le frein sont respectivement sur R2/L2
Je les ai remappé sur Ⓨ et Ⓧ
A savoir que pour "démappé" un bouton, il faut utiliser "nul".
Le nom du fichier est Crazy Taxi.cdi
Il faut donc créer un fichier Crazy Taxi.cdi.retroarch.cfg dans le dossier /recalbox/share/roms/dreamcast
Dans ce fichier, j'ai ça:# Mapping for brake/throttle input_libretro_device_p1 = "1" input_player1_analog_dpad_mode = "0" input_player1_left_axis = "-0" input_player1_right_axis = "+0" input_player1_up_axis = "-1" input_player1_down_axis = "+1" input_player1_start_btn = "7" input_player1_select_btn = "6" input_player1_a_btn = "0" input_player1_b_btn = "1" input_player1_y_btn = "nul" input_player1_x_btn = "nul" input_player1_l_btn = "4" input_player1_r_btn = "5" input_player1_l2_btn = "3" input_player1_r2_btn = "2"
input_libretro_device_p1 = "1" → le "1" correspond à l'ID du contrôleur GPIO
input_player1_analog_dpad_mode = "0" → Indique qu'il ne faut pas convertir les stick analogiques vers du D-Pad
Je pense que ces 2ères lignes ne sont pas franchement utile, car c'est déjà les valeurs par défaut. Ceci dit, j'ai préféré tout définir.La suite est parlante.
Je pense que la config ci-dessous est suffisante, mais je n'ai pas encore eu le temps de tester.# Mapping for brake/throttle input_player1_y_btn = "nul" input_player1_x_btn = "nul" input_player1_l2_btn = "3" input_player1_r2_btn = "2"
Bref tout fonctionne à merveille.
Pareil pour les Metal Slug, j'ai pu redéfinir le "lancer de bombe" sur la touche Ⓡ à la place de ⓎCela donne ça:
/recalbox/share/roms/neogeo/mslug.zip.retroarch.cfg# Player 1 Mapping for bomb input_libretro_device_p1 = "1" input_player1_analog_dpad_mode = "0" input_player1_left_axis = "-0" input_player1_right_axis = "+0" input_player1_up_axis = "-1" input_player1_down_axis = "+1" input_player1_start_btn = "7" input_player1_select_btn = "6" input_player1_a_btn = "0" input_player1_b_btn = "1" input_player1_y_btn = "5" input_player1_x_btn = "2" input_player1_l_btn = "4" input_player1_r_btn = "3" # Player 1 Mapping for bomb input_libretro_device_p2 = "1" input_player2_analog_dpad_mode = "0" input_player2_left_axis = "-0" input_player2_right_axis = "+0" input_player2_up_axis = "-1" input_player2_down_axis = "+1" input_player2_start_btn = "7" input_player2_select_btn = "6" input_player2_a_btn = "0" input_player2_b_btn = "1" input_player2_y_btn = "5" input_player2_x_btn = "2" input_player2_l_btn = "4" input_player2_r_btn = "3"
Pareil, il faudrait que je teste cette config (je pense que c'est suffisant):
# Player 1 Mapping for bomb input_player1_y_btn = "5" input_player1_r_btn = "3" # Player 1 Mapping for bomb input_player2_y_btn = "5" input_player2_r_btn = "3"
Une dernier chose, notez bien le suffixe "_btn" !!
Par example, input_player1_y_btn n'est pas la même chose que input_player1_y -
Tu n'as pas de soucis avec les combinaisons avec la hotkey
ça fonctionne sans problème ?
hotkey+x
hotkey+y
hotkey+b
hotkey+start ? -
@acris said in Surcharge pour forcer une conf Joystick:
Tu n'as pas de soucis avec les combinaisons avec la hotkey
ça fonctionne sans problème ?
hotkey+x
hotkey+y
hotkey+b
hotkey+start ?Avec HK+start, pas de souci (sinon je n'aurais pas quitter le jeu) et le mapping n'a pas changé.
Pour Crazy Taxi et Metal Slug
HK+B → Interface de retroarch (pareil le mapping n'a pas changé)Pour Crazy Taxi, ça se complique
HK+X → Quick save
HK+Y → Quitte le jeuPour Metal Slug cela se passe mieux:
HK+X → Quick load
HK+Y → Quick saveJ'en ai profité pour tester les version "courtes" des fichier config.
Et , effectivement, il suffit juste de changer ce que l'on a besoin. Il n'est pas nécessaire de tour redéfinir. -
@acris Salut !
As-tu besoin de plus d'informations de ma part concernant les HK ?
Ou ma réponse suffit ?Dans tous les cas, je te remercie beaucoup pour ton aide.
Je suis super content de pouvoir remapper les boutons comme je le souhaite. -
@LapinFou
non merci c'est tout bon.