GameCube Controller (PAD) API Description


Introduction

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.

Changes from the Dolphin SDK

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:

The following functions are no longer supported:

Cautions

Process Flow

Initialize PAD

First, call PADInit to initialize the PAD library.

Obtaining Standard Controller Status

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.

Other

Simple demo programs have been prepared using the PAD library. You can also use them as a reference.

Currently Known Bugs

None.

Revision History

2006/03/01 Initial version.


CONFIDENTIAL