mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-09 22:11:35 -04:00
dsptask OK
This commit is contained in:
+1
-1
@@ -698,7 +698,7 @@ config.libs = [
|
||||
Object(NonMatching, "JSystem/JAudio/JASOscillator.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/JASDriverTables.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/dspproc.c", extra_cflags="-lang c++ -O4 -func_align 32"),
|
||||
Object(NonMatching, "JSystem/JAudio/dsptask.c", extra_cflags="-lang c++ -O4 -func_align 32"),
|
||||
Object(Matching, "JSystem/JAudio/dsptask.c", extra_cflags="-lang c++ -O4 -func_align 32"),
|
||||
Object(Matching, "JSystem/JAudio/osdsp.c", extra_cflags="-lang c++ -O4 -func_align 32 -str nopool"),
|
||||
Object(Matching, "JSystem/JAudio/osdsp_task.c", extra_cflags="-lang c++ -O4 -func_align 32"),
|
||||
Object(NonMatching, "JSystem/JAudio/JAIAnimation.cpp"),
|
||||
|
||||
@@ -11,7 +11,7 @@ extern DSPTaskInfo* DSP_prior_task;
|
||||
extern "C" void __DSPHandler(int, OSContext*);
|
||||
void DsyncFrame2(u32, u32, u32);
|
||||
void Dsp_Update_Request();
|
||||
bool Dsp_Running_Check();
|
||||
BOOL Dsp_Running_Check();
|
||||
void Dsp_Running_Start();
|
||||
|
||||
#endif /* OSDSP_TASK_H */
|
||||
|
||||
@@ -7,11 +7,10 @@
|
||||
#include "JSystem/JAudio/osdsp.h"
|
||||
#include "JSystem/JAudio/osdsp_task.h"
|
||||
#include "dolphin/dsp.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "global.h"
|
||||
|
||||
/* 8028E860-8028E898 .text DspHandShake__FPv */
|
||||
void DspHandShake(void*) {
|
||||
/* Nonmatching */
|
||||
while (DSPCheckMailFromDSP() == 0) {}
|
||||
DSPReadMailFromDSP();
|
||||
DSPCheckMailFromDSP();
|
||||
@@ -487,13 +486,12 @@ static u8 jdsp[] = {
|
||||
0x80, 0x01, 0x02, 0xBF, 0x00, 0xEB, 0x02, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
static STRUCT_DSP_TASK audio_task;
|
||||
static DSPTaskInfo audio_task ALIGN_DECL(32);
|
||||
|
||||
static u8 AUDIO_YIELD_BUFFER[8192];
|
||||
static u8 AUDIO_YIELD_BUFFER[8192] ALIGN_DECL(32);
|
||||
|
||||
/* 8028E8A0-8028E94C .text DspBoot__FPFPv_v */
|
||||
void DspBoot(void (*param_1)(void*)) {
|
||||
/* Nonmatching */
|
||||
DspInitWork();
|
||||
audio_task.priority = 0xf0;
|
||||
audio_task.iram_mmem_addr = (u16*)(jdsp + 0x80000000);
|
||||
@@ -514,10 +512,9 @@ void DspBoot(void (*param_1)(void*)) {
|
||||
|
||||
/* 8028E960-8028EA48 .text DSPSendCommands2__FPUlUlPFUs_v */
|
||||
int DSPSendCommands2(u32* param_1, u32 param_2, void (*callBack)(u16)) {
|
||||
/* Nonmatching */
|
||||
s32 startWorkStatus;
|
||||
BOOL interruptFlag;
|
||||
s32 i;
|
||||
BOOL interruptFlag;
|
||||
s32 startWorkStatus;
|
||||
|
||||
while (Dsp_Running_Check() == 0) {};
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
|
||||
/* 8028EB80-8028EC04 .text DSPAddTask */
|
||||
DSPTaskInfo* DSPAddTask(DSPTaskInfo* task) {
|
||||
/* Nonmatching */
|
||||
if (DSP_prior_task == NULL) {
|
||||
OSReport("Prior Task is not inited\n");
|
||||
return NULL;
|
||||
@@ -23,8 +22,7 @@ DSPTaskInfo* DSPAddTask(DSPTaskInfo* task) {
|
||||
}
|
||||
|
||||
/* 8028EC20-8028EC9C .text DSPAddPriorTask__FP15STRUCT_DSP_TASK */
|
||||
void DSPAddPriorTask(STRUCT_DSP_TASK* task) {
|
||||
/* Nonmatching */
|
||||
void DSPAddPriorTask(DSPTaskInfo* task) {
|
||||
if (DSP_prior_task != NULL) {
|
||||
OSReport("Already inited prior DSP task\n");
|
||||
return;
|
||||
|
||||
@@ -15,7 +15,6 @@ DSPTaskInfo* DSP_prior_task;
|
||||
|
||||
/* 8028ECA0-8028EFA4 .text __DSPHandler */
|
||||
void __DSPHandler(int interrupt, OSContext* context) {
|
||||
/* Nonmatching */
|
||||
OSContext funcContext;
|
||||
__DSPRegs[5] = ((u16)(__DSPRegs[5]) & ~0x28) | 0x80;
|
||||
OSClearContext(&funcContext);
|
||||
@@ -129,9 +128,8 @@ void Dsp_Update_Request() {
|
||||
}
|
||||
|
||||
/* 8028F060-8028F074 .text Dsp_Running_Check__Fv */
|
||||
bool Dsp_Running_Check() {
|
||||
/* Nonmatching */
|
||||
return DSP_prior_yield == 1;
|
||||
BOOL Dsp_Running_Check() {
|
||||
return DSP_prior_yield == 1 ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8028F080-8028F08C .text Dsp_Running_Start__Fv */
|
||||
|
||||
Reference in New Issue
Block a user