Gamecube Controller Serial Data Interface?

Thread Starter

marie_m

Joined Jun 15, 2009
2
Hello, I'm wondering if this project is possible & looking for tips on getting started.

I hope to send digital data serially to my Gamecube through my Gamecube controller, when a particular button is pressed. This is essentially a macro controller, where a button press will send a sequence of button presses to the console. It would be nice if I could alter the code while it's in the controller, via USB or something really simple for ease of testing.

Hoping for the *cheapest, easiest option, as I need to complete this project as soon as possible on a small budget. I'm really not sure where to start, and any links to informational resources or advice would be greatly appreciated.

Again, I'm very new to this so links for beginners would be great.
I've read through quite a bit on my own, but I'm getting overwhelmed with the lot of it, and I'm not quite sure what I should be looking into for completion of this particular project.

*I've been seeing microcontroller programming kits for 100$, which seems absurd to me- is this what I should expect to pay for this project?


Thank you,

marie :)
 

beenthere

Joined Apr 20, 2004
15,819
One important question is what ports the gamecube has built in. Or are you seeking to make a different controller that more-or-less plays macro commands?

If that is the case, you need to identify all the controls as to how and what signals get sent to the gamecube. After that, it's up to programming skills to get a microcontroller to do the macros. Not to mention making the altered controller and interfacing the microcontroller.

If you have the time and interest, it's probably doable - but it will take an investment in time and money. You can make all the stuff you will need from scratch, but a fair knowledge of electronics and tool skills will be helpful. You will also have to be able to produce some fairly complex printed circuit boards.
 

Thread Starter

marie_m

Joined Jun 15, 2009
2
One important question is what ports the gamecube has built in. Or are you seeking to make a different controller that more-or-less plays macro commands?
The Gamecube Controller Protocol is detailed on this page.
Serial Data Interface

The controller uses one bi-directional data line (Pin 2 - Red) to communicate with the console. This is an active high 3.43V logic signal, using a pull-up resistor to hold the line high, and pulling it low with an open-collector transistor when a low needs to be transmitted. Communication is initiated by the console sending a 24-bit string to the controller, after which the controller responds with 64-bits of button state and joystick data.
Although I first thought that the controller had an internal pull-up resistor (measured 745 ohms), in practice I had to use an external 1K pull-up resistor between the 3.43V rail and the the data line in my prototype interface.
The transfer speed is rather fast at around 4us per bit. As with the N64 controller, a low bit is signalled by a 3us low followed by 1us high, and a high bit is signalled by 1us low followed by 3us high. Yes, it's just like the N64 controller!
I intend to use an existing GC controller, and merely add a button to do this single output to the console, which should simplify the project quite a bit? Really I only require one button to send one string of data, which could be reprogrammed to test different strings. I think I'm looking for information on sending digital data, and which type(s) of microcontrollers would be best for the job, but I'm not entirely sure that this is what is necessary. Thanks for the reply!

Edit: further research leads me to believe that a PIC with UART will do the trick ... still researching.
 
Last edited:

beenthere

Joined Apr 20, 2004
15,819
Thos crutters are common, inexpensive, have every interface, and the programmers are pretty cheap.

Check the AVR microcontrollers, to - they have cheapo programmers and lots of free software.
 
Top