Help desperately needed - getting SNES gamepad to work on Nexus 7

Hello, I really hope someone can help me with this problem. I have spent hours trying to get my SNES controller to work with cores in Retroarch on an Android Nexus 7 tablet (2013 version). The weird thing is, I HAVE managed to get it working a couple of times, on ‘Bubble Bobble’ in the MAME emulator and also on ‘Super Mario World’ on one of the SNES emulators. I have tried to follow the same process - binding player 1 controls etc - but for the life of me I can’t get it working again. I also found online the contents of a cfg. file for a SNES controller - I copied that, created a file in one of the directories, changed the file path in the directory settings, but still no joy. If anyone is willing to talk me through this step-by-step I would be so grateful. The launch of the Nintendo Switch has made me hungry for some retro gaming and it’s driving me mad not being able to use a physical gamepad. Thanks so much.

Plug in your pad. It should say “such and such pad not configured”. Go to settings > input > input user 1 binds and then ‘bind all’ and assign your buttons. Then, once they’re all mapped, go to ‘user 1 save autoconfig’. Close RetroArch, unplug your pad, relaunch RetroArch and plug your pad back in. Hit a button. If it says ‘not configured’ again, run through the steps once more. After that, it should start saying “configured” instead. At that point, you’re ready to go.

Thanks. I’m not getting any message saying “xxx pad not configured”. But I’ve done the steps you advised regardless, and when i press my gamepad buttons during the 5 second countdown for each bind, nothing happens. What’s odd is that on a couple of occasions this has worked - i don’t know if on those occasions i had that “pad not configured” message, but i was able to merrily play away. Do you think there is something else I’m doing wrong?

You have to press a button on the pad before RetroArch will try to interact with it. After plugging it in, can you try pressing a button to see if it pops up the “not configured” message then?

Thanks. I’m not getting any message like that when I press a button on the pad. Tried having retroarch open before i plug the pad in. Then tried plugging the pad in before launching retroarch. Either way i get nothing. Do you have any other thoughts? I appreciate this help, thank you!

Hi, I bought a new micro USB to USB adaptor in a desperate attempt to try and get this working - I figured perhaps the connection was hit and miss, which might account for the gamepad working once but not now. But I tried the newadapter and still no luck getting the gamepad to work. Do you have any more advice? Thanks

You can try viewing your logs through a logcat program and see if anything is actually registering when you plug in and press buttons on the pad. Typically, once a device is recognized by the OS, when you hit a button, RetroArch will see it and either configure it or not, depending on the device’s reported vid/pid.

So, if it’s not ever showing up to the OS, RetroArch will never see it either. Do you know if it works in other programs?

The gamepad definitely works OK cos i use it to play games using MAME on a Windows laptop.

I meant within Android. I didn’t assume there’s anything broken with your controller, just that the OS itself might not be seeing it.

Not sure if I have done this right. I downloaded Catlog and started recording, then plugged the USB gamepad in. Then stopped recording, and saved the log - pasted below. Not sure what I am looking for though, does it show anything?

03-10 22:45:18.483 W/m (15646): java.io.IOException: Error running exec(). Command: [su] Working Directory: null Environment: null 03-10 22:45:18.483 W/m (15646): at java.lang.ProcessManager.exec(ProcessManager.java:211) 03-10 22:45:18.483 W/m (15646): at java.lang.Runtime.exec(Runtime.java:174) 03-10 22:45:18.483 W/m (15646): at java.lang.Runtime.exec(Runtime.java:247) 03-10 22:45:18.483 W/m (15646): at java.lang.Runtime.exec(Runtime.java:190) 03-10 22:45:18.483 W/m (15646): at com.nolanlawson.logcat.b.m.a(Unknown Source) 03-10 22:45:18.483 W/m (15646): at com.nolanlawson.logcat.b.w.a(Unknown Source) 03-10 22:45:18.483 W/m (15646): at com.nolanlawson.logcat.b.p.b(Unknown Source) 03-10 22:45:18.483 W/m (15646): at com.nolanlawson.logcat.d.doInBackground(Unknown Source) 03-10 22:45:18.483 W/m (15646): at android.os.AsyncTask$2.call(AsyncTask.java:295) 03-10 22:45:18.483 W/m (15646): at java.util.concurrent.FutureTask.run(FutureTask.java:237) 03-10 22:45:18.483 W/m (15646): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 03-10 22:45:18.483 W/m (15646): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 03-10 22:45:18.483 W/m (15646): at java.lang.Thread.run(Thread.java:818) 03-10 22:45:18.483 W/m (15646): Caused by: java.io.IOException: Permission denied 03-10 22:45:18.483 W/m (15646): at java.lang.ProcessManager.exec(Native Method) 03-10 22:45:18.483 W/m (15646): at java.lang.ProcessManager.exec(ProcessManager.java:209) 03-10 22:45:18.483 W/m (15646): … 12 more