mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-19 05:22:39 -04:00
dspproc, dsptask, osdsp, osdsp_task
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
#ifndef DSPPROC_H
|
||||
#define DSPPROC_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
void DSPReleaseHalt2(u32);
|
||||
void DSPReleaseHalt();
|
||||
void setup_callback(u16);
|
||||
void DsetupTable(u32, u32, u32, u32, u32);
|
||||
void DsetMixerLevel(f32);
|
||||
void DsyncFrame(u32, u32, u32);
|
||||
void dummy_callback(u16);
|
||||
void DsetDolbyDelay(u32, u16);
|
||||
|
||||
#endif /* DSPPROC_H */
|
||||
@@ -0,0 +1,13 @@
|
||||
#ifndef DSPTASK_H
|
||||
#define DSPTASK_H
|
||||
|
||||
#include "dolphin/dsp.h"
|
||||
|
||||
void DspHandShake(void*);
|
||||
void DspBoot(DSPCallback);
|
||||
int DSPSendCommands2(u32*, u32, void (*)(u16));
|
||||
void DspInitWork();
|
||||
int DspStartWork(u32, void (*)(u16));
|
||||
void DspFinishWork(u16);
|
||||
|
||||
#endif /* DSPTASK_H */
|
||||
@@ -0,0 +1,8 @@
|
||||
#ifndef OSDSP_H
|
||||
#define OSDSP_H
|
||||
|
||||
#include "dolphin/dsp.h"
|
||||
|
||||
void DSPAddPriorTask(STRUCT_DSP_TASK*);
|
||||
|
||||
#endif /* OSDSP_H */
|
||||
@@ -0,0 +1,17 @@
|
||||
#ifndef OSDSP_TASK_H
|
||||
#define OSDSP_TASK_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
typedef struct STRUCT_DSP_TASK DSPTaskInfo;
|
||||
typedef struct OSContext OSContext;
|
||||
|
||||
extern DSPTaskInfo* DSP_prior_task;
|
||||
|
||||
extern "C" void __DSPHandler(int, OSContext*);
|
||||
void DsyncFrame2(u32, u32, u32);
|
||||
void Dsp_Update_Request();
|
||||
bool Dsp_Running_Check();
|
||||
void Dsp_Running_Start();
|
||||
|
||||
#endif /* OSDSP_TASK_H */
|
||||
+16
-6
@@ -4,6 +4,9 @@
|
||||
#include "dolphin/os/OS.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
volatile u16 __DSPRegs[32] : 0xCC005000;
|
||||
volatile u32 __AIRegs[8] : 0xCC006C00;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -47,24 +50,31 @@ typedef struct STRUCT_DSP_TASK {
|
||||
|
||||
} DSPTaskInfo;
|
||||
|
||||
extern DSPTaskInfo* __DSP_tmp_task;
|
||||
extern DSPTaskInfo* __DSP_last_task;
|
||||
extern DSPTaskInfo* __DSP_first_task;
|
||||
extern DSPTaskInfo* __DSP_curr_task;
|
||||
|
||||
u32 DSPCheckMailToDSP();
|
||||
u32 DSPCheckMailFromDSP();
|
||||
u32 DSPReadMailFromDSP();
|
||||
void DSPSendMailToDSP(u32 mail);
|
||||
void DSPAssertInt();
|
||||
void DSPInit();
|
||||
void DSPReset();
|
||||
void DSPHalt();
|
||||
void DSPSendMailToDSP(u32 mail);
|
||||
u32 DSPCheckMailToDSP();
|
||||
u32 DSPCheckMailFromDSP();
|
||||
u32 DSPGetDMAStatus();
|
||||
|
||||
DSPTaskInfo* DSPAddTask(DSPTaskInfo* task);
|
||||
|
||||
void __DSP_exec_task(DSPTaskInfo* curr, DSPTaskInfo* next);
|
||||
void __DSP_boot_task(DSPTaskInfo* task);
|
||||
void __DSP_remove_task(DSPTaskInfo* task);
|
||||
void __DSP_insert_task(DSPTaskInfo* task);
|
||||
void __DSP_add_task(DSPTaskInfo* task);
|
||||
void __DSP_remove_task(DSPTaskInfo* task);
|
||||
void __DSP_debug_printf(const char* fmt, ...);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // _DOLPHIN_DSP
|
||||
#endif // _DOLPHIN_DSP
|
||||
|
||||
Reference in New Issue
Block a user