RetroArch Beetle PSX and Gamepad related thoughts

This will be my first post here. Hi to RetroArch / LibRetro community.

Recently I’ve discovered RetroArch, Mednafen PSX and it’s LibRetro Core fork, Beetle PSX. This led me to replay some of my old PS1 favorite games like Gran Turismo 2 and Parasite Eve 2. And what a great fun that was! Now, after finishing those games, I’ve started fiddling with the details. Some things occurred to me and after a bit of experimentation I have some questions regarding input options and tweaking.

First, my setup:

  • Win 7 Pro x64 (updates on, vc++ & net up to date)
  • Quad Intel CPU (3.36 GHz)
  • DX11 GPU
  • X360 genuine Wired Controller
  • RetroArch x64 nightly
  • Beetle PSX x64 nightly

One of the discrepancies I’ve noted about gamepad usage between Mednafen and Beetle PSX while using DualShock as input type for the PSX Core, is that In Mednafen there is a setting allowing you to toggle DualShock’s Analog Mode with the Home Button on the X360 Controller or, the alternatively, with a button combo (L1+L2+R1+R2+Start+Select). On the Beetle PSX fork, things differ a bit and the setting changed from the toggle Analog Mode (single button / button combo) to allow/disallow toggling the Analog Mode, thus the 1st option locks the DualShock in Analopg Mode On and the 2nd option lets you toggle between Analog Mode On/Off. The thing is you no longer have an option to toggle the Analog Mode with the push of a single button. The only way to manually toggle the Analog Mode is using the button combo. It makes sense, since RetroArch defaults X360’s Controller Home button to toggle the RGUI.

So here comes the first set of questions or features request.

  1. It is possible to restore the PSX Core DualShock Analog Toggle Mode to button / button combo instead of allow / disallow toggling ? This also implies another option in RetroArch to not default X360’s Controller Home button to toggle RGUI should the user decides to use that button for toggling the Analog Mode. Anyway, I figured that I can map Menu toggle to b11 and “free up” the Home button (b10) for other usage if I need to.

[EDIT3] Somehow, my first edit seem to not have been saved or something… What my point was about the button / button combo option, was that the button combo (the only option of toggling the Analog Mode in Beetle PSX as far as I could tell… ?) [L1+L2+R1+R2+Start+Select] conflicts with many PS1 games capability of doing an In-Game Reset [IGR] which uses the exact same button combo. I ended up losing quite a large amount of progress in PE2 when I tried to switch the Analog Mode. I was trying to do a specific portion of the game without saving, to get an alternate ending… [/EDIT3]

2. Another related feature request is for the PSX Core to auto toggle the Analog Mode On/Off should the game/BIOS requests for it. On a real PS1 I’ve noted that some games force the Analog Mode status, no matter the user input. So while most games/BIOS allows to toggle the Analog Mode (with the Analog button on a real DualShock Controller) some don’t. In the PS1 BIOS case, while it lets you toggle the Analog Mode On/Off, the BIOS will only work with the DualShock in Digital Mode (Analog Mode Off). This is a feature that even Mednafen PSX lacks. So forcing Analog mode always On seems to be a bad practice in some situations. It’s not critical, but I guess it can be deprecated.

[EDIT2] As it turns out, I was completely wrong… Both Beetle PSX and Mednafen PSX support the Analog Mode auto-toggle feature. [/EDIT2]

  1. Analog input range. Another Mednafen PSX feature which is lacking in the Beetle PSX Core. This will let you tweak the analog input axis to behave according to what kind of input device you are using. While the real DualShock reports a square axis range, most of the PC standard compatible devices have a circle axis range. This leads for the need of an axis scale correction in order to achieve a good ordinal direction input scale in games which rely on all directions, both cardinal and ordinal to be equally proportioned.

  2. An option to disable any kind of axis input being usable to navigate the RGUI. I’ve managed to achieve the “normal” (D-Pad only RGUI navigation behaviour), but it seems buggy… The only way I was able to make LX/LY axis not registering as RGUI navigation “directional input” was to “unbind” all input (let all inputs to auto) and set Autodetect to Enable. Using any kind of axis bindings, no matter if inside or outside the RGUI (using joyconfig) will make the RGUI register LX/LY axis as “directional input” for navigating up/dn/lt/rt. I guess this is a bug…

Hello 80T,

I have a PS3 DualShock controller installed on my PC and I’m running retroarch 1.0.0.2. Retroarch detects my controller and I am able to play the psx emulator (mednafen I think) using the left or right analog, but I am not able to use both on games that support left and right analogs. Another problem is that the rumble effects are not working. I access the core options, set the DualShock toggle to “enable” but I cannot figure out how to toggle the DualShock “On”. Could you help me?

Thank you.

  1. The mednafen button works, use the same combination as standalone, start+select+4 shoulder buttons. You can’t map that to an independent button, if you want the combination to be different you can take a look into gamepad.cpp and figure it out, and I can change it, it seems easy but I don;t have the time.
  2. Yes that needs to be re-added, I rolled back input to 0.9.36.2 or something since I couldn’t figure out how are the bits being packed and that was added later than that.
  3. works fine here

I have got both analog sticks working as well as the rumble effects. I switched the mednafen’s core back to the stable version and simple changed the core option of the input to dualshock. The problem is that I am not running the mednafen 0.9.36.5. as I used to do. Whenever I download the nightly cores I get a recent mednafen’s version and some sort of “beetle version” (I don’t know why) but I am not able do get the DualShock contoller fully functional as it does on the stable retroarch 1.0.0.2 psx core. I’ve tried pressing start, select and all the shoulder buttons but nothing seems to work.

I don’t really understand what you mean. Mednafen is the latest, beetle is experimental and currently broken

The psx core for retroarch 1.0.0.2 is mednafen 0.9.32 and the latest is 0.9.37.1. When I download the nightly cores I get mednafen 0.9.36.5 but I cannot configure the dualshock on this version. It’s for this reason that I am using the stable version now. Where do I get mednafen 0.9.37.1 for retroarch?

It hasn’t been updated to 0.9.37.1. Just select dualshock in input options, and select analog toggle to disabled, it works fine

I’ve tried the 1.0.0.3 beta and some nightly versions but could not find the dualshock option, I only get joypad, joypad with analog, mouse etc. I disable the toggle option in the core settings and the controller works but without the dual analogs nor rumble. Where do I download the latest core version for mednafen? I don’t know the correct place to do it since I’ve tried the nightly and even the beta download link.

You’re using 1.0.0.2 retroarch if there is not other options. Everything is in buildbot.libretro.com

Hmm, can’t get Ape Escape to work with DualShock in Core-Options

There is no dual shock in core options, that means it’s a core from the 1.0.0.2 release. Edit: works fine here on the current release

Sure, setting “Dualshock analog toggle” to enabled but what else do I have to do that Ape Escape recognises my Gamepad as Dualshock? In Input my Controller is defined as “Joypad /w Analog”, Analog-D-Pad Mode is set to none. Thought the 360 HOME Button is for toggling the Analog-Mode, do I have to use psx.input.analog_mode_ct = 1 and the 6-Button-Combination to get it to work? Using Mednafen 0.9.36.5 and Retroarch 1.0.0.2

[QUOTE=DK999;18207]Sure, setting “Dualshock analog toggle” to enabled but what else do I have to do that Ape Escape recognises my Gamepad as Dualshock? In Input my Controller is defined as “Joypad /w Analog”, Analog-D-Pad Mode is set to none. Thought the 360 HOME Button is for toggling the Analog-Mode, do I have to use psx.input.analog_mode_ct = 1 and the 6-Button-Combination to get it to work? Using Mednafen 0.9.36.5 and Retroarch 1.0.0.2[/QUOTE]

In post 1.0.0.2 (ie nightlies or beta) you have to go to input settings and in device type set dual shock and that’s everything you need to do…

Dualshock analog toggle enables the 6 button combination but you don’t really need that, if that is set to disabled analogs are always functional.

1.0.0.2 is unsupported now and I don’t really remember… Update to 1.0.0.3-beta or nightlies.