Jump to content
LaunchBox Community Forums
DeadVoivod

MAME problems configuring 2 same controllers

Recommended Posts

I'm trying to get controls mapped in MAME, but I seem to have a huge problem.

I have 2 of the same 8BitDo SN30 Pro+ controllers, and MAME recognizes them as the same ones. Whenever I press a button on any controller, it maps it as J1, thus I can't configure them both. 

I'm using the MAME 210 non GUI exe. 

For other emulators it works, as one is set up as a bluetooth wireless controller, and the other one as bluetooth XINPUT compatible. 

Edited by DeadVoivod

Share this post


Link to post
Share on other sites
5 minutes ago, DeadVoivod said:

I'm trying to get controls mapped in MAME, but I seem to have a huge problem.

I have 2 of the same 8BitDo SN30 Pro+ controllers, and MAME recognizes them as the same ones. Whenever I press a button on any controller, it maps it as J1, thus I can't configure them both. 

I'm using the MAME 210 non GUI exe. 

I would suggest pairing the second controller in dinput mode, then you would have a xinput and a dinput so would be seen as different controllers.

Share this post


Link to post
Share on other sites
2 minutes ago, DeadVoivod said:

How can I do that? 

All 8bitdo controllers have four pairing modes depending on what face button you hold when turning it on. xinput, android/dinput, Nintendo switch and MacOS, look under the battery pack.

Share this post


Link to post
Share on other sites

Ok, re-paired them both, one clearly shows xinput, but the other re-paired again as bluetooth wireless controller, and I cannot chose dinput anywhere? 

Share this post


Link to post
Share on other sites
2 minutes ago, DeadVoivod said:

Ok, re-paired them both, one clearly shows xinput, but the other re-paired again as bluetooth wireless controller, and I cannot chose dinput anywhere? 

"Wireless Controller" is it in dinput mode, so MAME should now see to different controllers.

Share this post


Link to post
Share on other sites
50 minutes ago, DeadVoivod said:

For other emulators it works, as one is set up as a bluetooth wireless controller, and the other one as bluetooth XINPUT compatible. 

Well that's exactly how my setup was and MAME didn't recognize them as 2 different ones. 

Share this post


Link to post
Share on other sites

Seems MAME is keeping them apart now though. Only problem I always have is that the controller I wanna be second, is always the first and vice versa. 

Edited by DeadVoivod

Share this post


Link to post
Share on other sites

I tried now with devreorder, but whatever I do, the 2nd controller always stays controller number 1, whatever I do!!!

Perhaps I'll try once setting that one up as xinput, perhaps that way I can fool it. 

Share this post


Link to post
Share on other sites

You can remap each controller to the order you want them in.  At the command prompt in your MAME root directory, enter in "mame64 -v".  Along with a a bunch of other stuff, it will list each controller's Device ID.  With that info, you can remap your controllers to the order you want.  I personally haven't tried it, but it seems to make sense.

You can find more details here: https://docs.mamedev.org/advanced/devicemap.html

Share this post


Link to post
Share on other sites

So I re-paired them again, now the opposite way. 

MAME seems to work fine now, even after a restart of the PC, so that mame64 -v might have worked, thanks for the tip. 

Only thing was that I had to reconfigure my controllers in every single emulator and RetroArch, but so far, it seems good.

  • Game On 1

Share this post


Link to post
Share on other sites

Well this is honestly getting on my nerves now, RetroArch swapped again my controllers, now 1 is again 2, and 2 is 1. With the 1 I cannot start a game unless number 2 is switched on.

Why does this happen?? Goes beyond me!!

Everything is working fine with both controllers connected, I disconnect number 2, nothing is working and the RetroArch bindings seem to have changed again. 

What changes on DRIVER\Joypad if I chose xinput or dinput?

What exactly is the Remap Binds for this core? 

And what's the Autoconfig for? 

I have usually both of the latter ON. 

 

Edited by DeadVoivod

Share this post


Link to post
Share on other sites

I didn't pay attention to see that you were using MAME in RA.  I've never used MAME in RA myself.

That said, I wonder if you swap the controller indexes inside retroarch.cfg if that would (would have?) work(ed).

input_player1_joypad_index = 0
input_player2_joypad_index = 1
input_player3_joypad_index = 2
input_player4_joypad_index = 3
input_player5_joypad_index = 4
input_player6_joypad_index = 5
input_player7_joypad_index = 6
input_player8_joypad_index = 7

Swap player1 and player2 to 1 and 0 respectively.

Edited by JoeViking245

Share this post


Link to post
Share on other sites

It all comes down to Windows assigning new ids when you start up the controllers without them both being there. Its a well known Windows issue.

Share this post


Link to post
Share on other sites
11 hours ago, JoeViking245 said:

I didn't pay attention to see that you were using MAME in RA.  I've never used MAME in RA myself.

I don't. I use MAME64 210. MAME works now, fingers crossed. 

I meant everything else I'm running through RetroArch.

So basically this problem wouldn't even change when using standalone emulators? Because I was thinking on doing that, and omitting RetroArch completely.  

Share this post


Link to post
Share on other sites

I changed the input settings in the xml like you said, and it worked, but probably only until Windows changes the controllers again. 

I tested MAME once again, and controller 2 had controls completely reset, why ever. So now I configured it again, and set my default.cfg file to read only, perhaps that helps. 

EDIT: No honestly, this starts to be ridiculous now. I restarted the PC on purpose, MAME configuration is again reset to 0. I don't understand anymore. After testing, I noticed that the MAME configuration strangely gets reset every time you reboot your PC. 

So far RetroArch kept the correct settings. 

Do you think it would help using only 1 8BitDo controller, and as 2nd one an XBox One controller? Or would I encounter the same problems regardless?

Edited by DeadVoivod

Share this post


Link to post
Share on other sites

Ok, so we are dealing with 2 separate emulators.

Yes, MAME (standalone emulator) will reset itself based on what's plugged in.  Setting default.cfg to read-only is a good work around.  At least as far as losing controller configurations.  Another way (because I always love options) is: 

Spoiler

 

to have [all] your controllers plugged in, start mame and configure everything just the way you want it using the 8BD and XBox controllers, keyboard, mouse clicks, combos..etc..  Now Save Configuration and exit MAME.  Now copy 'default.cfg' and put in the ctrlr folder and rename it to something like '8BitDo.cfg' or whatever you want.  Now edit mame.ini and under CORE INPUT OPTIONS, change the ctrlr line to your new cfg file.


#
# CORE INPUT OPTIONS
#
coin_lockout     0
ctrlr            8BitDo
mouse            1
joystick         1
lightgun         0

If you don't want to edit mame.ini, you can instead add to the command line     -ctrlr 8BitDo

 

But that still doesn't help how Windows reassigns ID's. So adding a brand-x controller as a 2nd, I'd be inclined to say that won't fix it.  MAME says' they resolved that with mapdevice (link above) but I guess that doesn't fully work.  I only have 1 controller so I can't help there.

 

Share this post


Link to post
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
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...