USB Gecko API Information (Console) USB Gecko uses a custom hardware protocol which is controlled by EXI (External Interface) commands being sent to the memory card port in either the Gamecube or Wii console. As the memory card slot is available on both Gamecube and Wii it allows a high speed serial connection between both the console and the PC All USB functions can be found in file usb.c, all flash functions can be found in flash.c USB EXI Functions: USB
Check Gecko This function checks to see if the USB Gecko is connected and will return 1 if it is connected, or return 0 if no ideas found. It is recommended to use at the start of programs before using the USB Flush function. USB
Flush This function will flush any remaining data from the FIFO buffer in the USB chip, it is recommend to use at the start of all programs after the USB Check Gecko function to avoid any unwanted data. USB
Send Byte This function sends a byte to the PC via the exi bus, if the byte was sent the function returns 1, else will return 0. USB
Receive Byte This function receives a byte from the PC via the exi bus, if the byte was received it will return 1, else will return 0. USB
Send Buffer This simple function sends data held in a buffer to the PC, pointer to the buffer and size of buffer is required. Checking the FIFO isnt required when sending buffers to PC. USB
Receive Buffer This function receives data from the PC to pointed buffer, it also performs an extra check status call so the FIFO on the USB chip doesn't overflow without any overhead. This allows developers to make routines without having to make extra checks or checksums for packet loss ect. USB
Check Send Status This function checks to see if the FIFO is ok to send a byte to the PC, it isn't really needed. USB
Check Receive Status This functions checks to see if it is ok to receive data from the PC and that buffer is not full, it is required in most cases to avoid packet loss and dropping, this saves having to retry packets and other things associated with USB, the USB Receive buffer fuctions calls this function to be safe when receiving data. USB Flash Functions: Flash
Chip Erase This function will erase the chip. This needs to be called before programming. Flash
Program Byte This function allows you to program a byte at the flash address given. Flash
Verify This function will verify the chip, by checking the manufacture and device ID's. It is not required but could be useful. Note: The flash used in the USB Gecko is SST 39VF040. Datasheet can be found on the website www.usbgecko.com |