This library operates the GameCube Controller. Applications for Wii can use the GameCube Controller. This manual describes the GameCube Controller's features and API. See the WPAD Library when using the Wii standard controller.
The GameCube Controller supports these features:
The Wii game console has four GameCube Controller Sockets (Controller Sockets) where GameCube Controllers can be attached. From a hardware standpoint, players are not required to plug Controllers into Controller Sockets in order from left to right. Furthermore, players can plug and unplug Controllers while power to the Wii system is on.
The Wii hardware samples the status of each connected Controller at the interval specified in the program. The video interface controls the timing of Controller sampling (for details, see Video Interface in the Graphics Programmer’s Guide). Controller status is stored in a serial interface register and can be read by the CPU at any time. The GameCube Controller library (PAD) provides a set of function groups for communications between the application and the GameCube Controller.
There are a few changes from the PAD library prepared for the Dolphin SDK. Below is a description of the changes:
The following functions were deleted.
PADSetSamplingRateThis function sets the rate for sampling the Controller information in units of milliseconds. The function was retained in the Dolphin SDK in order to maintain compatibility in the source code, but this time it has been deleted. Use the SISetSamplingRate function from now on.
PADSetSpecThis function specifies the version number of the GameCube Controller that is being used. Because the Wii can only use GameCube Controllers of a set version number, this function has been deleted.
The following functions are no longer supported.
PADSetAnalogModeThis function specifies analog mode for the GameCube Controller that is being used. It has been left in the library in order to maintain extensibility in the types of Controllers that can connect to the Controller Sockets. As of March 1, 2006, there is no need for this function.
PADInit function, be sure to call the VIInit function to initialize the VI. You need to initialize VI using the VIInit function before calling the PADInit function because the Wii video interface (VI) controls the timing at which Controller data is sampled.
First, call the PADInit function to initialize the PAD library.
Use the PADRead function to get the latest Controller status.
The default sampling rate for getting Controller status is initialized so that the program can get the latest Controller status each time the PADRead function is called immediately after a vertical retrace interrupt. This sampling rate can be changed by the SISetSamplingRate function.
PADSetSamplingCallback function to register the Controller sampling callback. The specified callback function is called every time Hollywood finishes sampling Controller data at the rate specified by the SISetSamplingRate function.
PADControlMotor function to control the Rumble feature of the GameCube Controller on the specified channel.
Simple demo programs have been prepared using the PAD library. You can also use them as a reference.
None.
2008/05/08 Deleted notes regarding the UI Tool Version 3.
2006/03/01 Initial version.
CONFIDENTIAL