DeadVoivod Posted December 3, 2019 Share Posted December 3, 2019 (edited) 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 December 3, 2019 by DeadVoivod Quote Link to comment Share on other sites More sharing options...
neil9000 Posted December 3, 2019 Share Posted December 3, 2019 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. Quote Link to comment Share on other sites More sharing options...
DeadVoivod Posted December 3, 2019 Author Share Posted December 3, 2019 How can I do that? Quote Link to comment Share on other sites More sharing options...
neil9000 Posted December 3, 2019 Share Posted December 3, 2019 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. Quote Link to comment Share on other sites More sharing options...
DeadVoivod Posted December 3, 2019 Author Share Posted December 3, 2019 Ok, I see, so dinput is B + power. Quote Link to comment Share on other sites More sharing options...
DeadVoivod Posted December 3, 2019 Author Share Posted December 3, 2019 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? Quote Link to comment Share on other sites More sharing options...
neil9000 Posted December 3, 2019 Share Posted December 3, 2019 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. Quote Link to comment Share on other sites More sharing options...
DeadVoivod Posted December 3, 2019 Author Share Posted December 3, 2019 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. Quote Link to comment Share on other sites More sharing options...
DeadVoivod Posted December 3, 2019 Author Share Posted December 3, 2019 (edited) 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 December 3, 2019 by DeadVoivod Quote Link to comment Share on other sites More sharing options...
DeadVoivod Posted December 3, 2019 Author Share Posted December 3, 2019 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. Quote Link to comment Share on other sites More sharing options...
JoeViking245 Posted December 3, 2019 Share Posted December 3, 2019 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 Quote Link to comment Share on other sites More sharing options...
DeadVoivod Posted December 4, 2019 Author Share Posted December 4, 2019 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. 1 Quote Link to comment Share on other sites More sharing options...
DeadVoivod Posted December 4, 2019 Author Share Posted December 4, 2019 (edited) 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 December 4, 2019 by DeadVoivod Quote Link to comment Share on other sites More sharing options...
JoeViking245 Posted December 4, 2019 Share Posted December 4, 2019 (edited) 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 December 4, 2019 by JoeViking245 Quote Link to comment Share on other sites More sharing options...
DOS76 Posted December 4, 2019 Share Posted December 4, 2019 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. Quote Link to comment Share on other sites More sharing options...
DeadVoivod Posted December 5, 2019 Author Share Posted December 5, 2019 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. Quote Link to comment Share on other sites More sharing options...
DeadVoivod Posted December 5, 2019 Author Share Posted December 5, 2019 (edited) 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 December 5, 2019 by DeadVoivod Quote Link to comment Share on other sites More sharing options...
JoeViking245 Posted December 5, 2019 Share Posted December 5, 2019 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. Quote Link to comment Share on other sites More sharing options...
DeadVoivod Posted December 6, 2019 Author Share Posted December 6, 2019 Ok, thanks, gonna try that, but mostly next week, it's weekend now, and there's other stuff to do obviously ? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.