XInput Wrapper for DS3 and Play.com USB Dual DS2 Controller
#81
Okay, not really sure what's going on here. Installing these drivers, I can get my DS3 to work fine in native mode with PCSX2, and other games using directinput. But the Xinput side doesn't seem to work at all. Running either version of SCPUser.exe just crashes on me, with "SCPUser Managed Application has stopped working". If I rename the XInput1_3.dll, it'll launch, but it won't detect the controller. Putting the dll in any game folder doesn't have any effect. Putting it in with PCSX2 caused the crash mentioned on page 7, but I don't have Pokopom (and just used native mode instead once I figured that out).
I also have a 360 controller, but not plugged in at the same time. (Trying to get this working because a trigger on my other controller is busted.)

Sponsored links

#82
@Mirim: need more information

OS Version, Service Pack, Install location, 32/64 bit?
.Net Framework 4 installed?
Visual C++ Runtime 10 installed?
DirectX 9.0c fully installed from June 2010 redist?
PCSX2 version?
Using XInput1_3 from Win32 directory for PCSX2 and other games?
Tried running elevated as Administrator?

Sounds like there is a missing dependency. You could try downloading depends.exe from dependencywalker.com and open the XInput1_3.dll with it. It has 5 dependencies -
Hid.dll (System)
SetUpApi.dll (System)
Kernel32.dll (System)
MSVCR100.dll (VC Runtime)
MSVCP100.dll (VC Runtime)

If any of these show as red, the dll will not be able to load. All the System files should be there, if you have PCSX2-r5350 (or above) running ok the VC Runtime files should be there.

You could also try X360ce if all else fails.
#83
Windows 7 Ultimate 64-bit, SP1, not sure what you mean by install location.
Yes, got .Net Framework 4.
Yes, got Visual C++ Runtime 10.
Wasn't sure if I had that specific version of DirectX installed already, so I went and grabbed it. Didn't help.
PCSX2 is version 1.0.0 (r5350).
I tried using the XInput1_3 from Win32. I also tried using the Win64 version to similarly no effect.
Tried running as admin.


DependencyWalker's been a bit confusing so far.
First, when opening the 32bit version of XInput1_3, it gave me an error saying IESHIMS.DLL was missing. I found that was in Internet Explorer's folder in Program Files (x86) and moved it to system32, and tried again. At this point everything turned up red, with two error messages.
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
The detail list showed every other module's CPUs marked x64 and red while the IESHIMS.DLL and XInput1_3.dll were normal. I figured I should move to the x64 version, and got the error again for IESHIMS.DLL being out this time, so I grabbed the other version from the x64 Program Files and that cleared up the CPU error, but the first error remained.
The red modules are IEFRAME.DLL and SHLWAPI.DLL (which are both under SetUpApi.dll).
At this point I'm lost as to where to go from here, so I figured I'd leave it at this and post this for now. I've also attached the DWI files for both versions of XInput1_3.dll in case that will help.


I thought of mentioning X360ce. I've never been able to get that working, either. I tried using it several months ago, and that didn't work back then, though I don't recall why. I tried using it yesterday, but while the program detected my button inputs (under the Playstation 3 tab), the controller was greyed out and I couldn't modify any settings, the vibration wouldn't work in the testing page, and it didn't affect any other programs.


Attached Files
.zip   XInput1_3 dwi.zip (Size: 1,5 MB / Downloads: 422)
#84
@Mirim: by location I meant - is it under any of Desktop / My Documents / C:\Program Files / C:\Program Files (x86).

Did you download both 32 and 64 bit versions of Dependency Walker - need to use 32 bit one on 32bit executables and 64bit one on 64bit executables. Looks like you tried to use the 64bit one on 32bit Xinput_1_3.dll, that is why you see all the errors in XInput1_3 32bit.dwi.

The IESHIMS and a few others are normal, shouldn't move these DLL's around. Screenshot of depends 32bit on XInput1_3.dll 32bit on a working system attached.

Still sounds like a missing dependency (possibly caused by permissions issues) since x360ce is also having issues on your machine.


Attached Files Thumbnail(s)
   
#85
Update on Bluetooth support - needs a lot more work than a simple filter can provide.

I've developed a prototype to implement a limited Bluetooth stack and provide as much functionality as possible. It is a long way from being complete, but I thought I'd share and if anyone is willing to assist with testing / feedback / suggestions it would help a lot.

Supported features -
- Plug / Unplug of dongle.
- Connect / Disconnect of DS3s
- Start / Stop of Bluetooth stack.
- up to 4 DS3s via a single Bluetooth USB dongle.
- LED/Controller ID set by server
- Rumble support *
- Reservation of Controller ID while Server is running.
- 32 / 64 bit client
- Pressure sensitive buttons (via Pokopom)
- Pairing of DS3 (command line tool - requires libusb-win32 installed as a filter on the DS3 plugged in via USB)

* Rumble currently only on Server GUI (haven't implemented flow control on the Bluetooth stack yet, PCSX2 games were flooding the dongle with Rumble requests causing it to drop out)

I've been testing on 4 different Bluetooth dongles (minimum requirement is USB 2.0, Bluetooth 2.0 + EDR). The inf file is limited specifically to these VID / PID / REV ids.
USB\VID_0A12&PID_0001&REV_7558
USB\VID_050D&PID_016A&REV_0388
USB\VID_0A12&PID_0001&REV_1958
USB\VID_0CF3&PID_3002&REV_0001

Links for the dongles I've been using
Belkin, JSG Accessories, Asus, PC Trading

(If you have a different dongle and want to try it out - post your VID/PID/REV here and I will add it to the inf)

Instructions : backup your PC before attempting this
-----------------------------------------------------------
1) Plug in your dongle and let Windows detect it.
2) Install the driver in bin\System via Device Manager. Double click the dongle device, Driver->Update Driver->Browse my computer->Let me pick->Have Disk.
3) If you are asked to reboot do so. [see attachment 1]
4) Run bin\ScpBtServer.exe [see attachment 2].
5) Take note of the Host Address.
6) Plug in your DS3 via USB.
7) Install libusb-win32 as a filter driver on your DS3 (is compatible with ScpFilterDriver if already installed)
8) Run ScpPairTool (specifying your Dongles Host Address) from bin\Win32 or bin\Win64 [see attachment 3]
9) Unplug the DS3 and you should see it connect to the Server after a few seconds and it's LEDs should stop blinking and be set to it's Controller ID [see attachment 4]
10) Test rumble by selecting an active controller by it's radio button and pressing the Both/Left/Right/Off buttons.
11) Test input by running ScpUser.exe from bin\Win32 or bin\Win64 [see attachment 5]
12) If all the above are successful drop the XInput1_3.dll from bin\Win32 into your PCSX2 directory and configure your input for XInput (preferably Pokopom or Lilypad)

Note:
To shutdown a DS3, press and hold the PS button for 10 seconds (until the LEDs go out). To reconnect press the PS button.
To pair your DS3 back to your PS3 plug it in to the PS3 via a USB cable. You will need to rerun the ScpPairTool again if you want to use the DS3 on your PC again.


Attached Files Thumbnail(s)
                   

.7z   ScpBtServer-0.1.0.25.7z (Size: 7,99 MB / Downloads: 471)
#86
Oh, you mean the XInput Wrapper? I have it on the desktop.
You got me. I was using the 64-bit version. Didn't even think of that. Attached a screenshot and .dwi of the 32-bit version, which looks largely the same except for SHLWAPI.DLL again. I spent a fair bit of time trying to look up the issue and couldn't find any resolution, but it does look like it's an issue with my computer rather than any problem with the program itself. Thanks for looking into it, in any case.


Attached Files Thumbnail(s)
   

.zip   XInput1_3.zip (Size: 758,29 KB / Downloads: 281)
#87
If i install these new bluetooth drivers, can i disconnect the ds3 controller when i have it in USB mode? Or these drivers are only for bluetooth?
Core 2 Duo e4600 2,4 Ghz / Abit IP35 / 2 GB Ram / 9600 GT / Win 7 x64
#88
@EvilRyu: The driver is only for Bluetooth support of DS3s via the included XInput1_3.dll. The dll is an enhancement of the one provided with the filter driver on Post #1, it will see your DS3 connected through Bluetooth as a different device when connected via USB.

The driver and server software are prototype/demonstrator quality, provided to allow feedback from anyone who is interested in the development cycle. They should not be considered an end product.
#89
@Mirimi: one thing to try -

Make a directory in a non-special location (eg D:\Test), copy SCPUser.exe and XInput1_3.dll from bin\Win32 directory of the release. Right click->Properties on each, make sure they are not Blocked, if they are Unblock them. Copy in all the files from Depends 32 bit, again right click each file and make sure they are not blocked. Turn down UAC to it's lowest setting. Turn off any anti-virus software you may have.

Run depends.exe and load XInput1_3.dll, select SHLWAPI.dll in the lower panel, right click->Highlight Matching Module in Tree. Should see same as attachment 1. Right click->Properties should show as attachment 2 and 3. Again make sure is not Blocked, re-run depends if you have to unblock it.

If this has made any difference to how things look in depends, try running SCPUser.exe from the directory. Enable Anti-Virus software, re-test. Set UAC back to original setting, re-test.

No guarantees, but worth a try.


Attached Files Thumbnail(s)
               
#90
Well, I tried all that. I've always had UAC turned off entirely from the start, so that can't be it. In any case, the only difference I could see was that when I show shlwapi.dll's properties, mine is in \system32, while yours is in \syswow64. Everything else in the properties is the same, right down to the byte count. I guess my computer's just buggered.




Users browsing this thread: 8 Guest(s)