// // Generated By: dol2asm // Translation Unit: JASAudioThread // #include "dol2asm.h" #include "dolphin/types.h" #include "JSystem/JAudio2/JASAudioThread.h" // // Types: // struct JKRHeap { }; struct JKRThread { /* 802D1610 */ // False False // JKRHeap* False // JKRHeap False // u32 False // int False // int False JKRThread(JKRHeap*, u32, int, int); /* 802D1758 */ // False False ~JKRThread(); }; struct JASProbe { /* 80290EE4 */ // False False // s32 False // char const* False // char const False // char False void start(s32, char const*); /* 80290F24 */ // False False // s32 False void stop(s32); }; template struct JASMemPool_MultiThreaded { }; /* JASMemPool_MultiThreaded */ struct JASMemPool_MultiThreaded__template2 { /* 802978DC */ // False True ~JASMemPool_MultiThreaded__template2(); }; struct JASGenericMemPool { /* 80290848 */ // False False JASGenericMemPool(); /* 802908C8 */ // False False // u32 False // int False void newMemPool(u32, int); }; struct JASDsp { /* 8029D958 */ // False False // void (*)(void*) False // * False // False // void False // void* False // void False void boot(void (*)(void*)); /* 8029D9C4 */ // False False // u16 False void finishWork(u16); /* 8029DAC8 */ // False False void initBuffer(); }; struct JASDriver { /* 8029C388 */ // False False // void (*)(void) False // * False // False // void False // void False void initAI(void (*)(void)); /* 8029C4E4 */ // False False void startDMA(); /* 8029C504 */ // False False void stopDMA(); /* 8029C568 */ // False False void updateDac(); /* 8029C6C4 */ // False False void updateDSP(); /* 8029C900 */ // False False void finishDSPFrame(); /* 8029E2F8 */ // False False void updateDacCallback(); }; struct JASDSPChannel { /* 8029D3C8 */ // False False void initAll(); }; struct JASAudioThread { /* 8029CCDC */ // True False // int False // int False // u32 False JASAudioThread(int, int, u32); /* 8029CD4C */ // False False // s32 False void create(s32); /* 8029CDC0 */ // False False void stop(); /* 8029CDEC */ // True False void run(); /* 8029CF68 */ // True False void DMACallback(); /* 8029CFBC */ // True False // void* False // void False void DSPCallback(void*); /* 8029D028 */ // True False ~JASAudioThread(); }; // // Forward References: // // True False // int False // int False // u32 False extern "C" void __ct__14JASAudioThreadFiiUl(); // False False // s32 False extern "C" void create__14JASAudioThreadFl(); // False False extern "C" void stop__14JASAudioThreadFv(); // True False extern "C" void run__14JASAudioThreadFv(); // True False extern "C" void DMACallback__14JASAudioThreadFv(); // True False // void* False // void False extern "C" void DSPCallback__14JASAudioThreadFPv(); // True False extern "C" void __dt__14JASAudioThreadFv(); extern "C" extern char const* const JASAudioThread__stringBase0; extern "C" extern void* __vt__14JASAudioThread[4]; extern "C" extern u8 snIntCount__14JASAudioThread[4 + 4 /* padding */]; // // External References: // // False False // void* False // void False // u32 False // JKRHeap* False // JKRHeap False // int False void* operator new(u32, JKRHeap*, int); // False False // void False // void* False // void False void operator delete(void*); // False False extern "C" void __ct__17JASGenericMemPoolFv(); // False False // u32 False // int False extern "C" void newMemPool__17JASGenericMemPoolFUli(); // False False // s32 False // char const* False // char const False // char False extern "C" void start__8JASProbeFlPCc(); // False False // s32 False extern "C" void stop__8JASProbeFl(); // False True extern "C" void func_802978DC(); // False False // void (*)(void) False // * False // False // void False // void False extern "C" void initAI__9JASDriverFPFv_v(); // False False extern "C" void startDMA__9JASDriverFv(); // False False extern "C" void stopDMA__9JASDriverFv(); // False False extern "C" void updateDac__9JASDriverFv(); // False False extern "C" void updateDSP__9JASDriverFv(); // False False extern "C" void finishDSPFrame__9JASDriverFv(); // False False extern "C" void initAll__13JASDSPChannelFv(); // False False // void (*)(void*) False // * False // False // void False // void* False // void False extern "C" void boot__6JASDspFPFPv_v(); // False False // u16 False extern "C" void finishWork__6JASDspFUs(); // False False extern "C" void initBuffer__6JASDspFv(); // False False extern "C" void updateDacCallback__9JASDriverFv(); // False False // void* False // void False // u32 False // JKRHeap* False // JKRHeap False // int False extern "C" void* __nw__FUlP7JKRHeapi(); // False False // void False // void* False // void False extern "C" void __dl__FPv(); // False False // JKRHeap* False // JKRHeap False // u32 False // int False // int False extern "C" void __ct__9JKRThreadFP7JKRHeapUlii(); // False False extern "C" void __dt__9JKRThreadFv(); // False False extern "C" void OSDisableInterrupts(); // False False extern "C" void OSRestoreInterrupts(); // False False extern "C" void OSSendMessage(); // False False extern "C" void OSReceiveMessage(); // False False extern "C" void OSJamMessage(); // False False extern "C" void OSInitThreadQueue(); // False False extern "C" void OSExitThread(); // False False extern "C" void OSResumeThread(); // False False extern "C" void OSSleepThread(); // False False extern "C" void DSPCheckMailFromDSP(); // False False extern "C" void DSPReadMailFromDSP(); // False False extern "C" void __register_global_object(); extern "C" extern u8 data_80431B34[16 + 4 /* padding */]; extern "C" extern u8 data_80450B8C[4]; extern "C" extern u8 JASDram[4]; extern "C" extern u8 struct_80451260[8]; extern "C" extern u8 sSystemHeap__7JKRHeap[4]; extern "C" extern u8 sCurrentHeap__7JKRHeap[4]; // // Declarations: // /* ############################################################################################## */ /* 803C78E0-803C78F0 0010+00 s=2 e=0 z=0 None .data __vt__14JASAudioThread */ SECTION_DATA void* __vt__14JASAudioThread[4] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__14JASAudioThreadFv, (void*)run__14JASAudioThreadFv, }; /* 8029CCDC-8029CD4C 0070+00 s=1 e=0 z=0 None .text __ct__14JASAudioThreadFiiUl */ // 8029CCF8: 80451210 (JASDram) // 8029CD04: 802D1610 (__ct__9JKRThreadFP7JKRHeapUlii) // 8029CD14: 80450B8C (data_80450B8C) // 8029CD18: 803C78E0 (__vt__14JASAudioThread) // 8029CD1C: 803C78E0 (__vt__14JASAudioThread) // 8029CD30: 80340C74 (OSInitThreadQueue) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // int False // int False // u32 False asm JASAudioThread::JASAudioThread(int param_0, int param_1, u32 param_2) { nofralloc #include "asm/JSystem/JAudio2/JASAudioThread/__ct__14JASAudioThreadFiiUl.s" } #pragma pop /* 8029CD4C-8029CDC0 0074+00 s=0 e=1 z=0 None .text create__14JASAudioThreadFl */ // 8029CD64: 80451210 (JASDram) // 8029CD6C: 802CEC98 (__nw__FUlP7JKRHeapi) // 8029CD84: 8029CCDC (__ct__14JASAudioThreadFiiUl) // 8029CD8C: 80451370 (sSystemHeap__7JKRHeap) // 8029CD9C: 80451374 (sCurrentHeap__7JKRHeap) // 8029CDA8: 803417B4 (OSResumeThread) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // s32 False asm void JASAudioThread::create(s32 param_0) { nofralloc #include "asm/JSystem/JAudio2/JASAudioThread/create__14JASAudioThreadFl.s" } #pragma pop /* 8029CDC0-8029CDEC 002C+00 s=0 e=1 z=0 None .text stop__14JASAudioThreadFv */ // 8029CDD8: 8033EB98 (OSJamMessage) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void JASAudioThread::stop() { nofralloc #include "asm/JSystem/JAudio2/JASAudioThread/stop__14JASAudioThreadFv.s" } #pragma pop /* ############################################################################################## */ /* 8039B338-8039B360 0013+15 s=2 e=0 z=0 None .rodata @stringBase0 */ #pragma push #pragma force_active on #pragma section ".dead" SECTION_DEAD char const* const stringBase_8039B338 = "SFR_DSP"; SECTION_DEAD char const* const stringBase_8039B340 = "UPDATE-DAC"; /* @stringBase0 padding */ SECTION_DEAD static char const* const pad_8039B34B = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; #pragma pop /* 80431C68-80431C78 000C+04 s=1 e=0 z=0 None .bss @205 */ static u8 lit_205[12 + 4 /* padding */]; /* 804512D8-804512E0 0004+04 s=1 e=2 z=0 None .sbss snIntCount__14JASAudioThread */ u8 snIntCount__14JASAudioThread[4 + 4 /* padding */]; /* 8029CDEC-8029CF68 017C+00 s=1 e=0 z=0 None .text run__14JASAudioThreadFv */ // 8029CE30: 8029CF68 (DMACallback__14JASAudioThreadFv) // 8029CE34: 8029CF68 (DMACallback__14JASAudioThreadFv) // 8029CE38: 8029C388 (initAI__9JASDriverFPFv_v) // 8029CE3C: 8029CFBC (DSPCallback__14JASAudioThreadFPv) // 8029CE40: 8029CFBC (DSPCallback__14JASAudioThreadFPv) // 8029CE44: 8029D958 (boot__6JASDspFPFPv_v) // 8029CE48: 8029DAC8 (initBuffer__6JASDspFv) // 8029CE4C: 8029D3C8 (initAll__13JASDSPChannelFv) // 8029CE50: 80451262 (struct_80451260) // 8029CE5C: 80431B34 (data_80431B34) // 8029CE60: 80431B34 (data_80431B34) // 8029CE64: 80290848 (__ct__17JASGenericMemPoolFv) // 8029CE68: 80431B34 (data_80431B34) // 8029CE6C: 80431B34 (data_80431B34) // 8029CE70: 802978DC (func_802978DC) // 8029CE74: 802978DC (func_802978DC) // 8029CE78: 80431C68 (lit_205) // 8029CE7C: 80431C68 (lit_205) // 8029CE80: 80361C24 (__register_global_object) // 8029CE88: 80451262 (struct_80451260) // 8029CE8C: 8033D6F4 (OSDisableInterrupts) // 8029CE94: 80431B34 (data_80431B34) // 8029CE98: 80431B34 (data_80431B34) // 8029CEA4: 802908C8 (newMemPool__17JASGenericMemPoolFUli) // 8029CEAC: 8033D71C (OSRestoreInterrupts) // 8029CEB0: 8029C4E4 (startDMA__9JASDriverFv) // 8029CEC0: 8033EABC (OSReceiveMessage) // 8029CEF8: 8029C504 (stopDMA__9JASDriverFv) // 8029CF00: 80341BAC (OSSleepThread) // 8029CF04: 8029C568 (updateDac__9JASDriverFv) // 8029CF08: 8029E2F8 (updateDacCallback__9JASDriverFv) // 8029CF10: 804512D8 (snIntCount__14JASAudioThread) // 8029CF18: 804512D8 (snIntCount__14JASAudioThread) // 8029CF1C: 804512D8 (snIntCount__14JASAudioThread) // 8029CF2C: 80290F24 (stop__8JASProbeFl) // 8029CF30: 8029C900 (finishDSPFrame__9JASDriverFv) // 8029CF3C: 8039B338 (JASAudioThread__stringBase0) // 8029CF40: 8039B338 (JASAudioThread__stringBase0) // 8029CF44: 80290EE4 (start__8JASProbeFlPCc) // 8029CF48: 8029C6C4 (updateDSP__9JASDriverFv) // 8029CF50: 80290F24 (stop__8JASProbeFl) // 8029CF58: 8029C504 (stopDMA__9JASDriverFv) // 8029CF60: 80341474 (OSExitThread) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JASAudioThread::run() { nofralloc #include "asm/JSystem/JAudio2/JASAudioThread/run__14JASAudioThreadFv.s" } #pragma pop /* 8029CF68-8029CFBC 0054+00 s=1 e=0 z=0 None .text DMACallback__14JASAudioThreadFv */ // 8029CF78: 80450B8C (data_80450B8C) // 8029CF80: 80290F24 (stop__8JASProbeFl) // 8029CF88: 8039B338 (JASAudioThread__stringBase0) // 8029CF8C: 8039B338 (JASAudioThread__stringBase0) // 8029CF94: 80290EE4 (start__8JASProbeFlPCc) // 8029CFA4: 8033E9F4 (OSSendMessage) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JASAudioThread::DMACallback() { nofralloc #include "asm/JSystem/JAudio2/JASAudioThread/DMACallback__14JASAudioThreadFv.s" } #pragma pop /* 8029CFBC-8029D028 006C+00 s=1 e=0 z=0 None .text DSPCallback__14JASAudioThreadFPv */ // 8029CFCC: 80450B8C (data_80450B8C) // 8029CFD0: 80352440 (DSPCheckMailFromDSP) // 8029CFDC: 80352450 (DSPReadMailFromDSP) // 8029D004: 8033E9F4 (OSSendMessage) // 8029D010: 8029D9C4 (finishWork__6JASDspFUs) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // void* False // void False asm void JASAudioThread::DSPCallback(void* param_0) { nofralloc #include "asm/JSystem/JAudio2/JASAudioThread/DSPCallback__14JASAudioThreadFPv.s" } #pragma pop /* 8029D028-8029D0B4 008C+00 s=1 e=0 z=0 None .text __dt__14JASAudioThreadFv */ // 8029D048: 803C78E0 (__vt__14JASAudioThread) // 8029D04C: 803C78E0 (__vt__14JASAudioThread) // 8029D068: 80450B8C (data_80450B8C) // 8029D078: 80450B8C (data_80450B8C) // 8029D084: 802D1758 (__dt__9JKRThreadFv) // 8029D094: 802CED3C (__dl__FPv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm JASAudioThread::~JASAudioThread() { nofralloc #include "asm/JSystem/JAudio2/JASAudioThread/__dt__14JASAudioThreadFv.s" } #pragma pop