// // Generated By: dol2asm // Translation Unit: m_Do/m_Do_machine_exception // #include "m_Do/m_Do_machine_exception.h" #include "JSystem/JFramework/JFWSystem.h" #include "JSystem/JKernel/JKRAram.h" #include "JSystem/JUtility/JUTConsole.h" #include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/types.h" #include "m_Do/m_Do_ext.h" #include "m_Do/m_Do_main.h" // // Types: // struct DynamicModuleControlBase { /* 80262470 */ void dump(); }; // // External References: // extern "C" void dump__24DynamicModuleControlBaseFv(); extern "C" void JUTConsole_print_f_va_(); // // Declarations: // static JUTConsole* sConsole; #pragma push #pragma force_active on u8 struct_80450C94[4]; #pragma pop /* 80017D7C-80017E08 0126BC 008C+00 3/3 0/0 0/0 .text print_f__FPCce */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off static asm void print_f(char const* param_0, ...) { nofralloc #include "asm/m_Do/m_Do_machine_exception/print_f__FPCce.s" } #pragma pop void print(char const* string) { sConsole->print(string); } const char* stringBase_80374460 = "--------------------------------------\n"; void dispHeapInfo() { JKRExpHeap* zelda = zeldaHeap; JKRExpHeap* game = gameHeap; JKRExpHeap* archive = archiveHeap; u32 zeldaFree = zelda->getFreeSize(); u32 gameFree = game->getFreeSize(); u32 archiveFree = archive->getFreeSize(); u32 zeldaTotal = zelda->getTotalFreeSize(); u32 gameTotal = game->getTotalFreeSize(); u32 archiveTotal = archive->getTotalFreeSize(); print("-- Heap Free / TotalFree (KB) --\n"); print_f(" Zelda %5d / %5d\n", zeldaFree >> 10, zeldaTotal >> 10); print_f(" Game %5d / %5d\n", gameFree >> 10, gameTotal >> 10); print_f("Archive %5d / %5d\n", archiveFree >> 10, archiveTotal >> 10); print("--------------------------------\n"); if (JKRAram::getAramHeap()) { JKRAram::getAramHeap()->dump(); } dump__24DynamicModuleControlBaseFv(); g_dComIfG_gameInfo.mResControl.dump(); zelda->dump_sort(); game->dump_sort(); archive->dump_sort(); } void dispGameInfo() { print_f("Start StageName:RoomNo [%s:%d]\n", dComIfGp_getStartStageName(), dComIfGp_getStartStageRoomNo()); } void dispDateInfo() { print("------------- Date Infomation ---------\n"); print(" FINAL VERSION\n"); print("COMPILE USER: FINAL\n"); print_f("COPYDATE : %17s\n", mDoMain::COPYDATE_STRING); OSCalendarTime time; OSTicksToCalendarTime(mDoMain::sPowerOnTime, &time); print_f("PowerOnTime: %04d/%2d/%2d %2d:%2d:%2d`%03d\"%03d\n", time.year, time.month, time.day_of_month, time.hours, time.minutes, time.seconds, time.milliseconds, time.microseconds); OSTicksToCalendarTime(mDoMain::sHungUpTime, &time); print_f("HungUpTime : %04d/%2d/%2d %2d:%2d:%2d`%03d\"%03d\n", time.year, time.month, time.day_of_month, time.hours, time.minutes, time.seconds, time.milliseconds, time.microseconds); OSTicksToCalendarTime(mDoMain::sHungUpTime - mDoMain::sPowerOnTime, &time); print_f("PlayTime : %4d days, %2d:%2d:%2d`%03d\"%03d\n", time.year_day, time.hours, time.minutes, time.seconds, time.milliseconds, time.microseconds); print("---------------------------------------\n"); } void dispConsoleToTerminal() { JFWSystem::getSystemConsole()->dumpToTerminal(0xFFFFFFFF); } void exception_addition(JUTConsole* pConsole) { sConsole = pConsole; dispHeapInfo(); dispDateInfo(); dispConsoleToTerminal(); dispGameInfo(); } /* ############################################################################################## */ /* 80450C98-80450C9C -00001 0004+00 0/0 0/0 50/50 .sbss None */ /* 80450C98 0001+00 data_80450C98 None */ /* 80450C99 0001+00 data_80450C99 None */ /* 80450C9A 0001+00 data_80450C9A None */ /* 80450C9B 0001+00 data_80450C9B None */ extern u8 struct_80450C98[4]; u8 struct_80450C98[4]; /* 80450C9C-80450CA0 -00001 0004+00 0/0 0/0 6/6 .sbss None */ /* 80450C9C 0001+00 data_80450C9C None */ /* 80450C9D 0001+00 data_80450C9D None */ /* 80450C9E 0001+00 data_80450C9E None */ /* 80450C9F 0001+00 data_80450C9F None */ extern u8 struct_80450C9C[4]; u8 struct_80450C9C[4]; /* 80374460-80374460 000AC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */