From WiiBrew
Jump to navigation Jump to search
GeckoReader & libgeck
Author(s)r-win / giantpune
TypePC utility
Source Included


GeckoReader is a program to be run under Windows that will open a command prompt and output what it reads from a USB gecko. You must have the USB gecko installed, set up the COM drivers, and have .NET 2.0 for this to work properly. Then whatever buffer is sent from the Wii/Gamecube should pop up on the screen.




  • Alternate methods to determine COM port (including WIILOAD environment variable and user entry)
  • Different methods to control the output, like clear window, log to output file, include timestamps, and more
  • Send a file (with optional arguments) to the Wii
  • Quick resend the previous send file including arguments, easy for testing
  • Possibility to send a file from the Wii to the PC, when using libgecko.a
  • Textual progressbar when sending or receiving data

Initial release

  • Use Gecko drivers to determine the correct COM port
  • Prints all output in a console window


Also included is libgecko. It is a very small lib that you can link your programs with that should aid in debugging. Just link this in the makefile with -lgecko and put the .a and .h files in their directories in your devkit folder. Since this is a wrapper for the libogc functions, you need to link that as well. Or you can just copy the .c and .h files to your project and #include them. The gecko must be in slot B.

First use

extern bool geckoinit;

int main(int argc, char **argv) {
    geckoinit = InitGecko();

then you can use

void gprintf(const char *str, ...);

to output to the gecko. This is just a wrapper for the gecko functions already in libogc, but it accepts arguments like printf(). So you can say

gprintf("%s %i", translate("put a number onscreen"), number);




  • Can send a file or data stream to Geckoreader, which will save the buffer as a file
  • Can make a hexdump of a buffer, which is sent through the gecko

Initial release

  • Easy methods to libogc functionality
  • Support variable arguments, like printf, sprintf, etc.