gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Hardware > Using a SNES Pad with GBA

#771 - RedboX - Fri Jan 10, 2003 3:08 pm

I've been thinking about connecting a snes pad to my GBA for sometime, the first revision of the GBA development hardware used a SNES pad, so I was thinking that it whould be fairly easy to do, however, having taken my GBA apart, theres nothing that jumps out at me....

So I'm just wondering, before I start my own research, if anyone else has done anything along those lines...?

#775 - Lord Graga - Fri Jan 10, 2003 3:43 pm

It should be possible....
Since the GBA has 10 buttons (UP, DOWN, LEFT, RIGHT, A, B, R, L, START, SELECT), this means that they has use a 16-bit variable, it leaves 6 slots.
To check these extra buttons should be simple, ask me if you can't.

#778 - ampz - Fri Jan 10, 2003 3:50 pm

The SNES pad uses a sync. serial protocol, the GBA obviously does not.
So if you want to use it instead of the GBA key's, you'll have to open it up and solder wires directly to each button.

#827 - Costis - Fri Jan 10, 2003 11:18 pm

Hi,

Are you sure that it's a synchronous serial interface? I looked around a bit and read that it's an asynchronous interface instead. This would really facilitate access to the actual controller. A PIC16F84 microcontroller could be used to demultiplex the serial interface of the SNES controller, so that you would not have to open the controller and solder extra wires to it. Also, the PIC16F84 micontroller has just enough pins to be able to do this: 13 pins altogether, 3 for the SNES controller interface and 10 for the GBA keypad interface. The PIC MCU would just have to poll the SNES controller at set intervals and set the appropriate GBA output pins.

Costis

#829 - Psyk - Fri Jan 10, 2003 11:58 pm

What about wiring one up to the com port? Im not sure how it would work but there might be a way to do it.

#830 - ampz - Sat Jan 11, 2003 12:01 am

Yes I'am sure it's a sync. protocol.
(There's actually simply a 16bit shift register in the SNES pad)
The signals are CLK, LOAD, and DATA_OUT.
It's supposed to work off 5V, but I guess 3.3V might work as well if the shift registers are CMOS.

Yes, for custom GBA software you can easily wire a SNES pad to the comm port. (assuming it'll work off 3.3V)