13#define SI_COMCSR_IDX 13
14#define SI_STATUS_IDX 14
16#define SI_COMCSR_TCINT_MASK (1 << 31)
17#define SI_COMCSR_TCINTMSK_MASK (1 << 30)
18#define SI_COMCSR_COMERR_MASK (1 << 29)
19#define SI_COMCSR_RDSTINT_MASK (1 << 28)
20#define SI_COMCSR_RDSTINTMSK_MASK (1 << 27)
23#define SI_COMCSR_OUTLNGTH_MASK (1 << 22) \
32#define SI_COMCSR_INLNGTH_MASK (1 << 14) \
41#define SI_COMCSR_CHANNEL_MASK (1 << 2) \
44#define SI_COMCSR_TSTART_MASK (1 << 0)
46#define SI_ERROR_UNDER_RUN 0x0001
47#define SI_ERROR_OVER_RUN 0x0002
48#define SI_ERROR_COLLISION 0x0004
49#define SI_ERROR_NO_RESPONSE 0x0008
50#define SI_ERROR_WRST 0x0010
51#define SI_ERROR_RDST 0x0020
52#define SI_ERROR_UNKNOWN 0x0040
53#define SI_ERROR_BUSY 0x0080
55#define SI_TYPE_MASK 0x18000000u
56#define SI_TYPE_N64 0x00000000u
57#define SI_TYPE_DOLPHIN 0x08000000u
58#define SI_TYPE_GC SI_TYPE_DOLPHIN
59#define SI_GC_WIRELESS 0x80000000
60#define SI_GC_NOMOTOR 0x20000000
61#define SI_GC_STANDARD 0x01000000
62#define SI_WIRELESS_RECEIVED 0x40000000
63#define SI_WIRELESS_IR 0x04000000
64#define SI_WIRELESS_STATE 0x02000000
65#define SI_WIRELESS_ORIGIN 0x00200000
66#define SI_WIRELESS_FIX_ID 0x00100000
67#define SI_WIRELESS_TYPE 0x000f0000
68#define SI_WIRELESS_LITE_MASK 0x000c0000
69#define SI_WIRELESS_LITE 0x00040000
70#define SI_WIRELESS_CONT_MASK 0x00080000
71#define SI_WIRELESS_CONT 0x00000000
72#define SI_WIRELESS_ID 0x00c0ff00
73#define SI_WIRELESS_TYPE_ID (SI_WIRELESS_TYPE | SI_WIRELESS_ID)
74#define SI_N64_CONTROLLER (SI_TYPE_N64 | 0x05000000)
75#define SI_N64_MIC (SI_TYPE_N64 | 0x00010000)
76#define SI_N64_KEYBOARD (SI_TYPE_N64 | 0x00020000)
77#define SI_N64_MOUSE (SI_TYPE_N64 | 0x02000000)
78#define SI_GBA (SI_TYPE_N64 | 0x00040000)
79#define SI_GC_CONTROLLER (SI_TYPE_GC | SI_GC_STANDARD)
80#define SI_GC_RECEIVER (SI_TYPE_GC | SI_GC_WIRELESS)
81#define SI_GC_WAVEBIRD (SI_TYPE_GC | SI_GC_WIRELESS | SI_GC_STANDARD | SI_WIRELESS_STATE | SI_WIRELESS_FIX_ID)
82#define SI_GC_KEYBOARD (SI_TYPE_GC | 0x00200000)
83#define SI_GC_STEERING (SI_TYPE_GC | 0x00000000)
static OSContext context
Definition JUTException.cpp:181
void(* __OSInterruptHandler)(__OSInterrupt interrupt, OSContext *context)
Definition OSInterrupt.h:97
double x double x
Definition e_atan2.c:58
double x double y
Definition e_atan2.c:58
static u32 status
Definition fstload.c:9
s64 OSTime
Definition os.h:16
char * SIGetTypeString(u32 type)
Definition SIBios.c:768
void(*)() SISetSteeringSamplingCallback(void(*callback)())
Definition si.h:168
s32 SIReadSteering(s32 chan, SISteeringStatus *status)
Definition SISteeringAuto.c:31
BOOL SIGetResponse(s32 chan, void *data)
Definition SIBios.c:479
BOOL SIRegisterPollingHandler(__OSInterruptHandler handler)
Definition SIBios.c:222
void SIRefreshSamplingRate(void)
Definition SISamplingRate.c:78
u32 __PADFixBits
Definition SIBios.c:33
u32 SISetXY(u32 x, u32 y)
Definition SIBios.c:402
u32 SIDecodeType(u32 type)
Definition SIBios.c:701
void SIInit(void)
Definition SIBios.c:275
void SIControlSteering(s32 chan, u32 control, s32 level)
Definition SISteeringAuto.c:103
void SIInitSteering(void)
Definition SISteering.c:17
BOOL __SIResetSteering
Definition SISteering.c:13
u32 __SISteeringEnableBits
Definition SISteeringAuto.c:5
BOOL SITransfer(s32 chan, void *output, u32 outputBytes, void *input, u32 inputBytes, SICallback callback, OSTime delay)
Definition SIBios.c:515
u32 SIEnablePolling(u32 poll)
Definition SIBios.c:421
u32 SIDisablePolling(u32 poll)
Definition SIBios.c:446
u32 SIProbe(s32 chan)
Definition SIBios.c:764
void(* SICallback)(s32 chan, u32 sr, OSContext *context)
Definition si.h:85
void(* SISteeringCallback)(s32 chan, s32)
Definition si.h:135
void SISetSamplingRate(u32 msec)
Definition SISamplingRate.c:45
u32 SIGetStatus(s32 chan)
Definition SIBios.c:368
s32 SIResetSteering(s32 chan)
Definition SISteering.c:79
u32 SIGetTypeAsync(s32 chan, SITypeCallback callback)
Definition SIBios.c:672
u32 SIGetType(s32 chan)
Definition SIBios.c:635
s32 SIResetSteeringAsync(s32 chan, SISteeringCallback callback)
Definition SISteering.c:65
BOOL SIUnregisterPollingHandler(__OSInterruptHandler handler)
Definition SIBios.c:247
void(* SITypeCallback)(s32 chan, u32 type)
Definition si.h:86
BOOL SIIsChanBusy(s32 chan)
Definition SIBios.c:48
SISteeringControl __SISteering[4]
Definition SISteering.c:12
BOOL SIBusy(void)
Definition SIBios.c:44
void SISetCommand(s32 chan, u32 command)
Definition SIBios.c:388
u32 SISync(void)
Definition SIBios.c:355
void SITransferCommands(void)
Definition SIBios.c:398
u32 SIGetCommand(s32 chan)
Definition SIBios.c:393
Definition OSContext.h:137
u32 poll
Definition si.h:90
void * input
Definition si.h:92
s32 chan
Definition si.h:89
SICallback callback
Definition si.h:93
u32 inputBytes
Definition si.h:91
void * input
Definition si.h:100
OSTime fire
Definition si.h:103
SICallback callback
Definition si.h:102
s32 chan
Definition si.h:97
u32 outputBytes
Definition si.h:99
void * output
Definition si.h:98
u32 inputBytes
Definition si.h:101
u32 inputBytes
Definition si.h:141
SISteeringCallback callback
Definition si.h:142
s32 ret
Definition si.h:143
u32 outputBytes
Definition si.h:140
OSThreadQueue threadQueue
Definition si.h:144
u8 misc
Definition si.h:150
s8 steering
Definition si.h:151
u8 right
Definition si.h:155
u16 button
Definition si.h:149
u8 left
Definition si.h:154
u8 brake
Definition si.h:153
u8 gas
Definition si.h:152
s8 err
Definition si.h:156
int BOOL
Definition types.h:30
signed char s8
Definition types.h:4
unsigned long u32
Definition types.h:9
unsigned short int u16
Definition types.h:7
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5