(08-01-2020, 06:14 PM)Brawlbox Wrote: Gamecube Input Value Addresses for all players
...
The addresses of players 2+4 (all regions) are wrong. The last digit must be 8 but not 9:
PAL
Player 1 = 0x80350580
Player 2 = 0x80350588
Player 3 = 0x80350590
Player 4 = 0x80350598
NTSC-U
Player 1 = 0x8034C200
Player 2 = 0x8034C208
Player 3 = 0x8034C210
Player 4 = 0x8034C218
NTSC-J
Player 1 = 0x8034FF00
Player 2 = 0x8034FF08
Player 3 = 0x8034FF10
Player 4 = 0x8034FF18
NTSC-K
Player 1 = 0x8033E580
Player 2 = 0x8033E588
Player 3 = 0x8033E590
Player 4 = 0x8033E598
And here you find the following structures:
Code:
typedef struct gcn_controller_t
{
uint16_t buttons; // 0: Buttons
uint8_t stick_x; // 2: Stick, x-axis
uint8_t stick_y; // 3: Stick, y-axis
uint8_t c_stick_x; // 4: C-Stick, x-axis
uint8_t c_stick_y; // 5: C-Stick, y-axis
uint8_t l; // 6: shoulder L (analog)
uint8_t r; // 7: shoulder R (analog)
// END, offset 0x8
}
__attribute__((packed)) gcn_controller_t;