From WiiBrew
Jump to navigation Jump to search

Template:Infobox homebrewapp

devkitPro is a project that produces toolchains for homebrew development which target several popular consoles including Game Boy Advance, DS, and GP32 (devkitARM); PlayStation Portable (PSP) (devkitPSP); and GameCube and Wii (devkitPPC). Instructions for setting up the system are available for Windows, Mac OSX and Linux. Additional information and download links can be found at the devkitPro website.


The following components distributed by devkitPro are used for GameCube/Wii development:


This is a port of the GNU Compiler Collection (GCC) and includes a C (gcc) and C++ compiler (g++), a debugger (gdb) and associated utilities, with the architecture "powerpc-gekko". It also includes standard C libraries based on newlib, which is specifically designed for embedded systems. Compilers and libraries are also included for the MN10200, the Matsushita (Panasonic) chip used in the Wii DVD controller.

For Windows users it comes with the MSYS environment, which is a minimal set of GNU tools such as a shell.


libogc is a collection of libraries for the GameCube and Wii. This collection of libraries was originally written by shagkur for the GameCube and has been developed over the past 6 years.
It includes the following low-level wii/gamecube specific sub-systems:

  • ARAM
  • EXI - Support routines for the system bus which connects many internal devices to the CPU
  • IRQ - Hardware Interrupts
  • DSP
  • DVD
  • GX
  • Cache
  • Memory Card
  • Console
  • Threads
    • Messages
    • Mutexes
    • Semaphores
    • Condition Variables

Information on many of these sub-systems can be found in YAGCD.

Additional libraries

libogc also incorporates the following libraries (which may be custom versions of external libraries):

  • asndlib - accelerated sound lib using the DSP
  • libdi - allows you to access the DVD drive
  • libdb - routines to support remote debugging
  • Wiiuse - an API for the wiimote (also available on Windows and Linux), which is encapsulated in libogc within the WPAD_ interface
  • libfat - routines for accessing FAT file systems such as those on SD cards; also commonly used with libnds
  • libmodplay - music module player library
  • libmad - MPEG audio decoder library
  • zlib - compression routines
  • lwbt - lightweight bluetooth stack
  • lwip - lightweight TCP/IP stack
  • tinysmb - SMB implementation (protocol used by Windows file sharing)


The following tools are included as well:

  • doltool - a tool for converting to and from .dol executable files and examining their contents
  • gcdspsuite - an assembler for the gamecube DSP chip written by duddie.
  • wiiload - a utility for uploading code to the wii written by Dhewg.
  • gxtexconv - a utility for texture conversion written by Shagkur.

See also