What's new

sammargh

Professional
Joined
Jul 24, 2017
Messages
569
Reaction score
415
Location
South Dakota
I like stupid things. Anyways I modified FastIO2KB to interface with ViGEm and register FastIO as two XINPUT 360 controllers. This allows you to interface directly with any application that requires xinput such as Steam and other major PC-based titles. Woo! More game!


While this works I want to preface this post with a warning: I am not a developer, this is not my day job and I am not good at writing code. It works, it could be better. This is why I'm posting everything here and leaving the project up to someone else to pretty the code up as well as put it on github should they so choose. You are free to do what you want with this code, I don't really care.

USAGE:
The binary included is a x86 binary meaning it should work on all setups that are running Windows 10. Install ViGEmBus to your system https://github.com/ViGEm/ViGEmBus/releases
Place iDmacDrv32.dll next to the two files included - ViGEmClient.dll & fastio2xinput.exe so all three are in the same directory.
Launch fastio2xinput and you should see two 360 controllers attached to the system. That's it. You're ready to play PC games.

Bindings are as such:
Both P1 & P2:
UDLR: directional hat UDLR
button 1: X
button 2: Y
button 3: RB
button 4: A
button 5: B
button 6: RT
button 7: LB
button 8: LT

Dedicated buttons:
Test 1: P1 home button
Service 1: P1 back button
Coin 1 & 2: do nothing
Service 2: do nothing
Tilt 1: do nothing


Bindings are simple to redo, I cleaned the code base up quite a bit. Player 3 and 4 can be added but I didn't bother with defining them. Again friendly reminder I am not a programmer and am well aware this could be cleaned up quite a bit. If you're going to comment about the state of the VS project feel free to improve it yourself and put it on github... this is working for what I needed so I am done with this.
 

Attachments

  • FastIO2XINPUT-release.zip
    108.5 KB · Views: 178
  • FastIO2XINPUT-src.zip
    142.6 KB · Views: 176
To provide an example of how you can integrate FastIO with XInput while retaining native interaction with Type X games I've provided a few sample batch files and some executables. They are as follows:

fastio2xinput_std.exe standard button layout in the original post
fastio2xinput_trigger.exe button 6 was replaced with left trigger to play jet set radio
nesicarun.exe older launcher used with the nesica theme in the earlier days
ttxrun.exe launcher from the existing x2 multi menu
nesicarun.bat delay script for re-launching xinput when ttxrun.exe misbehaves
startstd.bat start standard xinput and make sure all other daemons have been terminated
stopstd.bat stop standard xinput and let the application use the FastIO card
x2shell.bat stage 1 to launching LaunchBox
x2stage2.bat launches LaunchBox as admin to retain JVS IO emulation

For Type X launching to work outside of the multi menu it still has to have been setup and working appropriately with your setup before doing anything. I've worked from the older 2.0 style menu as it is much easier to customize from versus the existing solutions. From there you can install LaunchBox to E:\System\LaunchBox and running x2shell.bat with UAC disabled should launch BigBox with xinput enabled. Adding TypeX games isn't terribly difficult, just follow a few rules:
additional apps.png

Under additional apps when adding a game you need to add rules for starting and stopping xinput. Sometimes startstd.bat will not suffice like with TGM3 and you need to use nesicarun.bat which watches for game.exe to terminate before relaunching xinput.

additional apps example.png

Just be sure to have the "run before" and "run after" boxes checked appropriately.

launching game.png

Under Launching point it to either nesicarun.exe or ttxrun.exe and provide the folder name from E:\ like in this example "Akai Katana Shin". Wa-la, a frontend that is fully operated from XInput but supports native Type X programs to which you can expand however you like.
 

Attachments

  • fastio2xinput.zip
    570.6 KB · Views: 135
Hey, thanks for making this! I have been wanting to put some PC games on my TTX multi with FAST IO setup and this made it super easy! I can now play Final Vendetta on my Vewlix. :) Thanks!
 
Back
Top