SSBM Decomp
Loading...
Searching...
No Matches
si.h
Go to the documentation of this file.
1
#ifndef _DOLPHIN_SI_H_
2
#define _DOLPHIN_SI_H_
3
4
#define PAD_CHAN0_BIT 0x80000000
5
#define PAD_CHAN1_BIT 0x40000000
6
#define PAD_CHAN2_BIT 0x20000000
7
#define PAD_CHAN3_BIT 0x10000000
8
9
#define SI_ERROR_UNDER_RUN 0x0001
10
#define SI_ERROR_OVER_RUN 0x0002
11
#define SI_ERROR_COLLISION 0x0004
12
#define SI_ERROR_NO_RESPONSE 0x0008
13
#define SI_ERROR_WRST 0x0010
14
#define SI_ERROR_RDST 0x0020
15
#define SI_ERROR_UNKNOWN 0x0040
16
#define SI_ERROR_BUSY 0x0080
17
18
#define SI_TYPE_MASK 0x18000000u
19
#define SI_TYPE_N64 0x00000000u
20
#define SI_TYPE_DOLPHIN 0x08000000u
21
#define SI_TYPE_GC SI_TYPE_DOLPHIN
22
#define SI_GC_WIRELESS 0x80000000
23
#define SI_GC_NOMOTOR 0x20000000
24
#define SI_GC_STANDARD 0x01000000
25
#define SI_WIRELESS_RECEIVED 0x40000000
26
#define SI_WIRELESS_IR 0x04000000
27
#define SI_WIRELESS_STATE 0x02000000
28
#define SI_WIRELESS_ORIGIN 0x00200000
29
#define SI_WIRELESS_FIX_ID 0x00100000
30
#define SI_WIRELESS_TYPE 0x000f0000
31
#define SI_WIRELESS_LITE_MASK 0x000c0000
32
#define SI_WIRELESS_LITE 0x00040000
33
#define SI_WIRELESS_CONT_MASK 0x00080000
34
#define SI_WIRELESS_CONT 0x00000000
35
#define SI_WIRELESS_ID 0x00c0ff00
36
#define SI_WIRELESS_TYPE_ID (SI_WIRELESS_TYPE | SI_WIRELESS_ID)
37
#define SI_N64_CONTROLLER (SI_TYPE_N64 | 0x05000000)
38
#define SI_N64_MIC (SI_TYPE_N64 | 0x00010000)
39
#define SI_N64_KEYBOARD (SI_TYPE_N64 | 0x00020000)
40
#define SI_N64_MOUSE (SI_TYPE_N64 | 0x02000000)
41
#define SI_GBA (SI_TYPE_N64 | 0x00040000)
42
#define SI_GC_CONTROLLER (SI_TYPE_GC | SI_GC_STANDARD)
43
#define SI_GC_RECEIVER (SI_TYPE_GC | SI_GC_WIRELESS)
44
#define SI_GC_WAVEBIRD \
45
(SI_TYPE_GC | SI_GC_WIRELESS | SI_GC_STANDARD | SI_WIRELESS_STATE | SI_WIRELESS_FIX_ID)
46
#define SI_GC_KEYBOARD (SI_TYPE_GC | 0x00200000)
47
#define SI_GC_STEERING (SI_TYPE_GC | 0x00000000)
48
49
#define SI_MAX_CHAN 4
50
51
typedef
void (*
SICallback
)(
s32
chan,
u32
sr,
OSContext
*context);
52
typedef
void (*
SITypeAndStatusCallback
)(
s32
chan,
u32
type);
53
54
BOOL
SITransfer
(
s32
chan,
void
*output,
u32
outputBytes,
void
*input,
u32
inputBytes,
55
SICallback
callback
,
OSTime
delay);
56
u32
SIGetCommand
(
long
chan);
57
u32
SIEnablePolling
(
u32
poll);
58
u32
SIDisablePolling
(
u32
poll);
59
u32
SISetXY
(
u32
x,
u32
y);
60
void
SITransferCommands
(
void
);
61
BOOL
SIBusy
(
void
);
62
63
64
#endif
// _DOLPHIN_SI_H_
SITypeAndStatusCallback
void(* SITypeAndStatusCallback)(long chan, unsigned long type)
Definition
OSSerial.h:30
BOOL
int BOOL
Definition
types.h:20
u32
unsigned long u32
Definition
types.h:9
callback
static void callback(HSD_GObj *gobj)
Definition
ftDk_SpecialLw.c:90
s32
signed long s32
Definition
hsd_3B2B.h:1
OSTime
s64 OSTime
Definition
os.h:10
SIGetCommand
u32 SIGetCommand(long chan)
SISetXY
u32 SISetXY(u32 x, u32 y)
SITransfer
BOOL SITransfer(s32 chan, void *output, u32 outputBytes, void *input, u32 inputBytes, SICallback callback, OSTime delay)
SIEnablePolling
u32 SIEnablePolling(u32 poll)
SIDisablePolling
u32 SIDisablePolling(u32 poll)
SICallback
void(* SICallback)(s32 chan, u32 sr, OSContext *context)
Definition
si.h:51
SIBusy
BOOL SIBusy(void)
SITransferCommands
void SITransferCommands(void)
OSContext
Definition
OSContext.h:138
extern
dolphin
include
dolphin
si.h
Generated by
1.15.0