Bedwyr Posted August 9, 2018 Share Posted August 9, 2018 Yo all. I just got a few kits I ordered to convert my NES and SNES classic controllers into 8bitdo Bluetooth controllers (seen here: https://shop.8bitdo.com/products/mod-kit-for-nes-classic-controller). It looks like things connect alright; however the button auto-layout is incorrect. I need to go to work shortly, but I'll spend some time now or on the weekend dealing with button configuration. My objectives: - The XB1 must remain my primary controller and configuring the new one cannot displace the old configuration. - The XB1 uses a savestate scheme where R-stick + (key) control Retroarch functionality. Example: R-stick + start = Retroarch menu, R-stick + select = exit Retroarch, R-stick + dpad-down = save state, R-stick + dpad-up = load state. That scheme has to stay (I worked hard to get other emulators to play nice with the scheme). - I will need to get the bluetooth controller layout correct. Right now I think B is mapped to A and A is mapped to A-turbo. Select doesn't work. - It will try to get a second custom savestate scheme to work, controlled by select similar to Retropie. If anyone sees any roadblocks or "ummm"s, let me know. Quote Link to comment Share on other sites More sharing options...
Retro808 Posted August 9, 2018 Share Posted August 9, 2018 I use the 8bitdo controllers. The manual will show you how to boot it in xinput, dinput, swtich mode, etc... dinput should set the correct button layout. A is A, B is B. If I remember correctly though the kits actually have a hotkey swap for switching A/B X/Y in the user manual. edited: added manual link take a look at the button mapping section. Quote Link to comment Share on other sites More sharing options...
Bedwyr Posted August 9, 2018 Author Share Posted August 9, 2018 http://download.8bitdo.com/Manual/Mod-Kit/Mod-Kit-for-NES-Original&Classic-controller.pdf So if I'm reading this right, I may have paired in some other mode because I only paired using the start button? And what I should have done is pair by turning on via start+up? Quote Link to comment Share on other sites More sharing options...
Retro808 Posted August 10, 2018 Share Posted August 10, 2018 I believe that when you do the initial start option (choosing to start as xinput, dinput, switch mode) you do the proper start method such as start+up then each subsequent start if you just hit the start button it starts in the last mode you chose. So you dont need to do start+up each time after you do it once. You should be able to start using the start+up method than follow the remap options listed in the manual. Hold Select+Down for 3 seconds to saw A-B and X-Y. I have not messed with that so I cannot confirm it will do what you want. Quote Link to comment Share on other sites More sharing options...
Bedwyr Posted August 10, 2018 Author Share Posted August 10, 2018 Well, no luck this evening unfortunately. The controller options are really limited it turns out. If I press Sel + down I can swab A and B and X and Y but I cannot switch them independently. This is too bad because A is correct while B is set to "turbo A" (mario jumps with A and jumps repeatedly with B, no running) I can't seem to figure out how to get an input profile to stick only to the one the device; not sure what configuration files keep the controller assignments. Changing the button assignments on the 8bitdo also changes my XB1 layout and I have to change it back. I've tried changing the buttons assignments several times and cannot seem to figure out what the B button is mapped to. Yeah, this is definitely not one of those moments where the Retroarch controller schemes "just work". Quote Link to comment Share on other sites More sharing options...
Retro808 Posted August 11, 2018 Share Posted August 11, 2018 Not really sure. I have not messed with the DIY kits in RA and I do not have one anymore as I gave it to a coworker. I know for the other controllers that if I start in d-input mode (I think the manual lists it as Android) I can map the buttons in RA to the correct A and B. Just double checked and the SF30 Pro and A and B are correctly mapped. Hopefully a firmware update down the line will allow better mapping on the DIY kits. Quote Link to comment Share on other sites More sharing options...
Bedwyr Posted August 11, 2018 Author Share Posted August 11, 2018 Thanks for responding. Yeah, I'm trying it again when I'm not dead tired and I still can't get any change proper change. Moreover for some reason my keyboard f1 key won't go into the menu. Would it help if I reported the input button number when I try and set a key? (like 0-11 kind of thing) Quote Link to comment Share on other sites More sharing options...
Bedwyr Posted August 11, 2018 Author Share Posted August 11, 2018 So going through all the buttons: B 0 A 1 Start 11 Select 10 Rpad +0 Lpad -0 Upad -1 Dpad +1 Now if I do a button swap (hold select + down) B 1 A 0 This means that with the current connection I actually can't use the DiY kit with Retroarch because the button input that supposedly maps to Retroarch's B button doesn't actually exist. I suppose I'll have to contact 8bitdo support unless someone has some insight or can correct some misunderstanding I have. Quote Link to comment Share on other sites More sharing options...
Retro808 Posted August 11, 2018 Share Posted August 11, 2018 Are you talking about the "0"? That does register as a button from the 8bitdo controllers. Below is how my SN30 Pro is set in RA and A/B are correct when playing SNES games. I wonder if the kits just do not work right. I would probably email 8bitdo. Cam you edit the core's config file you are using in RA and see if it will work? input_player1_b_btn = "1" input_player1_y_btn = "4" input_player1_select_btn = "10" input_player1_start_btn = "11" input_player1_a_btn = "0" input_player1_x_btn = "3" Quote Link to comment Share on other sites More sharing options...
Bedwyr Posted August 11, 2018 Author Share Posted August 11, 2018 You mean try your layout in the autoconfig file? Sure, I can try that. Quote Link to comment Share on other sites More sharing options...
Bedwyr Posted August 11, 2018 Author Share Posted August 11, 2018 (edited) Well that was interesting. So now I understand what Retroarch was doing. The controller is auto-detecting as RB8-64 under xinput. I have no idea why, though. The button numbering on user 1 in the autoconfig file reads the same as yours except for select which... does not exist on the n64 controller. Curioser and curioser. Is there a way to force which device the autodetect discovers? I'm wondering if forcing it to read as 8Bitdo_Pro_NES30_BT will help at all. Edited August 11, 2018 by Bedwyr addition Quote Link to comment Share on other sites More sharing options...
Bedwyr Posted August 11, 2018 Author Share Posted August 11, 2018 FYI I'm trying to help one of the Retroarch developers. Apparently someone submitted the autoconfig file but got the pid/vid wrong. Link here: https://forums.libretro.com/t/trying-to-get-a-second-controller-to-work-without-breaking-the-first/17433 Quote Link to comment Share on other sites More sharing options...
Retro808 Posted August 11, 2018 Share Posted August 11, 2018 So looks like he is saying in that post if you delete the autoconfig file for that controller name you should be able to generate a new one. The other issue though is it is recognizing it as an xinput. I believe in order to be able to make the effective swap you have to set the controller to dinput mode (Android). Try starting it with Start+B and see if you can change the map better. As mentioned earlier that is the only way I can get the non DIY kit controllers to work properly for the correct A/B mappings. Xinput mode will continue to recognize Xbox style controller binds. Quote Link to comment Share on other sites More sharing options...
Bedwyr Posted August 11, 2018 Author Share Posted August 11, 2018 It doesn't really work like that. I can't start it in Android mode and successfully pair with Windows. It has to turn on in Windows mode. Quote Link to comment Share on other sites More sharing options...
Retro808 Posted August 11, 2018 Share Posted August 11, 2018 So you tested it and it doesn't work? If so, then the kits are different as all other 8bitdo controllers work like that. Its not just Android mode it is their d-input mode for windows also. On this model (image below) it is just start, most other models it is Start+B. D-input mode connects to windows just fine and I see that mode is available in the diy kits manual. If it does not work for you then you may just be stuck waiitng for a workaround or a firmware upgrade. Quote Link to comment Share on other sites More sharing options...
Bedwyr Posted August 11, 2018 Author Share Posted August 11, 2018 Yep. If I start in Android mode and try to pair, Windows 10 simply does not pick it up at all. I'll wait until a formal autoconfig is approved for Retroarch and try again then. Quote Link to comment Share on other sites More sharing options...
Retro808 Posted August 11, 2018 Share Posted August 11, 2018 Well that sucks. Wonder why for the kits it does not work like their production controllers. Gonna have to see if I can get that kit I gave away to a coworker to test out. Quote Link to comment Share on other sites More sharing options...
Bedwyr Posted August 17, 2018 Author Share Posted August 17, 2018 This weekend if I get some time, I'll try out one of the autoconfig files someone submitted as part of a Github issue and see what happens. Quote Link to comment Share on other sites More sharing options...
Bruck Posted September 15, 2018 Share Posted September 15, 2018 I'm getting stuck in a similar situation. I have plenty of 8bit do's production controllers and none have this problem. I have a pair of their USB Receivers for PC/Switch. I use them with 2 N30 Arcade sticks and SF Pro, SN Pro. With my N30 Arcade sticks for MAME to work correctly I leave it in Xinput with X/Y set. For Retroarch (like NES) I have to switch to Dpad from X/Y for directional control to register. With my SF and SN Pro, I had to boot them in Android mode (which I'm pretty sure just means Dinput) and then they work great in Retroarch (BNES and other Cores) I have correct control of games. But last night I built my first Mod Kit (from the NES Classic version) and while the controller looks and feels excellent, it seems to be stuck on X/Y for directional. No combination of startup choices is allowing me to get it to take inputs like the SN/SF Pro does - so I can't control directionals, but A/B I think are correct (Select,Start,A and B all work). I have a second kit to build, and I am about to order 2 of the Genesis kits - but I really need to get this working or it will all be for no reason. Quote Link to comment Share on other sites More sharing options...
Bedwyr Posted September 21, 2018 Author Share Posted September 21, 2018 Hey, I just got back from a trip and haven't checked the Retroarch repository yet to see if someone else beat me, but I did get the modkit working correctly. The autoconfigs I have are finally correct and use the right Bluetooth IDs. If you want to look at the discussion thread to see my learning process, look here: https://forums.libretro.com/t/trying-to-get-a-second-controller-to-work-without-breaking-the-first/17433 It's a bit long, but I think the system is better run in Android mode because for some reason, the N30 and SN30 (SNES modkit) report the exact same PID of 02E0 in hex. Which is stupid and I can't figure out why. I never got a final response so when I get a chance and if it hasn't been done already, the advice will be to assume Android mode and use the proper VID and PID for that. It'll confuse the hell out of people starting up in Windows mode, but at least it avoids the PID conflict. Hope that helps. 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.