I have the same issue with Mario All Stars. If you have two controllers, just switch over to player 2 (and Luigi should work with the player 1 controller). I don’t know why it does that.
Are you having trouble with all genesis games or do some of them work? When configuring the controller, the retroarch.cfg file works for most systems, but you need to alter the dgen.cfg in the same folder. (/home/pi/RetroPie/configs/all/)
It doesn’t use exactly the same language as the retroarch.cfg, but if you just replace the number listed with the number that corresponds to your controller, it should work. For example, what’s listed in retroarch.cfg as:
input_player1_a_btn = “1”
input_player1_b_btn = “2”
Will be listed in dgen.cfg as:
joy_pad1_b = joystick0-button2
joy_pad1_c = joystick0-button1
(Or whatever buttons you’d like to assign)
As for your other problems, that’s probably an emulator issue. A lot of emulators won’t play games 100% the same as the original system could, and each program has its own quirks. The same rom on one emulator might have crackling sound, but on another emulator the sound might work, but there might be layering problems.
Just try a few different roms for the same game until you find one with as few problems as possible. It may not be perfect, but hopefully you’ll be able to find one that you can enjoy despite the flaws.