mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-07 19:31:19 -04:00
424 lines
14 KiB
C++
424 lines
14 KiB
C++
//
|
|
// Generated By: dol2asm
|
|
// Translation Unit: m_Do/m_Do_MemCard
|
|
//
|
|
|
|
#include "m_Do/m_Do_MemCard.h"
|
|
#include "dol2asm.h"
|
|
#include "dolphin/types.h"
|
|
|
|
//
|
|
// Types:
|
|
//
|
|
|
|
struct mDoRst {
|
|
static u8 mResetData[4 + 4 /* padding */];
|
|
};
|
|
|
|
struct mDoMemCd_Ctrl_c {
|
|
/* 8001672C */ mDoMemCd_Ctrl_c();
|
|
/* 80016730 */ void ThdInit();
|
|
/* 800167D0 */ void main();
|
|
/* 80016894 */ void update();
|
|
/* 800169B4 */ void load();
|
|
/* 80016A0C */ void restore();
|
|
/* 80016AB0 */ void LoadSync(void*, u32, u32);
|
|
/* 80016B58 */ void save(void*, u32, u32);
|
|
/* 80016BD4 */ void store();
|
|
/* 80016CE0 */ void SaveSync();
|
|
/* 80016D74 */ void getStatus(u32);
|
|
/* 80016E58 */ void command_format();
|
|
/* 80016EA8 */ void format();
|
|
/* 80016F2C */ void FormatSync();
|
|
/* 80016FB8 */ void attach();
|
|
/* 800170B8 */ void command_attach();
|
|
/* 80017110 */ void detach();
|
|
/* 80017148 */ void mount();
|
|
/* 80017274 */ void loadfile();
|
|
/* 800172D4 */ void checkspace();
|
|
/* 80017360 */ void setCardState(s32);
|
|
};
|
|
|
|
struct OSThread {};
|
|
|
|
struct JKRThread {
|
|
/* 802D16B8 */ JKRThread(OSThread*, int);
|
|
/* 802D1758 */ ~JKRThread();
|
|
};
|
|
|
|
struct JKRHeap {
|
|
/* 802CE438 */ void becomeCurrentHeap();
|
|
};
|
|
|
|
struct CARDFileInfo {};
|
|
|
|
//
|
|
// Forward References:
|
|
//
|
|
|
|
extern "C" void __ct__15mDoMemCd_Ctrl_cFv();
|
|
extern "C" void ThdInit__15mDoMemCd_Ctrl_cFv();
|
|
extern "C" void main__15mDoMemCd_Ctrl_cFv();
|
|
extern "C" void update__15mDoMemCd_Ctrl_cFv();
|
|
extern "C" void load__15mDoMemCd_Ctrl_cFv();
|
|
extern "C" void restore__15mDoMemCd_Ctrl_cFv();
|
|
extern "C" void LoadSync__15mDoMemCd_Ctrl_cFPvUlUl();
|
|
extern "C" void save__15mDoMemCd_Ctrl_cFPvUlUl();
|
|
extern "C" void store__15mDoMemCd_Ctrl_cFv();
|
|
extern "C" void SaveSync__15mDoMemCd_Ctrl_cFv();
|
|
extern "C" void getStatus__15mDoMemCd_Ctrl_cFUl();
|
|
extern "C" void command_format__15mDoMemCd_Ctrl_cFv();
|
|
extern "C" void format__15mDoMemCd_Ctrl_cFv();
|
|
extern "C" void FormatSync__15mDoMemCd_Ctrl_cFv();
|
|
extern "C" void attach__15mDoMemCd_Ctrl_cFv();
|
|
extern "C" void command_attach__15mDoMemCd_Ctrl_cFv();
|
|
extern "C" void detach__15mDoMemCd_Ctrl_cFv();
|
|
extern "C" void mount__15mDoMemCd_Ctrl_cFv();
|
|
extern "C" void loadfile__15mDoMemCd_Ctrl_cFv();
|
|
extern "C" void checkspace__15mDoMemCd_Ctrl_cFv();
|
|
extern "C" void setCardState__15mDoMemCd_Ctrl_cFl();
|
|
extern "C" static void mDoMemCd_main__FPv();
|
|
extern "C" void __sinit_m_Do_MemCard_cpp();
|
|
extern "C" extern char const* const m_Do_m_Do_MemCard__stringBase0;
|
|
|
|
//
|
|
// External References:
|
|
//
|
|
|
|
SECTION_INIT void memcpy();
|
|
extern "C" void mDoExt_getAssertHeap__Fv();
|
|
extern "C" void mDoMemCdRWm_Store__FP12CARDFileInfoPvUl();
|
|
extern "C" void mDoMemCdRWm_Restore__FP12CARDFileInfoPvUl();
|
|
extern "C" void becomeCurrentHeap__7JKRHeapFv();
|
|
extern "C" void __ct__9JKRThreadFP8OSThreadi();
|
|
extern "C" void __dt__9JKRThreadFv();
|
|
extern "C" void OSInitMutex();
|
|
extern "C" void OSLockMutex();
|
|
extern "C" void OSUnlockMutex();
|
|
extern "C" void OSTryLockMutex();
|
|
extern "C" void OSInitCond();
|
|
extern "C" void OSWaitCond();
|
|
extern "C" void OSSignalCond();
|
|
extern "C" void OSGetCurrentThread();
|
|
extern "C" void OSCreateThread();
|
|
extern "C" void OSResumeThread();
|
|
extern "C" void OSGetThreadPriority();
|
|
extern "C" void CARDInit();
|
|
extern "C" void CARDFreeBlocks();
|
|
extern "C" void CARDCheck();
|
|
extern "C" void CARDProbe();
|
|
extern "C" void CARDProbeEx();
|
|
extern "C" void CARDMount();
|
|
extern "C" void CARDUnmount();
|
|
extern "C" void CARDFormat();
|
|
extern "C" void CARDOpen();
|
|
extern "C" void CARDClose();
|
|
extern "C" void CARDCreate();
|
|
extern "C" void _savegpr_27();
|
|
extern "C" void _savegpr_28();
|
|
extern "C" void _restgpr_27();
|
|
extern "C" void _restgpr_28();
|
|
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
|
|
|
|
//
|
|
// Declarations:
|
|
//
|
|
|
|
/* 8001672C-80016730 01106C 0004+00 1/1 0/0 0/0 .text __ct__15mDoMemCd_Ctrl_cFv */
|
|
mDoMemCd_Ctrl_c::mDoMemCd_Ctrl_c() {
|
|
/* empty function */
|
|
}
|
|
|
|
/* ############################################################################################## */
|
|
/* 803DFC20-803E0C20 00C940 1000+00 1/1 0/0 0/0 .bss MemCardStack */
|
|
static u8 MemCardStack[4096];
|
|
|
|
/* 803E0C20-803E0F40 00D940 0318+08 1/1 0/0 0/0 .bss MemCardThread */
|
|
static u8 MemCardThread[792 + 8 /* padding */];
|
|
|
|
/* 80016730-800167D0 011070 00A0+00 0/0 1/1 0/0 .text ThdInit__15mDoMemCd_Ctrl_cFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::ThdInit() {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/ThdInit__15mDoMemCd_Ctrl_cFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 800167D0-80016894 011110 00C4+00 1/1 0/0 0/0 .text main__15mDoMemCd_Ctrl_cFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::main() {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/main__15mDoMemCd_Ctrl_cFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80016894-800169B4 0111D4 0120+00 0/0 1/1 0/0 .text update__15mDoMemCd_Ctrl_cFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::update() {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/update__15mDoMemCd_Ctrl_cFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 800169B4-80016A0C 0112F4 0058+00 0/0 2/2 0/0 .text load__15mDoMemCd_Ctrl_cFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::load() {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/load__15mDoMemCd_Ctrl_cFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 803743F8-803743F8 000A58 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
|
#pragma push
|
|
#pragma force_active on
|
|
SECTION_DEAD static char const* const stringBase_803743F8 = "gczelda2";
|
|
/* @stringBase0 padding */
|
|
SECTION_DEAD static char const* const pad_80374401 = "\0\0\0\0\0\0";
|
|
#pragma pop
|
|
|
|
/* 80016A0C-80016AB0 01134C 00A4+00 1/1 0/0 0/0 .text restore__15mDoMemCd_Ctrl_cFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::restore() {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/restore__15mDoMemCd_Ctrl_cFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80016AB0-80016B58 0113F0 00A8+00 0/0 2/2 0/0 .text LoadSync__15mDoMemCd_Ctrl_cFPvUlUl
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::LoadSync(void* param_0, u32 param_1, u32 param_2) {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/LoadSync__15mDoMemCd_Ctrl_cFPvUlUl.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80016B58-80016BD4 011498 007C+00 0/0 2/2 0/0 .text save__15mDoMemCd_Ctrl_cFPvUlUl */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::save(void* param_0, u32 param_1, u32 param_2) {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/save__15mDoMemCd_Ctrl_cFPvUlUl.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80016BD4-80016CE0 011514 010C+00 1/1 0/0 0/0 .text store__15mDoMemCd_Ctrl_cFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::store() {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/store__15mDoMemCd_Ctrl_cFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80016CE0-80016D74 011620 0094+00 0/0 6/6 0/0 .text SaveSync__15mDoMemCd_Ctrl_cFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::SaveSync() {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/SaveSync__15mDoMemCd_Ctrl_cFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 803A34F8-803A3530 -00001 0038+00 1/1 0/0 0/0 .data @3770 */
|
|
SECTION_DATA static void* lit_3770[14] = {
|
|
(void*)(((char*)getStatus__15mDoMemCd_Ctrl_cFUl) + 0x74),
|
|
(void*)(((char*)getStatus__15mDoMemCd_Ctrl_cFUl) + 0x4C),
|
|
(void*)(((char*)getStatus__15mDoMemCd_Ctrl_cFUl) + 0x54),
|
|
(void*)(((char*)getStatus__15mDoMemCd_Ctrl_cFUl) + 0x5C),
|
|
(void*)(((char*)getStatus__15mDoMemCd_Ctrl_cFUl) + 0x64),
|
|
(void*)(((char*)getStatus__15mDoMemCd_Ctrl_cFUl) + 0x6C),
|
|
(void*)(((char*)getStatus__15mDoMemCd_Ctrl_cFUl) + 0x7C),
|
|
(void*)(((char*)getStatus__15mDoMemCd_Ctrl_cFUl) + 0x84),
|
|
(void*)(((char*)getStatus__15mDoMemCd_Ctrl_cFUl) + 0x8C),
|
|
(void*)(((char*)getStatus__15mDoMemCd_Ctrl_cFUl) + 0x94),
|
|
(void*)(((char*)getStatus__15mDoMemCd_Ctrl_cFUl) + 0x9C),
|
|
(void*)(((char*)getStatus__15mDoMemCd_Ctrl_cFUl) + 0xA4),
|
|
(void*)(((char*)getStatus__15mDoMemCd_Ctrl_cFUl) + 0xAC),
|
|
(void*)(((char*)getStatus__15mDoMemCd_Ctrl_cFUl) + 0xB4),
|
|
};
|
|
|
|
/* 80016D74-80016E58 0116B4 00E4+00 2/1 2/2 0/0 .text getStatus__15mDoMemCd_Ctrl_cFUl */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::getStatus(u32 param_0) {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/getStatus__15mDoMemCd_Ctrl_cFUl.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80016E58-80016EA8 011798 0050+00 0/0 2/2 0/0 .text command_format__15mDoMemCd_Ctrl_cFv
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::command_format() {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/command_format__15mDoMemCd_Ctrl_cFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80016EA8-80016F2C 0117E8 0084+00 1/1 0/0 0/0 .text format__15mDoMemCd_Ctrl_cFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::format() {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/format__15mDoMemCd_Ctrl_cFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80016F2C-80016FB8 01186C 008C+00 0/0 2/2 0/0 .text FormatSync__15mDoMemCd_Ctrl_cFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::FormatSync() {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/FormatSync__15mDoMemCd_Ctrl_cFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80016FB8-800170B8 0118F8 0100+00 1/1 0/0 0/0 .text attach__15mDoMemCd_Ctrl_cFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::attach() {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/attach__15mDoMemCd_Ctrl_cFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 800170B8-80017110 0119F8 0058+00 0/0 1/1 0/0 .text command_attach__15mDoMemCd_Ctrl_cFv
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::command_attach() {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/command_attach__15mDoMemCd_Ctrl_cFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80017110-80017148 011A50 0038+00 1/1 0/0 0/0 .text detach__15mDoMemCd_Ctrl_cFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::detach() {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/detach__15mDoMemCd_Ctrl_cFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 803A3530-803A3568 -00001 0038+00 1/1 0/0 0/0 .data @3850 */
|
|
SECTION_DATA static void* lit_3850[14] = {
|
|
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xF4),
|
|
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
|
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
|
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
|
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
|
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
|
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
|
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xC4),
|
|
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xD4),
|
|
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
|
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xE4),
|
|
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
|
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
|
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xBC),
|
|
};
|
|
|
|
/* 803E0F40-803EAF40 00DC60 A000+00 1/1 0/0 0/0 .bss MemCardWorkArea0 */
|
|
static u8 MemCardWorkArea0[40960];
|
|
|
|
/* 80017148-80017274 011A88 012C+00 2/1 0/0 0/0 .text mount__15mDoMemCd_Ctrl_cFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::mount() {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/mount__15mDoMemCd_Ctrl_cFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80017274-800172D4 011BB4 0060+00 1/1 0/0 0/0 .text loadfile__15mDoMemCd_Ctrl_cFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::loadfile() {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/loadfile__15mDoMemCd_Ctrl_cFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 800172D4-80017360 011C14 008C+00 1/1 0/0 0/0 .text checkspace__15mDoMemCd_Ctrl_cFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::checkspace() {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/checkspace__15mDoMemCd_Ctrl_cFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80017360-8001741C 011CA0 00BC+00 5/5 0/0 0/0 .text setCardState__15mDoMemCd_Ctrl_cFl
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void mDoMemCd_Ctrl_c::setCardState(s32 param_0) {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/setCardState__15mDoMemCd_Ctrl_cFl.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 803EAF40-803ECF40 017C60 2000+00 2/2 27/27 0/0 .bss g_mDoMemCd_control */
|
|
extern u8 g_mDoMemCd_control[8192];
|
|
u8 g_mDoMemCd_control[8192];
|
|
|
|
/* 8001741C-80017470 011D5C 0054+00 1/1 0/0 0/0 .text mDoMemCd_main__FPv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
static asm void mDoMemCd_main(void* param_0) {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/mDoMemCd_main__FPv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80017470-80017498 011DB0 0028+00 0/0 1/0 0/0 .text __sinit_m_Do_MemCard_cpp */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void __sinit_m_Do_MemCard_cpp() {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_MemCard/__sinit_m_Do_MemCard_cpp.s"
|
|
}
|
|
#pragma pop
|
|
|
|
#pragma push
|
|
#pragma force_active on
|
|
REGISTER_CTORS(0x80017470, __sinit_m_Do_MemCard_cpp);
|
|
#pragma pop
|
|
|
|
/* 803743F8-803743F8 000A58 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|