Archive for the ‘Wii Programming Tutorials’ Category

Tutorial 3: Controller input

Sunday, August 24th, 2008

Welcome to the third Wii programming tutorial that will cover the gamecube/Wii controller interaction and using gcube. I’m going to assume that you’ve read the previous 2 tutorials. You can grab the PDF of this tutorial here: codemii-tutorial-3

Firstly download this tutorial3-blank zip file which will contain some standard source code, the makefile and the programmer’s notepad project file. Extract this zip file in C:\devkitPro\examples\gamecube. Open up tutorial3.pnproj which is the programmer’s notepad project file, expand the source directory and then click on main.c to show the source code.

Tutorial 2: Makefiles, basics of C, compiling source code and dealing with errors

Saturday, August 16th, 2008

This second tutorial will cover makefiles, a very basic run down of the C programming language, compiling source code using the template examples found in DevKitPro and dealing with compiling errors. This tutorial came out way longer than I expected and I’m hoping to keep other tutorials shorter than this one. You can grab the PDF of this tutorial here: codemii-tutorial-2.

When you’re compiling source code, the program that does the compiling needs to know what to compile, which libraries to include, compiling options, optimisations, etc and this is what a makefile is used for.


Tutorial 1: Setting up the environment

Sunday, August 10th, 2008

This is the first tutorial of programming for the Wii and it will cover setting up our environment. These tutorials will be as detailed as I can make them and will try to cover different programming subjects. You can grab the PDF of this tutorial here: codemii-tutorial-1.

Our first step in order to code for the Wii is to set up the programming environment and for this we are required to download DevKitPro. DevKitPro is a compilation of compilers, useful applications and example source code which will all be set up for us at a click of a button. For those wondering what a compiler is, a compiler is an application which can convert our code into a machine executable format.

So let’s go to, select Downloads then select Windows Installer. This will take you to the sourceforge devkitpro page where you should click on the .exe file to download it. At the time of writing this tutorial it is devkitProUpdater-1.4.7.exe. Save the file somewhere on your computer and then run it.

Once in the installer, say yes to downloading and installing files and yes to keeping the files we download. When it gets to the screen where it’s asking you which components you want to install, you only need to check the minimal system box, devkitPPC box and Programmer’s notepad box. PPC (PowerPC) is the computer hardware which our compiler will compile our source code to. Leave the installation directory as c:\devkitpro.

So now we’ve set up the programming environment which was pretty simple wasn’t it?

I will give you a run down of the things included in DevKitPro that will be useful for us.

Firstly we have Programmers Notepad (devkitpro/Programmers Notepad) which is where we will be writing our code in. Programmers notepad makes things a whole lot easier for us by using syntax highlighting, showing line numbers, grouping files into a project, etc.

The next application we have is called gcube (devkitpro/emulators/gcube) which is a gamecube emulator. This application is quite handy as you can test most of the code that you develop on it. I find it much easier when writing code to test things out on gcube instead of having to turn on the Wii and test it that way. I used gcube to test out the two homebrew games that I made, which were Simon and Matching Cards.

The last thing that is handy is the gamecube and Wii example source code (devkitpro/examples). The source code gives us a template which we can start our applications on. Example source code for the gamecube includes how to access the dvd, memory card, network, etc.

In the next tutorial I’ll cover Makefiles, compiling your first source using the template example, dealing with errors and a very basic run down on the C programming language.