@dunnieboy i dont have my pi to tell everything exact. After you set your controllers up back at the main menu i believe you go into the bottom option. If you go in there you can set save on exit and you can save your joystick config in there too. I think its in there where the option to set the menu button to the controller too.
rsimmy's saving to core overrides seems to work for each while @rbaker method works for all...however you can take that script and use it for each core individually if you want to script it in to each one with whatever core you want, which of course takes time. but if you're going to do that, then just do rsimmy's method
so rbaker method for global
and rsimmy method for each one
After rebuilding a new kernel to help solve my "northwest drift" problem with my Raphnet adapter, I've noticed this seems to be fixed. Maybe a fix was pushed out that I got when I updated prior to patching the kernel? In either case, I tested this with a couple of games, and it now seems to be working like it should.