PAD is the Dolphin/Revolution SDK's library for handling GameCube controllers.

PADSetSpec

The "PADSetSpec" function identifies controller revisions by a version number, exposing early revisions of the controller.

#define PAD_SPEC_0 0 // bread board (ver 0.x)

#define PAD_SPEC_1 1 // initial prototypes (ver 1.0)

#define PAD_SPEC_2 2 // final controllers (ver 3.0 FPGA)

#define PAD_SPEC_3 3 // DS3

#define PAD_SPEC_4 4 // DS4

#define PAD_SPEC_5 5 // DS5

The "bread board" version and the DS4/DS5 have been found by collectors.