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 12.9k 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.
    • edmaul69E
      edmaul69 @geneworld
      last edited by

      @geneworld no problem. Glad to help.

      1 Reply Last reply Reply Quote 0
      • edmaul69E
        edmaul69 @geneworld
        last edited by edmaul69

        Ignore this post

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

          Well I went home lastnight and made the adjustment with the resistor and that didn't work wither. I then changed /etc/modprobe.d/gamecon.conf to options gamecon_gpio_rpi map=0,0,0,0,7,0 so that I could use game pad 5 and not have to worry about any resistors. I changed my wiring to
          physical pins on pi----------PSX Pins
          1, 3.3V--------------------------5, VCC
          3, Pad 5------------------------1, Data
          6, GND-------------------------4, GND
          8, PSX_CMD------------------2, Command
          10, PSX_SEL------------------6, Attention (All pinouts say this but the Wiki says PSX_SEL meaning Select?)
          12, PSX_CLK------------------7, Clock

          and rebooted with nothing changing.

          I did notice however that on bootup I can turn on the analog led on the ps2 controller on but after the pi boots further the led goes off. I thought it could have been a power issue but nothing changed when I tried several varying power supplies.

          I seem to be at a stand still now. Has anyone got this working or further suggestions?

          I noticed that if I change to options gamecon_gpio_rpi map=0,0,0,0,7,7 When I got into configure inputs in emulationstation and it says there's 2 inputs connected, so the driver is working?

          1 Reply Last reply Reply Quote 0
          • 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
                                            • 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.