RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Solved: Setting up Gamecon driver with psx controller

    Scheduled Pinned Locked Moved Help and Support
    gamecongamecon drivergamecondriver
    33 Posts 4 Posters 13.1k Views
    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.
    • K
      Katemonster
      last edited by

      From what I understand, you will need the resistor no matter which pad # you plug into. I use a 4.7k ohm resistor between 3.3V and the "Data" line, as well, and everything works great for me.

      Can we get a picture of your setup?

      G 2 Replies Last reply Reply Quote 0
      • G
        geneworld @Katemonster
        last edited by

        @Katemonster Yeah I'll snap a pic tonight after work

        1 Reply Last reply Reply Quote 0
        • J
          Jeddo
          last edited by

          Hi there,

          I have almost the same problem. Using Rpi3 (with controlblock) and trying to connect a PS2 controller to the GPIO.
          Connected as follows:

          RPI:------------------------PS2
          P1-01 (3.3V) ==== 5 (power/3.3V)
          GPIO14 ---> 2 (command)
          GPIO15 ---> 6 (select)
          GPIO18 ---> 7 (clock)
          GPIO02 <--- 1 (data)
          P1-06 (GND) ==== 4 (ground)

          see GPIO numbers GPIOs

          Here is a pic from my setup:
          alt text

          I can configure the driver to PSX Controller, that is working fine, but when i test the controller, no input is registered.

          I also tried my N64 controller some time ago (its the same driver) and got no signal either.

          Someone any Idea how to fix that?

          K 1 Reply Last reply Reply Quote 0
          • K
            Katemonster @Jeddo
            last edited by

            @Jeddo First off, I don't see pull-up resistors in that picture. Are there some integrated into the controlblock? I don't know anything about how that thing functions.

            Secondly, try removing the controlblock from the equation, and hook directly to the Pi. What happens? Also, test the controllers and make sure the analog light comes on when pressed. If not, likely you don't have the power and ground hooked up properly. My problem was always that I counted the pins on the controller backwards. If it's not powering on, that could be the cause.

            J 1 Reply Last reply Reply Quote 0
            • J
              Jeddo @Katemonster
              last edited by

              @Katemonster the controlblock should not affect the gpio. It's working for the db9_gpio_rpi driver without any problems. But I will check it without it.
              Regarding the pullups: I always assumed that I don't need those because RPi 3 has internal ones on every pin?! Maybe that's wrong and I need the pullups.
              Controller has power so that is working.

              1 Reply Last reply Reply Quote 0
              • K
                Katemonster
                last edited by

                Yes you need the pull ups. The driver doesn't try to use any internal pull up resistors because the internal ones are not powerful enough to sway the PSX bus.

                J 1 Reply Last reply Reply Quote 0
                • J
                  Jeddo @Katemonster
                  last edited by

                  @Katemonster ok thanks that could explain why my N64 controller isnt working, too. I will try that. Thank you for your help!

                  1 Reply Last reply Reply Quote 0
                  • K
                    Katemonster
                    last edited by

                    I don't know how the N64 controller works. I can only speak for the PSX controller, which needs the pull-up resistors.

                    1 Reply Last reply Reply Quote 0
                    • G
                      geneworld @Katemonster
                      last edited by

                      @Katemonster Here are some pictures that hopefully help show what I'm working with. I had to start fresh with a new image sorry for the delay, building from source takes a while.

                      alt text
                      alt text
                      alt text

                      Hopefully this makes it a little more clearer.

                      alt text

                      1 Reply Last reply Reply Quote 1
                      • K
                        Katemonster
                        last edited by

                        Thanks for the diagrams. In the last picture, what you've indicated as Pad 5 and 6 is actually Pad 1 & 2, respectively. So initialize the driver with map=7,0,0,0,0,0 and try again. If that doesn't work, try Pad 3 and use map=0,0,7,0,0,0 .

                        G 1 Reply Last reply Reply Quote 0
                        • G
                          geneworld @Katemonster
                          last edited by geneworld

                          @Katemonster Oh I thought pads 1 and 2 changed to pads 5 and 6 from Model b rev2 and beyond.

                          from the link (https://github.com/retropie/retropie-setup/wiki/GPIO-Modules#gamecon_gpio_rpi) above I saw
                          "NES/SNES Controller Data Pin Location Legend
                          Rev01 board (Raspberry Pi B)
                          Gamepad1 = GPIO0 = Physical Pin03
                          Gamepad2 = GPIO1 = Physical Pin05
                          Gamepad3 = GPIO4 = Physical Pin07
                          Gamepad4 = GPIO7 = Physical Pin26

                          Rev02 board (Raspberry Pi A, B+, 2, 3)
                          Gamepad3 = GPIO4 = Physical Pin07
                          Gamepad4 = GPIO7 = Physical Pin26
                          Gamepad5 = GPIO2 = Physical Pin03
                          Gamepad6 = GPIO3 = Physical Pin05
                          "

                          I can try to swap that out for sure. I have a pull up resistor I can try it with.

                          Do you think it would be useful if in the RetroPie-Setup file I configured it for 2 NES/SNES controller then changes the options for what I need?

                          Is there any other configuration I need to do before testing it out in EmulationStation? Is jstest /dev/input/js0 Something I can try to see if I'm even getting any inputs if it doesn't work on the front end?

                          1 Reply Last reply Reply Quote 0
                          • K
                            Katemonster
                            last edited by

                            Yes, jstest is a quick and easy way to sanity-check your install.

                            The wiring blurb you posted is a little confusing. I have a lot of problems with that guide. What it's really saying is this:

                            "NES/SNES Controller Data Pin Location Legend
                            Rev01 board (Raspberry Pi B)
                            Gamepad1 = GPIO0 = Physical Pin03
                            Gamepad2 = GPIO1 = Physical Pin05
                            Gamepad3 = GPIO4 = Physical Pin07
                            Gamepad4 = GPIO7 = Physical Pin26

                            Rev02 board (Raspberry Pi A, B+, 2, 3)
                            Gamepad1 = GPIO0 = Physical Pin03
                            Gamepad2 = GPIO1 = Physical Pin05
                            Gamepad3 = GPIO4 = Physical Pin07
                            Gamepad4 = GPIO7 = Physical Pin26
                            Gamepad5 = GPIO2 = Physical Pin03
                            Gamepad6 = GPIO3 = Physical Pin05

                            So for the Pi models with more GPIO's, it simply adds support for Gamepad5 and Gamepad6, on GPIO2 and GPIO3, respectively.

                            1 Reply Last reply Reply Quote 0
                            • G
                              geneworld
                              last edited by

                              Well I did a fresh install and even tried options gamecon_gpio_rpi map=7,7,7,7,7,7 in /etc/modprobe.d/gamecon.conf. In emulation station it shows that there are 6 devices but no matter what pin I try even with a 4.5K resister jumping it to 3.3V nothing works. I'm left very confused.

                              I do see that during boot up I can turn the analog led on the controller on but once the RetroPie boot screen comes up the led goes off. I have a PSX to USB adapter and that works great with the pi and this controller.

                              K 1 Reply Last reply Reply Quote 0
                              • K
                                Katemonster @geneworld
                                last edited by Katemonster

                                @geneworld Filling the map with all 7's isn't the right way to go. It'll just cause more confusion down the line.

                                Funny business with the LED's after RetroPie starts tells me you probably have one of the wires flipped around. Unfortunately with that block in the way I can't get a good picture of which pins are going to which GPIO's. Please take that out, setup the driver with map=7,0,0,0,0,0 , and plug the data pin, with pull up resistor, to GPIO0, and post a picture. Then we'll go from there.

                                G 2 Replies Last reply Reply Quote 0
                                • G
                                  geneworld @Katemonster
                                  last edited by

                                  @Katemonster This is what I have currently. alt text with options gamecon_gpio_rpi map=0,0,7,0,0,0 in /etc/modprobe.d/gamecon.conf

                                  But I can take pictures hopefully later when I get home or tomorrow.

                                  1 Reply Last reply Reply Quote 0
                                  • G
                                    geneworld @Katemonster
                                    last edited by geneworld

                                    @Katemonster Took some pictures
                                    alt text
                                    alt text
                                    alt text
                                    alt text

                                    K 1 Reply Last reply Reply Quote 0
                                    • K
                                      Katemonster @geneworld
                                      last edited by

                                      @geneworld OK, looks like your wiring is backwards. Use this diagram: psx pinout

                                      G 1 Reply Last reply Reply Quote 0
                                      • G
                                        geneworld @Katemonster
                                        last edited by geneworld

                                        @Katemonster well that could be an issue right?

                                        I've been using this one:
                                        alt text

                                        I'll switch to this one:
                                        alt text

                                        and see what I get! Great find this is promising I can't wait to swap it out after work!

                                        K 1 Reply Last reply Reply Quote 0
                                        • K
                                          Katemonster @geneworld
                                          last edited by Katemonster

                                          @geneworld oh wow, yeah that diagram is completely backwards.

                                          This explains why your controller was powered during boot, but not once retropie starts- the 3.3V pin is dead center, so that was correct, but ground was technically plugged in to the PSX_SEL line, which might tend towards ground with the module not loaded.

                                          G 2 Replies Last reply Reply Quote 0
                                          • G
                                            geneworld @Katemonster
                                            last edited by

                                            @Katemonster I'm excited to test this out, it will really advance my project!

                                            So to stick with updated I will change my wire diagram to reflect this:
                                            alt text

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

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.