Navigation

    Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    SOLVED Surcharge pour forcer une conf Joystick

    Manettes/GPIO/Encodeurs
    conf forcer joystick surcharge
    4
    18
    281
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • LapinFou
      LapinFou last edited by LapinFou

      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.

      1. EmuStation (ES) est bien le front-end (ce qui affiche l'interface) ?
      2. RetroArch, c'est bien la partie planqué derrière qui permet de charger les ROMs et lancer le bon émulateur ?
      3. 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).

      1. Tenter de forcer les consoles les plus gourmandes en 720p.
      2. 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. 😄

      1 Reply Last reply Reply Quote 0
      • acris
        acris last edited by acris

        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

        1. 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
        2. oui
        3. 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 😉

        sroach 1 Reply Last reply Reply Quote 1
        • LapinFou
          LapinFou last edited by

          @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.

          Scavy 1 Reply Last reply Reply Quote 0
          • acris
            acris last edited by acris

            @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é.

            1 Reply Last reply Reply Quote 0
            • LapinFou
              LapinFou last edited by

              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.

              1 Reply Last reply Reply Quote 0
              • Scavy
                Scavy Global moderator
                Global moderator
                Tester
                @LapinFou
                last edited by

                @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 ^^

                • RPi0w : GPi Case
                • RPi4-2Go : Nespi4case - SN30 pro+ & PS3 DualShock pads - Logitech M170 (BT) keyboard/mouse set
                • Odroid Go Advance
                • PC : CPU i5 core 2.8/3.4 GHz - GPU GeForce 850M - RAM 8Go DDR3L
                1 Reply Last reply Reply Quote 0
                • sroach
                  sroach @acris last edited by

                  1. 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?

                  1 Reply Last reply Reply Quote 0
                  • acris
                    acris last edited by

                    Hello @sroach

                    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.

                    Exemple :
                    Libretro flycast, libretro mame = libretro core
                    ppsspp, openbor = standalone emulator

                    sroach LapinFou 2 Replies Last reply Reply Quote 0
                    • LapinFou
                      LapinFou last edited by

                      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?

                      1 Reply Last reply Reply Quote 0
                      • sroach
                        sroach @acris last edited by

                        @acris

                        Ahhh that's easy enough, if Libretro is in the name it's restroarch.

                        1 Reply Last reply Reply Quote 0
                        • acris
                          acris last edited by acris

                          @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

                          1 Reply Last reply Reply Quote 0
                          • LapinFou
                            LapinFou @acris last edited by LapinFou

                            @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. 👍🤘

                            1 Reply Last reply Reply Quote 0
                            • acris
                              acris last edited by acris

                              C'est un oubli, qui sera corrigé, je l'ai signalé merci.

                              1 Reply Last reply Reply Quote 0
                              • LapinFou
                                LapinFou last edited by LapinFou

                                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 GPIO

                                Le 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

                                1 Reply Last reply Reply Quote 1
                                • acris
                                  acris last edited by

                                  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 ?

                                  LapinFou 1 Reply Last reply Reply Quote 0
                                  • LapinFou
                                    LapinFou @acris last edited by LapinFou

                                    @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 jeu

                                    Pour Metal Slug cela se passe mieux:
                                    HK+X → Quick load
                                    HK+Y → Quick save

                                    J'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. 😊

                                    1 Reply Last reply Reply Quote 0
                                    • LapinFou
                                      LapinFou last edited by

                                      @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. 😁

                                      1 Reply Last reply Reply Quote 0
                                      • acris
                                        acris last edited by

                                        @LapinFou
                                        non merci c'est tout bon.

                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post

                                        Want to support us ?

                                        103
                                        Online

                                        88.3k
                                        Users

                                        26.2k
                                        Topics

                                        179.8k
                                        Posts

                                        Copyright © 2021 recalbox.com