// // Generated By: dol2asm // Translation Unit: JASHeapCtrl // #include "JSystem/JAudio2/JASHeapCtrl.h" #include "dol2asm.h" #include "dolphin/types.h" // // Types: // struct JSUPtrLink { /* 802DBDFC */ JSUPtrLink(void*); /* 802DBE14 */ ~JSUPtrLink(); }; struct JSUPtrList { /* 802DBEAC */ ~JSUPtrList(); /* 802DBF14 */ void initiate(); /* 802DC094 */ void insert(JSUPtrLink*, JSUPtrLink*); /* 802DC15C */ void remove(JSUPtrLink*); }; struct JKRSolidHeap {}; struct JKRHeap { static u8 sSystemHeap[4]; }; struct JKRExpHeap { /* 802CEE2C */ void create(u32, JKRHeap*, bool); }; struct JASKernel { /* 802909B8 */ void setupRootHeap(JKRSolidHeap*, u32); /* 80290AC0 */ u32 getSystemHeap(); /* 80290AC8 */ u32 getCommandHeap(); /* 80290AD0 */ void setupAramHeap(u32, u32); /* 80290B08 */ void getAramHeap(); static u8 audioAramHeap[68]; static u8 sAramBase[4]; static u8 sSystemHeap[4]; static u8 sCommandHeap[4]; }; struct JASDisposer { /* 80290BCC */ void onDispose(); }; struct JASHeap { /* 80290140 */ JASHeap(JASDisposer*); /* 802901AC */ void initRootHeap(void*, u32); /* 8029021C */ void alloc(JASHeap*, u32); /* 802903F4 */ void allocTail(JASHeap*, u32); /* 802904E4 */ void free(); /* 80290608 */ void insertChild(JASHeap*, JASHeap*, void*, u32, bool); /* 802906F0 */ void getTailHeap(); /* 8029077C */ void getTailOffset(); /* 802907E0 */ void getCurOffset(); /* 80290B54 */ ~JASHeap(); }; struct JASGenericMemPool { /* 80290848 */ JASGenericMemPool(); /* 80290860 */ ~JASGenericMemPool(); /* 802908C8 */ void newMemPool(u32, int); /* 80290948 */ void alloc(u32); /* 80290994 */ void free(void*, u32); }; // // Forward References: // extern "C" void __ct__7JASHeapFP11JASDisposer(); extern "C" void initRootHeap__7JASHeapFPvUl(); extern "C" void alloc__7JASHeapFP7JASHeapUl(); extern "C" void allocTail__7JASHeapFP7JASHeapUl(); extern "C" void free__7JASHeapFv(); extern "C" void insertChild__7JASHeapFP7JASHeapP7JASHeapPvUlb(); extern "C" void getTailHeap__7JASHeapFv(); extern "C" void getTailOffset__7JASHeapFv(); extern "C" void getCurOffset__7JASHeapFv(); extern "C" void __ct__17JASGenericMemPoolFv(); extern "C" void __dt__17JASGenericMemPoolFv(); extern "C" void newMemPool__17JASGenericMemPoolFUli(); extern "C" void alloc__17JASGenericMemPoolFUl(); extern "C" void free__17JASGenericMemPoolFPvUl(); extern "C" void setupRootHeap__9JASKernelFP12JKRSolidHeapUl(); extern "C" u32 getSystemHeap__9JASKernelFv(); extern "C" u32 getCommandHeap__9JASKernelFv(); extern "C" void setupAramHeap__9JASKernelFUlUl(); extern "C" void getAramHeap__9JASKernelFv(); extern "C" void __sinit_JASHeapCtrl_cpp(); extern "C" void __dt__7JASHeapFv(); extern "C" void onDispose__11JASDisposerFv(); extern "C" u8 audioAramHeap__9JASKernel[68]; extern "C" u8 sAramBase__9JASKernel[4]; extern "C" u8 sSystemHeap__9JASKernel[4]; extern "C" u8 sCommandHeap__9JASKernel[4]; // // External References: // extern "C" void* __nw__FUlP7JKRHeapi(); extern "C" void* __nwa__FUlP7JKRHeapi(); extern "C" void __dl__FPv(); extern "C" void __dla__FPv(); extern "C" void create__10JKRExpHeapFUlP7JKRHeapb(); extern "C" void __ct__10JSUPtrLinkFPv(); extern "C" void __dt__10JSUPtrLinkFv(); extern "C" void __dt__10JSUPtrListFv(); extern "C" void initiate__10JSUPtrListFv(); extern "C" void insert__10JSUPtrListFP10JSUPtrLinkP10JSUPtrLink(); extern "C" void remove__10JSUPtrListFP10JSUPtrLink(); extern "C" void OSInitMutex(); extern "C" void OSLockMutex(); extern "C" void OSUnlockMutex(); extern "C" void __register_global_object(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" u8 sSystemHeap__7JKRHeap[4]; // // Declarations: // /* 80290140-802901AC 28AA80 006C+00 1/1 2/2 0/0 .text __ct__7JASHeapFP11JASDisposer */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm JASHeap::JASHeap(JASDisposer* param_0) { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/__ct__7JASHeapFP11JASDisposer.s" } #pragma pop /* 802901AC-8029021C 28AAEC 0070+00 1/1 0/0 0/0 .text initRootHeap__7JASHeapFPvUl */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JASHeap::initRootHeap(void* param_0, u32 param_1) { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/initRootHeap__7JASHeapFPvUl.s" } #pragma pop /* 8029021C-802903F4 28AB5C 01D8+00 0/0 2/2 0/0 .text alloc__7JASHeapFP7JASHeapUl */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JASHeap::alloc(JASHeap* param_0, u32 param_1) { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/alloc__7JASHeapFP7JASHeapUl.s" } #pragma pop /* 802903F4-802904E4 28AD34 00F0+00 0/0 1/1 0/0 .text allocTail__7JASHeapFP7JASHeapUl */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JASHeap::allocTail(JASHeap* param_0, u32 param_1) { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/allocTail__7JASHeapFP7JASHeapUl.s" } #pragma pop /* 802904E4-80290608 28AE24 0124+00 0/0 4/4 0/0 .text free__7JASHeapFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JASHeap::free() { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/free__7JASHeapFv.s" } #pragma pop /* 80290608-802906F0 28AF48 00E8+00 2/2 0/0 0/0 .text * insertChild__7JASHeapFP7JASHeapP7JASHeapPvUlb */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JASHeap::insertChild(JASHeap* param_0, JASHeap* param_1, void* param_2, u32 param_3, bool param_4) { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/insertChild__7JASHeapFP7JASHeapP7JASHeapPvUlb.s" } #pragma pop /* 802906F0-8029077C 28B030 008C+00 3/3 0/0 0/0 .text getTailHeap__7JASHeapFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JASHeap::getTailHeap() { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/getTailHeap__7JASHeapFv.s" } #pragma pop /* 8029077C-802907E0 28B0BC 0064+00 2/2 0/0 0/0 .text getTailOffset__7JASHeapFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JASHeap::getTailOffset() { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/getTailOffset__7JASHeapFv.s" } #pragma pop /* 802907E0-80290848 28B120 0068+00 2/2 0/0 0/0 .text getCurOffset__7JASHeapFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JASHeap::getCurOffset() { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/getCurOffset__7JASHeapFv.s" } #pragma pop /* 80290848-80290860 28B188 0018+00 0/0 32/32 0/0 .text __ct__17JASGenericMemPoolFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm JASGenericMemPool::JASGenericMemPool() { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/__ct__17JASGenericMemPoolFv.s" } #pragma pop /* 80290860-802908C8 28B1A0 0068+00 0/0 9/9 0/0 .text __dt__17JASGenericMemPoolFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm JASGenericMemPool::~JASGenericMemPool() { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/__dt__17JASGenericMemPoolFv.s" } #pragma pop /* ############################################################################################## */ /* 80451210-80451214 000710 0004+00 2/2 15/15 0/0 .sbss JASDram */ extern u8 JASDram[4]; u8 JASDram[4]; /* 802908C8-80290948 28B208 0080+00 0/0 4/4 0/0 .text newMemPool__17JASGenericMemPoolFUli */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JASGenericMemPool::newMemPool(u32 param_0, int param_1) { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/newMemPool__17JASGenericMemPoolFUli.s" } #pragma pop /* 80290948-80290994 28B288 004C+00 0/0 13/13 0/0 .text alloc__17JASGenericMemPoolFUl */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JASGenericMemPool::alloc(u32 param_0) { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/alloc__17JASGenericMemPoolFUl.s" } #pragma pop /* 80290994-802909B8 28B2D4 0024+00 0/0 15/15 0/0 .text free__17JASGenericMemPoolFPvUl */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JASGenericMemPool::free(void* param_0, u32 param_1) { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/free__17JASGenericMemPoolFPvUl.s" } #pragma pop /* ############################################################################################## */ /* 80451214-80451218 000714 0004+00 1/1 0/0 0/0 .sbss sAramBase__9JASKernel */ u8 JASKernel::sAramBase[4]; /* 80451218-8045121C 000718 0004+00 2/1 0/0 0/0 .sbss sSystemHeap__9JASKernel */ u8 JASKernel::sSystemHeap[4]; /* 8045121C-80451220 00071C 0004+00 2/1 0/0 0/0 .sbss sCommandHeap__9JASKernel */ u8 JASKernel::sCommandHeap[4]; /* 802909B8-80290AC0 28B2F8 0108+00 0/0 1/1 0/0 .text setupRootHeap__9JASKernelFP12JKRSolidHeapUl */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JASKernel::setupRootHeap(JKRSolidHeap* param_0, u32 param_1) { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/setupRootHeap__9JASKernelFP12JKRSolidHeapUl.s" } #pragma pop /* 80290AC0-80290AC8 -00001 0008+00 0/0 0/0 0/0 .text getSystemHeap__9JASKernelFv */ u32 JASKernel::getSystemHeap() { return *(u32*)(&JASKernel::sSystemHeap); } /* 80290AC8-80290AD0 -00001 0008+00 0/0 0/0 0/0 .text getCommandHeap__9JASKernelFv */ u32 JASKernel::getCommandHeap() { return *(u32*)(&JASKernel::sCommandHeap); } /* ############################################################################################## */ /* 804315D0-804315DC 05E2F0 000C+00 1/1 0/0 0/0 .bss @313 */ static u8 lit_313[12]; /* 804315DC-80431620 05E2FC 0044+00 3/3 0/0 0/0 .bss audioAramHeap__9JASKernel */ u8 JASKernel::audioAramHeap[68]; /* 80290AD0-80290B08 28B410 0038+00 0/0 1/1 0/0 .text setupAramHeap__9JASKernelFUlUl */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JASKernel::setupAramHeap(u32 param_0, u32 param_1) { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/setupAramHeap__9JASKernelFUlUl.s" } #pragma pop /* 80290B08-80290B14 28B448 000C+00 0/0 3/2 0/0 .text getAramHeap__9JASKernelFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JASKernel::getAramHeap() { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/getAramHeap__9JASKernelFv.s" } #pragma pop /* 80290B14-80290B54 28B454 0040+00 0/0 1/0 0/0 .text __sinit_JASHeapCtrl_cpp */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void __sinit_JASHeapCtrl_cpp() { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/__sinit_JASHeapCtrl_cpp.s" } #pragma pop #pragma push #pragma force_active on REGISTER_CTORS(0x80290B14, __sinit_JASHeapCtrl_cpp); #pragma pop /* 80290B54-80290BCC 28B494 0078+00 1/1 3/3 0/0 .text __dt__7JASHeapFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm JASHeap::~JASHeap() { nofralloc #include "asm/JSystem/JAudio2/JASHeapCtrl/__dt__7JASHeapFv.s" } #pragma pop /* 80290BCC-80290BD0 28B50C 0004+00 0/0 1/0 0/0 .text onDispose__11JASDisposerFv */ void JASDisposer::onDispose() { /* empty function */ }