Line 1:
Line 1:
−
'''DevkitPro''' is the toolchain of choice for homebrew development. It is currently available for GameBoy Advance, GP32, Playstation Portable (PSP), GameCube, and Wii. Instructions for setting up the system are available for [[Getting_Started_with_devkitppc|Windows]], [[Getting_started_with_DevkitPPC_on_Mac_OS_X|Mac OSX]] and [[Getting_started_with_DevkitPPC_on_Linux|Linux]]. Additional information and download links can be found at the [http://www.devkitpro.org/ DevkitPro website].
+
{{Lowercase title}}
+
{{Infobox development tools
+
| title = devkitPPC
+
| image = [[File:Devkitlogo.png|128px|center]]
+
| type = library
+
| maintainer = WinterMute
+
| version = r41-2
+
| licence = Various
+
| download = https://devkitpro.org/wiki/Getting_Started
+
| website = https://devkitpro.org/
+
| discussion = https://forums.devkitpro.org/viewforum.php?f=3
+
| source = https://github.com/devkitPro
+
}}
−
==Contents==
+
'''devkitPPC''' 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-eabi". It also includes standard C libraries based on [http://sourceware.org/newlib 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. It is designed to be used in conjunction with [[libogc]], a collection of Wii-specific low-level libraries.
−
DevkitPro consists of several parts, with the following being relevant to Gamecube/Wii development:
−
===devkitPPC===
+
Instructions for setting up the system are available at the [https://devkitpro.org/wiki/Getting_Started devkitPro website].
−
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 [http://sourceware.org/newlib 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 [http://www.mingw.org/msys.shtml MSYS] environment, which is a minimal set of unix-like tools such as a shell.
+
devkitPPC also comes with example source code documents that can be used to base one's project off of. These include examples in audio, graphics, and adding a GUI to a homebrew app.
−
===libogc===
+
For Windows users it comes with the [http://www.mingw.org/wiki/MSYS 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. It includes the following low-level wii/gamecube specific sub-systems:
−
*ARAM
−
*AUDIO
−
*EXI - Support routines for the system bus which connects many internal devices to the CPU
−
*IRQ - Hardware Interrupts
−
*DSP
−
*DVD
−
*GX
−
*VIDEO
−
*Cache
−
*Memory Card
−
*Console
−
*Threads
−
**Messages
−
**Mutexes
−
**Semaphores
−
**Condition Variables
−
Information on many of these sub-systems can be found in [[YAGCD]].
−
===Additional libraries===
+
=== Ported libraries ===
−
It also incorporates the following libraries (which may be custom versions of external libraries):
−
*libdb - routines to support remote debugging
−
*[http://www.wiiuse.net wiiuse] - an API for the wiimote (also available on windows and linux)
−
*libfat - routines for accessing FAT filesystems such as those on SD cards
−
*libmodplay - music module player library
−
*[http://www.underbit.com/products/mad/ libmad] - MPEG audio decoder library
−
*[http://www.zlib.net zlib] - compression routines
−
*libbte - ????
−
*tinysmb - [http://en.wikipedia.org/wiki/Server_Message_Block SMB] implementation (protocol used by Windows file sharing)
+
The following libraries are available for download from devkitPro pacman, precompiled for use with devkitPPC.
−
==See also==
+
* Expat - XML parser library
−
*[[Developer Tips]]
+
* FreeType - TTF/Type1 font support
−
*[[Development Tools]]
+
* libjpeg - JPEG support library
−
*[[Debugging]]
+
* libpng - PNG support library
+
* [[Mini-XML]] - XML library
+
* libtremor - An integer-only fully Vorbis compliant software decoder library
+
* zlib - ZIP compression/decompression library
+
+
=== Tools ===
+
+
The following tools are included as well:
+
+
* [[doltool]] - a tool for converting to and from [[Dol|.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 [[User:dhewg|Dhewg]].
+
* [[gxtexconv]] - a utility for texture conversion written by Shagkur.
+
* [[Gcube]] - a gamecube only emulator for desktop
+
+
== See also ==
+
+
* [[libogc]]
+
* [[Developer Tips]]
+
* [[Development Tools]]
+
* [[Debugging]]
+
+
[[Category:Libraries]]
+
[[Category:Development]]