SSBM Decomp
Loading...
Searching...
No Matches
pad.c File Reference
#include <dolphin.h>
#include "__pad.h"
#include "os/__os.h"
#include <dolphin/os.h>
#include <dolphin/pad.h>
#include <dolphin/si.h>

Data Structures

struct  XY

Macros

#define LATENCY   8
#define PAD_ALL

Functions

static u16 GetWirelessID (long chan)
static void SetWirelessID (long chan, u16 id)
static void DoReset (void)
static void PADEnable (long chan)
static void ProbeWireless (long chan)
static void PADProbeCallback (s32 chan, u32 error, OSContext *context)
static void PADDisable (long chan)
static void UpdateOrigin (s32 chan)
static void PADOriginCallback (s32 chan, u32 error, OSContext *context)
static void PADTypeAndStatusCallback (s32 chan, u32 type)
static void PADFixCallback (long unused, unsigned long error, struct OSContext *context)
static void PADResetCallback (long unused, unsigned long error, struct OSContext *context)
int PADReset (unsigned long mask)
BOOL PADRecalibrate (u32 mask)
BOOL PADInit ()
static void PADReceiveCheckCallback (s32 chan, unsigned long error)
void PADSetSamplingRate (unsigned long msec)
void __PADTestSamplingRate (unsigned long tvmode)
void PADControlAllMotors (const u32 *commandArray)
void PADControlMotor (s32 chan, u32 command)
void PADSetSpec (u32 spec)
unsigned long PADGetSpec ()
static void SPEC0_MakeStatus (s32 chan, PADStatus *status, u32 data[2])
static void SPEC1_MakeStatus (s32 chan, PADStatus *status, u32 data[2])
static s8 ClampS8 (s8 var, s8 org)
static u8 ClampU8 (u8 var, u8 org)
static void SPEC2_MakeStatus (s32 chan, PADStatus *status, u32 data[2])
int PADGetType (long chan, unsigned long *type)
BOOL PADSync (void)
void PADSetAnalogMode (u32 mode)
static BOOL OnReset (BOOL f)
static void PADOriginUpdateCallback (s32 chan, u32 error, OSContext *context)
u32 PADRead (struct PADStatus *status)
void SIRefreshSamplingRate (void)
static void SamplingHandler (__OSInterrupt intr, OSContext *arg1)
static PADCallback PADSetSamplingCallback (PADCallback arg0)
BOOL __PADDisableRecalibration (int arg0)

Variables

u16 __OSWirelessPadFixMode
static long ResettingChan = 0x00000020
static unsigned long XPatchBits = 0xF0000000
static unsigned long AnalogMode = 0x00000300
static unsigned long Spec = 0x00000005
static int Initialized
static unsigned long EnabledBits
static unsigned long ResettingBits
static unsigned long RecalibrateBits
static unsigned long WaitingBits
static unsigned long CheckingBits
static unsigned long PendingBits
static unsigned long Type [4]
static struct PADStatus Origin [4]
static u32 WirelessUnk [4]
static void(* MakeStatus )(long, struct PADStatus *, unsigned long *)
static int SamplingRate
static PADCallback SamplingCallback
static OSResetFunctionInfo ResetFunctionInfo
char CmdReadOrigin [1] = "A"
char CmdCalibrate [3] = "B\0\0"
unsigned long __PADFixBits
u8 GameChoice
unsigned long __PADSpec
static XY XYNTSC [12]
static XY XYPAL [12]

Macro Definition Documentation

◆ LATENCY

#define LATENCY   8

◆ PAD_ALL

#define PAD_ALL
Value:
0x0080)
#define PAD_BUTTON_UP
Definition pad.h:27
#define PAD_BUTTON_B
Definition pad.h:32
#define PAD_BUTTON_X
Definition pad.h:33
#define PAD_TRIGGER_Z
Definition pad.h:28
#define PAD_BUTTON_Y
Definition pad.h:34
#define PAD_BUTTON_A
Definition pad.h:31
#define PAD_BUTTON_MENU
Definition pad.h:35
#define PAD_BUTTON_LEFT
Definition pad.h:24
#define PAD_TRIGGER_L
Definition pad.h:30
#define PAD_TRIGGER_R
Definition pad.h:29
#define PAD_BUTTON_DOWN
Definition pad.h:26
#define PAD_BUTTON_RIGHT
Definition pad.h:25

Function Documentation

◆ GetWirelessID()

u16 GetWirelessID ( long chan)
static

◆ SetWirelessID()

void SetWirelessID ( long chan,
u16 id )
static

◆ DoReset()

void DoReset ( void )
static

◆ PADEnable()

void PADEnable ( long chan)
static

◆ ProbeWireless()

void ProbeWireless ( long chan)
static

◆ PADProbeCallback()

void PADProbeCallback ( s32 chan,
u32 error,
OSContext * context )
static

◆ PADDisable()

void PADDisable ( long chan)
static

◆ UpdateOrigin()

void UpdateOrigin ( s32 chan)
static

◆ PADOriginCallback()

void PADOriginCallback ( s32 chan,
u32 error,
OSContext * context )
static

◆ PADTypeAndStatusCallback()

void PADTypeAndStatusCallback ( s32 chan,
u32 type )
static

◆ PADFixCallback()

void PADFixCallback ( long unused,
unsigned long error,
struct OSContext * context )
static

◆ PADResetCallback()

void PADResetCallback ( long unused,
unsigned long error,
struct OSContext * context )
static

◆ PADReset()

int PADReset ( unsigned long mask)

◆ PADRecalibrate()

BOOL PADRecalibrate ( u32 mask)

◆ PADInit()

BOOL PADInit ( )

◆ PADReceiveCheckCallback()

void PADReceiveCheckCallback ( s32 chan,
unsigned long error )
static

◆ PADSetSamplingRate()

void PADSetSamplingRate ( unsigned long msec)

◆ __PADTestSamplingRate()

void __PADTestSamplingRate ( unsigned long tvmode)

◆ PADControlAllMotors()

void PADControlAllMotors ( const u32 * commandArray)

◆ PADControlMotor()

void PADControlMotor ( s32 chan,
u32 command )

◆ PADSetSpec()

void PADSetSpec ( u32 spec)

◆ PADGetSpec()

unsigned long PADGetSpec ( void )

◆ SPEC0_MakeStatus()

void SPEC0_MakeStatus ( s32 chan,
PADStatus * status,
u32 data[2] )
static

◆ SPEC1_MakeStatus()

void SPEC1_MakeStatus ( s32 chan,
PADStatus * status,
u32 data[2] )
static

◆ ClampS8()

s8 ClampS8 ( s8 var,
s8 org )
static

◆ ClampU8()

u8 ClampU8 ( u8 var,
u8 org )
static

◆ SPEC2_MakeStatus()

void SPEC2_MakeStatus ( s32 chan,
PADStatus * status,
u32 data[2] )
static

◆ PADGetType()

int PADGetType ( long chan,
unsigned long * type )

◆ PADSync()

BOOL PADSync ( void )

◆ PADSetAnalogMode()

void PADSetAnalogMode ( u32 mode)

◆ OnReset()

BOOL OnReset ( BOOL f)
static

◆ PADOriginUpdateCallback()

void PADOriginUpdateCallback ( s32 chan,
u32 error,
OSContext * context )
static

◆ PADRead()

u32 PADRead ( struct PADStatus * status)

◆ SIRefreshSamplingRate()

void SIRefreshSamplingRate ( void )

◆ SamplingHandler()

void SamplingHandler ( __OSInterrupt intr,
OSContext * arg1 )
static

◆ PADSetSamplingCallback()

PADCallback PADSetSamplingCallback ( PADCallback arg0)
static

◆ __PADDisableRecalibration()

BOOL __PADDisableRecalibration ( int arg0)

Variable Documentation

◆ __OSWirelessPadFixMode

u16 __OSWirelessPadFixMode

◆ ResettingChan

long ResettingChan = 0x00000020
static

◆ XPatchBits

unsigned long XPatchBits = 0xF0000000
static

◆ AnalogMode

unsigned long AnalogMode = 0x00000300
static

◆ Spec

unsigned long Spec = 0x00000005
static

◆ Initialized

int Initialized
static

◆ EnabledBits

unsigned long EnabledBits
static

◆ ResettingBits

unsigned long ResettingBits
static

◆ RecalibrateBits

unsigned long RecalibrateBits
static

◆ WaitingBits

unsigned long WaitingBits
static

◆ CheckingBits

unsigned long CheckingBits
static

◆ PendingBits

unsigned long PendingBits
static

◆ Type

unsigned long Type[4]
static

◆ Origin

struct PADStatus Origin[4]
static

◆ WirelessUnk

u32 WirelessUnk[4]
static

◆ MakeStatus

void(* MakeStatus) (long, struct PADStatus *, unsigned long *) ( long ,
struct PADStatus * ,
unsigned long *  )
static
Initial value:
=
static void SPEC2_MakeStatus(s32 chan, PADStatus *status, u32 data[2])
Definition pad.c:898

◆ SamplingRate

int SamplingRate
static

◆ SamplingCallback

PADCallback SamplingCallback
static

◆ ResetFunctionInfo

OSResetFunctionInfo ResetFunctionInfo
static
Initial value:
= {
127,
}
static BOOL OnReset(BOOL f)
Definition CARDBios.c:781
#define NULL
Definition stddef.h:19

◆ CmdReadOrigin

char CmdReadOrigin[1] = "A"

◆ CmdCalibrate

char CmdCalibrate[3] = "B\0\0"

◆ __PADFixBits

unsigned long __PADFixBits
extern

◆ GameChoice

u8 GameChoice

◆ __PADSpec

unsigned long __PADSpec

◆ XYNTSC

XY XYNTSC[12]
static
Initial value:
= { { 0xF6, 0x02 }, { 0x0E, 0x13 }, { 0x1E, 0x09 },
{ 0x25, 0x07 }, { 0x34, 0x05 }, { 0x41, 0x04 },
{ 0x57, 0x03 }, { 0x57, 0x03 }, { 0x57, 0x03 },
{ 0x83, 0x02 }, { 0x83, 0x02 }, { 0x83, 0x02 } }

◆ XYPAL

XY XYPAL[12]
static
Initial value:
= { { 0x128, 0x02 }, { 0x0D, 0x18 }, { 0x1A, 0x0C },
{ 0x27, 0x08 }, { 0x34, 0x06 }, { 0x3E, 0x05 },
{ 0x4E, 0x04 }, { 0x68, 0x03 }, { 0x68, 0x03 },
{ 0x68, 0x03 }, { 0x68, 0x03 }, { 0x9C, 0x02 } }