• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
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.0k 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.
  • J
    Jofo
    last edited by 22 Feb 2017, 09:12

    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
    • J
      Jofo
      last edited by 22 Oct 2017, 10:43

      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
      • J
        JeffJordan
        last edited by JeffJordan 12 Jul 2017, 12:03 7 Dec 2017, 12:02

        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
        • J
          Jofo
          last edited by Jofo 12 Jul 2017, 12:17 7 Dec 2017, 12:09

          Hello Jeff,
          in order to install the driver, run (once copied on your RsPi):

          sudo dpkg -i gamecon-gpio-rpi-dkms_2.0_all.deb

          Configuration is the same as for the original gamecon driver, so check the documentation. I plan to make a page about the driver, the wiring and so on, if any questions - write here for now ;)

          Hope it will work on Your setup :)

          J 1 Reply Last reply 7 Dec 2017, 12:27 Reply Quote 0
          • J
            JeffJordan @Jofo
            last edited by 7 Dec 2017, 12:27

            @jofo said in DualShock 2 - getting it to work:
            ...I plan to make a page about the driver, the wiring and so on, if any questions - write here for now ;)...

            guess I'm a good guinea pig to bring up all the NewPie questions for your page ;-), at least from the software point of view.

            first question: to which folder do I need to copy the *.deb file ?
            and I guess I need to set the rights for the file to a specific value...

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

            1 Reply Last reply Reply Quote 0
            • J
              Jofo
              last edited by 7 Dec 2017, 12:45

              home folder will do (should be the default folder when you log into the Pi). It actually does not matter where it is. As far as I remember, no rights need to be set.

              1 Reply Last reply Reply Quote 0
              • J
                JeffJordan
                last edited by JeffJordan 12 Jul 2017, 22:44 7 Dec 2017, 22:06

                @Jofo :
                just to give you a feedback:

                got it running now.

                1st: hooked up a keyboard to the raspberry.
                2nd: copied the gamecon-gpio-rpi-dkms_2.0_all.deb driver via network from my windows pc to a directory at the RETROPIE (used the /BIOS directory).
                3rd: pressed F4 and navigated to the /BIOS directory with:
                cd RetroPie/BIOS
                then started the installation with: sudo dpkg -i gamecon-gpio-rpi-dkms_2.0_all.deb

                4th: after the installation was finished, I changed the directory to the /etc directory with:
                cd /etc
                and edited the modules file with the nano editor:
                sudo nano modules
                there I added the line "gamecon_gpio_rpi", as mentioned at the GPIO Modules installation guide.
                so far there was only one active entry with "uinput". I placed the gamecon_gpio_rpi in the next line.

                5th: changed the directory from there to /etc/modprobe.d with cd modprobe.d and opened the nano editor a second time:
                sudo nano gamecon.conf, entered "gamecon_gpio_rpi map=0,0,0,0,7,0" in the first line and saved it as gamecon.conf (until then, there was no such file).

                6th: did some soldering work according to your schematics above (1.8k resistor between pin#1 and pin#3 of the raspberry) and connected pin#3 of the pad (supply for the vibration motors) to +5V (pin#2 & pin#4 of the raspberry).

                0_1512684675759_20171207_GPIO.jpg

                by the way: used the female part of an old extension cable to connect the gamepad... approx. 40cm long.

                7th: checked every joint and connection twice, powered off the raspberry and connected the psx pad to the gpio port.

                after rebooting the raspberry I needed to configure my psx gamepad (don't forget to switch on the analog mode).
                then I started Spyro the Dragon and encountered that there was no analog support. ok, needed to set the pad type from "standard" to "analog" inside the quick-menu (<select> + <triangle>, -> quick-menu -> options -> pad 1).
                now starting the game gave me analog support and rumble/vibration !

                unfortunately the vibration effect is very decent. I got much more force feedback when I use the joystick at my pc, with an USB twinport adapter. there the motors are powered with +5V as well, but work much stronger.

                8th: then I disconnected pin#3 (motor supply) of the pad from the raspberry's +5V Vcc, connected it to a lab power supply and feeded the pad with a higher voltage.
                but it didn't make a big difference at the genuine scph-110 pad... there I could increase the voltage up to 7.5V before the pad draws some unwanted current, even when not rumbling (so I stopped there).
                with other ps2 compatible pads I was able to increase the voltage to 12V and above... and got a better vibration effect; but still not as strong as at the genuine psone console, or when testing the pad at the pc.
                so there is still something fishy with the driver. guess the pwm ratio needs to be increased.

                furthermore I noticed that the in-game effects differ from the original. so if you reanimate a frozen dragon inside spyro, there is no rumble at retropie, while there is a strong vibration at the genuine console (and ePSXe as well).
                but when Spyro hits a wall, or knocks up a chest, I get my force-feedback :-D.

                so, enough for today.

                cheers,
                Jeff

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

                1 Reply Last reply Reply Quote 0
                • J
                  Jofo
                  last edited by 8 Dec 2017, 09:54

                  Hi,
                  thanks for the feedback!

                  I never had a PlayStation, so I can't tell how strong the vibrations should be. I tested mostly on Crash Bandicoot 3 and Need For Speed. I have two PS2 controllers and both behave differently for the same settings. I can increase the vibration intensity in the driver itself if You want, or I will try to find a way how to put the vibration force setting to some config file.

                  1 Reply Last reply Reply Quote 0
                  • J
                    JeffJordan
                    last edited by JeffJordan 12 Aug 2017, 13:50 8 Dec 2017, 11:15

                    @jofo said in DualShock 2 - getting it to work:
                    ...

                    I never had a PlayStation, ......

                    but you obviously own the games, so that you are allowed to play them at the emulator, didn't you ?

                    0_1512732609411_index.png

                    @jofo said in DualShock 2 - getting it to work:
                    ...

                    I can increase the vibration intensity in the driver itself if You want, or I will try to find a way how to put the vibration force setting to some config file...

                    @Jofo:
                    that would be nice !

                    short update: by taking apart a PS2 controller attached to the GPIO interface, I encountered as well that only the left motor is working, when rumbling/vibrating. same issue as reported from PET2001 at post#53 here.
                    the right motor stands still all the time.
                    this might indicate that still some force-feedback commands (dedicated for the right motor) are ignored... either by the emulator itself or the driver.
                    which would explain why there are (at least) half the effects missing.

                    by the way: just added a shottky diode between +5V Vcc and the motors power supply (pad pin#3), so I can either leave the additional dc-plug unconnected and the pad gives only a small feedback when vibrating. when I then plug in a +9V power supply to the extra dc-plug, the force is improving.

                    ah, just another point to mention:
                    launched crash bash here and played the crashball game (adventure mode). during gamaplay I get no force-feedback.... but when I loose a game, the pad rumbles when the red/orange flash-beam line appears.

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

                    1 Reply Last reply Reply Quote 0
                    • J
                      JeffJordan
                      last edited by JeffJordan 12 Aug 2017, 18:24 8 Dec 2017, 18:23

                      @Jofo:
                      does the driver initialize the pad with the sequence described here: Interfacing a PS2 (PlayStation 2) Controller under "Byte Sequence to Configure Controller for Analog Mode + Button Pressure + Vibration Control" ?

                      I'm just wondering, because I always need to push the analog button after startup to get the analog mode working. but with the mentioned sequence it should be possible to activate it by the raspberry.

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

                      1 Reply Last reply Reply Quote 0
                      • J
                        Jofo
                        last edited by Jofo 12 Dec 2017, 15:46 12 Dec 2017, 15:45

                        I may force the driver into analog mode, but I prefer it as it is now, you have the option to control the behavior.

                        BTW did You download the latest version of the driver? I don't have the setup around, but I was pretty sure both motors worked on my config with the latest driver

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

                        (the Pi is in other town, so I can't make modifications at the moment)

                        J 1 Reply Last reply 12 Dec 2017, 19:04 Reply Quote 1
                        • J
                          JeffJordan @Jofo
                          last edited by JeffJordan 12 Dec 2017, 19:08 12 Dec 2017, 19:04

                          @jofo said in DualShock 2 - getting it to work:
                          ...

                          BTW did You download the latest version of the driver? I don't have the setup around, but I was pretty sure both motors worked on my config with the latest driver ..

                          yes, of course, that's the one I installed (the one from the czech cloud drive), as reported above (5 days ago).
                          @jofo said in DualShock 2 - getting it to work:
                          ...

                          (the Pi is in other town, so I can't make modifications at the moment)

                          no need to hurry. meanwhile I got a ps3 compatible (shanwan) bluetooth controller working at my second pi3-B. took me a while to get it running (pairing was an issue). force feedback there is very decent as well (which makes sense if you power the motors and the whole controller with a single battery).
                          but from the effects point of view: it rumbles when it should (for example when spyro reanimates a frozen dragon).
                          maybe I'm going to open the shanwan controller to have a look if both motors are spinning.

                          furthermore I already noticed, that the force feedback doesn't work inside all the games. spyro the dragon is ok, crash bandicoot 3 and crash bash as well. with spryo 2 and 3 i got no effects :-(... anyhow, guess it's an issue of the emulator.

                          cheers,
                          Jeff

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

                          1 Reply Last reply Reply Quote 0
                          • J
                            JeffJordan
                            last edited by 18 Dec 2017, 16:32

                            update:
                            just to let you know: with the ps3 compatible (shanwan) bluetooth controller, force feedback is as well only given with the left (bigger mass) motor.
                            so it seems to be an issue of the emulator, not of the gamepad driver.

                            cu,
                            Jeff

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

                            1 Reply Last reply Reply Quote 0
                            • K
                              karlc1992
                              last edited by 28 Dec 2022, 22:32

                              any chance of an update to work with the new kernel?

                              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.

                                [[user:consent.lead]]
                                [[user:consent.not_received]]