Devkitppc setup (Windows)

From WiiBrew
Jump to: navigation, search

A guide for Mac OS X 10.5.x users can be found here

Introduction

This tutorial aims to:

  • Show you how to setup the devkitppc development environment on a Windows computer
  • Run a hello world example on the include Gcube emulator
  • Set you on the road to creating your own homebrew software to be loaded with the Twilight Hack

Installing devkitPPC

  • Goto this page and download the latest Windows installer.
  • Let it install to the C:\devkitPro\ to make it easier to follow the tutorial for now.
  • When installing it, you can deselect devkitARM and devkitPSP
  • Click next until it finishes installing

Setup your project folder

  • Under no circumstances should you place projects within the devkitPro folder. The windows updater can and will overwrite/delete your files.
  • Create a new folder outside the devkitPro folder, c:\projects\wii for example. This path should not contain spaces.
  • Copy the folder C:\devkitPro\examples\wii\template\ to this new directory and rename it to "helloworld" so that the full path is c:\projects\wii\helloworld\

Compile the Hello World Example

  • Assuming you installed Programmer's Notepad through the installer, double click the .pnproj file in your new project.
  • Click on Tools->make or use the ALT+1 key combination
  • The output window at the bottom will show the build progress

Note: If you are having trouble compiling some programs under Vista (eg. libogc cvs), try unsetting PLATFORM variable. (in msys shell, "unset PLATFORM")

Run the Hello World Example

  • Now, browse to the helloworld folder. There should be a helloworld.dol file here now.
  • Open this file, and when windows asks what program to use, tell it to use C:\devkitpro\emulators\gcube\gcube.exe

The resulting dol should be compatible with the Twilight Hack. Unfortunately dols compiled with CVS libogc and future stable releases will not be compatible with gcube.

Some Code snippets

See also: Developer Tips

libogc provides a jump back to the loader through the standard libc exit function. exit(0) will immediately return, all other values will display a console screen with the exit code.

Links