// // Generated By: dol2asm // Translation Unit: JKRThread // #include "dol2asm.h" #include "dolphin/types.h" #include "JSystem/JKernel/JKRThread.h" // // Types: // struct OSThread { }; struct JUTConsole { /* 802E75EC */ // False False void clear(); /* 802E7BB8 */ // False False // char const* False // char const False // char False // ... False void print_f(char const*, ...); /* 802E7C38 */ // False False // char const* False // char const False // char False void print(char const*); }; struct JSUPtrLink { /* 802DBDFC */ // False False // void* False // void False JSUPtrLink(void*); /* 802DBE14 */ // False False ~JSUPtrLink(); }; struct JSUPtrList { /* 802DBE74 */ // False False // bool False JSUPtrList(bool); /* 802DBEAC */ // False False ~JSUPtrList(); /* 802DBF14 */ // False False void initiate(); /* 802DBF4C */ // False False // JSUPtrLink* False // JSUPtrLink False void append(JSUPtrLink*); /* 802DC15C */ // False False // JSUPtrLink* False // JSUPtrLink False void remove(JSUPtrLink*); }; template struct JSUList { }; /* JSUList */ struct JSUList__template3 { /* 802D1EFC */ // False True ~JSUList__template3(); }; /* JSUList */ struct JSUList__template4 { /* 802D1F50 */ // False True ~JSUList__template4(); }; struct JKRHeap { /* 802CE438 */ // False False void becomeCurrentHeap(); /* 802CE474 */ // False False // u32 False // int False // JKRHeap* False // JKRHeap False void alloc(u32, int, JKRHeap*); /* 802CE500 */ // False False // void* False // void False // JKRHeap* False // JKRHeap False void free(void*, JKRHeap*); /* 802CE83C */ // False False // void* False // void False void findFromRoot(void*); /* 802CEBA8 */ // False False // JKRHeap* False // JKRHeap False void isSubHeap(JKRHeap*) const; }; struct JKRThread { /* 802D1568 */ // False False // u32 False // int False // int False JKRThread(u32, int, int); /* 802D16B8 */ // False False // OSThread* False // OSThread False // int False JKRThread(OSThread*, int); /* 802D1610 */ // False False // JKRHeap* False // JKRHeap False // u32 False // int False // int False JKRThread(JKRHeap*, u32, int, int); /* 802D1758 */ // False False ~JKRThread(); /* 802D1830 */ // True False // JKRHeap* False // JKRHeap False // int False void setCommon_mesgQueue(JKRHeap*, int); /* 802D18A4 */ // True False // JKRHeap* False // JKRHeap False // u32 False // int False void setCommon_heapSpecified(JKRHeap*, u32, int); /* 802D1934 */ // True False // void* False // void False void start(void*); /* 802D1960 */ // True False // OSThread* False // OSThread False void searchThread(OSThread*); /* 802D1E14 */ // True False // bool False bool run(); }; struct JKRThreadName_ { }; struct JKRThreadSwitch { /* 802D199C */ // True False // JKRHeap* False // JKRHeap False JKRThreadSwitch(JKRHeap*); /* 802D1A14 */ // False False // JKRHeap* False // JKRHeap False void createManager(JKRHeap*); /* 802D1A70 */ // False False // JKRThread* False // JKRThread False // int False void enter(JKRThread*, int); /* 802D1AE4 */ // True False // OSThread* False // OSThread False // OSThread* False // OSThread False void callback(OSThread*, OSThread*); /* 802D1C74 */ // True False // JKRThreadName_* False // JKRThreadName_ False // JUTConsole* False // JUTConsole False void draw(JKRThreadName_*, JUTConsole*); /* 802D1E1C */ // True False // JKRThreadName_* False // JKRThreadName_ False void draw(JKRThreadName_*); /* 802D1E4C */ // True False ~JKRThreadSwitch(); }; struct JKRDisposer { /* 802D147C */ // False False JKRDisposer(); /* 802D14E4 */ // False False ~JKRDisposer(); }; // // Forward References: // // False False // u32 False // int False // int False extern "C" void __ct__9JKRThreadFUlii(); // False False // JKRHeap* False // JKRHeap False // u32 False // int False // int False extern "C" void __ct__9JKRThreadFP7JKRHeapUlii(); // False False // OSThread* False // OSThread False // int False extern "C" void __ct__9JKRThreadFP8OSThreadi(); // False False extern "C" void __dt__9JKRThreadFv(); // True False // JKRHeap* False // JKRHeap False // int False extern "C" void setCommon_mesgQueue__9JKRThreadFP7JKRHeapi(); // True False // JKRHeap* False // JKRHeap False // u32 False // int False extern "C" void setCommon_heapSpecified__9JKRThreadFP7JKRHeapUli(); // True False // void* False // void False extern "C" void start__9JKRThreadFPv(); // True False // OSThread* False // OSThread False extern "C" void searchThread__9JKRThreadFP8OSThread(); // True False // JKRHeap* False // JKRHeap False extern "C" void __ct__15JKRThreadSwitchFP7JKRHeap(); // False False // JKRHeap* False // JKRHeap False extern "C" void createManager__15JKRThreadSwitchFP7JKRHeap(); // False False // JKRThread* False // JKRThread False // int False extern "C" void enter__15JKRThreadSwitchFP9JKRThreadi(); // True False // OSThread* False // OSThread False // OSThread* False // OSThread False extern "C" void callback__15JKRThreadSwitchFP8OSThreadP8OSThread(); // True False // JKRThreadName_* False // JKRThreadName_ False // JUTConsole* False // JUTConsole False extern "C" void draw__15JKRThreadSwitchFP14JKRThreadName_P10JUTConsole(); // True False // bool False extern "C" bool run__9JKRThreadFv(); // True False // JKRThreadName_* False // JKRThreadName_ False extern "C" void draw__15JKRThreadSwitchFP14JKRThreadName_(); // True False extern "C" void __dt__15JKRThreadSwitchFv(); // False False extern "C" void __sinit_JKRThread_cpp(); // False True extern "C" void func_802D1EFC(); // False True extern "C" void func_802D1F50(); extern "C" extern char const* const JKRThread__stringBase0; extern "C" extern void* __vt__15JKRThreadSwitch[5]; extern "C" extern void* __vt__9JKRThread[4 + 1 /* padding */]; extern "C" extern u8 lit_989[12]; extern "C" extern u8 sTaskList__7JKRTask[12]; extern "C" extern u8 sEndMesgQueue__7JKRTask[32]; extern "C" extern u8 sManager__15JKRThreadSwitch[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 extern "C" void becomeCurrentHeap__7JKRHeapFv(); // False False // u32 False // int False // JKRHeap* False // JKRHeap False extern "C" void alloc__7JKRHeapFUliP7JKRHeap(); // False False // void* False // void False // JKRHeap* False // JKRHeap False extern "C" void free__7JKRHeapFPvP7JKRHeap(); // False False // void* False // void False extern "C" void findFromRoot__7JKRHeapFPv(); // False False // JKRHeap* False // JKRHeap False extern "C" void isSubHeap__7JKRHeapCFP7JKRHeap(); // 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 extern "C" void __ct__11JKRDisposerFv(); // False False extern "C" void __dt__11JKRDisposerFv(); // False False // void* False // void False extern "C" void __ct__10JSUPtrLinkFPv(); // False False extern "C" void __dt__10JSUPtrLinkFv(); // False False // bool False extern "C" void __ct__10JSUPtrListFb(); // False False extern "C" void __dt__10JSUPtrListFv(); // False False extern "C" void initiate__10JSUPtrListFv(); // False False // JSUPtrLink* False // JSUPtrLink False extern "C" void append__10JSUPtrListFP10JSUPtrLink(); // False False // JSUPtrLink* False // JSUPtrLink False extern "C" void remove__10JSUPtrListFP10JSUPtrLink(); // False False extern "C" void clear__10JUTConsoleFv(); // False False // char const* False // char const False // char False // ... False extern "C" void print_f__10JUTConsoleFPCce(); // False False // char const* False // char const False // char False extern "C" void print__10JUTConsoleFPCc(); // False False extern "C" void JUTWarningConsole(); // False False extern "C" void OSInitMessageQueue(); // False False extern "C" void OSSetSwitchThreadCallback(); // False False extern "C" void OSIsThreadTerminated(); // False False extern "C" void OSCreateThread(); // False False extern "C" void OSCancelThread(); // False False extern "C" void OSDetachThread(); // False False extern "C" void OSGetTick(); // False False extern "C" void __register_global_object(); // False False extern "C" void __cvt_fp2unsigned(); // False False extern "C" void _savegpr_25(); // False False extern "C" void _savegpr_27(); // False False extern "C" void _savegpr_28(); // False False extern "C" void _savegpr_29(); // False False extern "C" void _restgpr_25(); // False False extern "C" void _restgpr_27(); // False False extern "C" void _restgpr_28(); // False False extern "C" void _restgpr_29(); // False False extern "C" void __cvt_sll_flt(); // False False extern "C" void sprintf(); extern "C" extern u8 sSystemHeap__7JKRHeap[4]; extern "C" extern u8 sCurrentHeap__7JKRHeap[4]; extern "C" extern u8 sRootHeap__7JKRHeap[4]; // // Declarations: // /* ############################################################################################## */ /* 803CC100-803CC114 0014+00 s=2 e=0 z=0 None .data __vt__15JKRThreadSwitch */ SECTION_DATA void* __vt__15JKRThreadSwitch[5] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)draw__15JKRThreadSwitchFP14JKRThreadName_P10JUTConsole, (void*)draw__15JKRThreadSwitchFP14JKRThreadName_, (void*)__dt__15JKRThreadSwitchFv, }; /* 803CC114-803CC128 0010+04 s=4 e=0 z=0 None .data __vt__9JKRThread */ SECTION_DATA void* __vt__9JKRThread[4 + 1 /* padding */] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__9JKRThreadFv, (void*)run__9JKRThreadFv, /* padding */ NULL, }; /* 802D1568-802D1610 00A8+00 s=0 e=4 z=0 None .text __ct__9JKRThreadFUlii */ // 802D1578: 803621D8 (_savegpr_28) // 802D158C: 802D147C (__ct__11JKRDisposerFv) // 802D1590: 803CC114 (__vt__9JKRThread) // 802D1594: 803CC114 (__vt__9JKRThread) // 802D15A4: 802DBDFC (__ct__10JSUPtrLinkFPv) // 802D15C4: 802CE83C (findFromRoot__7JKRHeapFPv) // 802D15D0: 80451370 (sSystemHeap__7JKRHeap) // 802D15E0: 802D18A4 (setCommon_heapSpecified__9JKRThreadFP7JKRHeapUli) // 802D15F0: 802D1830 (setCommon_mesgQueue__9JKRThreadFP7JKRHeapi) // 802D15FC: 80362224 (_restgpr_28) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // u32 False // int False // int False asm JKRThread::JKRThread(u32 param_0, int param_1, int param_2) { nofralloc #include "asm/JSystem/JKernel/JKRThread/__ct__9JKRThreadFUlii.s" } #pragma pop /* 802D1610-802D16B8 00A8+00 s=0 e=2 z=0 None .text __ct__9JKRThreadFP7JKRHeapUlii */ // 802D1620: 803621D4 (_savegpr_27) // 802D1638: 802D147C (__ct__11JKRDisposerFv) // 802D163C: 803CC114 (__vt__9JKRThread) // 802D1640: 803CC114 (__vt__9JKRThread) // 802D1650: 802DBDFC (__ct__10JSUPtrLinkFPv) // 802D1674: 80451374 (sCurrentHeap__7JKRHeap) // 802D1688: 802D18A4 (setCommon_heapSpecified__9JKRThreadFP7JKRHeapUli) // 802D1698: 802D1830 (setCommon_mesgQueue__9JKRThreadFP7JKRHeapi) // 802D16A4: 80362220 (_restgpr_27) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JKRHeap* False // JKRHeap False // u32 False // int False // int False asm JKRThread::JKRThread(JKRHeap* param_0, u32 param_1, int param_2, int param_3) { nofralloc #include "asm/JSystem/JKernel/JKRThread/__ct__9JKRThreadFP7JKRHeapUlii.s" } #pragma pop /* 802D16B8-802D1758 00A0+00 s=0 e=5 z=0 None .text __ct__9JKRThreadFP8OSThreadi */ // 802D16C8: 803621DC (_savegpr_29) // 802D16D8: 802D147C (__ct__11JKRDisposerFv) // 802D16DC: 803CC114 (__vt__9JKRThread) // 802D16E0: 803CC114 (__vt__9JKRThread) // 802D16F0: 802DBDFC (__ct__10JSUPtrLinkFPv) // 802D1730: 80451370 (sSystemHeap__7JKRHeap) // 802D1738: 802D1830 (setCommon_mesgQueue__9JKRThreadFP7JKRHeapi) // 802D1744: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // OSThread* False // OSThread False // int False asm JKRThread::JKRThread(OSThread* param_0, int param_1) { nofralloc #include "asm/JSystem/JKernel/JKRThread/__ct__9JKRThreadFP8OSThreadi.s" } #pragma pop /* ############################################################################################## */ /* 80434280-8043428C 000C+00 s=1 e=0 z=0 None .bss @481 */ static u8 lit_481[12]; /* 8043428C-80434298 000C+00 s=5 e=0 z=0 None .bss sThreadList__9JKRThread */ static u8 sThreadList__9JKRThread[12]; /* 802D1758-802D1830 00D8+00 s=1 e=9 z=0 None .text __dt__9JKRThreadFv */ // 802D1778: 803CC114 (__vt__9JKRThread) // 802D177C: 803CC114 (__vt__9JKRThread) // 802D1784: 8043428C (sThreadList__9JKRThread) // 802D1788: 8043428C (sThreadList__9JKRThread) // 802D1790: 802DC15C (remove__10JSUPtrListFP10JSUPtrLink) // 802D17A4: 80340C90 (OSIsThreadTerminated) // 802D17B4: 80341714 (OSDetachThread) // 802D17BC: 80341558 (OSCancelThread) // 802D17C8: 802CE500 (free__7JKRHeapFPvP7JKRHeap) // 802D17D4: 802CE500 (free__7JKRHeapFPvP7JKRHeap) // 802D17E0: 802CE500 (free__7JKRHeapFPvP7JKRHeap) // 802D17F4: 802DBE14 (__dt__10JSUPtrLinkFv) // 802D1800: 802D14E4 (__dt__11JKRDisposerFv) // 802D1810: 802CED3C (__dl__FPv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm JKRThread::~JKRThread() { nofralloc #include "asm/JSystem/JKernel/JKRThread/__dt__9JKRThreadFv.s" } #pragma pop /* 802D1830-802D18A4 0074+00 s=3 e=0 z=0 None .text setCommon_mesgQueue__9JKRThreadFP7JKRHeapi */ // 802D185C: 802CE474 (alloc__7JKRHeapFUliP7JKRHeap) // 802D1870: 8033E994 (OSInitMessageQueue) // 802D1874: 8043428C (sThreadList__9JKRThread) // 802D1878: 8043428C (sThreadList__9JKRThread) // 802D1880: 802DBF4C (append__10JSUPtrListFP10JSUPtrLink) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JKRHeap* False // JKRHeap False // int False asm void JKRThread::setCommon_mesgQueue(JKRHeap* param_0, int param_1) { nofralloc #include "asm/JSystem/JKernel/JKRThread/setCommon_mesgQueue__9JKRThreadFP7JKRHeapi.s" } #pragma pop /* 802D18A4-802D1934 0090+00 s=2 e=0 z=0 None .text setCommon_heapSpecified__9JKRThreadFP7JKRHeapUli */ // 802D18D8: 802CE474 (alloc__7JKRHeapFUliP7JKRHeap) // 802D18EC: 802CE474 (alloc__7JKRHeapFUliP7JKRHeap) // 802D18FC: 802D1934 (start__9JKRThreadFPv) // 802D1900: 802D1934 (start__9JKRThreadFPv) // 802D1918: 8034128C (OSCreateThread) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JKRHeap* False // JKRHeap False // u32 False // int False asm void JKRThread::setCommon_heapSpecified(JKRHeap* param_0, u32 param_1, int param_2) { nofralloc #include "asm/JSystem/JKernel/JKRThread/setCommon_heapSpecified__9JKRThreadFP7JKRHeapUli.s" } #pragma pop /* 802D1934-802D1960 002C+00 s=1 e=0 z=0 None .text start__9JKRThreadFPv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // void* False // void False asm void JKRThread::start(void* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRThread/start__9JKRThreadFPv.s" } #pragma pop /* 802D1960-802D199C 003C+00 s=1 e=0 z=0 None .text searchThread__9JKRThreadFP8OSThread */ // 802D1960: 8043428C (sThreadList__9JKRThread) // 802D1964: 8043428C (sThreadList__9JKRThread) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // OSThread* False // OSThread False asm void JKRThread::searchThread(OSThread* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRThread/searchThread__9JKRThreadFP8OSThread.s" } #pragma pop /* ############################################################################################## */ /* 804513B0-804513B4 0004+00 s=2 e=1 z=0 None .sbss sManager__15JKRThreadSwitch */ u8 sManager__15JKRThreadSwitch[4]; /* 804513B4-804513B8 0004+00 s=3 e=0 z=0 None .sbss sTotalCount__15JKRThreadSwitch */ static u8 sTotalCount__15JKRThreadSwitch[4]; /* 804513B8-804513BC 0004+00 s=1 e=0 z=0 None .sbss sTotalStart__15JKRThreadSwitch */ static u8 sTotalStart__15JKRThreadSwitch[4]; /* 804513BC-804513C0 0004+00 s=1 e=0 z=0 None .sbss None */ static u8 data_804513BC[4]; /* 802D199C-802D1A14 0078+00 s=1 e=0 z=0 None .text __ct__15JKRThreadSwitchFP7JKRHeap */ // 802D19B0: 803CC100 (__vt__15JKRThreadSwitch) // 802D19B4: 803CC100 (__vt__15JKRThreadSwitch) // 802D19C0: 802D1AE4 (callback__15JKRThreadSwitchFP8OSThreadP8OSThread) // 802D19C4: 802D1AE4 (callback__15JKRThreadSwitchFP8OSThreadP8OSThread) // 802D19C8: 80340AA8 (OSSetSwitchThreadCallback) // 802D19E4: 804513B4 (sTotalCount__15JKRThreadSwitch) // 802D19E8: 804513BC (data_804513BC) // 802D19EC: 804513B8 (sTotalStart__15JKRThreadSwitch) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JKRHeap* False // JKRHeap False asm JKRThreadSwitch::JKRThreadSwitch(JKRHeap* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRThread/__ct__15JKRThreadSwitchFP7JKRHeap.s" } #pragma pop /* 802D1A14-802D1A70 005C+00 s=0 e=1 z=0 None .text createManager__15JKRThreadSwitchFP7JKRHeap */ // 802D1A2C: 80451374 (sCurrentHeap__7JKRHeap) // 802D1A3C: 802CEC98 (__nw__FUlP7JKRHeapi) // 802D1A4C: 802D199C (__ct__15JKRThreadSwitchFP7JKRHeap) // 802D1A54: 804513B0 (sManager__15JKRThreadSwitch) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JKRHeap* False // JKRHeap False asm void JKRThreadSwitch::createManager(JKRHeap* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRThread/createManager__15JKRThreadSwitchFP7JKRHeap.s" } #pragma pop /* 802D1A70-802D1AE4 0074+00 s=0 e=1 z=0 None .text enter__15JKRThreadSwitchFP9JKRThreadi */ // 802D1A9C: 802D1960 (searchThread__9JKRThreadFP8OSThread) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JKRThread* False // JKRThread False // int False asm void JKRThreadSwitch::enter(JKRThread* param_0, int param_1) { nofralloc #include "asm/JSystem/JKernel/JKRThread/enter__15JKRThreadSwitchFP9JKRThreadi.s" } #pragma pop /* ############################################################################################## */ /* 8039CFA8-8039D078 00CD+03 s=2 e=0 z=0 None .rodata @stringBase0 */ #pragma push #pragma force_active on #pragma section ".dead" SECTION_DEAD char const* const stringBase_8039CFA8 = "on"; SECTION_DEAD char const* const stringBase_8039CFAB = "off"; SECTION_DEAD char const* const stringBase_8039CFAF = "JKRThread:%x OSThread:%x Load:ID:%d (%s)\n"; SECTION_DEAD char const* const stringBase_8039CFDC = "JKRThreadSwitch: currentHeap destroyed.\n"; SECTION_DEAD char const* const stringBase_8039D005 = " total: switch:%3d time:%d(%df)\n"; SECTION_DEAD char const* const stringBase_8039D027 = " -------------------------------------\n"; SECTION_DEAD char const* const stringBase_8039D04F = "%d"; SECTION_DEAD char const* const stringBase_8039D052 = " [%10s] switch:%5d cost:%2d.%d%%\n"; /* @stringBase0 padding */ SECTION_DEAD static char const* const pad_8039D075 = "\0\0"; #pragma pop /* 804513C0-804513C4 0004+00 s=1 e=0 z=0 None .sbss mUserPreCallback__15JKRThreadSwitch */ static u8 mUserPreCallback__15JKRThreadSwitch[4]; /* 804513C4-804513C8 0004+00 s=1 e=0 z=0 None .sbss mUserPostCallback__15JKRThreadSwitch */ static u8 mUserPostCallback__15JKRThreadSwitch[4]; /* 802D1AE4-802D1C74 0190+00 s=1 e=0 z=0 None .text callback__15JKRThreadSwitchFP8OSThreadP8OSThread */ // 802D1AF4: 803621D4 (_savegpr_27) // 802D1B00: 804513C0 (mUserPreCallback__15JKRThreadSwitch) // 802D1B14: 804513B4 (sTotalCount__15JKRThreadSwitch) // 802D1B1C: 804513B4 (sTotalCount__15JKRThreadSwitch) // 802D1B24: 8043428C (sThreadList__9JKRThread) // 802D1B28: 8043428C (sThreadList__9JKRThread) // 802D1B40: 80451374 (sCurrentHeap__7JKRHeap) // 802D1B58: 80342714 (OSGetTick) // 802D1B88: 80342714 (OSGetTick) // 802D1B9C: 804513B0 (sManager__15JKRThreadSwitch) // 802D1BBC: 80451374 (sCurrentHeap__7JKRHeap) // 802D1BC4: 80451378 (sRootHeap__7JKRHeap) // 802D1BC8: 802CEBA8 (isSubHeap__7JKRHeapCFP7JKRHeap) // 802D1C00: 8039CFA8 (JKRThread__stringBase0) // 802D1C04: 8039CFA8 (JKRThread__stringBase0) // 802D1C0C: 802E86FC (JUTWarningConsole) // 802D1C10: 80451374 (sCurrentHeap__7JKRHeap) // 802D1C18: 80451374 (sCurrentHeap__7JKRHeap) // 802D1C20: 80451370 (sSystemHeap__7JKRHeap) // 802D1C3C: 802CE438 (becomeCurrentHeap__7JKRHeapFv) // 802D1C40: 804513C4 (mUserPostCallback__15JKRThreadSwitch) // 802D1C60: 80362220 (_restgpr_27) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // OSThread* False // OSThread False // OSThread* False // OSThread False asm void JKRThreadSwitch::callback(OSThread* param_0, OSThread* param_1) { nofralloc #include "asm/JSystem/JKernel/JKRThread/callback__15JKRThreadSwitchFP8OSThreadP8OSThread.s" } #pragma pop /* ############################################################################################## */ /* 80455FC0-80455FC4 0004+00 s=1 e=0 z=0 None .sdata2 @934 */ SECTION_SDATA2 static f32 lit_934 = 100.0f; /* 80455FC4-80455FC8 0004+00 s=1 e=0 z=0 None .sdata2 @935 */ SECTION_SDATA2 static f32 lit_935 = 1000.0f; /* 80455FC8-80455FD0 0008+00 s=1 e=0 z=0 None .sdata2 @937 */ SECTION_SDATA2 static f64 lit_937 = 4503599627370496.0 /* cast u32 to float */; /* 802D1C74-802D1E14 01A0+00 s=1 e=0 z=0 None .text draw__15JKRThreadSwitchFP14JKRThreadName_P10JUTConsole */ // 802D1C8C: 803621CC (_savegpr_25) // 802D1C9C: 8039CFA8 (JKRThread__stringBase0) // 802D1CA0: 8039CFA8 (JKRThread__stringBase0) // 802D1CB4: 802E75EC (clear__10JUTConsoleFv) // 802D1CC0: 804513B4 (sTotalCount__15JKRThreadSwitch) // 802D1CD0: 802E7BB8 (print_f__10JUTConsoleFPCce) // 802D1CDC: 802E7C38 (print__10JUTConsoleFPCc) // 802D1CE0: 8043428C (sThreadList__9JKRThread) // 802D1CE4: 8043428C (sThreadList__9JKRThread) // 802D1D44: 8039CFA8 (JKRThread__stringBase0) // 802D1D48: 8039CFA8 (JKRThread__stringBase0) // 802D1D58: 803664DC (sprintf) // 802D1D6C: 803626BC (__cvt_sll_flt) // 802D1D74: 80455FC8 (lit_937) // 802D1D90: 80455FC0 (lit_934) // 802D1D98: 803620AC (__cvt_fp2unsigned) // 802D1DA0: 80455FC4 (lit_935) // 802D1DA8: 803620AC (__cvt_fp2unsigned) // 802D1DC8: 8039CFA8 (JKRThread__stringBase0) // 802D1DCC: 8039CFA8 (JKRThread__stringBase0) // 802D1DE4: 802E7BB8 (print_f__10JUTConsoleFPCce) // 802D1E00: 80362218 (_restgpr_25) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JKRThreadName_* False // JKRThreadName_ False // JUTConsole* False // JUTConsole False asm void JKRThreadSwitch::draw(JKRThreadName_* param_0, JUTConsole* param_1) { nofralloc #include "asm/JSystem/JKernel/JKRThread/draw__15JKRThreadSwitchFP14JKRThreadName_P10JUTConsole.s" } #pragma pop /* 802D1E14-802D1E1C 0008+00 s=1 e=0 z=0 None .text run__9JKRThreadFv */ // True False // bool False bool JKRThread::run() { return false; } /* 802D1E1C-802D1E4C 0030+00 s=1 e=0 z=0 None .text draw__15JKRThreadSwitchFP14JKRThreadName_ */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JKRThreadName_* False // JKRThreadName_ False asm void JKRThreadSwitch::draw(JKRThreadName_* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRThread/draw__15JKRThreadSwitchFP14JKRThreadName_.s" } #pragma pop /* 802D1E4C-802D1E94 0048+00 s=1 e=0 z=0 None .text __dt__15JKRThreadSwitchFv */ // 802D1E64: 803CC100 (__vt__15JKRThreadSwitch) // 802D1E68: 803CC100 (__vt__15JKRThreadSwitch) // 802D1E78: 802CED3C (__dl__FPv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm JKRThreadSwitch::~JKRThreadSwitch() { nofralloc #include "asm/JSystem/JKernel/JKRThread/__dt__15JKRThreadSwitchFv.s" } #pragma pop /* 802D1E94-802D1EFC 0068+00 s=0 e=0 z=0 None .text __sinit_JKRThread_cpp */ // 802D1EA4: 80434280 (lit_481) // 802D1EA8: 80434280 (lit_481) // 802D1EB4: 802DBE74 (__ct__10JSUPtrListFb) // 802D1EBC: 802D1F50 (func_802D1F50) // 802D1EC0: 802D1F50 (func_802D1F50) // 802D1EC8: 80361C24 (__register_global_object) // 802D1ED0: 802DBF14 (initiate__10JSUPtrListFv) // 802D1ED8: 802D1EFC (func_802D1EFC) // 802D1EDC: 802D1EFC (func_802D1EFC) // 802D1EE4: 80361C24 (__register_global_object) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False extern "C" asm void __sinit_JKRThread_cpp() { nofralloc #include "asm/JSystem/JKernel/JKRThread/__sinit_JKRThread_cpp.s" } #pragma pop #pragma push #pragma force_active on #pragma section ".ctors$15" __declspec(section ".ctors$15") void* const _ctors_802D1E94 = (void*)__sinit_JKRThread_cpp; #pragma pop /* 802D1EFC-802D1F50 0054+00 s=1 e=0 z=0 None .text __dt__17JSUList<7JKRTask>Fv */ // 802D1F20: 802DBEAC (__dt__10JSUPtrListFv) // 802D1F30: 802CED3C (__dl__FPv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False True asm JSUList__template3::~JSUList__template3() { nofralloc #include "asm/JSystem/JKernel/JKRThread/func_802D1EFC.s" } #pragma pop /* 802D1F50-802D1FA4 0054+00 s=1 e=0 z=0 None .text __dt__19JSUList<9JKRThread>Fv */ // 802D1F74: 802DBEAC (__dt__10JSUPtrListFv) // 802D1F84: 802CED3C (__dl__FPv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False True asm JSUList__template4::~JSUList__template4() { nofralloc #include "asm/JSystem/JKernel/JKRThread/func_802D1F50.s" } #pragma pop /* ############################################################################################## */ /* 80434298-804342A4 000C+00 s=0 e=0 z=0 None .bss @989 */ u8 lit_989[12]; /* 804342A4-804342B0 000C+00 s=0 e=0 z=0 None .bss sTaskList__7JKRTask */ u8 sTaskList__7JKRTask[12]; /* 804342B0-804342D0 0020+00 s=0 e=0 z=0 None .bss sEndMesgQueue__7JKRTask */ u8 sEndMesgQueue__7JKRTask[32];