It is now possible to use Super Nintendo Entertainment System (SNES) Controllers on your GameBoy Advanced, GameBoy SP, GameBoy Micro and/or Nintendo GameCube w/GBA Player Adapter to control your games with.
You will need
-any SNES pad.
-this SNES Rom patcher
-one GBA Link cable
-Any GBA Flash Card to play SNES Roms
The SNES pad works exactly the same as the NES controller, except it has two 4021's inside, and there are sixteen pulses on the CLK line, and sixteen bits of data come out the Data line. So, a SNES pad can be connected to a NES (and to a GBA) by simply swapping the connector on the end. Results depending on the controller model used. SNES controllers normally operate at 5V, while the GBA's link port only puts out 3.3V, so some controllers may not work.
First we need to know the pinouts from cables.
SNES pad pinouts
GBA Link pinouts
Pin 1 from GBA Link to Pin 1 from SNES Controller
Pin 2 from GBA Link to Pin 3 from SNES Controller
Pin 3 from GBA Link to Pin 4 from SNES Controller
Pin 5 from GBA Link to Pin 2 from SNES Controller
Pin 6 from GBA Link to Pin 7 from SNES Controller
Place both the snespatch.exe and snesgbapatcher.exe in a folder that contains your GBA file(s) you wish to patch. Double click on the "snesgbapatcher" file.
Next it will display the number of games in your folder and ask to you press "P" to patch them or gives you the option to quit the program by pressing "Q".
Once you press "P" it will make a copy of each GBA file, patch and then rename it. Optionally, you can do this manually one file at a time by using the snespatch.exe file on each GBA file you wish to patch, but please note that this will patch the file you pass to it and not make a backup.
You also can the guided tool snesadvance.exe which will patch & rename the roms. It also make a copy from rom and then patch it.