diff --git a/configure.py b/configure.py index b261008d9..656f27d11 100644 --- a/configure.py +++ b/configure.py @@ -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"), diff --git a/include/JSystem/JAudio/osdsp_task.h b/include/JSystem/JAudio/osdsp_task.h index 116d51e73..0000efd03 100644 --- a/include/JSystem/JAudio/osdsp_task.h +++ b/include/JSystem/JAudio/osdsp_task.h @@ -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 */ diff --git a/src/JSystem/JAudio/dsptask.c b/src/JSystem/JAudio/dsptask.c index 61407e70f..ef0b1849e 100644 --- a/src/JSystem/JAudio/dsptask.c +++ b/src/JSystem/JAudio/dsptask.c @@ -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) {}; diff --git a/src/JSystem/JAudio/osdsp.c b/src/JSystem/JAudio/osdsp.c index 3eaf3db10..0dd72f40d 100644 --- a/src/JSystem/JAudio/osdsp.c +++ b/src/JSystem/JAudio/osdsp.c @@ -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; diff --git a/src/JSystem/JAudio/osdsp_task.c b/src/JSystem/JAudio/osdsp_task.c index 595388bd4..67e70ab9b 100644 --- a/src/JSystem/JAudio/osdsp_task.c +++ b/src/JSystem/JAudio/osdsp_task.c @@ -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 */