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

    DualShock 2 - getting it to work

    Scheduled Pinned Locked Moved Help and Support
    dualshock 2controller setusetupscph-10010ps2 to ps3
    82 Posts 11 Posters 40.2k 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.
    • P
      PET2001 @Jofo
      last edited by

      @Jofo

      Great! A working gamecon driver with force feedback - thanks you for your hard work!

      I tested the 200 kHz version on my RetroPiE Playstation setup using one of my favorite games, "Need for Speed High Stakes". Force feedback works on both controller ports, but it's using only the bigger (left) motor of the Dualshock controller. Is this by design or could it be a flaw in my setup? I'm using GPIO 15 and 17 for the select lines. My controller motors are powered by 7.5 v (using a step up circuit behind a 5.0 v/3 a power supply).

      1 Reply Last reply Reply Quote 0
      • JofoJ
        Jofo
        last edited by Jofo

        Nice, someone using it!

        The way it operates - the small motor has only turn-on turn-off, e.g. no power levels. The big motor has 254 power levels (0=off), but one web says it won't spin under value of 64. What I do is test if power for small motor is nonzero and map interval for large motor to 0-192 - not fully cos I felt it's just too strong in Retroarch (although I have not tried whether the 64 threshold is present on my controller. I will try to build another version for You - with the 64 threshold in mind).

        I am using 166KHz version, and I got random Select AGAIN. Two day nothing, but yesterday... Have You encountered any random input during gaming? Maybe I'll switch to the faster driver as well...

        1 Reply Last reply Reply Quote 0
        • JofoJ
          Jofo
          last edited by

          It seems I had an error in one of the commands, it should be working now, the repository was updated for both 166 and 200KHz versions.

          P 2 Replies Last reply Reply Quote 0
          • P
            PET2001 @Jofo
            last edited by

            @Jofo

            I can confirm: the new version of your gamecon driver delivers force feedback using both motors. Great! But the 200 kHz version produces ghost input after a few minutes. I'm going to test the 166 kHz version now.

            1 Reply Last reply Reply Quote 0
            • P
              PET2001 @Jofo
              last edited by

              @Jofo

              Tested the 166 kHz version for about four hours - no ghost input so far. Wonder why force feedback makes the 200 kHz version more susceptible for ghost input.

              1 Reply Last reply Reply Quote 0
              • JofoJ
                Jofo
                last edited by

                The problem is that I've made more changes in the driver between those two releases, so I might have done something that damaged the timing. I will investigate... in the meantime, do You still have the original .deb that didn't have the random input issue, but had small motor rumble missing? I might need it...

                P 1 Reply Last reply Reply Quote 0
                • P
                  PET2001 @Jofo
                  last edited by

                  @Jofo

                  A few minutes of actual gaming and I had ghost input even with the 166 kHz version - mostly "Start" and "Select". Also rumble is very weak on my controller, but I already identified the lines in the source where I might be able to change that (thanks to your code commentary).

                  I still have the driver version with only the big motor working. I'll be happy to provide it to you.

                  1 Reply Last reply Reply Quote 0
                  • JofoJ
                    Jofo
                    last edited by

                    That would be nice, upload it for me please, cos I don't do any subversion, which is probably a mistake :D I will try to diff it with the current version and see whats the problem...

                    P 1 Reply Last reply Reply Quote 0
                    • P
                      PET2001 @Jofo
                      last edited by

                      @Jofo

                      You find the old version of the gamecon driver here: MegaNZ

                      1 Reply Last reply Reply Quote 0
                      • JofoJ
                        Jofo
                        last edited by

                        The link does nothing... you need to right-click the file and choose "Get link"

                        P 1 Reply Last reply Reply Quote 0
                        • P
                          PET2001 @Jofo
                          last edited by

                          @Jofo

                          Sorry for the confusion - I've shared the file on Google Drive

                          1 Reply Last reply Reply Quote 0
                          • JofoJ
                            Jofo
                            last edited by

                            Thanks.

                            So that 2.0 200KHz in the archive was working well for you, in terms of random input?

                            P 1 Reply Last reply Reply Quote 0
                            • P
                              PET2001 @Jofo
                              last edited by

                              @Jofo

                              Yes it was. Tested for about 12 hours in Emulationstation (with the game menu open, were a random button press would bring up the menu or start a game) an for various, although short game sessions (were the current driver resets the game or exits RetroArch after just a few minutes because "Start" or "Select" are erroneously detected).

                              1 Reply Last reply Reply Quote 0
                              • JofoJ
                                Jofo
                                last edited by Jofo

                                When I get home from work I will look into it... in the meantime, try the older working version if You happen to encounter any random inputs

                                1 Reply Last reply Reply Quote 0
                                • JofoJ
                                  Jofo
                                  last edited by

                                  Well, the changes are only marginal to be honest...

                                  But I might be up to something. I've managed to find this web on the WebArchive

                                  http://web.archive.org/web/20090228013235/http://www.geocities.com/digitan000/Hardware/22/e22_page.html

                                  This guy puts quite significant delays between bytes - 60us! Thats less than what he used when transmitting/receiving bits - 100us (thats just 10KHz clock). Current driver has only 25us as gap between bytes, not speaking of clock (5-6us). I will try to experiment with it, I've set the clock to 7us (142KHz) and delay between bytes to 12 clocks (12*7).

                                  I have updated the repository (2.0 142KHz) and I've also included new "SDK" for 2.0, the scripts have changed a bit. Simply edit/overwrite the .c file that is in the directory and run sudo ./do.sh - it will unpack the package, update the .c file, calculate new MD5 hashes, pack it together and install.

                                  1 Reply Last reply Reply Quote 0
                                  • JofoJ
                                    Jofo
                                    last edited by Jofo

                                    Still random input...

                                    What I am testing now is to read the data not straight when the clock edge goes up, but after a half-clock interval. I hope this will finally work, I am leaving it running as I am off to work

                                    1 Reply Last reply Reply Quote 0
                                    • JofoJ
                                      Jofo
                                      last edited by

                                      I've uploaded an 8us version of driver that so far has not caused much trouble. Try it

                                      1 Reply Last reply Reply Quote 0
                                      • JofoJ
                                        Jofo
                                        last edited by

                                        I've implemented a safety feature from Katemonster's code

                                        https://www.dropbox.com/s/ejdwtkjovr8ue9m/gamecon_gpio_rpi.c?dl=0

                                        detecting random SELECT pushes. Adds a bit of delay to Select press, but should eliminate random input once for all. I've also increased frequency back to 5us, testing now...

                                        1 Reply Last reply Reply Quote 0
                                        • JofoJ
                                          Jofo
                                          last edited by

                                          Back after a long time!

                                          I have the final version of the driver, updated also for running on the new 4.9 kernel, no random input.

                                          Enjoy!

                                          https://uloz.to/!ini7iEICM5Vb/gamecon-gpio-rpi-dkms-2-0-all-deb

                                          1 Reply Last reply Reply Quote 0
                                          • JeffJordanJ
                                            JeffJordan
                                            last edited by JeffJordan

                                            this thread answers a few questions from my side about the usage of force-feedback/vibration at the psone/ps2 controllers.
                                            @Jofo: a BIG thank you for your work here !

                                            but I'm sorry for such a dull question now (I'm a NewPie in linux-stuff, but an old-timer in hw-stuff):
                                            how do I install the gamecon-gpio-rpi-dkms_2.0_all.deb driver now?
                                            guess I can't use the RetroPie-Setup Script (because this will only look at the drivers found @ www.niksula.hut.fi/~mhiienka/Rpi).

                                            is there a way to copy the debian file to the raspberry and install it from there via command line ?

                                            Dem Inscheniör is' nix zu schwör...

                                            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.