Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
dsp.h
Go to the documentation of this file.
1#ifndef _DOLPHIN_DSP_H_
2#define _DOLPHIN_DSP_H_
3
4#ifdef __REVOLUTION_SDK__
5#include <revolution/dsp.h>
6#else
7#include <dolphin/os.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef void (*DSPCallback)(void* task);
15
16typedef struct STRUCT_DSP_TASK {
17 /* 0x00 */ volatile u32 state;
18 /* 0x04 */ volatile u32 priority;
19 /* 0x08 */ volatile u32 flags;
20 /* 0x0C */ u16* iram_mmem_addr;
21 /* 0x10 */ u32 iram_length;
22 /* 0x14 */ u32 iram_addr;
23 /* 0x18 */ u16* dram_mmem_addr;
24 /* 0x1C */ u32 dram_length;
25 /* 0x20 */ u32 dram_addr;
26 /* 0x24 */ u16 dsp_init_vector;
28 /* 0x28 */ DSPCallback init_cb;
29 /* 0x2C */ DSPCallback res_cb;
30 /* 0x30 */ DSPCallback done_cb;
31 /* 0x34 */ DSPCallback req_cb;
32 /* 0x38 */ DSPTaskInfo* next;
33 /* 0x3C */ DSPTaskInfo* prev;
34 /* 0x40 */ OSTime t_context;
35 /* 0x48 */ OSTime t_task;
37
42void DSPSendMailToDSP(u32 mail);
43void DSPAssertInt(void);
44void DSPInit(void);
45BOOL DSPCheckInit(void);
46void DSPReset(void);
47void DSPHalt(void);
48void DSPUnhalt(void);
50DECL_WEAK DSPTaskInfo* DSPAddTask(DSPTaskInfo* task);
53
55
56#ifdef __cplusplus
57}
58#endif
59
60#endif
61#endif
u32 DSPCheckMailToDSP(void)
Definition dsp.c:26
void DSPUnhalt(void)
Definition dsp.c:113
void DSPHalt(void)
Definition dsp.c:102
void(* DSPCallback)(void *task)
Definition dsp.h:13
struct STRUCT_DSP_TASK DSPTaskInfo
Definition dsp.h:14
u32 DSPGetDMAStatus(void)
Definition dsp.c:124
void DSPSendMailToDSP(u32 mail)
Definition dsp.c:42
void DSPInit(void)
Definition dsp.c:58
DSPTaskInfo * DSPCancelTask(DSPTaskInfo *task)
Definition dsp.c:145
DECL_WEAK DSPTaskInfo * DSPAddTask(DSPTaskInfo *task)
Definition dsp.c:128
u32 DSPReadMailFromDSP(void)
Definition dsp.c:38
void DSPAssertInt(void)
Definition dsp.c:47
DSPTaskInfo * DSPAssertTask(DSPTaskInfo *task)
Definition dsp.c:158
void DSPReset(void)
Definition dsp.c:90
DSPTaskInfo * __DSPGetCurrentTask(void)
Definition dsp_debug.c:7
u32 DSPReadCPUToDSPMbox(void)
Definition dsp.c:34
BOOL DSPCheckInit(void)
Definition dsp.c:86
u32 DSPCheckMailFromDSP(void)
Definition dsp.c:30
s64 OSTime
Definition os.h:19
int BOOL
Definition types.h:33
unsigned long u32
Definition types.h:12
unsigned short int u16
Definition types.h:10
void(* DSPCallback)(void *task)
Definition dsp.h:10
Definition dsp.h:16
DSPCallback req_cb
Definition dsp.h:31
u16 * dram_mmem_addr
Definition dsp.h:23
DSPCallback res_cb
Definition dsp.h:29
OSTime t_context
Definition dsp.h:34
DSPCallback done_cb
Definition dsp.h:30
OSTime t_task
Definition dsp.h:35
u16 dsp_init_vector
Definition dsp.h:26
volatile u32 flags
Definition dsp.h:19
u32 iram_addr
Definition dsp.h:22
u16 dsp_resume_vector
Definition dsp.h:27
DSPCallback init_cb
Definition dsp.h:28
volatile u32 state
Definition dsp.h:17
DSPTaskInfo * next
Definition dsp.h:32
volatile u32 priority
Definition dsp.h:18
u32 iram_length
Definition dsp.h:21
DSPTaskInfo * prev
Definition dsp.h:33
u16 * iram_mmem_addr
Definition dsp.h:20
u32 dram_length
Definition dsp.h:24
u32 dram_addr
Definition dsp.h:25