Jump to content
LaunchBox Community Forums

Retroarch not working anymore???


Truest1

Recommended Posts

Hey guys I've had this 8tb setup for a few years. Learned a lot on it. But recently I purchased 2 aimtrak lightguns. Hooked them up set them up in mame working ok. But om Retroarch now I can't use my xarcade tantaricks anymore. Retroarch sees the guns as device 1 and 2. Then the tanksticks. I went and re bonded the tanksticks but nothing seems to work on Retroarch anymore. Please help. 

Link to comment
Share on other sites

  • 1 month later...

Hi Truest1 - Did you figure this out?  I am having a similar issue with the Aimtraks in RetroArch.  Seems like if there is an Aimtrak loading in Port1 that RetroArch locks up.  I've been playing around with a lot of different controller options to try and find what works universally as well in MAME as it does in Retroarch, but haven't landed on a solution that I like yet.  If I use straight keyboard mapping, Retroarch doesn't see any controllers except the Aimtraks, so they are defaulting to Ports 1 and 2 regardless of my having configured keyboard controls for player 1 and 2.  Any insights would be most appreciated.

Link to comment
Share on other sites

4 minutes ago, TEC75 said:

Hi Truest1 - Did you figure this out?  I am having a similar issue with the Aimtraks in RetroArch.  Seems like if there is an Aimtrak loading in Port1 that RetroArch locks up.  I've been playing around with a lot of different controller options to try and find what works universally as well in MAME as it does in Retroarch, but haven't landed on a solution that I like yet.  If I use straight keyboard mapping, Retroarch doesn't see any controllers except the Aimtraks, so they are defaulting to Ports 1 and 2 regardless of my having configured keyboard controls for player 1 and 2.  Any insights would be most appreciated.

Hello unfortunately I still haven't figured this out yet. No matter what I try Aimtrak lightguns want to take over ports 1&2 as your see . Really sucks if you ask me. Wish it was a simple fix. But I haven't figured it out yet. Let me know if you find anything out as well. I'll do the same. Hopefully someone chimes in on this issue. 

Link to comment
Share on other sites

I'm surprised that someone has not come up with a way to change the USB device enumeration in Windows to allow for customized or static device loading.  I've found some very outdated apps for this that I could not get to run on Windows 11, but nothing current.  I've tried making manual registry changes, but no luck getting that to work. 

I'm sure you know that you can change the device order in MAME with a config file if the devices all have unique PIDs, but nothing like that for RetroArch that I have found. 

I've had mixed luck with changing the port assignments in RetroArch.  If you have other controllers to assign to Port 1 (for example) and that controller has an auto config, it seems to keep Aimtrac out of Port 1.  For example, if I connect my Ultimarc 360 joysticks, I can assign those to the first two ports and the aimtraks to the second two ports and Retroarch keeps them in place. (Although I did have some issues with the auto configs getting confused between the two devices where the autoconfig for the 360 somehow got saved with the PID Aimtrak - but it worked after I got that sorted out.  (The 360s were sometimes behaving erratically, which is why I 've been experimenting with other controller options.) 

I've tried removing/uninstalling devices in device manager to get them to re-enumerate, but no luck with that either.  Windows remembers the order based on when the device was first plugged in.  The only way I've found to change that is to reinstall Windows and plug the devices in, one at a time, in the order you want them to be recognized.  But in my case, if I don't have another device that Retroarch sees as a controller, it will still assign the Aimtracs to the first ports even if I set Port 1 to "none."

All that said, since your tanksticks are legit controllers recognized by RetroArch, you should be able to assign them to port 1 and port 2, save the controller profile (should get stored in one of the autoconfig subfolders like "dinput.")  You can set the aimtracs to Ports 3 and 4 and save their config files as well. (make sure that the PIDs in the saved config files are correct).  Turn on the setting that tells Retroarch to look for a controller config file (sorry not in front of my arcade machine at the moment to be more specific).  This may or may not solve your problem, but if not, there is more to do.  Load a game and go into the menu and go to the input config.  If the controls aren't already mapped correctly based on what you just did, change them and save the remap config for that core/platform/game (whatever makes the most sense in your situation).  Now, when you next load that game, you should see messages pop up in the lower left corner of the screen that the devices are being loaded and then remapped based on the config you saved.  Now, when you check the inputs for that game, they should be correct.  If you save the remap for the core, it will be the default for all machines emulated by that core.  If you saved the remap for the directory, it will apply to all roms in that folder. (you get the idea).  

Obviously, that's a workaround to having the devices load in the desired order to begin with, but see if it does the trick.  The only other option that I can think of would be to reinstall Windows and then try connecting your controllers first and then your guns.  In theory, that should enumerate the controllers first in the Windows device enumeration order.  Will that for sure fix the order in RetroArch?  I haven't tested that yet.  Good luck!

Link to comment
Share on other sites

4 hours ago, TEC75 said:

I'm surprised that someone has not come up with a way to change the USB device enumeration in Windows to allow for customized or static device loading.  I've found some very outdated apps for this that I could not get to run on Windows 11, but nothing current.  I've tried making manual registry changes, but no luck getting that to work. 

I'm sure you know that you can change the device order in MAME with a config file if the devices all have unique PIDs, but nothing like that for RetroArch that I have found. 

I've had mixed luck with changing the port assignments in RetroArch.  If you have other controllers to assign to Port 1 (for example) and that controller has an auto config, it seems to keep Aimtrac out of Port 1.  For example, if I connect my Ultimarc 360 joysticks, I can assign those to the first two ports and the aimtraks to the second two ports and Retroarch keeps them in place. (Although I did have some issues with the auto configs getting confused between the two devices where the autoconfig for the 360 somehow got saved with the PID Aimtrak - but it worked after I got that sorted out.  (The 360s were sometimes behaving erratically, which is why I 've been experimenting with other controller options.) 

I've tried removing/uninstalling devices in device manager to get them to re-enumerate, but no luck with that either.  Windows remembers the order based on when the device was first plugged in.  The only way I've found to change that is to reinstall Windows and plug the devices in, one at a time, in the order you want them to be recognized.  But in my case, if I don't have another device that Retroarch sees as a controller, it will still assign the Aimtracs to the first ports even if I set Port 1 to "none."

All that said, since your tanksticks are legit controllers recognized by RetroArch, you should be able to assign them to port 1 and port 2, save the controller profile (should get stored in one of the autoconfig subfolders like "dinput.")  You can set the aimtracs to Ports 3 and 4 and save their config files as well. (make sure that the PIDs in the saved config files are correct).  Turn on the setting that tells Retroarch to look for a controller config file (sorry not in front of my arcade machine at the moment to be more specific).  This may or may not solve your problem, but if not, there is more to do.  Load a game and go into the menu and go to the input config.  If the controls aren't already mapped correctly based on what you just did, change them and save the remap config for that core/platform/game (whatever makes the most sense in your situation).  Now, when you next load that game, you should see messages pop up in the lower left corner of the screen that the devices are being loaded and then remapped based on the config you saved.  Now, when you check the inputs for that game, they should be correct.  If you save the remap for the core, it will be the default for all machines emulated by that core.  If you saved the remap for the directory, it will apply to all roms in that folder. (you get the idea).  

Obviously, that's a workaround to having the devices load in the desired order to begin with, but see if it does the trick.  The only other option that I can think of would be to reinstall Windows and then try connecting your controllers first and then your guns.  In theory, that should enumerate the controllers first in the Windows device enumeration order.  Will that for sure fix the order in RetroArch?  I haven't tested that yet.  Good luck!

Thank you for your reply. Unfortunately, I've tried all that but nothing seems to work. Seems like these aimtrak light guns was the wrong purchase for my build. I wonder if there's better guns out there.

Link to comment
Share on other sites

9 hours ago, Truest1 said:

Thank you for your reply. Unfortunately, I've tried all that but nothing seems to work. Seems like these aimtrak light guns was the wrong purchase for my build. I wonder if there's better guns out there.

OK, it took me like 14 hours, but I came up with a solution.  It's been nearly 20 years since I wrote a line of code, so it's not elegant.  The link below has two PowerShell scripts and two shortcuts. You should be able to use these to disable the light guns when you aren't using them so that they do not show up in RetroArch. And then re-enable them as needed. You will need to execute the scripts from the shortcuts to run the scripts with admin rights.  You will need to edit the shortcut paths and scripts to fix the file paths to match your system.  I will try to refine the code a bit if you are happy with the fundamental functionality.  Let me know how the testing goes.

PowerShell Scripts

Link to comment
Share on other sites

@Truest1 I experience similar behavior with light guns always going to P1 and P2. My approach is quite simple. The easiest way to deal with this is to only plug in the light guns when you use them. When you use them, you want them to be P1 and P2. So, who gives a crap where other stuff ends up when light guns are plugged in, it's not like you're using two light guns and the other devices like your xarcade tankstick at the same time. When you're done, unplug the light guns and your tankstick and other controllers return to their normal player # positions. Don't overthink things and take the path of least resistance, this is a "KISS" approach

 

Link to comment
Share on other sites

53 minutes ago, skizzosjt said:

@Truest1 I experience similar behavior with light guns always going to P1 and P2. My approach is quite simple. The easiest way to deal with this is to only plug in the light guns when you use them. When you use them, you want them to be P1 and P2. So, who gives a crap where other stuff ends up when light guns are plugged in, it's not like you're using two light guns and the other devices like your xarcade tankstick at the same time. When you're done, unplug the light guns and your tankstick and other controllers return to their normal player # positions. Don't overthink things and take the path of least resistance, this is a "KISS" approach

 

Great suggestion. I will try this. It's a shame that these guns don't work how they should . There should be a better way to make them work. It's a Microsoft issue over all. Well a little bit of Microsoft and Retroarch. In mame they work great by setting up the ini with the cntl file. 

Link to comment
Share on other sites

the light guns are seen as both a mouse device, and a dinput device. they are not a xinput device.

not sure about what input API the tanksticks use though. check the user manual for your specific model, it should specify it somewhere.

 

1 hour ago, Truest1 said:

Great suggestion. I will try this. It's a shame that these guns don't work how they should . There should be a better way to make them work. It's a Microsoft issue over all. Well a little bit of Microsoft and Retroarch. In mame they work great by setting up the ini with the cntl file. 

I'm not so sure the avg user would want them to go to P3 and P4 by default. then you got to remap light gun game controls to P3 and P4. likely cannot do that by core/system since I would bet most would be playing some standard conroller and light gun games that share same core. So would instead need to use directory or game level remapping. when you consider that, this default behavior of them going to P1 and P2 in my opinion is how it should be. TEC75 points out you can make use of Retroarch's device remapping, which has worked for me in the past. It's the same concept as device remapping in MAME (using the config files inside the ctrlr folder), using PIDs (product IDs) to identify the individual device and remap it's controls or player #. This does work, so maybe you went wrong somewhere? Unless you have a use case where you really need them on P3 and P4 all the time, it might not be worth the hassle to set them up like that. That lead me to share my point there is an easier solution with only plugging them in when in use

Link to comment
Share on other sites

43 minutes ago, skizzosjt said:

the light guns are seen as both a mouse device, and a dinput device. they are not a xinput device.

not sure about what input API the tanksticks use though. check the user manual for your specific model, it should specify it somewhere.

 

I'm not so sure the avg user would want them to go to P3 and P4 by default. then you got to remap light gun game controls to P3 and P4. likely cannot do that by core/system since I would bet most would be playing some standard conroller and light gun games that share same core. So would instead need to use directory or game level remapping. when you consider that, this default behavior of them going to P1 and P2 in my opinion is how it should be. TEC75 points out you can make use of Retroarch's device remapping, which has worked for me in the past. It's the same concept as device remapping in MAME (using the config files inside the ctrlr folder), using PIDs (product IDs) to identify the individual device and remap it's controls or player #. This does work, so maybe you went wrong somewhere? Unless you have a use case where you really need them on P3 and P4 all the time, it might not be worth the hassle to set them up like that. That lead me to share my point there is an easier solution with only plugging them in when in use

I see. Definitely gonna have to unplug and replug Everytime I want to use them. Also having issues in retro arch getting the games to respond to trigger I set them in in retro arch player 1 per game basis. But the game doesn't seem to respond to the guns at all? Am I missing something in setting the Aimtrak lightguns in Retroarch? Wish someone made a step by step video about this specific to Aimtrak guns. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...