PCSX2 / pcsx2

PCSX2 - The Playstation 2 Emulator
https://pcsx2.net
GNU General Public License v3.0
11.89k stars 1.63k forks source link

[Feature Request]: PlayStation 2 itself as a high-quality DualShock 2 adapter #7785

Closed rKsanu2MMYvypWePtQWM closed 1 year ago

rKsanu2MMYvypWePtQWM commented 1 year ago

Description

Quite a few PlayStation 2 games support analog buttons of the controller (even if the analog aspect is not necessary for game completion). None easily available DualShock 2 adapters support the pressure sensitive buttons, and none have enough power to run rumble at the proper speed.

The console itself can do both, and anyone who is serious about PS2 already owns a PS2 (and owning a PS2 is required anyways to extract the BIOS for the emulator)

The feature I'm proposing consists of an input plugin for PCSX2 that would read the incoming controller signal from ps2joysrv or any other console-side implementation.

Reason

The main benefit would be the access to the pressure data of the DualShock 2, allowing players of games such as Grand Theft Auto and many racers to vary their car throttle, as well as solving the infamous MGS gun issue when playing with the original PlayStation 2 controller. In general, the pressure sensitivity aspect of the PlayStation 2 controller would be preserved.

For me the pressure sensitivity is a big reason to still have the actual PlayStation 2 hooked up to my TV for those games.

Examples

A basic implementation of this idea is actually already done: The PS2-side software The basic client PSX-Place page about the project

Unfortunately, the current server-side implementation does not support the "Shock" aspect of the DualShock. This would need bi-directionality to be implemented.

refractionpcsx2 commented 1 year ago

we already have pressure sensitivity and rumble, so I don't know what you're asking for?

rKsanu2MMYvypWePtQWM commented 1 year ago

we already have pressure sensitivity and rumble, so I don't know what you're asking for?

What I'm asking is for a plugin that would read controller data sent by the console. While the emulator supports pressure sensitivity, USB DS2 controller adapters do not. So instead of a cheap USB adapter, the PlayStation 2 itself would become the adapter.

While the PS2 portion of this "adapter solution" is outside of PCSX2 scope, that part already is done as the ps2joysrv. The plugin would need to read the packets that are sent by ps2joysrv into the emulated game. I believe reading the data directly as opposed to creating a virtual joystick would make pressure sensitivity easier to read.

refractionpcsx2 commented 1 year ago

so you want something that reads the controller output from the console and injects it in to the emulator? because that's way out of scope of the emulator, that's for somebody 3rd party to do.

rKsanu2MMYvypWePtQWM commented 1 year ago

I had figured this is something that an input plugin would accomplish (as those interfaced various controllers into the emulator), is there a better place to ask for such thing?

refractionpcsx2 commented 1 year ago

We don't have a plugin system anymore, neither is it coming back, sorry.

It would be a cool project but not really something for us. Maybe ask on homebrew communities or some sort of hardware forums, they might be better places.

Thanks.

rKsanu2MMYvypWePtQWM commented 1 year ago

Thanks, even when plugins are gone, if it's still possible for PCSX2 to understand pressure sensitive buttons, then there should be a way to make this a reality.