Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
exi.h
Go to the documentation of this file.
1#ifndef _REVOLUTION_EXI_H_
2#define _REVOLUTION_EXI_H_
3
4#include <revolution/os.h>
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10#define EXI_MEMORY_CARD_59 0x00000004
11#define EXI_MEMORY_CARD_123 0x00000008
12#define EXI_MEMORY_CARD_251 0x00000010
13#define EXI_MEMORY_CARD_507 0x00000020
14
15#define EXI_MEMORY_CARD_1019 0x00000040
16#define EXI_MEMORY_CARD_2043 0x00000080
17
18#define EXI_MEMORY_CARD_1019A 0x00000140
19#define EXI_MEMORY_CARD_1019B 0x00000240
20#define EXI_MEMORY_CARD_1019C 0x00000340
21#define EXI_MEMORY_CARD_1019D 0x00000440
22#define EXI_MEMORY_CARD_1019E 0x00000540
23#define EXI_MEMORY_CARD_1019F 0x00000640
24#define EXI_MEMORY_CARD_1019G 0x00000740
25
26#define EXI_MEMORY_CARD_2043A 0x00000180
27#define EXI_MEMORY_CARD_2043B 0x00000280
28#define EXI_MEMORY_CARD_2043C 0x00000380
29#define EXI_MEMORY_CARD_2043D 0x00000480
30#define EXI_MEMORY_CARD_2043E 0x00000580
31#define EXI_MEMORY_CARD_2043F 0x00000680
32#define EXI_MEMORY_CARD_2043G 0x00000780
33
34#define EXI_USB_ADAPTER 0x01010000
35#define EXI_NPDP_GDEV 0x01020000
36
37#define EXI_MODEM 0x02020000
38#define EXI_ETHER 0x04020200
39#define EXI_MIC 0x04060000
40#define EXI_AD16 0x04120000
41#define EXI_RS232C 0x04040404
42#define EXI_ETHER_VIEWER 0x04220001
43#define EXI_STREAM_HANGER 0x04130000
44
45#define EXI_MARLIN 0x03010000
46
47#define EXI_IS_VIEWER 0x05070000
48
49#define EXI_READ 0
50#define EXI_WRITE 1
51
52#define EXI_FREQ_1M 0
53#define EXI_FREQ_2M 1
54#define EXI_FREQ_4M 2
55#define EXI_FREQ_8M 3
56#define EXI_FREQ_16M 4
57#define EXI_FREQ_32M 5
58
59typedef void (*EXICallback)(s32 chan, OSContext* context);
60typedef struct EXIControl {
64 volatile u32 state;
65 int immLen;
66 u8* immBuf;
67 u32 dev;
68 u32 id;
69 s32 idTime;
70 int items;
71 struct {
72 u32 dev;
74 } queue[3];
76
77extern const u32 __EXIFreq;
78
80
81void EXIInit(void);
82BOOL EXILock(s32 channel, u32 device, EXICallback callback);
83BOOL EXIUnlock(s32 channel);
84BOOL EXISelect(s32 channel, u32 device, u32 frequency);
85BOOL EXIDeselect(s32 channel);
86BOOL EXIImm(s32 channel, void* buffer, s32 length, u32 type, EXICallback callback);
87BOOL EXIImmEx(s32 channel, void* buffer, s32 length, u32 type);
88BOOL EXIDma(s32 channel, void* buffer, s32 length, u32 type, EXICallback callback);
89BOOL EXISync(s32 channel);
90BOOL EXIProbe(s32 channel);
91s32 EXIProbeEx(s32 channel);
93BOOL EXIDetach(s32 channel);
94u32 EXIGetState(s32 channel);
95s32 EXIGetID(s32 channel, u32 device, u32* id);
96void EXIProbeReset(void);
97int EXISelectSD(s32 chan, u32 dev, u32 freq);
98s32 EXIGetType(s32 chan, u32 dev, u32* type);
99char* EXIGetTypeString(u32 type);
100
102void EXIWait(void);
103BOOL EXIWriteReg(s32 chan, u32 dev, u32 exiCmd, void* reg, s32 size);
104BOOL EXIReadRam(s32 chan, u32 dev, u32 exiCmd, void* buffer, s32 size, EXICallback callback);
105BOOL EXIWriteRam(s32 chan, u32 dev, u32 exiCmd, void* buffer, s32 size, EXICallback callback);
106
107#ifdef __cplusplus
108}
109#endif
110
111#endif
static OSTime buffer
Definition ai.c:24
BOOL EXISync(s32 channel)
Definition EXIBios.c:183
s32 EXIProbeEx(s32 channel)
Definition EXIBios.c:322
BOOL EXILock(s32 channel, u32 device, EXICallback callback)
Definition EXIBios.c:627
EXICallback EXISetExiCallback(s32 channel, EXICallback callback)
Definition EXIBios.c:235
BOOL EXIImmEx(s32 channel, void *buffer, s32 length, u32 type)
Definition EXIBios.c:132
BOOL EXIImm(s32 channel, void *buffer, s32 length, u32 type, EXICallback callback)
Definition EXIBios.c:92
int EXISelectSD(s32 chan, u32 dev, u32 freq)
Definition EXIBios.c:401
void EXIInit(void)
Definition EXIBios.c:595
void(* EXICallback)(s32 chan, OSContext *context)
Definition exi.h:62
BOOL EXIAttach(s32 channel, EXICallback callback)
Definition EXIBios.c:356
BOOL EXIUnlock(s32 channel)
Definition EXIBios.c:662
BOOL EXIDeselect(s32 channel)
Definition EXIBios.c:479
struct EXIControl EXIControl
BOOL EXIDma(s32 channel, void *buffer, s32 length, u32 type, EXICallback callback)
Definition EXIBios.c:150
BOOL EXIProbe(s32 channel)
Definition EXIBios.c:309
BOOL EXISelect(s32 channel, u32 device, u32 frequency)
Definition EXIBios.c:440
unsigned int size
Definition __os.h:106
int BOOL
Definition types.h:33
unsigned long u32
Definition types.h:12
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
BOOL EXIDetach(s32 channel)
Definition EXIBios.c:376
BOOL EXIWriteReg(s32 chan, u32 dev, u32 exiCmd, void *reg, s32 size)
Definition EXICommon.c:19
const u32 __EXIFreq
Definition EXICommon.c:5
BOOL EXIReadRam(s32 chan, u32 dev, u32 exiCmd, void *buffer, s32 size, EXICallback callback)
Definition EXICommon.c:57
void EXIWait(void)
Definition EXICommon.c:11
char * EXIGetTypeString(u32 type)
Definition EXIBios.c:821
s32 EXIGetID(s32 channel, u32 device, u32 *id)
Definition EXIBios.c:703
void EXIProbeReset(void)
Definition EXIBios.c:256
void(* EXICallback)(s32 chan, OSContext *context)
Definition exi.h:59
s32 EXIGetConsoleType(void)
Definition EXICommon.c:7
u32 EXIGetState(s32 channel)
Definition EXIBios.c:690
BOOL EXIWriteRam(s32 chan, u32 dev, u32 exiCmd, void *buffer, s32 size, EXICallback callback)
Definition EXICommon.c:86
s32 EXIGetType(s32 chan, u32 dev, u32 *type)
Definition EXIBios.c:778
static void callback(u32 param_0)
Definition OSExec.c:308
Definition exi.h:63
int immLen
Definition exi.h:68
EXICallback exiCallback
Definition exi.h:64
s32 idTime
Definition exi.h:72
u8 * immBuf
Definition exi.h:69
int items
Definition exi.h:73
u32 id
Definition exi.h:71
EXICallback callback
Definition exi.h:76
EXICallback extCallback
Definition exi.h:66
struct EXIControl::@175 queue[3]
volatile u32 state
Definition exi.h:67
EXICallback tcCallback
Definition exi.h:65
u32 dev
Definition exi.h:70
Definition OSContext.h:140