// // Generated By: dol2asm // Translation Unit: OSReset // #include "dolphin/os/OSReset.h" #include "dol2asm.h" #include "dolphin/types.h" // // Forward References: // extern "C" void OSRegisterResetFunction(); extern "C" static void __OSCallResetFunctions(); extern "C" static void Reset(); extern "C" static void KillThreads(); extern "C" void __OSDoHotReset(); extern "C" void OSResetSystem(); extern "C" void OSGetResetCode(); // // External References: // SECTION_INIT void memset(); extern "C" void OSReport(); extern "C" void __OSStopAudioSystem(); extern "C" void ICFlashInvalidate(); extern "C" void LCDisable(); extern "C" void OSDisableInterrupts(); extern "C" void __OSReboot(); extern "C" void __OSLockSram(); extern "C" void __OSUnlockSram(); extern "C" void __OSSyncSram(); extern "C" void OSDisableScheduler(); extern "C" void OSEnableScheduler(); extern "C" void OSCancelThread(); extern "C" void __PADDisableRecalibration(); extern "C" extern u8 __OSRebootParams[28 + 4 /* padding */]; // // Declarations: // /* ############################################################################################## */ /* 80451690-80451698 0008+00 s=2 e=0 z=0 None .sbss ResetFunctionQueue */ static u8 ResetFunctionQueue[8]; /* 8033F660-8033F6E4 0084+00 s=0 e=5 z=0 None .text OSRegisterResetFunction */ // 8033F660: 80451690 (ResetFunctionQueue) // 8033F68C: 80451690 (ResetFunctionQueue) // 8033F69C: 80451690 (ResetFunctionQueue) // 8033F6D4: 80451690 (ResetFunctionQueue) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void OSRegisterResetFunction() { nofralloc #include "asm/dolphin/os/OSReset/OSRegisterResetFunction.s" } #pragma pop /* 8033F6E4-8033F78C 00A8+00 s=1 e=0 z=0 None .text __OSCallResetFunctions */ // 8033F708: 80451690 (ResetFunctionQueue) // 8033F750: 80340580 (__OSSyncSram) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm static void __OSCallResetFunctions() { nofralloc #include "asm/dolphin/os/OSReset/__OSCallResetFunctions.s" } #pragma pop /* 8033F78C-8033F7FC 0070+00 s=2 e=0 z=0 None .text Reset */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm static void Reset() { nofralloc #include "asm/dolphin/os/OSReset/Reset.s" } #pragma pop /* 8033F7FC-8033F864 0068+00 s=1 e=0 z=0 None .text KillThreads */ // 8033F840: 80341558 (OSCancelThread) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm static void KillThreads() { nofralloc #include "asm/dolphin/os/OSReset/KillThreads.s" } #pragma pop /* 8033F864-8033F8AC 0048+00 s=0 e=3 z=0 None .text __OSDoHotReset */ // 8033F878: 8033D6F4 (OSDisableInterrupts) // 8033F88C: 8033B6C4 (ICFlashInvalidate) // 8033F894: 8033F78C (Reset) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void __OSDoHotReset() { nofralloc #include "asm/dolphin/os/OSReset/__OSDoHotReset.s" } #pragma pop /* ############################################################################################## */ /* 803D07E8-803D0838 004E+02 s=1 e=0 z=0 None .data @153 */ SECTION_DATA static u8 lit_153[78 + 2 /* padding */] = { 0x4F, 0x53, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x28, 0x29, 0x3A, 0x20, 0x59, 0x6F, 0x75, 0x20, 0x63, 0x61, 0x6E, 0x27, 0x74, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x20, 0x54, 0x52, 0x55, 0x45, 0x20, 0x74, 0x6F, 0x20, 0x66, 0x6F, 0x72, 0x63, 0x65, 0x4D, 0x65, 0x6E, 0x75, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6F, 0x75, 0x20, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x2E, 0x20, 0x49, 0x67, 0x6E, 0x6F, 0x72, 0x65, 0x64, 0x0A, 0x00, /* padding */ 0x00, 0x00, }; /* 80451698-804516A0 0004+04 s=1 e=0 z=0 None .sbss bootThisDol */ static u8 bootThisDol[4 + 4 /* padding */]; /* 8033F8AC-8033FAAC 0200+00 s=0 e=5 z=0 None .text OSResetSystem */ // 8033F8D4: 80340CC4 (OSDisableScheduler) // 8033F8E8: 80340144 (__OSLockSram) // 8033F8FC: 80340538 (__OSUnlockSram) // 8033F914: 80451698 (bootThisDol) // 8033F92C: 8033B494 (__OSStopAudioSystem) // 8033F934: 8034FBF4 (__PADDisableRecalibration) // 8033F948: 8033F6E4 (__OSCallResetFunctions) // 8033F95C: 80340580 (__OSSyncSram) // 8033F968: 8033D6F4 (OSDisableInterrupts) // 8033F970: 8033F6E4 (__OSCallResetFunctions) // 8033F974: 8033B7EC (LCDisable) // 8033F97C: 8034FBF4 (__PADDisableRecalibration) // 8033F980: 8033F7FC (KillThreads) // 8033F988: 8033B494 (__OSStopAudioSystem) // 8033F998: 8033F6E4 (__OSCallResetFunctions) // 8033F9AC: 80340580 (__OSSyncSram) // 8033F9B8: 8033D6F4 (OSDisableInterrupts) // 8033F9C0: 8033F6E4 (__OSCallResetFunctions) // 8033F9C4: 8033B7EC (LCDisable) // 8033F9C8: 8033F7FC (KillThreads) // 8033F9D4: 8033D6F4 (OSDisableInterrupts) // 8033F9E8: 8033B6C4 (ICFlashInvalidate) // 8033F9F0: 8033F78C (Reset) // 8033FA08: 803D07E8 (lit_153) // 8033FA10: 803D07E8 (lit_153) // 8033FA14: 80006ABC (OSReport) // 8033FA18: 80340D04 (OSEnableScheduler) // 8033FA20: 80451698 (bootThisDol) // 8033FA24: 8033F5D0 (__OSReboot) // 8033FA38: 80003458 (memset) // 8033FA48: 80003458 (memset) // 8033FA58: 80003458 (memset) // 8033FA68: 80003458 (memset) // 8033FA78: 80003458 (memset) // 8033FA88: 80003458 (memset) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void OSResetSystem() { nofralloc #include "asm/dolphin/os/OSReset/OSResetSystem.s" } #pragma pop /* 8033FAAC-8033FAE4 0038+00 s=0 e=3 z=0 None .text OSGetResetCode */ // 8033FAAC: 8044BAB0 (__OSRebootParams) // 8033FAB0: 8044BAB0 (__OSRebootParams) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void OSGetResetCode() { nofralloc #include "asm/dolphin/os/OSReset/OSGetResetCode.s" } #pragma pop