Recalbox Forum

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

    n64 Controller connected GPIOS 4.0.0-beta5 Gamecon Driver

    GamePad/GPIO/USB encoder
    connected gpios 4.0.0-beta5 gamecon driver
    2
    11
    5699
    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.
    • BattleAngel
      BattleAngel last edited by

      Hello Volks,

      as noticed above i try to connect a n64 controller with GPIO on a Raspberry. Schamefull nothing happens.
      My build in short words:
      Raspberry pi 3 with original power (2,5A)
      N64 controller (original not with USB)
      recalbox 4.0.0-beta5

      the edited recalbox.conf (edited with n++ )

      Gamecon controllers

      Enable gamecon controllers, for nes, snes psx (0,1)

      controllers.gamecon.enabled=1

      gamecon_args

      controllers.gamecon.args=map=0,6,0,0

      Data pin is Pin #2
      Pinconection: 0_1474307748322_IMG_20160918_150121.jpg

      now when i try to move the joystick or push the buttons nothing happens, also tested with jstest.

      i tried sevrel pin connections, all from the manual.
      i hope some of you have a idee what i am doing wrong

      P.S. The Controller is tested with the console from a friend of mine.

      Sry for the bad english

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

        So, this is how i get things, please confirm you wired it this way. I'm using pin number (from 1 to 40), not the weird pin naming using some GPIO numbes that have no link with the pin number itself.

        1st reminder : this is ho the doc translated pin names <-> pin numbers :

        Pins P1-03,05,07,26 (GPIO0, GPIO1, GPIO4 and GPIO7)

        2nd reminder : the recalbox.conf parameter line :

        controllers.gamecon.args :
        map=<pad1/GPIO0>,<pad2/GPIO1>,<pad3/GPIO4>,<pad4/GPIO7>,<pad5/GPIO2>,<pad6/GPIO3>

        Now reading http://elinux.org/RPi_Low-level_peripherals#Model_A.2B.2C_B.2B_and_B2 i understand that the pin numbering changed since the Pi B version, so the 1st reminder is only true for the models below Pi2, and seems the pi2 only has pads 3 4 5 6. Let's take a shortcut and give the real pin numbering
        In other words :

        map=0,0,<pad3/PIN 7>,<pad4/PIN 26>,<pad5/PIN 3>,<pad6/PIN 5>

        See now what's wrong with your wiring and parameter ? 🙂 You configured the 2nd pad which is not available for pi2/3. Here is a suggested wiring :

        N64 GND <-> pin 6
        N64 DATA <-> pin 7
        N64 POWER <-> pin 1

        And your recalbox.conf line :

        controllers.gamecon.args=map=0,0,6,0,0,0

        Well, you're unlucky, the wiki isn't up to date ... Can you give some feedback about my suggestions ?

        Edit : might be controllers.gamecon.args=map=0,0,6,0 rather

        Former dev - Please reply with @substring so that i am notified when you answer me
        Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

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

          Thanx Subs for your help.

          I have tried it as you said but still no connection.

          with both lines (0,0,6,0,0 and 0,0,6,0) but nothing workd so far.

          also with 0,6,0,0 and the data pin on pin 5.

          maybe the gamecon driver dosent work but i have no idea how to test it

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

            now i have tested the connection (maybe i dit somthing wrong with wireing)
            but no all lines are working.
            also i have installed version recalbox 4.0.0-beta4 and edited the config file as u sugested subs but that also didnt helpd.
            is there somone that got it to work? so i can test the image on my system?

            with hope BA

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

              I don't have any N64 controller, can't test by myself

              Former dev - Please reply with @substring so that i am notified when you answer me
              Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

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

                I did it.

                It was just a stupid failur the ground and power pin was switched.

                stupid me 😛

                but there is one final question:

                Where do i have to input the folloing?:
                jscal -s 4,1,0,0,0,6972137,6972137,1,0,0,0,6547006,6468127,1,0,0,0,536854528,536854528,1,0,0,0,536854528,536854528 /dev/input/jsX

                jsX is the numer of controller, or is it? but where to add these lines

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

                  you need to run them at everyboot ? you sure we have jscal on recalbox ?

                  Former dev - Please reply with @substring so that i am notified when you answer me
                  Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

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

                    as shown in the manual:

                    3.2 Testing the pads

                    See Test your joystick with jstest mini how-to
                    3.3 Calibrating the axis of N64 analog pad

                    jscal -s 4,1,0,0,0,6972137,6972137,1,0,0,0,6547006,6468127,1,0,0,0,536854528,536854528,1,0,0,0,536854528,536854528 /dev/input/jsX

                    for each N64 controller

                    so i Think i have to put it in the config file or somwhrer but i dont know exactly

                    Link to the manual

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

                      that's IF it's necessary to calibrate them. Do you have only those gamepads conencted or some others ? Because it has an impact on the jsX number
                      The best to do on SSH :

                      echo "jscal -s 4,1,0,0,0,6972137,6972137,1,0,0,0,6547006,6468127,1,0,0,0,536854528,536854528,1,0,0,0,536854528,536854528 /dev/input/jsX" >> /recalbox/share/system/custom.sh
                      chmod u+x /recalbox/share/system/custom.sh
                      

                      Take care of replacing jsX with the right number
                      Once you've done that, you can edit the custom.sh through network with a unix format editor and add a new line if you plug a second gpio ontroller

                      Former dev - Please reply with @substring so that i am notified when you answer me
                      Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

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

                        The Controller now Works

                        also i have connected the second one´.

                        And Yes i only use N64 Controller, as that is the main thing i want to use.

                        But the buttons dosent work as the buttons thei should. i found out which button is whitch one with jstest but where can i give them in at muppen64 plus.

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

                          If you want the exact mapping of the N64, you need to edit yourself the buttons and switch to a custom config. What you need is :

                          • edit the files in /recalbox/share/configs/mupen (or mupen64 or mupen64plus, i never remember)
                          • add in the recalbox.conf and add at the bottom (or wheverever else) n64.configfile=dummy so that the files you edited won't be overwritten

                          This will be slightly easier in Recalbox 4.1

                          Former dev - Please reply with @substring so that i am notified when you answer me
                          Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

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

                          Want to support us ?

                          97
                          Online

                          99.6k
                          Users

                          28.1k
                          Topics

                          187.1k
                          Posts

                          Copyright © 2021 recalbox.com