// // Generated By: dol2asm // Translation Unit: JKRDecomp // #include "dol2asm.h" #include "dolphin/types.h" #include "JSystem/JKernel/JKRDecomp.h" // // Types: // struct JKRThread { /* 802D1568 */ // False False // u32 False // int False // int False JKRThread(u32, int, int); /* 802D1758 */ // False False ~JKRThread(); }; struct JKRHeap { }; struct JKRDecompCommand { /* 802DBD70 */ // True False JKRDecompCommand(); /* 802DBDC0 */ // True False ~JKRDecompCommand(); }; struct JKRDecomp { /* 802DB680 */ // False False // s32 False void create(s32); /* 802DB6E0 */ // True False // s32 False JKRDecomp(s32); /* 802DB730 */ // True False ~JKRDecomp(); /* 802DB790 */ // True False void run(); /* 802DB858 */ // True False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False // void (*)(u32) False // * False // False // void False // u32 False void prepareCommand(u8*, u8*, u32, u32, void (*)(u32)); /* 802DB8D0 */ // False False // JKRDecompCommand* False // JKRDecompCommand False void sendCommand(JKRDecompCommand*); /* 802DB900 */ // True False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False // void (*)(u32) False // * False // False // void False // u32 False void orderAsync(u8*, u8*, u32, u32, void (*)(u32)); /* 802DB934 */ // True False // JKRDecompCommand* False // JKRDecompCommand False // int False void sync(JKRDecompCommand*, int); /* 802DB988 */ // False False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False void orderSync(u8*, u8*, u32, u32); /* 802DB9DC */ // True False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False void decode(u8*, u8*, u32, u32); /* 802DBA58 */ // True False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False void decodeSZP(u8*, u8*, u32, u32); /* 802DBC14 */ // True False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False void decodeSZS(u8*, u8*, u32, u32); /* 802DBCF8 */ // False False // u8* False // u8 False void checkCompressed(u8*); }; struct JKRAMCommand { }; struct JKRAramPiece { /* 802D35F4 */ // False False // JKRAMCommand* False // JKRAMCommand False void sendCommand(JKRAMCommand*); }; // // Forward References: // // False False // s32 False extern "C" void create__9JKRDecompFl(); // True False // s32 False extern "C" void __ct__9JKRDecompFl(); // True False extern "C" void __dt__9JKRDecompFv(); // True False extern "C" void run__9JKRDecompFv(); // True False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False // void (*)(u32) False // * False // False // void False // u32 False extern "C" void prepareCommand__9JKRDecompFPUcPUcUlUlPFUl_v(); // False False // JKRDecompCommand* False // JKRDecompCommand False extern "C" void sendCommand__9JKRDecompFP16JKRDecompCommand(); // True False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False // void (*)(u32) False // * False // False // void False // u32 False extern "C" void orderAsync__9JKRDecompFPUcPUcUlUlPFUl_v(); // True False // JKRDecompCommand* False // JKRDecompCommand False // int False extern "C" void sync__9JKRDecompFP16JKRDecompCommandi(); // False False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False extern "C" void orderSync__9JKRDecompFPUcPUcUlUl(); // True False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False extern "C" void decode__9JKRDecompFPUcPUcUlUl(); // True False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False extern "C" void decodeSZP__9JKRDecompFPUcPUcUlUl(); // True False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False extern "C" void decodeSZS__9JKRDecompFPUcPUcUlUl(); // False False // u8* False // u8 False extern "C" void checkCompressed__9JKRDecompFPUc(); // True False extern "C" void __ct__16JKRDecompCommandFv(); // True False extern "C" void __dt__16JKRDecompCommandFv(); extern "C" extern void* __vt__9JKRDecomp[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 // 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 // u32 False // int False // int False extern "C" void __ct__9JKRThreadFUlii(); // False False extern "C" void __dt__9JKRThreadFv(); // False False // JKRAMCommand* False // JKRAMCommand False extern "C" void sendCommand__12JKRAramPieceFP12JKRAMCommand(); // False False extern "C" void OSInitMessageQueue(); // False False extern "C" void OSSendMessage(); // False False extern "C" void OSReceiveMessage(); // False False extern "C" void OSResumeThread(); // False False extern "C" void _savegpr_27(); // False False extern "C" void _savegpr_28(); // False False extern "C" void _restgpr_27(); // False False extern "C" void _restgpr_28(); extern "C" extern u8 sSystemHeap__7JKRHeap[4]; // // Declarations: // /* ############################################################################################## */ /* 804514B0-804514B8 0004+04 s=1 e=0 z=0 None .sbss sDecompObject__9JKRDecomp */ static u8 sDecompObject__9JKRDecomp[4 + 4 /* padding */]; /* 802DB680-802DB6E0 0060+00 s=0 e=1 z=0 None .text create__9JKRDecompFl */ // 802DB694: 804514B0 (sDecompObject__9JKRDecomp) // 802DB6A4: 80451370 (sSystemHeap__7JKRHeap) // 802DB6AC: 802CEC98 (__nw__FUlP7JKRHeapi) // 802DB6BC: 802DB6E0 (__ct__9JKRDecompFl) // 802DB6C4: 804514B0 (sDecompObject__9JKRDecomp) // 802DB6C8: 804514B0 (sDecompObject__9JKRDecomp) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // s32 False asm void JKRDecomp::create(s32 param_0) { nofralloc #include "asm/JSystem/JKernel/JKRDecomp/create__9JKRDecompFl.s" } #pragma pop /* ############################################################################################## */ /* 803CC460-803CC480 0020+00 s=1 e=0 z=0 None .data sMessageBuffer__9JKRDecomp */ SECTION_DATA static u8 sMessageBuffer__9JKRDecomp[32] = { 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, }; /* 803CC480-803CC4A0 0020+00 s=2 e=0 z=0 None .data sMessageQueue__9JKRDecomp */ SECTION_DATA static u8 sMessageQueue__9JKRDecomp[32] = { 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, }; /* 803CC4A0-803CC4B0 0010+00 s=2 e=0 z=0 None .data __vt__9JKRDecomp */ SECTION_DATA void* __vt__9JKRDecomp[4] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__9JKRDecompFv, (void*)run__9JKRDecompFv, }; /* 802DB6E0-802DB730 0050+00 s=1 e=0 z=0 None .text __ct__9JKRDecompFl */ // 802DB700: 802D1568 (__ct__9JKRThreadFUlii) // 802DB704: 803CC4A0 (__vt__9JKRDecomp) // 802DB708: 803CC4A0 (__vt__9JKRDecomp) // 802DB714: 803417B4 (OSResumeThread) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // s32 False asm JKRDecomp::JKRDecomp(s32 param_0) { nofralloc #include "asm/JSystem/JKernel/JKRDecomp/__ct__9JKRDecompFl.s" } #pragma pop /* 802DB730-802DB790 0060+00 s=1 e=0 z=0 None .text __dt__9JKRDecompFv */ // 802DB750: 803CC4A0 (__vt__9JKRDecomp) // 802DB754: 803CC4A0 (__vt__9JKRDecomp) // 802DB760: 802D1758 (__dt__9JKRThreadFv) // 802DB770: 802CED3C (__dl__FPv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm JKRDecomp::~JKRDecomp() { nofralloc #include "asm/JSystem/JKernel/JKRDecomp/__dt__9JKRDecompFv.s" } #pragma pop /* 802DB790-802DB858 00C8+00 s=1 e=0 z=0 None .text run__9JKRDecompFv */ // 802DB7A4: 803CC480 (sMessageQueue__9JKRDecomp) // 802DB7A8: 803CC480 (sMessageQueue__9JKRDecomp) // 802DB7AC: 803CC460 (sMessageBuffer__9JKRDecomp) // 802DB7B0: 803CC460 (sMessageBuffer__9JKRDecomp) // 802DB7B8: 8033E994 (OSInitMessageQueue) // 802DB7BC: 803CC480 (sMessageQueue__9JKRDecomp) // 802DB7C0: 803CC480 (sMessageQueue__9JKRDecomp) // 802DB7D0: 8033EABC (OSReceiveMessage) // 802DB7E8: 802DB9DC (decode__9JKRDecompFPUcPUcUlUl) // 802DB804: 802D35F4 (sendCommand__12JKRAramPieceFP12JKRAMCommand) // 802DB83C: 8033E9F4 (OSSendMessage) // 802DB850: 8033E9F4 (OSSendMessage) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JKRDecomp::run() { nofralloc #include "asm/JSystem/JKernel/JKRDecomp/run__9JKRDecompFv.s" } #pragma pop /* 802DB858-802DB8D0 0078+00 s=1 e=0 z=0 None .text prepareCommand__9JKRDecompFPUcPUcUlUlPFUl_v */ // 802DB868: 803621D4 (_savegpr_27) // 802DB884: 80451370 (sSystemHeap__7JKRHeap) // 802DB88C: 802CEC98 (__nw__FUlP7JKRHeapi) // 802DB898: 802DBD70 (__ct__16JKRDecompCommandFv) // 802DB8BC: 80362220 (_restgpr_27) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False // void (*)(u32) False // * False // False // void False // u32 False asm void JKRDecomp::prepareCommand(u8* param_0, u8* param_1, u32 param_2, u32 param_3, void (*)(u32)) { nofralloc #include "asm/JSystem/JKernel/JKRDecomp/prepareCommand__9JKRDecompFPUcPUcUlUlPFUl_v.s" } #pragma pop /* 802DB8D0-802DB900 0030+00 s=1 e=1 z=0 None .text sendCommand__9JKRDecompFP16JKRDecompCommand */ // 802DB8E0: 803CC480 (sMessageQueue__9JKRDecomp) // 802DB8E4: 803CC480 (sMessageQueue__9JKRDecomp) // 802DB8EC: 8033E9F4 (OSSendMessage) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JKRDecompCommand* False // JKRDecompCommand False asm void JKRDecomp::sendCommand(JKRDecompCommand* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRDecomp/sendCommand__9JKRDecompFP16JKRDecompCommand.s" } #pragma pop /* 802DB900-802DB934 0034+00 s=1 e=0 z=0 None .text orderAsync__9JKRDecompFPUcPUcUlUlPFUl_v */ // 802DB910: 802DB858 (prepareCommand__9JKRDecompFPUcPUcUlUlPFUl_v) // 802DB918: 802DB8D0 (sendCommand__9JKRDecompFP16JKRDecompCommand) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False // void (*)(u32) False // * False // False // void False // u32 False asm void JKRDecomp::orderAsync(u8* param_0, u8* param_1, u32 param_2, u32 param_3, void (*)(u32)) { nofralloc #include "asm/JSystem/JKernel/JKRDecomp/orderAsync__9JKRDecompFPUcPUcUlUlPFUl_v.s" } #pragma pop /* 802DB934-802DB988 0054+00 s=1 e=0 z=0 None .text sync__9JKRDecompFP16JKRDecompCommandi */ // 802DB954: 8033EABC (OSReceiveMessage) // 802DB96C: 8033EABC (OSReceiveMessage) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JKRDecompCommand* False // JKRDecompCommand False // int False asm void JKRDecomp::sync(JKRDecompCommand* param_0, int param_1) { nofralloc #include "asm/JSystem/JKernel/JKRDecomp/sync__9JKRDecompFP16JKRDecompCommandi.s" } #pragma pop /* 802DB988-802DB9DC 0054+00 s=0 e=5 z=0 None .text orderSync__9JKRDecompFPUcPUcUlUl */ // 802DB9A0: 802DB900 (orderAsync__9JKRDecompFPUcPUcUlUlPFUl_v) // 802DB9AC: 802DB934 (sync__9JKRDecompFP16JKRDecompCommandi) // 802DB9BC: 802DBDC0 (__dt__16JKRDecompCommandFv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False asm void JKRDecomp::orderSync(u8* param_0, u8* param_1, u32 param_2, u32 param_3) { nofralloc #include "asm/JSystem/JKernel/JKRDecomp/orderSync__9JKRDecompFPUcPUcUlUl.s" } #pragma pop /* 802DB9DC-802DBA58 007C+00 s=1 e=0 z=0 None .text decode__9JKRDecompFPUcPUcUlUl */ // 802DB9EC: 803621D8 (_savegpr_28) // 802DBA00: 802DBCF8 (checkCompressed__9JKRDecompFPUc) // 802DBA1C: 802DBA58 (decodeSZP__9JKRDecompFPUcPUcUlUl) // 802DBA3C: 802DBC14 (decodeSZS__9JKRDecompFPUcPUcUlUl) // 802DBA44: 80362224 (_restgpr_28) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False asm void JKRDecomp::decode(u8* param_0, u8* param_1, u32 param_2, u32 param_3) { nofralloc #include "asm/JSystem/JKernel/JKRDecomp/decode__9JKRDecompFPUcPUcUlUl.s" } #pragma pop /* 802DBA58-802DBC14 01BC+00 s=1 e=0 z=0 None .text decodeSZP__9JKRDecompFPUcPUcUlUl */ // 802DBA68: 803621D4 (_savegpr_27) // 802DBC00: 80362220 (_restgpr_27) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False asm void JKRDecomp::decodeSZP(u8* param_0, u8* param_1, u32 param_2, u32 param_3) { nofralloc #include "asm/JSystem/JKernel/JKRDecomp/decodeSZP__9JKRDecompFPUcPUcUlUl.s" } #pragma pop /* 802DBC14-802DBCF8 00E4+00 s=1 e=0 z=0 None .text decodeSZS__9JKRDecompFPUcPUcUlUl */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u8* False // u8 False // u8* False // u8 False // u32 False // u32 False asm void JKRDecomp::decodeSZS(u8* param_0, u8* param_1, u32 param_2, u32 param_3) { nofralloc #include "asm/JSystem/JKernel/JKRDecomp/decodeSZS__9JKRDecompFPUcPUcUlUl.s" } #pragma pop /* 802DBCF8-802DBD70 0078+00 s=1 e=4 z=0 None .text checkCompressed__9JKRDecompFPUc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // u8* False // u8 False asm void JKRDecomp::checkCompressed(u8* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRDecomp/checkCompressed__9JKRDecompFPUc.s" } #pragma pop /* 802DBD70-802DBDC0 0050+00 s=1 e=0 z=0 None .text __ct__16JKRDecompCommandFv */ // 802DBD90: 8033E994 (OSInitMessageQueue) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm JKRDecompCommand::JKRDecompCommand() { nofralloc #include "asm/JSystem/JKernel/JKRDecomp/__ct__16JKRDecompCommandFv.s" } #pragma pop /* 802DBDC0-802DBDFC 003C+00 s=1 e=0 z=0 None .text __dt__16JKRDecompCommandFv */ // 802DBDE0: 802CED3C (__dl__FPv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm JKRDecompCommand::~JKRDecompCommand() { nofralloc #include "asm/JSystem/JKernel/JKRDecomp/__dt__16JKRDecompCommandFv.s" } #pragma pop