Files
dusklight/src/m_Do/m_Do_machine.cpp
T
2021-04-06 18:00:35 +02:00

475 lines
18 KiB
C++

//
// Generated By: dol2asm
// Translation Unit: m_Do/m_Do_machine
//
#include "m_Do/m_Do_machine.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct mDoMemCd_Ctrl_c {
/* 80016730 */ void ThdInit();
};
struct mDoDvdThd {
/* 80015858 */ void create(s32);
};
struct JKRHeap {
/* 802CE438 */ void becomeCurrentHeap();
/* 802CE72C */ void getFreeSize();
/* 802CE784 */ void getTotalFreeSize();
/* 802CEB78 */ void setErrorFlag(bool);
/* 802CEB88 */ void setErrorHandler(void (*)(void*, u32, int));
};
struct cMl {
/* 80263220 */ void init(JKRHeap*);
};
struct OSThread {};
struct OSContext {};
struct JUTVideo {
/* 802E4CAC */ void destroyManager();
};
struct JUTGamePad {
struct EPadPort {};
/* 802E06DC */ JUTGamePad(JUTGamePad::EPadPort);
/* 802E07B0 */ ~JUTGamePad();
};
struct JUTFont {};
struct JUTException {
/* 802E2F18 */ void isEnablePad() const;
/* 802E2F54 */ void readPad(u32*, u32*);
/* 802E3980 */ void waitTime(s32);
/* 802E3AEC */ void setPreUserCallback(void (*)(u16, OSContext*, u32, u32));
/* 802E3AFC */ void setPostUserCallback(void (*)(u16, OSContext*, u32, u32));
/* 802E3B0C */ void appendMapFile(char const*);
};
struct JUTDbPrint {
/* 802E0190 */ void start(JUTFont*, JKRHeap*);
};
struct JUTConsole {
/* 802E7BB8 */ void print_f(char const*, ...);
/* 802E7C38 */ void print(char const*);
/* 802E80A8 */ void scroll(int);
/* 802E8184 */ void getUsedLine() const;
/* 802E81A8 */ void getLineOffset() const;
};
struct JUTConsoleManager {
/* 802E8450 */ void drawDirect(bool) const;
/* 802E84C4 */ void setDirectConsole(JUTConsole*);
};
struct JUTAssertion {
/* 802E4C34 */ void setVisible(bool);
};
struct JKRThreadSwitch {
/* 802D1A14 */ void createManager(JKRHeap*);
};
struct JKRThread {
/* 802D16B8 */ JKRThread(OSThread*, int);
};
struct JKRAramStream {
/* 802D4034 */ void setTransBuffer(u8*, u32, JKRHeap*);
};
struct JFWSystem {
/* 80271CD0 */ void firstInit();
/* 80271D18 */ void init();
};
//
// Forward References:
//
extern "C" static void myGetHeapTypeByString__FP7JKRHeap();
extern "C" static void myMemoryErrorRoutine__FPvUli();
extern "C" static void myHeapCheckRecursive__FP7JKRHeap();
extern "C" void mDoMch_HeapCheckAll__Fv();
extern "C" static void developKeyCheck__FUlUl();
extern "C" static void mDoMch_IsProgressiveMode__Fv();
extern "C" static void exceptionReadPad__FPUlPUl();
extern "C" static void exceptionRestart__Fv();
extern "C" static void myExceptionCallback__FUsP9OSContextUlUl();
extern "C" static void fault_callback_scroll__FUsP9OSContextUlUl();
extern "C" static void my_PrintHeap__FPCcUl();
extern "C" static void my_SysPrintHeap__FPCcPvUl();
extern "C" void mDoMch_Create__Fv();
extern "C" extern char const* const m_Do_m_Do_machine__stringBase0;
//
// External References:
//
extern "C" void OSReportDisable();
extern "C" void OSReportEnable();
extern "C" void OSReport();
extern "C" void OSReport_Error();
extern "C" void OSReport_System();
extern "C" void mDoExt_createAssertHeap__FP7JKRHeap();
extern "C" void mDoExt_createDbPrintHeap__FUlP7JKRHeap();
extern "C" void mDoExt_getDbPrintHeap__Fv();
extern "C" void mDoExt_createGameHeap__FUlP7JKRHeap();
extern "C" void mDoExt_getGameHeap__Fv();
extern "C" void mDoExt_createZeldaHeap__FUlP7JKRHeap();
extern "C" void mDoExt_getZeldaHeap__Fv();
extern "C" void mDoExt_createCommandHeap__FUlP7JKRHeap();
extern "C" void mDoExt_getCommandHeap__Fv();
extern "C" void mDoExt_createArchiveHeap__FUlP7JKRHeap();
extern "C" void mDoExt_getArchiveHeap__Fv();
extern "C" void mDoExt_createJ2dHeap__FUlP7JKRHeap();
extern "C" void mDoExt_getJ2dHeap__Fv();
extern "C" void mDoRst_reset__FiUli();
extern "C" void create__9mDoDvdThdFl();
extern "C" void mDoDvdErr_ThdInit__Fv();
extern "C" void ThdInit__15mDoMemCd_Ctrl_cFv();
extern "C" void exception_addition__FP10JUTConsole();
extern "C" void init__3cMlFP7JKRHeap();
extern "C" void cAPICPad_recalibrate__Fv();
extern "C" void cM_initRnd__Fiii();
extern "C" void firstInit__9JFWSystemFv();
extern "C" void init__9JFWSystemFv();
extern "C" void becomeCurrentHeap__7JKRHeapFv();
extern "C" void getFreeSize__7JKRHeapFv();
extern "C" void getTotalFreeSize__7JKRHeapFv();
extern "C" void setErrorFlag__7JKRHeapFb();
extern "C" void setErrorHandler__7JKRHeapFPFPvUli_v();
extern "C" void* __nw__FUl();
extern "C" void __ct__9JKRThreadFP8OSThreadi();
extern "C" void createManager__15JKRThreadSwitchFP7JKRHeap();
extern "C" void setTransBuffer__13JKRAramStreamFPUcUlP7JKRHeap();
extern "C" void start__10JUTDbPrintFP7JUTFontP7JKRHeap();
extern "C" void __ct__10JUTGamePadFQ210JUTGamePad8EPadPort();
extern "C" void __dt__10JUTGamePadFv();
extern "C" void isEnablePad__12JUTExceptionCFv();
extern "C" void readPad__12JUTExceptionFPUlPUl();
extern "C" void waitTime__12JUTExceptionFl();
extern "C" void setPreUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v();
extern "C" void setPostUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v();
extern "C" void appendMapFile__12JUTExceptionFPCc();
extern "C" void setVisible__12JUTAssertionFb();
extern "C" void destroyManager__8JUTVideoFv();
extern "C" void print_f__10JUTConsoleFPCce();
extern "C" void print__10JUTConsoleFPCc();
extern "C" void scroll__10JUTConsoleFi();
extern "C" void getUsedLine__10JUTConsoleCFv();
extern "C" void getLineOffset__10JUTConsoleCFv();
extern "C" void drawDirect__17JUTConsoleManagerCFb();
extern "C" void setDirectConsole__17JUTConsoleManagerFP10JUTConsole();
extern "C" void PPCHalt();
extern "C" void OSGetConsoleType();
extern "C" void OSGetArenaHi();
extern "C" void OSGetArenaLo();
extern "C" void OSSetArenaHi();
extern "C" void OSEnableInterrupts();
extern "C" void OSResetSystem();
extern "C" void OSGetResetCode();
extern "C" void OSGetProgressiveMode();
extern "C" void OSSetProgressiveMode();
extern "C" void OSGetCurrentThread();
extern "C" void OSGetThreadPriority();
extern "C" void OSGetTime();
extern "C" void DVDChangeDir();
extern "C" void VIFlush();
extern "C" void VISetBlack();
extern "C" void VIGetRetraceCount();
extern "C" void VIGetDTVStatus();
extern "C" void GXSetDrawDoneCallback();
extern "C" void _savegpr_28();
extern "C" void _restgpr_28();
extern "C" extern u8 g_mDoMemCd_control[8192];
extern "C" extern u32 data_80450580;
extern "C" extern u32 memMargin__7mDoMain;
extern "C" extern u32 maxStdHeaps__Q29JFWSystem11CSetUpParam;
extern "C" extern u32 sysHeapSize__Q29JFWSystem11CSetUpParam;
extern "C" extern u32 fifoBufSize__Q29JFWSystem11CSetUpParam;
extern "C" extern u32 aramAudioBufSize__Q29JFWSystem11CSetUpParam;
extern "C" extern u32 aramGraphBufSize__Q29JFWSystem11CSetUpParam;
extern "C" extern void* renderMode__Q29JFWSystem11CSetUpParam;
extern "C" extern u8 data_804508B0[8];
extern "C" extern u32 sSZSBufferSize__7JKRAram[1 + 1 /* padding */];
extern "C" extern u32 sSZSBufferSize__12JKRDvdRipper;
extern "C" extern u32 sSZSBufferSize__16JKRDvdAramRipper;
extern "C" extern u8 sHungUpTime__7mDoMain[4];
extern "C" extern u8 data_80450B14[4];
extern "C" extern u8 gameHeap[4];
extern "C" extern u8 zeldaHeap[4];
extern "C" extern u8 commandHeap[4];
extern "C" extern u8 archiveHeap[4];
extern "C" extern u8 mResetData__6mDoRst[4 + 4 /* padding */];
extern "C" extern u8 systemHeap__9JFWSystem[4];
extern "C" extern u8 systemConsole__9JFWSystem[4];
extern "C" extern u8 sSystemHeap__7JKRHeap[4];
extern "C" extern u8 sRootHeap__7JKRHeap[4];
extern "C" extern u8 sDebugPrint__10JUTDbPrint[4 + 4 /* padding */];
extern "C" extern u8 struct_80451500[4];
extern "C" extern u8 sErrorManager__12JUTException[4];
extern "C" extern u8 sConsole__12JUTException[4];
extern "C" extern u8 sManager__17JUTConsoleManager[4];
//
// Declarations:
//
/* ############################################################################################## */
/* 80450BF0-80450BF4 0000F0 0004+00 1/1 0/0 0/0 .sbss None */
static u8 data_80450BF0[4];
/* 80450BF4-80450BF8 0000F4 0004+00 1/1 0/0 0/0 .sbss solidHeapErrors */
static u8 solidHeapErrors[4];
/* 80450BF8-80450BFC 0000F8 0004+00 1/1 0/0 0/0 .sbss gameHeapErrors */
static u8 gameHeapErrors[4];
/* 80450BFC-80450C00 0000FC 0004+00 1/1 0/0 0/0 .sbss zeldaHeapErrors */
static u8 zeldaHeapErrors[4];
/* 80450C00-80450C04 000100 0004+00 1/1 0/0 0/0 .sbss commandHeapErrors */
static u8 commandHeapErrors[4];
/* 80450C04-80450C08 000104 0004+00 1/1 0/0 0/0 .sbss archiveHeapErrors */
static u8 archiveHeapErrors[4];
/* 80450C08-80450C0C 000108 0004+00 1/1 0/0 0/0 .sbss unknownHeapErrors */
static u8 unknownHeapErrors[4];
/* 80450C0C-80450C10 00010C 0004+00 1/1 0/0 0/0 .sbss heapErrors */
static u8 heapErrors[4];
/* 80450C10-80450C18 -00001 0008+00 2/2 0/0 0/0 .sbss None */
/* 80450C10 0005+00 data_80450C10 tmpString$3651 */
/* 80450C15 0001+00 data_80450C15 None */
/* 80450C16 0001+00 data_80450C16 None */
/* 80450C17 0001+00 data_80450C17 None */
static u8 struct_80450C10[8];
/* 8000B1EC-8000B3EC 005B2C 0200+00 2/2 0/0 0/0 .text myGetHeapTypeByString__FP7JKRHeap
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void myGetHeapTypeByString(JKRHeap* param_0) {
nofralloc
#include "asm/m_Do/m_Do_machine/myGetHeapTypeByString__FP7JKRHeap.s"
}
#pragma pop
/* 8000B3EC-8000B5C8 005D2C 01DC+00 1/1 0/0 0/0 .text myMemoryErrorRoutine__FPvUli */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void myMemoryErrorRoutine(void* param_0, u32 param_1, int param_2) {
nofralloc
#include "asm/m_Do/m_Do_machine/myMemoryErrorRoutine__FPvUli.s"
}
#pragma pop
/* 8000B5C8-8000B668 005F08 00A0+00 1/1 0/0 0/0 .text myHeapCheckRecursive__FP7JKRHeap */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void myHeapCheckRecursive(JKRHeap* param_0) {
nofralloc
#include "asm/m_Do/m_Do_machine/myHeapCheckRecursive__FP7JKRHeap.s"
}
#pragma pop
/* 8000B668-8000B68C 005FA8 0024+00 0/0 2/2 0/0 .text mDoMch_HeapCheckAll__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoMch_HeapCheckAll() {
nofralloc
#include "asm/m_Do/m_Do_machine/mDoMch_HeapCheckAll__Fv.s"
}
#pragma pop
/* 8000B68C-8000B73C 005FCC 00B0+00 1/1 0/0 0/0 .text developKeyCheck__FUlUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void developKeyCheck(u32 param_0, u32 param_1) {
nofralloc
#include "asm/m_Do/m_Do_machine/developKeyCheck__FUlUl.s"
}
#pragma pop
/* 8000B73C-8000B768 00607C 002C+00 1/1 0/0 0/0 .text mDoMch_IsProgressiveMode__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void mDoMch_IsProgressiveMode() {
nofralloc
#include "asm/m_Do/m_Do_machine/mDoMch_IsProgressiveMode__Fv.s"
}
#pragma pop
/* 8000B768-8000B798 0060A8 0030+00 2/2 0/0 0/0 .text exceptionReadPad__FPUlPUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void exceptionReadPad(u32* param_0, u32* param_1) {
nofralloc
#include "asm/m_Do/m_Do_machine/exceptionReadPad__FPUlPUl.s"
}
#pragma pop
/* 8000B798-8000B7C8 0060D8 0030+00 1/1 0/0 0/0 .text exceptionRestart__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void exceptionRestart() {
nofralloc
#include "asm/m_Do/m_Do_machine/exceptionRestart__Fv.s"
}
#pragma pop
/* 8000B7C8-8000B95C 006108 0194+00 1/1 0/0 0/0 .text myExceptionCallback__FUsP9OSContextUlUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void myExceptionCallback(u16 param_0, OSContext* param_1, u32 param_2, u32 param_3) {
nofralloc
#include "asm/m_Do/m_Do_machine/myExceptionCallback__FUsP9OSContextUlUl.s"
}
#pragma pop
/* ############################################################################################## */
/* 80451B00-80451B04 000100 0004+00 1/1 0/0 0/0 .sdata2 @3940 */
SECTION_SDATA2 static f32 lit_3940 = 8.0f;
/* 80451B04-80451B08 000104 0004+00 1/1 0/0 0/0 .sdata2 @3941 */
SECTION_SDATA2 static f32 lit_3941 = 6.0f;
/* 8000B95C-8000BCF4 00629C 0398+00 1/1 0/0 0/0 .text fault_callback_scroll__FUsP9OSContextUlUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void fault_callback_scroll(u16 param_0, OSContext* param_1, u32 param_2, u32 param_3) {
nofralloc
#include "asm/m_Do/m_Do_machine/fault_callback_scroll__FUsP9OSContextUlUl.s"
}
#pragma pop
/* 8000BCF4-8000BCF8 006634 0004+00 1/1 0/0 0/0 .text my_PrintHeap__FPCcUl */
static void my_PrintHeap(char const* param_0, u32 param_1) {
/* empty function */
}
/* 8000BCF8-8000BD44 006638 004C+00 1/1 0/0 0/0 .text my_SysPrintHeap__FPCcPvUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void my_SysPrintHeap(char const* param_0, void* param_1, u32 param_2) {
nofralloc
#include "asm/m_Do/m_Do_machine/my_SysPrintHeap__FPCcPvUl.s"
}
#pragma pop
/* ############################################################################################## */
/* 803A2F60-803A2F9C 000080 003C+00 1/0 0/0 0/0 .data g_ntscZeldaIntDf */
SECTION_DATA static u8 g_ntscZeldaIntDf[60] = {
0x00, 0x00, 0x00, 0x00, 0x02, 0x60, 0x01, 0xC0, 0x01, 0xC0, 0x00, 0x1B, 0x00, 0x10, 0x02,
0x9A, 0x01, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x08, 0x08, 0x0A, 0x0C, 0x0A, 0x08, 0x08, 0x00, 0x00, 0x00,
};
/* 803A2F9C-803A2FD8 0000BC 003C+00 1/1 1/1 0/0 .data g_ntscZeldaProg */
SECTION_DATA extern u8 g_ntscZeldaProg[60] = {
0x00, 0x00, 0x00, 0x02, 0x02, 0x60, 0x01, 0xC0, 0x01, 0xC0, 0x00, 0x1B, 0x00, 0x10, 0x02,
0x9A, 0x01, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x15, 0x16, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 804505A0-804505A8 -00001 0004+04 1/1 3/3 0/0 .sdata mRenderModeObj__15mDoMch_render_c
*/
SECTION_SDATA extern void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */] = {
(void*)&g_ntscZeldaIntDf,
/* padding */
NULL,
};
/* 8000BD44-8000C0CC 006684 0388+00 0/0 2/1 0/0 .text mDoMch_Create__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoMch_Create() {
nofralloc
#include "asm/m_Do/m_Do_machine/mDoMch_Create__Fv.s"
}
#pragma pop
/* 80373DE8-803740C0 000448 02D8+00 7/7 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
#pragma section ".dead"
SECTION_DEAD static char const* const stringBase_80373DE8 = "SystemHeap";
SECTION_DEAD static char const* const stringBase_80373DF3 = "ZeldaHeap";
SECTION_DEAD static char const* const stringBase_80373DFD = "GameHeap";
SECTION_DEAD static char const* const stringBase_80373E06 = "ArchiveHeap";
SECTION_DEAD static char const* const stringBase_80373E12 = "CommandHeap";
SECTION_DEAD static char const* const stringBase_80373E1E = "DbPrintHeap";
SECTION_DEAD static char const* const stringBase_80373E2A = "J2dHeap";
SECTION_DEAD static char const* const stringBase_80373E32 = "ASTH";
SECTION_DEAD static char const* const stringBase_80373E37 = "EXPH";
SECTION_DEAD static char const* const stringBase_80373E3C = "SLID";
SECTION_DEAD static char const* const stringBase_80373E41 = "STDH";
SECTION_DEAD static char const* const stringBase_80373E46 = "UNIT";
SECTION_DEAD static char const* const stringBase_80373E4B = "(Null)";
SECTION_DEAD static char const* const stringBase_80373E52 =
"エラー: メモリを確保できません %d(0x%x)バイト、 %d バイトアライメント from "
"%08x\n";
SECTION_DEAD static char const* const stringBase_80373EA3 =
"FreeSize=%08x TotalFreeSize=%08x HeapType=%08x(%"
"c%c%c%c) HeapSize=%08x %s\n";
SECTION_DEAD static char const* const stringBase_80373EEE = "error in %08x(%s)\n";
SECTION_DEAD static char const* const stringBase_80373F01 = "振動停止&原点復帰\n";
SECTION_DEAD static char const* const stringBase_80373F15 = "例外マネージャがありません\n";
SECTION_DEAD static char const* const stringBase_80373F31 = "キー入力を受け付けています\n";
SECTION_DEAD static char const* const stringBase_80373F4D = "JUTAssertionを可視化しました\n";
SECTION_DEAD static char const* const stringBase_80373F6B = "3秒間停止\n";
SECTION_DEAD static char const* const stringBase_80373F76 = "/map/Final/Release";
SECTION_DEAD static char const* const stringBase_80373F89 = "(SRR0-3):%08X %08X %08X %08X\n";
SECTION_DEAD static char const* const stringBase_80373FA7 =
"PUSH START BUTTON TO ADDITIONAL INFOMATION\n";
SECTION_DEAD static char const* const stringBase_80373FD3 =
"--------------------------------------\n";
SECTION_DEAD static char const* const stringBase_80373FFB = ""
"\x1B"
"[32m%-24s = size=%d KB\n"
"\x1B"
"[m";
SECTION_DEAD static char const* const stringBase_80374017 = ""
"\x1B"
"[32m%-24s = %08x-%08x size=%d KB\n"
"\x1B"
"[m";
SECTION_DEAD static char const* const stringBase_8037403D = "アリーナ";
SECTION_DEAD static char const* const stringBase_80374046 = "システムヒープ";
SECTION_DEAD static char const* const stringBase_80374055 = "コマンドヒープ";
SECTION_DEAD static char const* const stringBase_80374064 = "アーカイブヒープ";
SECTION_DEAD static char const* const stringBase_80374075 = "J2D用ヒープ";
SECTION_DEAD static char const* const stringBase_80374084 = "ゲームヒープ";
SECTION_DEAD static char const* const stringBase_80374091 = "ゼルダヒープ";
SECTION_DEAD static char const* const stringBase_8037409E = "/map/Final/Release/frameworkF.map";
#pragma pop