This library operates the GameCube Controller. Applications for Revolution can use the GameCube Controller. This manual describes the GameCube Controller's features and API. See the WPAD Library when using the Revolution Standard Controller.
Important:Avoid using the PAD library and WPAD library for UI Tool version 3 simultaneously. Doing so can lead to system instability. The WPAD library for UI Tool version 3 can obtain data from the GameCube Controller as well as from the Revolution Standard Controller, but this feature is limited. (The ability to obtain data from the GameCube Controller is provided for debugging.) For details, see WPAD Library Precautions.
The GameCube Controller supports these features:
The Revolution game console has four GameCube Controller ports (Controller Ports) where GameCube Controllers can be attached. From a hardware standpoint, players are not required to plug Controllers into the Controller Ports in order from left to right. Furthermore, players can plug and unplug Controllers while power to the Revolution system is on.
The Revolution hardware samples the status of each connected Controller at the interval specified in the program. The video interface controls when Controllers are sampled. (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:
This 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 instead.
This function specifies the version number of the GameCube Controller that is being used. Because the Revolution can only use GameCube Controllers of a set version number, this function has been deleted.
The following functions are no longer supported:
This function specifies analog mode for the GameCube Controller that is being used. It has been left in the library in order to maintain expandability in the types of Controllers that can connect to the Revolution Controller Port. 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 VIInit before calling PADInit because the Revolution video interface (VI) controls the timing at which Controller data is sampled.
First, call PADInit 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 completes the sampling of Controller data at the rate specified by SISetSamplingRate.
PADControlMotor function to control the vibrations of the GameCube Controller in the specified channel.
Simple demo programs have been prepared using the PAD library. You can also use them as a reference.
None.
2006/03/01 Initial version.
CONFIDENTIAL