RetroArch
Macros | Typedefs | Functions
si.h File Reference
#include <gctypes.h>
Include dependency graph for si.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SI_CHAN0   0
 
#define SI_CHAN1   1
 
#define SI_CHAN2   2
 
#define SI_CHAN3   3
 
#define SI_MAX_CHAN   4
 
#define SI_CHAN0_BIT   0x80000000
 
#define SI_CHAN1_BIT   0x40000000
 
#define SI_CHAN2_BIT   0x20000000
 
#define SI_CHAN3_BIT   0x10000000
 
#define SI_CHAN_BIT(chn)   (SI_CHAN0_BIT>>(chn))
 
#define SI_ERROR_UNDER_RUN   0x0001
 
#define SI_ERROR_OVER_RUN   0x0002
 
#define SI_ERROR_COLLISION   0x0004
 
#define SI_ERROR_NO_RESPONSE   0x0008
 
#define SI_ERROR_WRST   0x0010
 
#define SI_ERROR_RDST   0x0020
 
#define SI_ERR_UNKNOWN   0x0040
 
#define SI_ERR_BUSY   0x0080
 
#define SI_TYPE_MASK   0x18000000u
 
#define SI_TYPE_N64   0x00000000u
 
#define SI_TYPE_DOLPHIN   0x08000000u
 
#define SI_TYPE_GC   SI_TYPE_DOLPHIN
 
#define SI_GC_WIRELESS   0x80000000u
 
#define SI_GC_NOMOTOR   0x20000000u
 
#define SI_GC_STANDARD   0x01000000u
 
#define SI_WIRELESS_RECEIVED   0x40000000u
 
#define SI_WIRELESS_IR   0x04000000u
 
#define SI_WIRELESS_STATE   0x02000000u
 
#define SI_WIRELESS_ORIGIN   0x00200000u
 
#define SI_WIRELESS_FIX_ID   0x00100000u
 
#define SI_WIRELESS_TYPE   0x000f0000u
 
#define SI_WIRELESS_LITE_MASK   0x000c0000u
 
#define SI_WIRELESS_LITE   0x00040000u
 
#define SI_WIRELESS_CONT_MASK   0x00080000u
 
#define SI_WIRELESS_CONT   0x00000000u
 
#define SI_WIRELESS_ID   0x00c0ff00u
 
#define SI_WIRELESS_TYPE_ID   (SI_WIRELESS_TYPE | SI_WIRELESS_ID)
 
#define SI_N64_CONTROLLER   (SI_TYPE_N64 | 0x05000000)
 
#define SI_N64_MIC   (SI_TYPE_N64 | 0x00010000)
 
#define SI_N64_KEYBOARD   (SI_TYPE_N64 | 0x00020000)
 
#define SI_N64_MOUSE   (SI_TYPE_N64 | 0x02000000)
 
#define SI_GBA   (SI_TYPE_N64 | 0x00040000)
 
#define SI_GC_CONTROLLER   (SI_TYPE_GC | SI_GC_STANDARD)
 
#define SI_GC_RECEIVER   (SI_TYPE_GC | SI_GC_WIRELESS)
 
#define SI_GC_WAVEBIRD   (SI_TYPE_GC | SI_GC_WIRELESS | SI_GC_STANDARD | SI_WIRELESS_STATE | SI_WIRELESS_FIX_ID)
 
#define SI_GC_KEYBOARD   (SI_TYPE_GC | 0x00200000)
 
#define SI_GC_STEERING   (SI_TYPE_GC | 0x00000000)
 

Typedefs

typedef void(* SICallback) (s32, u32)
 
typedef void(* RDSTHandler) (u32, void *)
 

Functions

u32 SI_Sync ()
 
u32 SI_Busy ()
 
u32 SI_IsChanBusy (s32 chan)
 
void SI_EnablePolling (u32 poll)
 
void SI_DisablePolling (u32 poll)
 
void SI_SetCommand (s32 chan, u32 cmd)
 
u32 SI_GetStatus (s32 chan)
 
u32 SI_GetResponse (s32 chan, void *buf)
 
u32 SI_GetResponseRaw (s32 chan)
 
void SI_RefreshSamplingRate ()
 
u32 SI_Transfer (s32 chan, void *out, u32 out_len, void *in, u32 in_len, SICallback cb, u32 us_delay)
 
u32 SI_GetTypeAsync (s32 chan, SICallback cb)
 
u32 SI_GetType (s32 chan)
 
u32 SI_GetCommand (s32 chan)
 
void SI_TransferCommands ()
 
u32 SI_RegisterPollingHandler (RDSTHandler handler)
 
u32 SI_UnregisterPollingHandler (RDSTHandler handler)
 
u32 SI_EnablePollingInterrupt (s32 enable)
 

Macro Definition Documentation

◆ SI_CHAN0

#define SI_CHAN0   0

◆ SI_CHAN0_BIT

#define SI_CHAN0_BIT   0x80000000

◆ SI_CHAN1

#define SI_CHAN1   1

◆ SI_CHAN1_BIT

#define SI_CHAN1_BIT   0x40000000

◆ SI_CHAN2

#define SI_CHAN2   2

◆ SI_CHAN2_BIT

#define SI_CHAN2_BIT   0x20000000

◆ SI_CHAN3

#define SI_CHAN3   3

◆ SI_CHAN3_BIT

#define SI_CHAN3_BIT   0x10000000

◆ SI_CHAN_BIT

#define SI_CHAN_BIT (   chn)    (SI_CHAN0_BIT>>(chn))

◆ SI_ERR_BUSY

#define SI_ERR_BUSY   0x0080

◆ SI_ERR_UNKNOWN

#define SI_ERR_UNKNOWN   0x0040

◆ SI_ERROR_COLLISION

#define SI_ERROR_COLLISION   0x0004

◆ SI_ERROR_NO_RESPONSE

#define SI_ERROR_NO_RESPONSE   0x0008

◆ SI_ERROR_OVER_RUN

#define SI_ERROR_OVER_RUN   0x0002

◆ SI_ERROR_RDST

#define SI_ERROR_RDST   0x0020

◆ SI_ERROR_UNDER_RUN

#define SI_ERROR_UNDER_RUN   0x0001

◆ SI_ERROR_WRST

#define SI_ERROR_WRST   0x0010

◆ SI_GBA

#define SI_GBA   (SI_TYPE_N64 | 0x00040000)

◆ SI_GC_CONTROLLER

#define SI_GC_CONTROLLER   (SI_TYPE_GC | SI_GC_STANDARD)

◆ SI_GC_KEYBOARD

#define SI_GC_KEYBOARD   (SI_TYPE_GC | 0x00200000)

◆ SI_GC_NOMOTOR

#define SI_GC_NOMOTOR   0x20000000u

◆ SI_GC_RECEIVER

#define SI_GC_RECEIVER   (SI_TYPE_GC | SI_GC_WIRELESS)

◆ SI_GC_STANDARD

#define SI_GC_STANDARD   0x01000000u

◆ SI_GC_STEERING

#define SI_GC_STEERING   (SI_TYPE_GC | 0x00000000)

◆ SI_GC_WAVEBIRD

◆ SI_GC_WIRELESS

#define SI_GC_WIRELESS   0x80000000u

◆ SI_MAX_CHAN

#define SI_MAX_CHAN   4

◆ SI_N64_CONTROLLER

#define SI_N64_CONTROLLER   (SI_TYPE_N64 | 0x05000000)

◆ SI_N64_KEYBOARD

#define SI_N64_KEYBOARD   (SI_TYPE_N64 | 0x00020000)

◆ SI_N64_MIC

#define SI_N64_MIC   (SI_TYPE_N64 | 0x00010000)

◆ SI_N64_MOUSE

#define SI_N64_MOUSE   (SI_TYPE_N64 | 0x02000000)

◆ SI_TYPE_DOLPHIN

#define SI_TYPE_DOLPHIN   0x08000000u

◆ SI_TYPE_GC

#define SI_TYPE_GC   SI_TYPE_DOLPHIN

◆ SI_TYPE_MASK

#define SI_TYPE_MASK   0x18000000u

◆ SI_TYPE_N64

#define SI_TYPE_N64   0x00000000u

◆ SI_WIRELESS_CONT

#define SI_WIRELESS_CONT   0x00000000u

◆ SI_WIRELESS_CONT_MASK

#define SI_WIRELESS_CONT_MASK   0x00080000u

◆ SI_WIRELESS_FIX_ID

#define SI_WIRELESS_FIX_ID   0x00100000u

◆ SI_WIRELESS_ID

#define SI_WIRELESS_ID   0x00c0ff00u

◆ SI_WIRELESS_IR

#define SI_WIRELESS_IR   0x04000000u

◆ SI_WIRELESS_LITE

#define SI_WIRELESS_LITE   0x00040000u

◆ SI_WIRELESS_LITE_MASK

#define SI_WIRELESS_LITE_MASK   0x000c0000u

◆ SI_WIRELESS_ORIGIN

#define SI_WIRELESS_ORIGIN   0x00200000u

◆ SI_WIRELESS_RECEIVED

#define SI_WIRELESS_RECEIVED   0x40000000u

◆ SI_WIRELESS_STATE

#define SI_WIRELESS_STATE   0x02000000u

◆ SI_WIRELESS_TYPE

#define SI_WIRELESS_TYPE   0x000f0000u

◆ SI_WIRELESS_TYPE_ID

#define SI_WIRELESS_TYPE_ID   (SI_WIRELESS_TYPE | SI_WIRELESS_ID)

Typedef Documentation

◆ RDSTHandler

typedef void(* RDSTHandler) (u32, void *)

◆ SICallback

typedef void(* SICallback) (s32, u32)

Function Documentation

◆ SI_Busy()

u32 SI_Busy ( )
Here is the caller graph for this function:

◆ SI_DisablePolling()

void SI_DisablePolling ( u32  poll)
Here is the caller graph for this function:

◆ SI_EnablePolling()

void SI_EnablePolling ( u32  poll)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SI_EnablePollingInterrupt()

u32 SI_EnablePollingInterrupt ( s32  enable)
Here is the caller graph for this function:

◆ SI_GetCommand()

u32 SI_GetCommand ( s32  chan)

◆ SI_GetResponse()

u32 SI_GetResponse ( s32  chan,
void buf 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SI_GetResponseRaw()

u32 SI_GetResponseRaw ( s32  chan)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SI_GetStatus()

u32 SI_GetStatus ( s32  chan)
Here is the caller graph for this function:

◆ SI_GetType()

u32 SI_GetType ( s32  chan)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SI_GetTypeAsync()

u32 SI_GetTypeAsync ( s32  chan,
SICallback  cb 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SI_IsChanBusy()

u32 SI_IsChanBusy ( s32  chan)
Here is the caller graph for this function:

◆ SI_RefreshSamplingRate()

void SI_RefreshSamplingRate ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SI_RegisterPollingHandler()

u32 SI_RegisterPollingHandler ( RDSTHandler  handler)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SI_SetCommand()

void SI_SetCommand ( s32  chan,
u32  cmd 
)
Here is the caller graph for this function:

◆ SI_Sync()

u32 SI_Sync ( )
Here is the call graph for this function:

◆ SI_Transfer()

u32 SI_Transfer ( s32  chan,
void out,
u32  out_len,
void in,
u32  in_len,
SICallback  cb,
u32  us_delay 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SI_TransferCommands()

void SI_TransferCommands ( )
Here is the caller graph for this function:

◆ SI_UnregisterPollingHandler()

u32 SI_UnregisterPollingHandler ( RDSTHandler  handler)
Here is the call graph for this function:
Here is the caller graph for this function: