1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<HTML>
3<HEAD>
4<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
5<META http-equiv="Content-Style-Type" content="text/css">
6<TITLE>Programming Guide</TITLE>
7<BASE target="main">
8<LINK rel="stylesheet" href="CSS/titles2.css">
9</HEAD>
10<BODY>
11<P><FONT color="#ff0000" size="-2">[<FONT color="#ff0000" size="-2"><A href="#OS" target="_self">OS</A></FONT>|<A href="#MEM" target="_self">MEM</A>|<A href="#RSO" target="_self">RSO</A>|<A href="#ARC" target="_self">ARC</A>|<A href="#CX" target="_self">CX</A>|<A href="#ENC" target="_self">ENC</A>|<A href="#FNT" target="_self">FNT</A>|<A href="#SC" target="_self">SC</A>|<A href="#NAND" target="_self">NAND</A>|<A href="#DVD" target="_self">DVD</A>]<BR> [<A href="#WPAD" target="_self">WPAD</A>|<A href="#KPAD" target="_self">KPAD</A>|<A href="#KPADOld" target="_self">KPADOld</A>|<A href="#SI" target="_self">SI</A>|<A href="#PAD" target="_self">PAD</A>|<A href="#EXI" target="_self">EXI</A>|<A href="#CARD" target="_self">CARD</A>]<br> [<A href="#AUDIO" target="_self">Audio</A>|<A href="#MOVIE" target="_self">Movie</A>|<A href="#MIDI" target="_self">MIDI</A>|<A href="#HIO2" target="_self">HIO2</A>|<A href="#DEMO" target="_self">DEMO</A>]<BR> [<A href="#GX" target="_self">GX</A>|<A href="#GD" target="_self">GD</A>|<A href="#MTX" target="_self">MTX</A>|<A href="#TPL" target="_self">TPL</A>|<A href="#VI" target="_self">VI</A>|<A href="#KBD" target="_self">KBD</A>|<A href="#KPR" target="_self">KPR</A>]<br> [<A href="#SAMPLE" target="_self">Samples</A>|<A href="#TOOL" target="_self">Tools</A>]</FONT></P>
12
13<H3><A target="_self" name="OS">Operating System (OS)</A></H3>
14<P>[<B><A href="os/toc.html" target="_self">Full List</A></B>/<A href="os/list.html" target="main"><B>Function List</A></B> /<A href="os/overview.html" target="main"><B>Overview</A></B>]</P>
15<P><A href="os/list.html#Address Conversion">Address Conversion</A><BR> <A href="os/list.html#Alarm">Alarms</A><BR> <A href="os/list.html#Arena">Arenas</A><BR> <A href="os/list.html#Cache">Cache</A><BR> <A href="os/list.html#Error">Errors</A><BR> <A href="os/list.html#Exec">Execution</A><BR> <A href="os/list.html#FastCast">Fast Cast</A><BR> <A href="os/list.html#Font">ROM Font</A><BR> <A href="os/list.html#Idle">Idle Functions</A><BR> <A href="os/list.html#Initialization">Initialization</A><BR> <A href="os/list.html#Interrupt">Interrupts</A><BR> <A href="os/list.html#Memory Allocation">Memory Allocation</A> (MEM library is recommended)<BR> <A href="os/list.html#Relocatable">Relocatable Modules</A> (RSO library can also be used)<BR> <A href="os/list.html#Reset">Reset</A><BR> <A href="os/list.html#Reset Button">Reset Button</A><BR> <A href="os/list.html#Stack">Stack</A><BR> <A href="os/list.html#Stopwatch">Stopwatch</A><BR> <A href="os/list.html#Synchronization">Synchronization</A><BR> <A href="os/list.html#Time">Time</A><BR> <A href="os/list.html#Thread">Threads</A><BR> <A href="os/list.html#ThreadSynchronization">Thread Synchronization</A><BR> <A href="os/list.html#WiiMenu">Transitions to the Wii Menu and NAND Applications</A><BR>
16<HR>
17
18<H3><A target="_self" name="MEM">Memory Management (MEM)</A></H3>
19<P>[<B><A href="mem/toc.html" target="_self">Full List</A></B>/<A href="mem/list.html" target="main"><B>Function List</A></B> /<A href="mem/overview.html" target="main"><B>Overview</A></B>]</P>
20<P>
21<A href="mem/list.html#Heap">Shared Heap</A><BR> <A href="mem/list.html#ExpHeap">Expanded Heap</A><BR> <A href="mem/list.html#FrmHeap">Frame Heap</A><BR> <A href="mem/list.html#UnitHeap">Unit Heap</A><BR> <A href="mem/list.html#Allocator">Memory Allocator</A>
22</P>
23<HR>
24
25<H2><FONT color="#000000"><A target="_self" name="RSO"><FONT color="#000000">Relocatable Module (RSO)</FONT></A></FONT></H2>
26<P>[<B><A href="rso/toc.html" target="_self">Full List</A></B>/<A href="rso/list.html" target="main"><B>Function List</A></B>]</P>
27<HR>
28
29<H3><A target="_self" name="ARC">Archiver (ARC)</A></H3>
30<P>[<B><A href="arc/toc.html" target="_self">Full List</A></B>/<A href="arc/list.html" target="main"><B>Function List</A></B> /<A href="arc/overview.html" target="main"><B>Overview</A></B>]</P>
31<P>
32<A href="arc/list.html#ARC">Functions</A>
33</P>
34<HR>
35
36<H3><A name="CX">Compression/Expansion Library (CX)</A></H3>
37<P>[<B><A href="cx/toc.html" target="_self">Full List</A></B>/<A href="cx/list.html" target="main"><B>Function List</A></B> /<A href="cx/overview.html" target="main"><B>Overview</A></B>]</P>
38<P>
39<A href="cx/list.html#uncompress">Expanding Compressed Data</A>
40</P>
41<HR>
42
43<H3><A name="ENC">Character Code Conversion (ENC)</A></H3>
44<P>[<B><A href="enc/toc.html" target="_self">Full List</A></B>/<A href="enc/list.html" target="main"><B>Function List</A></B> /<A href="enc/overview.html" target="main"><B>Overview</A></B>]</P>
45<P>
46<A href="enc/list.html#Internal Encoding Conversion">Internal Encoding</A><br> <A href="enc/list.html#Check Convertible Encoding">Convertible Encoding Check</A><br> <A href="enc/list.html#Character Encoding Conversion">Character Code Conversion</A><br> <A href="enc/list.html#BOM">BOM</A><br> <A href="enc/list.html#EnumTypes">Enumerated Types</A>
47</P>
48<HR>
49
50<H3><A name="FNT">Wii Bitmap Font (FNT)</A></H3>
51<P>[<B><A href="fnt/toc.html" target="_self">Full List</A></B>/<A href="fnt/list.html" target="main"><B>Function List</A></B> /<A href="fnt/overview.html" target="main"><B>Overview</A></B>]</P>
52<P>
53<A href="fnt/list.html#FNT">Functions</A><br> <A href="fnt/list.html#struct">Types and Structures</A><br>
54</P>
55<HR>
56
57<H3><A target="_self" name="SC">Console Settings (SC)</A></H3>
58<P>[<B><A href="sc/toc.html" target="_self">Full List</A></B>/<A href="sc/list.html" target="main"><B>Function List</A></B> /<A href="sc/overview.html" target="main"><B>Overview</A></B>]</P>
59<P>
60<A href="sc/list.html#Initialize">Initialization</A><BR> <A href="sc/list.html#Manage">Management</A><BR> <A href="sc/list.html#SC">Console Settings</A>
61</P>
62<HR>
63
64<H3><A target="_self" name="NAND">Wii Console NAND Memory (NAND)</A></H3>
65<P>[<B><A href="nand/toc.html" target="_self">Full List</A></B>/<A href="nand/list.html" target="main"><B>Function List</A></B> /<A href="nand/overview.html" target="main"><B>Overview</A></B>]</P>
66<P>
67<A href="nand/list.html#Initialize">Initialization</A><BR> <A href="nand/list.html#File">File Access</A><BR> <A href="nand/list.html#Directory">Directory Access</A><BR> <A href="nand/list.html#File Directory">File/Directory Access</A><BR> <A href="nand/list.html#File System">File System Access</A><BR> <A href="nand/list.html#User Data">User Data Access</A><BR> <A href="nand/list.html#Banner">Banner File-Related</A><BR> <A href="nand/list.html#struct">Types and Structures</A>
68</P>
69<HR>
70
71<H3><A target="_self" name="DVD">Optical Disc Subsystem (DVD)</A></H3>
72<P>[<B><A href="dvd/toc.html" target="_self">Full List</A></B>/<A href="dvd/list.html" target="main"><B>Function List</A></B> /<A href="dvd/overview.html" target="main"><B>Overview</A></B>]</P>
73<P>
74<A href="dvd/list.html#Dvd">Optical Disc</A><BR> <A href="dvd/list.html#Directory Access">Directory Access</A><BR> <A href="dvd/list.html#Priority Control">Priority Control</A><br> <A href="dvd/list.html#User Data Access">User Data Access</A><br> <A href="dvd/list.html#Disk Manage">Disc Management</A><br> <A href="dvd/list.html#Error">Error Handling</A><br> <A href="dvd/list.html#struct">Structures</A><br> <A href="dvd/list.html#Reset">Reset Processing Support</A>
75</P>
76<HR>
77
78<H3><A target="_self" name="WPAD">Standard Controller (WPAD)</A></H3>
79<P>[<B><A href="wpad/toc.html" target="_self">Full List</A></B>/<A href="wpad/list.html" target="main"><B>Function List</A></B> /<A href="wpad/overview.html" target="main"><B>Overview</A></B>]</P>
80<P>
81<A href="wpad/list.html#Wpad">Wii Remote</A><BR> <A href="wpad/list.html#Motor">Rumble Motor</A><BR> <A href="wpad/list.html#Speaker">Speaker</A><BR> <A href="wpad/list.html#Memory">Wii Remote Memory</A><BR> <A href="wpad/list.html#Config">Config</A><BR> <A href="wpad/list.html#struct">Types and Structures</A>
82</P>
83<HR>
84
85<H3><A target="_self" name="KPAD">Standard Controller<br>High-Level Library (KPAD)</A></H3>
86<P>[<B><A href="kpad/toc.html" target="_self">Full List</A></B>/<A href="kpad/list.html" target="main"><B>Function List</A></B> /<A href="kpad/overview.html" target="main"><B>Overview</A></B>]</P>
87<P>
88<A href="kpad/list.html#Kpad">Functions</A><BR> <A href="kpad/list.html#struct">Structures and Unions</A>
89</P>
90<HR>
91
92<H3><A target="_self" name="KPADOld">Standard Controller<br>High-Level Library (Old Version) (KPADOld)</A></H3>
93<P>[<B><A href="kpadOld/toc.html" target="_self">Full List</A></B>/<A href="kpadOld/list.html" target="main"><B>Function List</A></B> /<A href="kpadOld/overview.html" target="main"><B>Overview</A></B>]</P>
94<P>
95<A href="kpadOld/list.html#KpadOld">Functions</A><BR> <A href="kpadOld/list.html#struct">Structures and Unions</A>
96</P>
97<HR>
98
99<H3><A target="_self" name="SI">Serial Interface (SI)</A></H3>
100<P>[<B><A href="si/toc.html" target="_self">Full List</A></B>/<A href="si/list.html" target="main"><B>Function List</A></B> /<A href="si/overview.html" target="main"><B>Overview</A></B>]</P>
101<P>
102<A href="si/list.html#SI">Serial Interface</A>
103</P>
104<HR>
105
106<H3><A target="_self" name="PAD">GameCube Controller (PAD)</A></H3>
107<P>[<B><A href="pad/toc.html" target="_self">Full List</A></B>/<A href="pad/list.html" target="main"><B>Function List</A></B> /<A href="pad/overview.html" target="main"><B>Overview</A></B>]</P>
108<P>
109<A href="pad/list.html#Pad">GameCube Controller</A><BR> <A href="pad/list.html#Motor">Rumble Motor</A><BR> <A href="pad/list.html#struct">Structures</A>
110</P>
111<HR>
112
113<H3><A target="_self" name="EXI">Extended Interface (EXI)</A></H3>
114<P>[<B><A href="exi/toc.html" target="_self">Full List</A></B>/<A href="exi/list.html" target="main"><B>Function List</A></B>]</P>
115<P>
116<A href="exi/list.html#EXI">Expansion Interface</A>
117</P>
118<HR>
119
120<H3><A target="_self" name="CARD">GameCube Memory Card (CARD)</A></H3>
121<P>[<B><A href="card/toc.html" target="_self">Full List</A></B>/<A href="card/list.html" target="main"><B>Function List</A></B> /<A href="card/overview.html" target="main"><B>Overview</A></B>]</P>
122<P>
123<A href="card/list.html#Card">Functions</A><BR> <A href="card/list.html#struct">Data Structures</A>
124</P>
125<HR>
126
127<H3><A name="AUDIO">Audio Subsystem</A></H3>
128<P>
129<A href="ai/AI_API_Menu.html" target="_self">Audio Interface (AI)</A><BR> <A href="ax/AX_API_Menu.html" target="_self">Audio Library (AX)</A><BR> <A href="ax_applications/AX_Apps_API_Menu.html" target="_self">AX Applications</A><BR> <A href="wenc/WENC_API_Menu.html" target="_self">Encoding for the Controller Speaker (WENC)</A><BR> <A href="ax_applications/controller_speaker.html">Playback from the Controller Speaker</A><BR>
130<HR>
131<H3><A name="MOVIE">Movies</A></H3>
132<P>
133<P>[<B><A href="thp/toc.html" target="_self">Full List</A></B>/<A href="thp/list.html" target="main"><B>Function List</A></B>]</P>
134<P>
135<A href="thp/list.html#Low Level">THP Low-Level API</A><BR> <A href="thp/list.html#Common">THP Simple Player/THP Player Common</A><BR> <A href="thp/list.html#Simple Player">THP Simple Player</A><BR> <A href="thp/list.html#Player">THP Player</A><BR> <A href="thp/list.html#Tool">THP Tools API</A><BR> <font size="-1"><A href="thp/list.html#thpcore">thpcore</A></font><BR> <font size="-1"><A href="thp/list.html#thpaudio">thpaudio</A></font><BR> <font size="-1"><A href="thp/list.html#thputilities">thputilities</A></font>
136</P>
137<HR>
138
139<H3><A name="MIDI">MIDI Adapter Library</A></H3>
140<P>[<B><A href="midi/toc.html" target="_self">Full List</A></B>/<A href="midi/list.html" target="main"><B>Function List</A></B> /<A href="midi/overview.html" target="main"><B>Overview</A></B>]</P>
141<P>
142<A href="midi/list.html#MIDI">Functions</A><br>
143</P>
144<HR>
145
146<H3><A name="HIO2">Host I/O Library (HIO2)</A></H3>
147<P>[<B><A href="hio2/toc.html" target="_self">Full List</A></B>/<A href="hio2/list.html" target="main"><B>Function List</A></B> /<A href="hio2/overview.html" target="main"><B>Overview</A></B>]</P>
148<P>
149<A href="hio2/list.html#HIO2">Functions</A><br> <A href="hio2/list.html#struct">Types and Structures</A><br> <A href="hio2/list.html#callback">Callback Functions</A>
150</P>
151<HR>
152
153<H3><A target="_self" name="DEMO">The DEMO Library</A></H3>
154<P>[<B><A href="demo/toc.html" target="_self">Full List</A></B>/<A href="demo/list.html" target="main"><B>Function List</A></B>]</P>
155<HR>
156
157<H3><A target="_self" name="GX">Graphics Library</A></H3>
158<P>[<B><A href="gx/toc.html" target="_self">Full List</A></B>/<A href="gx/list.html" target="main"><B>Function List</A></B> /<A href="gx/overview.html" target="main"><B>Overview</A></B>]</P>
159<P>
160<A href="gx/list.html#Geometry and Vertex">Geometry and Vertices</A><BR> <A href="gx/list.html#Display List">Display List</A><BR> <A href="gx/list.html#Transformation and Matrix">Transformation and Matrices</A><BR> <A href="gx/list.html#Clipping and Culling">Clipping and Culling</A><BR> <A href="gx/list.html#Lighting">Lighting</A><BR> <A href="gx/list.html#Texture Coordinate Generation">Texture Coordinate Generation</A><BR> <A href="gx/list.html#Texture">Texture</A><BR> <A href="gx/list.html#Texture Environment">Texture Environment (TEV)</A><BR> <A href="gx/list.html#Indirect Texturing">Indirect Texture</A><BR> <A href="gx/list.html#Pixel Processing">Pixel Processing</A><BR> <A href="gx/list.html#Framebuffer">Frame Buffer</A><BR> <A href="gx/list.html#CPU Direct EFB Access">CPU Direct EFB Access</A><BR> <A href="gx/list.html#Graphics FIFO">Graphics FIFO</A><BR> <A href="gx/list.html#Graphics Pipeline Management">Graphics Pipeline Management</A><BR> <A href="gx/list.html#Performance Counters">Performance Counters</A><BR> <A href="gx/list.html#Procedural Models">Procedural Models</A><BR> <A href="gx/list.html#Structures">Structures</A><BR> <A href="gx/list.html#EnumTypes">Enumerated Types</A><BR> <A href="gx/list.html#Color Format">Color Format</A></P>
161<HR>
162
163<H3><A name="GD">Graphics<br>Display List (GD)</A></H3>
164<P>[<B><A href="gd/toc.html" target="_self">Full List</A></B>/<A href="gd/list.html" target="main"><B>Function List</A></B> /<A href="gd/overview.html" target="main"><B>Overview</A></B>]</P>
165<P>
166<A href="gd/list.html#GD_base">Basic Functions</A><BR>
167</P>
168<HR>
169
170<H3><A target="_self" name="MTX">Matrix Vector (MTX)</A></H3>
171<P>[<B><A href="mtx/toc.html" target="_self">Full List</A></B>/<A href="mtx/list.html" target="main"><B>Function List</A></B>]</P>
172<P><A href="mtx/list.html#General">General</a><br> <A href="mtx/list.html#Model">Models</a><br> <A href="mtx/list.html#View">Views</a><br> <A href="mtx/list.html#Projection">Projection</a><br> <A href="mtx/list.html#Texture Projection">Texture Projection</a><br> <A href="mtx/list.html#Stack">Stacks</a><br> <A href="mtx/list.html#Vector">Vectors</a><br> <A href="mtx/list.html#Quaternion">Quaternions</a><br> <A href="mtx/list.html#Pairedsingles">Paired Single Operations</a><br> <A href="mtx/list.html#Unit Conversion">Unit Conversion</a><br> <A href="mtx/list.html#Structures">Structures</a><br> <A href="mtx/list.html#Mtx44 Extension">Mtx44 Extension</a></P>
173<HR>
174
175<H3><A target="_self" name="TPL">Texture Palette<br>Library (TPL)</A></H3>
176<P>[<A href="tpl/toc.html" target="_self">Full List</A></B>/<A href="tpl/list.html" target="main"><B>Function List</A></B>]</P>
177<P>
178<A href="tpl/list.html#General">Functions</A><br> <A href="tpl/list.html#Structures">Structures</A><BR>
179</P>
180<HR>
181
182<H3><A target="_self" name="VI">Video Interface Library</A></H3>
183<P>[<B><A href="vi/toc.html" target="_self">Full List</A></B>/<A href="vi/list.html" target="main"><B>Function List</A></B> /<A href="vi/overview.html" target="main"><B>Overview</A></B>]</P>
184<P>
185<A href="vi/list.html#VI">Functions</A>
186</P>
187<HR>
188
189<H3><A target="_self" name="KBD">Keyboard (KBD)</A></H3>
190<P>[<B><A href="kbd/toc.html" target="_self">Full List</A></B>/<A href="kbd/list.html" target="main"><B>Function List</A></B> /<A href="kbd/intro.html" target="main"><B>Overview</A></B>]</P>
191<P>
192<A href="kbd/list.html#Init_Exit">Initialization and Termination</A><br> <A href="kbd/list.html#Sync">Synchronous Input</A><br> <A href="kbd/list.html#Async">Asynchronous Input</A><br> <A href="kbd/list.html#Translate">Conversion</A><br> <A href="kbd/list.html#Country">Country Settings</A><br> <A href="kbd/list.html#Keyboard_State">Keyboard Status</A><br>
193</P>
194<HR>
195
196<H3><A target="_self" name="KPR">Key Processing (KPR)</A></H3>
197<P>[<B><A href="kpr/toc.html" target="_self">Full List</A></B>/<A href="kpr/list.html" target="main"><B>Function List</A></B> /<A href="kpr/intro.html" target="main"><B>Overview</A></B>]</P>
198<P>
199<A href="kpr/list.html#Init">Initialization</A><br> <A href="kpr/list.html#Process">Management/Processing</A><br>
200</P>
201<HR>
202
203<H3><A target="_self" name="SAMPLE">Sample Demos</A></H3>
204<P>GX Sample Demos<BR> [<B><A href="gx/sampledemos/gxdemos.html" target="_self">Full List</A></B>/<A href="gx/sampledemos/sampledemos.html" target="main"><B>Demo Screen List</B></A>]</P>
205<P>
206<A href="./os/sampledemos/osdemos.html">OS Sample Demos</A><BR> <A href="./mem/demos.html">MEM Sample Demos</A><BR> <A href="./cx/demos.html">CX Sample Demos</A><BR> <A href="./enc/sampledemos/encdemos.html">ENC Sample Demos</A><BR> <A href="./ax_applications/sampledemos/axdemos.html">AX Sample Demos</A><BR> <A href="./ax_applications/sampledemos/spdemo.html">SP Sample Demos</A><BR> <A href="./vi/sampledemos/videmos.html">VI Sample Demos</A><BR> <A href="./dvd/sampledemos/dvddemos.html">DVD Sample Demos</A><BR> <A href="./wpad/sampledemos/demos.html">WPAD Sample Demos</A><BR> <A href="./kpad/sampledemos/demos.html">KPAD Sample Demos</A><BR> <A href="./kpadOld/sampledemos/demos.html">KPADOld Sample Demos</A><BR> <A href="./pad/sampledemos/paddemos.html">PAD Sample Demos</A><BR> <A href="./card/sampledemos/carddemos.html">CARD Sample Demos</A><BR> <A href="./os/sampledemos/reldemo.html">Relocatable Module Sample</A><BR> <A href="./gd/sampledemos/gddemos.html">GD Sample Demos</A><BR> <A href="hio2/demos/demos.html">HIO2 Sample Demos</A><BR> <A href="./nand/sampledemos/demos.html">NAND Sample Demos</A><BR> <A href="./sc/sampledemos/demos.html">SC Sample Demos</A><BR> <A href="./midi/demos.html">MIDI Adapter Sample Demos</A></P>
207<HR>
208
209<H3><A name="TOOL">Tools and Commands</A></H3>
210<P>[<B><A href="tools/toc.html" target="_self">Full List</A></B>/<A href="tools/list.html" target="main"><B>Function List</A></B> /<A href="tools/overview.html" target="main"><B>Overview</A></B>]</P>
211<P>
212<A href="tools/list.html#Devkit Sysmenu">Development Console Settings</A><br> <A href="tools/list.html#Wii Remote">Wii Remote Tools</A><br> <A href="tools/list.html#Memory Card">GameCube Memory Card Tools</A><br> <A href="tools/list.html#REL Module">Relocatable Module System Tools</A><br> <A href="tools/list.html#Config">Configuration Script</A><br> <A href="tools/list.html#Converter">Converter from elf to dol</A><br> <A href="tools/list.html#Compress">Compression Tools</A><br> <A href="tools/list.html#Archiver">Archiver</A>
213</P>
214<HR>
215<P><BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR>
216</P>
217<hr><p>CONFIDENTIAL</p></body>
218</HTML>