In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "DevkitPPC"

From WiiBrew
Jump to navigation Jump to search
(Update version number. Correct site links. Remove incorrect/incomplete/broken unofficial installation pages/guides in favor of the official one. Remove manual portlib installation instructions.)
 
(39 intermediate revisions by 18 users not shown)
Line 1: Line 1:
{{Infobox homebrewapp
+
{{Lowercase title‎}}
 +
{{Infobox development tools
 
| title      = devkitPPC
 
| title      = devkitPPC
| image      = [[Image:Devkitlogo.png|128px|center]]
+
| image      = [[File:Devkitlogo.png|128px|center]]
| desc      = Homebrew console development tools based on the gnu compiler collection with additional tools and libraries.
+
| type        = library
| type        = Library, Build Tools
+
| maintainer  = WinterMute
| license     = various
+
| version    = r41-2
| source      = [http://www.devkitpro.org/ devkitpro.org]
+
| licence     = Various
| download    = [http://sourceforge.net/projects/devkitpro/ Sourceforge]
+
| 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
 
}}
 
}}
  
'''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 [[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].
+
'''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.
  
==Contents==
+
Instructions for setting up the system are available at the [https://devkitpro.org/wiki/Getting_Started devkitPro website].
The following components distributed by devkitPro are used for GameCube/Wii development:
 
  
===devkitPPC===
+
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.  
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 GNU tools such as a shell.
+
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===
+
=== Ported libraries ===
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.<br>
 
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===
+
The following libraries are available for download from devkitPro pacman, precompiled for use with devkitPPC.
libogc also incorporates the following libraries (which may be custom versions of external libraries):
+
 
*[[asndlib]] - accelerated sound lib using the DSP
+
* Expat - XML parser library
*[[libdb]] - routines to support remote debugging
+
* FreeType - TTF/Type1 font support
*[[libdi]] - allows you to access the DVD drive
+
* libjpeg - JPEG support library
*[[libfat]] - routines for accessing FAT file systems such as those on SD cards; also commonly used with libnds
+
* libpng - PNG support library
*[[libiso9660]] - a devoptab for accessing data DVDs
+
* [[Mini-XML]] - XML library
*[[libmodplay]] - music module player library
+
* libtremor - An integer-only fully Vorbis compliant software decoder library
*[http://www.underbit.com/products/mad/ libmad] - MPEG audio decoder library
+
* zlib - ZIP compression/decompression library
*[[libwiikeyboard]] - a USB keyboard interface library
+
 
*[http://www.sm.luth.se/~conny/lwbt/ lwbt] - lightweight bluetooth stack
+
=== Tools ===
*[http://savannah.nongnu.org/projects/lwip/ lwip] - lightweight TCP/IP stack
 
*[[tinysmb]] - [http://en.wikipedia.org/wiki/Server_Message_Block SMB] implementation (protocol used by Windows file sharing)
 
*[[wiiuse]] - an API for the wiimote (also available on Windows and Linux), which is encapsulated in libogc within the WPAD_ interface
 
*[http://www.zlib.net zlib] - compression routines
 
  
===Tools===
 
 
The following tools are included as well:
 
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 Dhewg.
 
*[[gxtexconv]] - a utility for texture conversion written by Shagkur.
 
  
==See also==
+
* [[doltool]] - a tool for converting to and from [[Dol|.dol]] executable files and examining their contents
*[[Developer Tips]]
+
* [[gcdspsuite]] - an assembler for the gamecube DSP chip written by duddie.
*[[Development Tools]]
+
* [[wiiload]] - a utility for uploading code to the wii written by [[User:dhewg|Dhewg]].
*[[Debugging]]
+
* [[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:Libraries]]
 
[[Category:Development]]
 
[[Category:Development]]

Latest revision as of 19:35, 30 September 2022

devkitPPC
Devkitlogo.png
General
Maintainer(s)WinterMute
TypeLibrary
Versionr41-2
LicenceVarious
Links
Download
Website
Discussion
Source

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 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.

Instructions for setting up the system are available at the devkitPro website.

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.

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

Ported libraries

The following libraries are available for download from devkitPro pacman, precompiled for use with devkitPPC.

  • Expat - XML parser library
  • FreeType - TTF/Type1 font support
  • libjpeg - JPEG support library
  • 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 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.
  • Gcube - a gamecube only emulator for desktop

See also