// // Generated By: dol2asm // Translation Unit: JASWaveArcLoader // #include "dol2asm.h" #include "dolphin/types.h" #include "JSystem/JAudio2/JASWaveArcLoader.h" // // Types: // struct JSUPtrList { /* 802DBEAC */ // False False ~JSUPtrList(); }; struct JSUPtrLink { /* 802DBE14 */ // False False ~JSUPtrLink(); }; struct JKRHeap { }; struct JKRExpandSwitch { }; struct JKRDvdAramRipper { /* 802DA874 */ // False False // s32 False // u32 False // JKRExpandSwitch False // u32 False // u32 False // u32* False // u32 False void loadToAram(s32, u32, JKRExpandSwitch, u32, u32, u32*); }; struct JASWaveArcLoader { /* 8029A0A0 */ // True False void getRootHeap(); /* 8029A0D0 */ // False False // char const* False // char const False // char False void setCurrentDir(char const*); /* 8029A130 */ // True False void getCurrentDir(); }; struct JASDisposer { /* 80290BCC */ // False False // void False void onDispose(); /* 8029A7B8 */ // True False ~JASDisposer(); }; struct JASHeap { /* 80290140 */ // False False // JASDisposer* False // JASDisposer False JASHeap(JASDisposer*); /* 8029021C */ // False False // JASHeap* False // JASHeap False // u32 False void alloc(JASHeap*, u32); /* 802903F4 */ // False False // JASHeap* False // JASHeap False // u32 False void allocTail(JASHeap*, u32); /* 802904E4 */ // False False void free(); }; struct JASWaveArc { /* 80298FA0 */ // False False // void False void onLoadDone(); /* 80298FA4 */ // False False // void False void onEraseDone(); /* 8029A13C */ // False False JASWaveArc(); /* 8029A1B4 */ // False False ~JASWaveArc(); /* 8029A258 */ // True False // u32 False void loadSetup(u32); /* 8029A2EC */ // True False void eraseSetup(); /* 8029A378 */ // True False // void* False // void False void loadToAramCallback(void*); /* 8029A404 */ // True False void sendLoadCmd(); /* 8029A4C0 */ // False False // JASHeap* False // JASHeap False void load(JASHeap*); /* 8029A580 */ // False False // JASHeap* False // JASHeap False void loadTail(JASHeap*); /* 8029A640 */ // False False void erase(); /* 8029A664 */ // False False void onDispose(); /* 8029A6AC */ // True False // s32 False void setEntryNum(s32); /* 8029A70C */ // False False // char const* False // char const False // char False void setFileName(char const*); }; struct JASTaskThread { /* 8028FB5C */ // False False // void (*)(void*) False // * False // False // void False // void* False // void False // void const* False // void const False // void False // u32 False void sendCmdMsg(void (*)(void*), void const*, u32); }; struct JASKernel { /* 80290AC0 */ // False False void getSystemHeap(); /* 80290B08 */ // False False void getAramHeap(); }; struct JASDvd { /* 8028FEFC */ // False False void getThreadPointer(); }; // // Forward References: // // True False extern "C" void getRootHeap__16JASWaveArcLoaderFv(); // False False // char const* False // char const False // char False extern "C" void setCurrentDir__16JASWaveArcLoaderFPCc(); // True False extern "C" void getCurrentDir__16JASWaveArcLoaderFv(); // False False extern "C" void __ct__10JASWaveArcFv(); // False False extern "C" void __dt__10JASWaveArcFv(); // True False // u32 False extern "C" void loadSetup__10JASWaveArcFUl(); // True False extern "C" void eraseSetup__10JASWaveArcFv(); // True False // void* False // void False extern "C" void loadToAramCallback__10JASWaveArcFPv(); // True False extern "C" void sendLoadCmd__10JASWaveArcFv(); // False False // JASHeap* False // JASHeap False extern "C" void load__10JASWaveArcFP7JASHeap(); // False False // JASHeap* False // JASHeap False extern "C" void loadTail__10JASWaveArcFP7JASHeap(); // False False extern "C" void erase__10JASWaveArcFv(); // False False extern "C" void onDispose__10JASWaveArcFv(); // True False // s32 False extern "C" void setEntryNum__10JASWaveArcFl(); // False False // char const* False // char const False // char False extern "C" void setFileName__10JASWaveArcFPCc(); // True False extern "C" void __dt__11JASDisposerFv(); extern "C" extern void* __vt__10JASWaveArc[6]; extern "C" extern void* __vt__11JASDisposer[4]; // // 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 // void False // void* False // void False void operator delete[](void*); // False False // void (*)(void*) False // * False // False // void False // void* False // void False // void const* False // void const False // void False // u32 False extern "C" void sendCmdMsg__13JASTaskThreadFPFPv_vPCvUl(); // False False extern "C" void getThreadPointer__6JASDvdFv(); // False False // JASDisposer* False // JASDisposer False extern "C" void __ct__7JASHeapFP11JASDisposer(); // False False // JASHeap* False // JASHeap False // u32 False extern "C" void alloc__7JASHeapFP7JASHeapUl(); // False False // JASHeap* False // JASHeap False // u32 False extern "C" void allocTail__7JASHeapFP7JASHeapUl(); // False False extern "C" void free__7JASHeapFv(); // False False extern "C" void getSystemHeap__9JASKernelFv(); // False False extern "C" void getAramHeap__9JASKernelFv(); // False False // void False extern "C" void onDispose__11JASDisposerFv(); // False False // void False extern "C" void onLoadDone__10JASWaveArcFv(); // False False // void False extern "C" void onEraseDone__10JASWaveArcFv(); // False False // void* False // void False // u32 False // JKRHeap* False // JKRHeap False // int False extern "C" void* __nwa__FUlP7JKRHeapi(); // False False // void False // void* False // void False extern "C" void __dl__FPv(); // False False // void False // void* False // void False extern "C" void __dla__FPv(); // False False // s32 False // u32 False // JKRExpandSwitch False // u32 False // u32 False // u32* False // u32 False extern "C" void loadToAram__16JKRDvdAramRipperFlUl15JKRExpandSwitchUlUlPUl(); // False False extern "C" void __dt__10JSUPtrLinkFv(); // False False extern "C" void __dt__10JSUPtrListFv(); // False False extern "C" void OSInitMutex(); // False False extern "C" void OSLockMutex(); // False False extern "C" void OSUnlockMutex(); // False False extern "C" void DVDConvertPathToEntrynum(); // False False extern "C" void DVDFastOpen(); // False False extern "C" void DVDClose(); // False False extern "C" void _savegpr_27(); // False False extern "C" void _restgpr_27(); // False False extern "C" void strcat(); // False False extern "C" void strcpy(); // False False extern "C" void strlen(); // // Declarations: // /* ############################################################################################## */ /* 80451290-80451298 0004+04 s=1 e=0 z=0 None .sbss sAramHeap__16JASWaveArcLoader */ static u8 sAramHeap__16JASWaveArcLoader[4 + 4 /* padding */]; /* 8029A0A0-8029A0D0 0030+00 s=2 e=0 z=0 None .text getRootHeap__16JASWaveArcLoaderFv */ // 8029A0AC: 80451290 (sAramHeap__16JASWaveArcLoader) // 8029A0BC: 80290B08 (getAramHeap__9JASKernelFv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JASWaveArcLoader::getRootHeap() { nofralloc #include "asm/JSystem/JAudio2/JASWaveArcLoader/getRootHeap__16JASWaveArcLoaderFv.s" } #pragma pop /* ############################################################################################## */ /* 803C77E0-803C7820 0040+00 s=2 e=0 z=0 None .data sCurrentDir__16JASWaveArcLoader */ SECTION_DATA static u8 sCurrentDir__16JASWaveArcLoader[64] = { 0x2F, 0x41, 0x75, 0x64, 0x69, 0x6F, 0x52, 0x65, 0x73, 0x2F, 0x57, 0x61, 0x76, 0x65, 0x73, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 8029A0D0-8029A130 0060+00 s=0 e=1 z=0 None .text setCurrentDir__16JASWaveArcLoaderFPCc */ // 8029A0E0: 803C77E0 (sCurrentDir__16JASWaveArcLoader) // 8029A0E4: 803C77E0 (sCurrentDir__16JASWaveArcLoader) // 8029A0E8: 80368B2C (strcpy) // 8029A0EC: 803C77E0 (sCurrentDir__16JASWaveArcLoader) // 8029A0F0: 803C77E0 (sCurrentDir__16JASWaveArcLoader) // 8029A0F4: 80368BE4 (strlen) // 8029A0F8: 803C77E0 (sCurrentDir__16JASWaveArcLoader) // 8029A0FC: 803C77E0 (sCurrentDir__16JASWaveArcLoader) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // char const* False // char const False // char False asm void JASWaveArcLoader::setCurrentDir(char const* param_0) { nofralloc #include "asm/JSystem/JAudio2/JASWaveArcLoader/setCurrentDir__16JASWaveArcLoaderFPCc.s" } #pragma pop /* 8029A130-8029A13C 000C+00 s=1 e=0 z=0 None .text getCurrentDir__16JASWaveArcLoaderFv */ // 8029A130: 803C77E0 (sCurrentDir__16JASWaveArcLoader) // 8029A134: 803C77E0 (sCurrentDir__16JASWaveArcLoader) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JASWaveArcLoader::getCurrentDir() { nofralloc #include "asm/JSystem/JAudio2/JASWaveArcLoader/getCurrentDir__16JASWaveArcLoaderFv.s" } #pragma pop /* ############################################################################################## */ /* 803C7820-803C7838 0018+00 s=2 e=0 z=0 None .data __vt__10JASWaveArc */ SECTION_DATA void* __vt__10JASWaveArc[6] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__10JASWaveArcFv, (void*)onDispose__10JASWaveArcFv, (void*)onLoadDone__10JASWaveArcFv, (void*)onEraseDone__10JASWaveArcFv, }; /* 803C7838-803C7848 0010+00 s=3 e=0 z=0 None .data __vt__11JASDisposer */ SECTION_DATA void* __vt__11JASDisposer[4] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__11JASDisposerFv, (void*)onDispose__11JASDisposerFv, }; /* 8029A13C-8029A1B4 0078+00 s=0 e=2 z=0 None .text __ct__10JASWaveArcFv */ // 8029A150: 803C7838 (__vt__11JASDisposer) // 8029A154: 803C7838 (__vt__11JASDisposer) // 8029A15C: 803C7820 (__vt__10JASWaveArc) // 8029A160: 803C7820 (__vt__10JASWaveArc) // 8029A170: 80290140 (__ct__7JASHeapFP11JASDisposer) // 8029A198: 8033F008 (OSInitMutex) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm JASWaveArc::JASWaveArc() { nofralloc #include "asm/JSystem/JAudio2/JASWaveArcLoader/__ct__10JASWaveArcFv.s" } #pragma pop /* 8029A1B4-8029A258 00A4+00 s=1 e=2 z=0 None .text __dt__10JASWaveArcFv */ // 8029A1D4: 803C7820 (__vt__10JASWaveArc) // 8029A1D8: 803C7820 (__vt__10JASWaveArc) // 8029A200: 802DBE14 (__dt__10JSUPtrLinkFv) // 8029A214: 802DBEAC (__dt__10JSUPtrListFv) // 8029A220: 803C7838 (__vt__11JASDisposer) // 8029A224: 803C7838 (__vt__11JASDisposer) // 8029A238: 802CED3C (__dl__FPv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm JASWaveArc::~JASWaveArc() { nofralloc #include "asm/JSystem/JAudio2/JASWaveArcLoader/__dt__10JASWaveArcFv.s" } #pragma pop /* 8029A258-8029A2EC 0094+00 s=1 e=0 z=0 None .text loadSetup__10JASWaveArcFUl */ // 8029A27C: 8033F040 (OSLockMutex) // 8029A290: 8033F11C (OSUnlockMutex) // 8029A2AC: 8033F11C (OSUnlockMutex) // 8029A2CC: 8033F11C (OSUnlockMutex) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u32 False asm void JASWaveArc::loadSetup(u32 param_0) { nofralloc #include "asm/JSystem/JAudio2/JASWaveArcLoader/loadSetup__10JASWaveArcFUl.s" } #pragma pop /* 8029A2EC-8029A378 008C+00 s=1 e=0 z=0 None .text eraseSetup__10JASWaveArcFv */ // 8029A308: 8033F040 (OSLockMutex) // 8029A31C: 8033F11C (OSUnlockMutex) // 8029A340: 8033F11C (OSUnlockMutex) // 8029A35C: 8033F11C (OSUnlockMutex) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JASWaveArc::eraseSetup() { nofralloc #include "asm/JSystem/JAudio2/JASWaveArcLoader/eraseSetup__10JASWaveArcFv.s" } #pragma pop /* 8029A378-8029A404 008C+00 s=1 e=0 z=0 None .text loadToAramCallback__10JASWaveArcFPv */ // 8029A3AC: 802DA874 (loadToAram__16JKRDvdAramRipperFlUl15JKRExpandSwitchUlUlPUl) // 8029A3CC: 8029A258 (loadSetup__10JASWaveArcFUl) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // void* False // void False asm void JASWaveArc::loadToAramCallback(void* param_0) { nofralloc #include "asm/JSystem/JAudio2/JASWaveArcLoader/loadToAramCallback__10JASWaveArcFPv.s" } #pragma pop /* 8029A404-8029A4C0 00BC+00 s=2 e=0 z=0 None .text sendLoadCmd__10JASWaveArcFv */ // 8029A420: 8033F040 (OSLockMutex) // 8029A468: 8028FEFC (getThreadPointer__6JASDvdFv) // 8029A46C: 8029A378 (loadToAramCallback__10JASWaveArcFPv) // 8029A470: 8029A378 (loadToAramCallback__10JASWaveArcFPv) // 8029A47C: 8028FB5C (sendCmdMsg__13JASTaskThreadFPFPv_vPCvUl) // 8029A48C: 802904E4 (free__7JASHeapFv) // 8029A494: 8033F11C (OSUnlockMutex) // 8029A4A4: 8033F11C (OSUnlockMutex) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JASWaveArc::sendLoadCmd() { nofralloc #include "asm/JSystem/JAudio2/JASWaveArcLoader/sendLoadCmd__10JASWaveArcFv.s" } #pragma pop /* 8029A4C0-8029A580 00C0+00 s=0 e=2 z=0 None .text load__10JASWaveArcFP7JASHeap */ // 8029A4F8: 8033F040 (OSLockMutex) // 8029A50C: 8033F11C (OSUnlockMutex) // 8029A520: 8029A0A0 (getRootHeap__16JASWaveArcLoaderFv) // 8029A534: 8029021C (alloc__7JASHeapFP7JASHeapUl) // 8029A544: 8033F11C (OSUnlockMutex) // 8029A554: 8029A404 (sendLoadCmd__10JASWaveArcFv) // 8029A560: 8033F11C (OSUnlockMutex) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JASHeap* False // JASHeap False asm void JASWaveArc::load(JASHeap* param_0) { nofralloc #include "asm/JSystem/JAudio2/JASWaveArcLoader/load__10JASWaveArcFP7JASHeap.s" } #pragma pop /* 8029A580-8029A640 00C0+00 s=0 e=1 z=0 None .text loadTail__10JASWaveArcFP7JASHeap */ // 8029A5B8: 8033F040 (OSLockMutex) // 8029A5CC: 8033F11C (OSUnlockMutex) // 8029A5E0: 8029A0A0 (getRootHeap__16JASWaveArcLoaderFv) // 8029A5F4: 802903F4 (allocTail__7JASHeapFP7JASHeapUl) // 8029A604: 8033F11C (OSUnlockMutex) // 8029A614: 8029A404 (sendLoadCmd__10JASWaveArcFv) // 8029A620: 8033F11C (OSUnlockMutex) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JASHeap* False // JASHeap False asm void JASWaveArc::loadTail(JASHeap* param_0) { nofralloc #include "asm/JSystem/JAudio2/JASWaveArcLoader/loadTail__10JASWaveArcFP7JASHeap.s" } #pragma pop /* 8029A640-8029A664 0024+00 s=0 e=2 z=0 None .text erase__10JASWaveArcFv */ // 8029A650: 802904E4 (free__7JASHeapFv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void JASWaveArc::erase() { nofralloc #include "asm/JSystem/JAudio2/JASWaveArcLoader/erase__10JASWaveArcFv.s" } #pragma pop /* 8029A664-8029A6AC 0048+00 s=1 e=2 z=0 None .text onDispose__10JASWaveArcFv */ // 8029A678: 8029A2EC (eraseSetup__10JASWaveArcFv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void JASWaveArc::onDispose() { nofralloc #include "asm/JSystem/JAudio2/JASWaveArcLoader/onDispose__10JASWaveArcFv.s" } #pragma pop /* 8029A6AC-8029A70C 0060+00 s=1 e=0 z=0 None .text setEntryNum__10JASWaveArcFl */ // 8029A6D4: 8034881C (DVDFastOpen) // 8029A6EC: 80348958 (DVDClose) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // s32 False asm void JASWaveArc::setEntryNum(s32 param_0) { nofralloc #include "asm/JSystem/JAudio2/JASWaveArcLoader/setEntryNum__10JASWaveArcFl.s" } #pragma pop /* 8029A70C-8029A7B8 00AC+00 s=0 e=2 z=0 None .text setFileName__10JASWaveArcFPCc */ // 8029A71C: 803621D4 (_savegpr_27) // 8029A728: 8029A130 (getCurrentDir__16JASWaveArcLoaderFv) // 8029A730: 80368BE4 (strlen) // 8029A73C: 80368BE4 (strlen) // 8029A744: 80290AC0 (getSystemHeap__9JASKernelFv) // 8029A754: 802CED10 (__nwa__FUlP7JKRHeapi) // 8029A760: 80368B2C (strcpy) // 8029A76C: 80368ABC (strcat) // 8029A77C: 80348528 (DVDConvertPathToEntrynum) // 8029A788: 802CED60 (__dla__FPv) // 8029A79C: 8029A6AC (setEntryNum__10JASWaveArcFl) // 8029A7A4: 80362220 (_restgpr_27) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // char const* False // char const False // char False asm void JASWaveArc::setFileName(char const* param_0) { nofralloc #include "asm/JSystem/JAudio2/JASWaveArcLoader/setFileName__10JASWaveArcFPCc.s" } #pragma pop /* 8029A7B8-8029A800 0048+00 s=1 e=0 z=0 None .text __dt__11JASDisposerFv */ // 8029A7D0: 803C7838 (__vt__11JASDisposer) // 8029A7D4: 803C7838 (__vt__11JASDisposer) // 8029A7E4: 802CED3C (__dl__FPv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm JASDisposer::~JASDisposer() { nofralloc #include "asm/JSystem/JAudio2/JASWaveArcLoader/__dt__11JASDisposerFv.s" } #pragma pop