-
Notifications
You must be signed in to change notification settings - Fork 0
GameCube
Stephen Barrack edited this page Aug 26, 2025
·
21 revisions
| Spec | Details |
|---|---|
| Voltage | 5V, 3.43V |
| Pull-up* | 1kOhm |
| Protocol | Joybus |
* Your microcontroller may include some built in (e.g. Teensy).
- GameCube Controller
- ASCII Keyboard Controller
- Game Boy
- Donkey Kong Bongos
| J1 | Label | OEM color | Description |
|---|---|---|---|
| 1 | VCC2 | blue | 3.43V |
| 2 | VCC1 | yellow | 5V |
| 3 | Data | red | 3.43V |
| 4 | GND | green | See note1 |
| 5 | GND | white | See note1 |
| 6 | GND | black | See note1 |
| Shield | bare | See note1 |
1All grounds are common
GameCube controller pinout guides by Kadano and Ashen.
| J1 | Aiskaer | HK | Komodo | HDE |
|---|---|---|---|---|
| 1 | white | blue | white | blue |
| 2 | green | yellow | brown | black |
| 3 | red | white | yellow | yellow |
| 4 | yellow | red | blue | red |
| 5 | yellow | brown | red | white |
| 6 | black | black | ||
| black |
| Command | Signal | Resonse |
|---|---|---|
| Origin | 0x41 | GC_Origin_t |
| Poll | 0x400300 | GC_Report_t |
| Keyboard scan | 0x54 | GC_Report_t |
| Signal | Game | Frequency |
|---|---|---|
| 0x00 | 15 Hz | |
| 0x400300 | Melee | 120 Hz |
| 0x400300 | Donkey Konga | 1.125 kHz |
typedef union {
uint8_t raw[8];
uint16_t raw16[4];
uint32_t raw32[2];
struct{
uint8_t : 8;
uint8_t dpad : 4;
uint8_t : 4;
};
struct {
uint8_t tl : 1;
uint8_t tr : 1;
uint8_t bl : 1;
uint8_t br : 1;
uint8_t : 4;
}; // bongos, start facing in
struct {
uint8_t a : 1;
uint8_t b : 1;
uint8_t x : 1;
uint8_t y : 1;
uint8_t start : 1;
uint8_t origin : 1;
uint8_t errorLatch : 1;
uint8_t errorStat : 1;
uint8_t dl : 1;
uint8_t dr : 1;
uint8_t dd : 1;
uint8_t du : 1;
uint8_t z : 1;
uint8_t r : 1;
uint8_t l : 1;
uint8_t : 1;
uint8_t sx;
uint8_t sy;
union {
struct {
uint8_t cx;
uint8_t cy;
uint8_t lt;
uint8_t rt;
};
struct {
uint8_t key[3]; // keyboard
uint8_t mic; // bongos
};
};
};
} GC_Report_t;
typedef union {
uint8_t raw[10];
uint16_t raw16[5];
uint32_t raw32[2];
GC_Report_t report;
} GC_Origin_t;- http://www.int03.co.uk/crema/hardware/gamecube/gc-control.html
- https://sites.google.com/site/consoleprotocols/home/nintendo-joy-bus-documentation/joybus-command-list
- https://github.com/NicoHood/Nintendo/blob/master/src/Gamecube.h
- http://hitmen.c02.at/files/yagcd/yagcd/chap9.html#sec9
- https://docs.google.com/spreadsheets/d/1X-F21F838uQRCuYsc7nQoAv6I2dchvXtBSNTf-ZOc9M/edit#gid=0
© 2018-2025 Stephen Barrack