Shop OBEX P1 Docs P2 Docs Learn Events
Gamecube Controller — Parallax Forums

Gamecube Controller

Michael PopoloskiMichael Popoloski Posts: 42
edited 2007-03-06 19:13 in Propeller 1
I would like to interface the Propeller with some spare Gamecube controllers I have lying around, but I can't seem to figure out how to get/make a connector for the cable. I have browsed Google and found information regarding the protocal, commands, rumble, pinouts, etc., but how do I actually connect to the cable?

I don't suppose anyone has any Gamecube controller interconnects for sale anywhere, as they are propietary connectors. How should I go about doing it? I would like to avoid splicing wires into the controller itself, so that I could potentially use the controller for something else.
«1

Comments

  • BergamotBergamot Posts: 185
    edited 2007-02-22 20:37
    You can find Gamecube Controller -> USB adapters online for pretty cheap, which combined with the Vinculum HID profile should theoretically work. In reality, who knows.

    If you just want to hack apart the cable (without damaging the controller), buy a Gamecube controller extension cable.
  • Michael PopoloskiMichael Popoloski Posts: 42
    edited 2007-02-22 20:55
    I saw those converters, but wouldn't that be much slower than just finding a way to use the cable in the first place? it makes sense to me because the signal is getting converted to USB and then converted right back. Maybe I can just be the extension cable and rip the connector out of that?
  • CJCJ Posts: 470
    edited 2007-02-22 21:12
    I just so happen to have a project on the back burner for hooking up a standard cube controller to a propeller, requires some tight assembly code though. I should be able to do it, the playstation to SNES code went well,

    gamestop/ebgames should have the extentions, as well as ebay

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Who says you have to have knowledge to use it?

    I've killed a fly with my bare mind.
  • Michael PopoloskiMichael Popoloski Posts: 42
    edited 2007-02-22 21:32
    I don't believe the actual reading code should be very difficult at all, its almost the same as the NES controller from the HYDRA book, just with more bits being sent. The problem I am having is getting the actual *physical* connection to the Propeller. After that, I believe it will be rather simple.
  • CJCJ Posts: 470
    edited 2007-02-22 22:06
    it is actually a ratio based async signal, with timings in the microsecond range, not really close to the NES protocol, if you work with it, just be sure to not drive the line, run open collector with a pullup to 3.3

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Who says you have to have knowledge to use it?

    I've killed a fly with my bare mind.
  • Michael PopoloskiMichael Popoloski Posts: 42
    edited 2007-02-22 22:19
    Oh? I haven't examined it myself, but I found some information on the internet about the connection and how to do simple reads. I'm not really a hardware guru, more of a programmer guy, but what is a "ratio based async signal"? All the information I found on the controller was here: www.int03.co.uk/crema/hardware/gamecube/gc-control.htm
  • CJCJ Posts: 470
    edited 2007-02-22 22:26
    1 and 0 are indicated with a low pulse either 1 or 3 microseconds in length, and there is not clock signal which is where the "async"ronus comes from,

    I'm gonna see if I can make a nice tidy driver to run it, probably a little bit later tonight

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Who says you have to have knowledge to use it?

    I've killed a fly with my bare mind.
  • Michael PopoloskiMichael Popoloski Posts: 42
    edited 2007-02-22 22:32
    I see. Still, you can just decode the incoming values rather easily, right? And unlike the NES, instead of pulsing the clock/latch whenever you want data, you just have to be ready for it because the controller will just keep sending it?
  • CJCJ Posts: 470
    edited 2007-02-22 22:34
    you send the command on the same line using the same type of signalling, then the controller responds, that is what you have to be ready for

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Who says you have to have knowledge to use it?

    I've killed a fly with my bare mind.
  • Michael PopoloskiMichael Popoloski Posts: 42
    edited 2007-02-22 22:35
    Ok, sounds good. Hopefully you will release your driver? It will be nice to see how you do this.
  • CJCJ Posts: 470
    edited 2007-02-22 22:46
    that's the plan, the propeller is about ease of development and sharing, I'm just doing my part to make the propeller the most kickassembly chip around

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Who says you have to have knowledge to use it?

    I've killed a fly with my bare mind.
  • CJCJ Posts: 470
    edited 2007-02-23 03:40
    progress is grand, got the transmit code talking to the controller, and the controller is talking back!!!!! so glad I got that BSLA when they were on sale, next is the receive code

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Who says you have to have knowledge to use it?

    I've killed a fly with my bare mind.
  • Dennis FerronDennis Ferron Posts: 480
    edited 2007-02-23 04:12
    I wonder if the N64 controller uses a similar protocol to the gamecube? N64 controllers have always been my favorite. Mabye it's because I have small hands (for guy) but fairly long fingers for the size of my palms - the N64 controllers fit my hands better than most controllers do.
  • CJCJ Posts: 470
    edited 2007-02-23 04:30
    the protocol is pretty much the same, I will be able to reuse assembly code snippets

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Who says you have to have knowledge to use it?

    I've killed a fly with my bare mind.
  • lnielsenlnielsen Posts: 72
    edited 2007-02-23 14:18
    I am very interested in adding an interface for a wireless controller for my Propeller/Bioloid robots (I will also use this with my HYDRA'ish ProtoBoard). I am currently leaning towards a PlayStation unit because they are fairly simple to interface. I wish the Rokenbok controllers were wireless because I could use the LED feedback to show which servo you are controlling. My current thoughts are that I would hack a wireless plug to build the Propeller receiver.

    Does anyone know...
    • Will the wireless signal that close to the propeller chip cause any issues?
    • Is there a standard for the wireless communications to these controllers?
    • What is the best controller for this purpose?
    • Is there any one vendor's wireless plug that is more hackable than the others?
    • I know there were some posts about using the Propeller as a RF transmitter... Can I get the Propeller to act as the receiver?
    Thanks,
    Len
  • CJCJ Posts: 470
    edited 2007-02-23 14:45
    here it is, one nice little GC controller driver. had to use both counters to capture the ratiometric data coming in at about 250kbps!!.
    one in POS detector, and one in NEG detector, then to get the bit it took just a simple compare, so it should work at 40Mhz rather than requiring full speed to keep up.

    enjoy! smile.gif

    edit: see my latest post with the LSB bug fix

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Parallax Forums - If you're ready to learn, we're ready to help.

    Post Edited (CJ) : 3/5/2007 11:31:29 PM GMT
  • BergamotBergamot Posts: 185
    edited 2007-02-23 14:49
    Nice!

    Now we just need to find a flexible Bluetooth chip that'll let us write a Wiimote driver smilewinkgrin.gif
  • boeboyboeboy Posts: 301
    edited 2007-02-23 15:22
    Could you make a n64 driver i am not that good with the asm yet but I would like to use one of the 4 controlers lying around the house here is a site wher the protocal is http://www.mixdown.ca/n64dev/ and here is the pin out http://www5a.biglobe.ne.jp/~bungo/n64_dpp/N64 controller.htm

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    lets see what this does... KA BOOM (note to self do not cross red and black)
  • CJCJ Posts: 470
    edited 2007-02-23 16:51
    I would, but I only have two controllers and no extension to hack, and my dead n64 is buried under about 4 feet of snow

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Who says you have to have knowledge to use it?

    I've killed a fly with my bare mind.
  • Jim FouchJim Fouch Posts: 395
    edited 2007-02-23 18:25
    Len,

    I have a project that I use a wireless PS2 controller to control a robotic camera mount. I'm using the SX to it, but I'm sure it could be ported to the Prop pretty easily. Let me know if you want the SX/B code I use.

    Thanks,

    Jim

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Jim Fouch

    FOUCH SOFTWARE
  • Michael PopoloskiMichael Popoloski Posts: 42
    edited 2007-02-23 19:59
    Use the Wireless wavebird controllers for gamecube. I am always amazed at how well they perform, and you have the code for them right from CJ.
  • CJCJ Posts: 470
    edited 2007-02-23 20:35
    I actually have to scope more of the signal the GC uses to talk to the WB, the command is the same, but I think there is some setup that needs to be done before the receiver will spill the beans

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Who says you have to have knowledge to use it?

    I've killed a fly with my bare mind.
  • boeboyboeboy Posts: 301
    edited 2007-02-23 21:17
    For the n64 you can just stick bred board wires in the holes

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    lets see what this does... KA BOOM (note to self do not cross red and black)

    Post Edited (boeboy) : 2/23/2007 11:29:46 PM GMT
  • mahjonggmahjongg Posts: 141
    edited 2007-03-04 15:41
    Michael.

    to come back to your original question, you could use a tiny piece of double sided copper clad PCB of the kind that you can buy if you want to etch your own PCB.
    Cut out a rectangle of it so that the small side of the rectangle is just wide enough to fit inside the gamecube connector.
    With a sharp knife you can the cut out small grooves along the long side of the rectangle in the copper, so that on one side of the board the copper is divided in two strips, and on the other side into three strips, each copper strip corresponding with the connector pins inside the gamecube connector. The side where the copper is divided into two strips corresponds to the side with the one missing pin (Pin 5). Now you can solder wires to the end of each copper strip, and you are ready.

    Only, the danger is that you will put in this "connector" the wrong way around, and this will "blow up" your gamecube controller!
    So you either have to be -very- careful when using this connector, or you need to fix it so that it's physically impossible to insert the connector the wrong way around. To do that you need to make a mechanical insertion block with a second piece of PCB parallel to the connector, but a few mm apart, so that it slide over the cutout of the circular gamecube plug, but prevents the insertion of the connector the wrong way around.

    But maybe it's much easier to just buy a gamecube to USB adapter, and cannibalize it's connector.

    Martin de jong (mahjongg)
  • CJCJ Posts: 470
    edited 2007-03-04 19:46
    I still recommend hacking an extention cable.

    gonna make a simple demo for the driver and upload the whole package to the object exchange.

    boeboy, I just got an N64 extention cable, so Soon!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Parallax Forums - If you're ready to learn, we're ready to help.
  • Michael PopoloskiMichael Popoloski Posts: 42
    edited 2007-03-04 22:58
    I haven't gotten this far in my project yet, but have you figured out how to make the Wavebird wireless controllers work?

    Also, I haven't tried it yet, but we are looking at picking up a Wii, which would make our Gamecube obsolete, so I am going to see what I can do with the connectors on that.
  • boeboyboeboy Posts: 301
    edited 2007-03-04 23:00
    Thank you CJ

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    lets see what this does... KA BOOM (note to self do not cross red and black)
  • CJCJ Posts: 470
    edited 2007-03-04 23:32
    the wavebird seems to require some setup commands to be sent before it will respond and testing the strings I have is gonna be a real pain, the bsla software does not seem to like my computer's overclocking and locks up at the slightest thing. I will probably work on the wavebird more in a week or so, I feel like taking a break from the tough stuff and work on the N64 driver, which if all goes well will be availible in a few hours. smile.gif

    I think the Wii controller is gonna take someone with experience with bluetooth, which I lack. I may have to check out the nunchuck or classic controller though. cool bits those.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Parallax Forums - If you're ready to learn, we're ready to help.
  • CJCJ Posts: 470
    edited 2007-03-05 23:25
    Fixed a bug in the receive code that was killing the LSB of each data LONG

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Parallax Forums - If you're ready to learn, we're ready to help.
  • BergamotBergamot Posts: 185
    edited 2007-03-06 19:13
    CJ said...
    I think the Wii controller is gonna take someone with experience with bluetooth, which I lack. I may have to check out the nunchuck or classic controller though. cool bits those.
    Well if anyone with decent BT experience shows up, pretty much the entire datastream has been reverse-engineered.
Sign In or Register to comment.