PCSX2 / pcsx2

PCSX2 - The Playstation 2 Emulator
https://pcsx2.net
Other
10.61k stars 1.54k forks source link

[Feature Request]: List of missing USB/PAD devices #4763

Open RedDevilus opened 2 years ago

RedDevilus commented 2 years ago

Description

It would be handier if people know which devices are missing from PCSX2 and people that have or can buy those devices can dump the USB descriptors to then enable the functionality in these games.

Reason

Easier for tracking and letting people know how to help PCSX2 even without much coding knowledge.

Quote by jackun on how to dump these USB descriptors:

https://www.thesycon.de/eng/usb_descriptordumper.shtml
run tdd.exe and also select Options > Show Hex Dump

Example of outputs: https://github.com/jackun/USBqemu-wheel/issues/44 https://github.com/jackun/USBqemu-wheel/issues/47 https://github.com/PCSX2/pcsx2/issues/4167

Examples

Currently missing devices (needs verification and expansion):

USB;

PAD;

Combined USB + PAD;

Related: https://github.com/PCSX2/pcsx2/issues/3924 https://github.com/PCSX2/pcsx2/issues/3931 https://github.com/PCSX2/pcsx2/issues/4041 (missing some features but the controller functionality is merged) https://github.com/PCSX2/pcsx2/issues/4167

seta-san commented 2 years ago

i don't think ddr mats were usb. i think they plugged into the standard pad port

Florin9doi commented 2 years ago

Done:

Existing Documentation:

Other devices:

SPI controllers:

USB controllers:

Printers:

PictureParadise:

Iomega - Zip 100:

Head Mount / VR:

Modems:

RedDevilus commented 2 years ago

i don't think ddr mats were usb. i think they plugged into the standard pad port

Yeah there can be mistakes, but it's not a big deal for now. Just to have a list.

seta-san commented 2 years ago

Add the taiko drum

https://github.com/PCSX2/pcsx2/issues/5123

HeroponRikiBestest commented 2 years ago

Add the Aqua System Compact Flight Controller (Used for PetitCopter)

seta-san commented 2 years ago

@RedDevilus can we get a check on the guncon and dj hero unless you need more information from me. i'd really like to take these back and get my money if i can

seta-san commented 2 years ago

Onimusha 3 Katana is a wireless pad receiver, not usb s-l1600 s-l1600 (1)

seta-san commented 2 years ago

beatmania is s-l1600 (2) also a pad controller, not usb.

seta-san commented 2 years ago

while i can't find any direct images of it a review seems to suggest that the thrustmaster fighting arena works with the PS1 and that would mean it's a pad device, not USB.

http://www.psillustrated.com/psillustrated/hard_rev.php/75/fighting-arena-ps2.html

RedDevilus commented 2 years ago

@RedDevilus can we get a check on the guncon and dj hero unless you need more information from me. i'd really like to take these back and get my money if i can

It's probably fine with just the USB descriptors and when someone can add it to PCSX2 USB devices.

seta-san commented 2 years ago

let's add this to the list of USB devices i can't afford. https://www.ebay.com/itm/384463524794 s-l1600 (7)

SamRohod commented 2 years ago

I understand that this is for USB/PAD devices but is there a possibility of adding the TwinPad plugin to the list of "awaiting merging plugins" like Nuvee. https://forums.pcsx2.net/Thread-TwinPad-v0-9-25

refractionpcsx2 commented 2 years ago

I understand that this is for USB/PAD devices but is there a possibility of adding the TwinPad plugin to the list of "awaiting merging plugins" like Nuvee. forums.pcsx2.net/Thread-TwinPad-v0-9-25

What are you hoping to bring over from Twinpad? we're not merging in plugins, we're just expanding our functionality to cover everything the plugins did.

SamRohod commented 2 years ago

What are you hoping to bring over from Twinpad?

I was thinking of the "Combo" features

RedDevilus commented 2 years ago

What are you hoping to bring over from Twinpad?

I was thinking of the "Combo" features

This has nothing to do with functionalities of other plugins. It's for (quirky) hardware that is not DS2 controller basically.

knight-ryu12 commented 1 year ago

Popegg: MPR-G600 VID=054C PID=003D

full desc from UsbTreeView https://gist.github.com/knight-ryu12/38c4bc29dd5b42efb4e00a368b5dc03c

RedDevilus commented 1 year ago

Dump from Discord: Information for device Logitech Buzz(tm) Controller V1 (VID=0x054C PID=0x0002): Logitech Buzzers V1.txt

Supposedly it's not working on nightly. Device details in text above to be checked and see if fix possible.

rafho1 commented 1 year ago

I have one of these.

https://www.konamistyle.jp/products/detail.php?product_id=110744

SDL detects this controller fine and can map all the buttons, however the turntable sends an analog value of the turntable rather than a discreet "up" or "down", which makes playing any Beatmania games impossible. I think it should be somewhat easily fixable in SDL or PCSX2 but not sure where to start.

Somebody wrote a Windows app to work around this problem, but i would like to use the controller with my SteamDeck :-D

Hopefully somebody here can point me in the right direction.

beatmania IIDX controller Entry Model:

Product ID: 0x1018 Vendor ID: 0x1ccf Version: 4.10 Serial Number: BF004-IIDX Speed: Up to 12 Mb/s Manufacturer: Konami Amusement Location ID: 0x14110000 / 4 Current Available (mA): 500 Current Required (mA): 200 Extra Operating Current (mA): 0

RedDevilus commented 1 year ago

Best use the hex dumps, but I thought we already had beatmania IIDX dump, but better be safe than sorry

RedDevilus commented 1 year ago

DescriptorDump_DDR_Mat_for_PlayStationR3.txt

Not sure if this Dancing Mat as provided on Discord will work which was targeted for PS3 originally: image

seta-san commented 1 year ago

sure if this Dancing Mat as provided on Discord will work which was targeted for PS3 originally

the ps2 mats were just pad devices, not USB

seta-san commented 1 year ago

Only a couple usb devices still need to be emulated. Some of them there’s no point really. Like the pachislot and train controller is pointless unless you actually have the device because their use is in their novel physical presentation and are sometimes just bad(think if an nes emulator went out of it’s way to emulate the power glove, unless you actually had it or something like it the whole exercise would be pointless because you would be back to using a controller or keyboard ). The pad devices other than the original guncon don’t seem to be in need of emulation and if you have the actual controllers you could use a ps2 to usb converter and set up the controls normally.

sanjay900 commented 1 year ago

Turntable support is merged into master now

seta-san commented 1 year ago

Guncon 2 is also done

seta-san commented 10 months ago

i'm getting specific requests that the negcon controller be emulated in pcsx2 by 5chan. they say it's already emulated in duckstation

stenzek commented 10 months ago

Feel free to implement it and make a pull request then ;)

danbolt commented 7 months ago

For PictureParadise, I recently acquired a Sony MSAC-US1 Memory Stick Reader/Writer. When plugged into A PopOS workstation with a Memory Stick inserted, I get the following info from lsusb:

$ lsusb -v -d 054c:002d 

Bus 005 Device 010: ID 054c:002d Sony Corp. MSAC-US1 MemoryStick Reader
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x054c Sony Corp.
  idProduct          0x002d MSAC-US1 MemoryStick Reader
  bcdDevice            1.00
  iManufacturer           1 Sony
  iProduct                2 MSAC-US1
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0027
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      4 Floppy (UFI)
      bInterfaceProtocol      1 Control/Bulk
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval             255

If no memory stick is plugged in (but the USB reader/writer is), this will also be visible:

$ lsusb -v -d 0451:2046 

Bus 005 Device 006: ID 0451:2046 Texas Instruments, Inc. TUSB2046 Hub
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            9 Hub
  bDeviceSubClass         0 
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0         8
  idVendor           0x0451 Texas Instruments, Inc.
  idProduct          0x2046 TUSB2046 Hub
  bcdDevice            1.25
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0019
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval             255
sonik-br commented 6 months ago

I've just found out this and I do have some devices.

Devices with Usb connector: Seamic Rez Trance Vib Densha de Go's Two handle controller "Type 2" (TCPP-20009) DFGT and G27 racing wheels Logitech Flight Force (WingMan Force 3D) Hori FlighStick 1 (I also have some knowledge on how the FS2 works)

Devices with PS style connector: Jogcon Negcon Volume (it's a paddle. works like a negcon) Jet de Go controller Taiko controller Dual Analog controller (the flightstick) Fishing controller with motion movement Some other devices with various modes like the Hori pad with digital/analog/dualanalog/negcon plus rumble on all modes, or the Logic3's RC style controller that can be switched to negcon / negcon with rumble / jogcon

And I have a good knowledge of how all the above device works. I can dump and document the device descriptors and reports. Can send/receive data if needed. I've made adapters for them. Please let me know if I can help.