You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
USB Gecko communicates with a GameCube or Wii via EXI bus. In essence, EXI bus acts like well known SPI.
Commands
If command names are confusing to you, read them as if you were issuing commands from PC to console i.e. 0xA Receive Byte means "read 1 byte from GC".
These commands were documented by studying Shuriken USB VHDL code. The official USB Gecko and USB Gecko SE supported more commands like 16 bit reads/writes or NOR flash access.
All commands are 4 bits long.
[0xA] Receive Byte (GC <- PC)
Receive 1 byte of data from PC. RX Status bit tells there was data in FIFO. If RX Status = 1 you should discard the data.
Command:
Bit
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
In
1
0
1
0
X
X
X
X
X
X
X
X
X
X
X
Response:
Bit
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Out
X
X
X
1
X
X
X
1
1
1
1
1
1
1
1
RX Status
Data[7]
Data[0]
Bit
Name
Note
Out[11]
RX Status
0: no data, 1: has data
Out[7:0]
Data
Data received from PC
[0xB] Send Byte (GC -> PC)
Send 1 byte of data to PC. TX Status bit tells you if device was ready to accept data. If TX Status = 1 the data could not be written and you should retry.
Command:
Bit
12
11
10
9
8
7
6
5
4
3
2
1
0
In
1
0
1
1
1
1
1
1
1
1
1
1
1
Cmd
Data[7]
Response:
Bit
12
11
10
9
8
7
6
5
4
3
2
1
0
Out
X
X
X
X
1
X
X
X
X
X
X
X
X
TX Status
Bit
Name
Note
Out[11]
TX Status
0: sent, 1: not sent
Out[7:0]
Data
Data received from GC
[0xC] Check TX Status
Checks if PC is ready to accept data.
Command:
Bit
4
3
2
1
0
In
1
1
0
0
X
Response:
Bit
4
3
2
1
0
Out
0
0
0
0
1
TX Status
Bit
Name
Note
Out[0]
RX Status
0: can write, 1: do not write
[0xD] Check RX Status
Checks if there is data from PC available for read.
Command:
Bit
4
3
2
1
0
In
1
1
0
1
X
Response:
Bit
4
3
2
1
0
Out
0
0
0
0
1
RX Status
Bit
Name
Note
Out[0]
RX Status
0: no data, 1: has data
[0xE] Receive and Send Byte (GC <-> PC)
Writes and reads 1 byte of data. RX Status bit tells you there was data on the FIFO. TX Status bit tells you if device was ready to accept data.
Command:
Bit
12
11
10
9
8
7
6
5
4
3
2
1
0
In
1
1
1
0
1
1
1
1
1
1
1
1
1
Cmd
Write[7]
Write[0]
Bit
Name
Note
In[7:0]
Write
Data to be sent to console
Response:
Bit
12
11
10
9
8
7
6
5
4
3
2
1
0
Out
X
X
X
1
1
1
1
1
1
1
1
1
1
RX Status
TX Status
Read[7]
Read[0]
Bit
Name
Note
Out[9]
RX Status
0: no data, 1: has data
Out[8]
TX Status
0: can write, 1: not sent
Out[7:0]
Read
Data received from GC
[0x7] LED Off
Turns off onboard LED.
Command:
Bit
3
2
1
0
In
0
1
1
1
Cmd
[0x7] LED On
Lights up onboard LED.
Command:
Bit
3
2
1
0
In
1
0
0
0
Cmd
[0x9] Identify USB Gecko
This commands identifies the device as USB Gecko. The typical 0x00 EXI command used to identify devices like Memory Cards or Broadband Adapter is not implemented and will return 0x00. You have to use 0x9 USB Gecko specific command to be sure the device is present. Correct response is ID: 0x8E.