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

(PS3) Controller configurations across different emulators



  • Coming back to this quite old thread:
    https://github.com/RetroPie/RetroPie-Setup/issues/1060
    on my PS3 controllers, for the most emulators it does what is to be expected: Both the analog stick and the dpad work so that it's up to the player's choice which one he/she prefers to use during gaming.
    However there seem to be some not so nice exceptions (for the most part I keep on referring to the thread linked above):

    • For N64, with lr-mupen64plus or mupen64plus-auto, even when the following is being configured in its retroarch.cfg both stick and dpad work:
      input_player1_analog_dpad_mode = "0"
      Question is: Does the stick then still behave like a real analog joystick?
    • Same line(s) added to the retroarch.cfg for PSX (lr-pcsx-rearmed), the joystick even does not work at all but instead, only the dpad, though it's said that both PSX and N64 should be using analog joysticks and no dpad.
    • For the Atari800 emulator, when nothing additional is configured in its retroarch.cfg, only the dpad works. For lr-atari800, neither the dpad nor the joystick works.

    Probably there are still some more cases where the behavior is not "consequent".

    Does anyone know how to get this straight, at least for the 3 above?


  • Global Moderator

    I think that at least for the RetroArch based emulators, you need to change the gamepad type for the corresponding from to 'RetroPad with Analog' from the (default) 'RetroPad'. See here for how it's done.



  • Well - kind of...

    For the Atari 800 emulator I got things solved by using lr-atari800 again. I likely just didn't understand that the game Aztec Challenge simply doesn't support any movements except jumping with the fire button - at least at level one. Pong works as expected, with both dpad and analog controllers.

    Now for the PSX emulator, it behaves as the documentation describes it:
    "NOTE: Games that do not support analog controls will be unresponsive in this mode. Use the Retroarch GUI hotkey(default select+X) in-game Navigate to Quick Menu -> Core Options Change Pad # Type from standard to analog retroarch-core-options.cfg will be updated automatically when a game is exited, so there is no need to set save on exit"

    Since in both cases (in-game and direct file modification) always the global /opt/retropie/configs/all/retroarch-core-options.cfg is being modified, all I can do in order to get all games working is to keep pcsx_rearmed_pad#type settings on default. But then all games only respond on the dpad.
    Still wondering if there is a solution on that, especially because with the pcsx-rearmed emulator I completely failed to get any controller response (maybe I just gave up too early in a way).

    With lr-mupen64plus or mupen64plus-auto, still I haven't found anything but maybe it's OK, I mean the dpad might just work as either digital or analog since it's defined in one of the N64 specific config files, while the analg sticks hopefully respond as such. No idea if there is a way to find this out...?


  • Global Moderator

    @TimZett said in (PS3) Controller configurations across different emulators:

    Now for the PSX emulator, it behaves as the documentation describes it:
    "NOTE: Games that do not support analog controls will be unresponsive in this mode. Use the Retroarch GUI hotkey(default select+X) in-game Navigate to Quick Menu -> Core Options Change Pad # Type from standard to analog retroarch-core-options.cfg will be updated automatically when a game is exited, so there is no need to set save on exit"

    You're right. Maybe what you want is actually the "Analog to Digital" option in RetroArch (see this topic).



  • @mitu What Iwant to achieve is what they also tried to in the thread linked before:
    https://github.com/RetroPie/RetroPie-Setup/issues/1060
    "The retroarch option input_player1_analog_dpad_mode = "1" tells retroarch to use the left analog stick as a dpad. (0=no remapping, 1=left analog stick, 2=right analog stick). The actual dpad works at the same time..."
    "There are only two systems which use analog sticks. The option should be disabled in there retroarch.cfgs:
    configs/psx/retroarch.cfg and configs/n64/retroarch.cfg
    - input_player#_analog_dpad_mode = "0" ..."

    "Verified lr-mupen64plus and lr-psx-rearmed ignore this option. So only configs/all/retroatch.cfg must be modified..."
    => ...which then still means that N64 and PSX will act on "analog stick as dpad", which is more or less the opposite of what it supposed to be.

    So even though this thread is more than 3 years old, the problem still seems to persist. Let me try to formulate a thesis as follows:
    If in configs/all/retroarch.cfg input_player#_analog_dpad_mode = "1" is set, and then in the individual retroarch.cfg files for the 2 emulators using only analog sticks, input_player#_analog_dpad_mode = "0" is set, still not all emulators reflect this combination of global and individual settings.
    Especially the demand for having an analog-only configuration for PSX and N64 cannot be fulfilled therefore.


  • Global Moderator

    @TimZett said in (PS3) Controller configurations across different emulators:

    Especially the demand for having an analog-only configuration for PSX and N64 cannot be fulfilled therefore.

    Sadly, that seems to be the answer. Thanks for digging up this info.



  • @mitu I think I will now try to set input_player#_analog_dpad_mode = "0" in the global configs/all/retroarch.cfg and check the different emulators once more, to see how they behave.


  • Global Moderator

    Actually, not all is lost (well, not so dramatically). While it may not be an option for the emulator, you can trick it by re-modelling your controller - Xboxdrv. It does require more setup work though.



  • Just tried a few with the (re-)modified configs/all/retroarch.cfg :

    • Atari 800 now uses the analog stick only - with whatever assignment (digital or analog)
    • N64 seems to do the right thing now: only the analog sticks work
    • In PSX only the dpad works

    So all in all, quite a weird combination which doesn't seem to make too much sense.

    @mitu said in (PS3) Controller configurations across different emulators:

    Actually, not all is lost (well, not so dramatically). While it may not be an option for the emulator, you can trick it by re-modelling your controller - Xboxdrv. It does require more setup work though.

    Will see. For now I guess I will stay with the analog stick working as dpad option. Either way, only one emulator does it wrong then (N64) besides PSX which seems to do it wrong all the time, while then at least I have the choice of using one or the other control with all remaining emulators.

    By the way, after switching off this analog=dpad mapping, In Vice still both controls worked, which makes full sense because in Vice's configuration screen you can define the dpad and analog controls separately - in a working manner ;-)

    EDIT: The challenge for the PSX emulations is probably the fact that the analog version of the PS controller was released "belated" in 1997, a long while after the PSX was released (by that time only with a digital controller).
    There weren't too many game titles also which actually supported the analog controller feature, and those who did obviously did that with regional limitations:
    https://en.wikipedia.org/wiki/Dual_Analog_Controller

    All in all a relatively complicated topic, which might explain in a way why analog support works quite well in the N64 emulations (where an analog controller was provided natively) and not so well in the PSX ones. There for the most part, it seems to depend on the game itself and even its country code, if Dual Analog Controller or even Dual Shock Controller support actually works. The latter one does for me in a few games, e.g. Driver II, but then again the real analog stick support I couldn't get to work, neither for this nor any other PSX game.



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.