diff --git a/modules/boot/src/utils/hook.cpp b/modules/boot/src/utils/hook.cpp index 397ac53b..838e7af6 100644 --- a/modules/boot/src/utils/hook.cpp +++ b/modules/boot/src/utils/hook.cpp @@ -34,6 +34,28 @@ HOOK_DEF(void, draw, (void*)); #define PAD_READ_RETURN_OFFSET (0x2DC) #endif +#ifdef GCN_NTSCU +#define CRASH_ADDRESS (0x80450580) +#endif +#ifdef GCN_PAL +#define CRASH_ADDRESS (0x80452540) +#endif +#ifdef GCN_NTSCJ +#define CRASH_ADDRESS (0x8044A6C0) +#endif +#ifdef WII_NTSCU_10 +#define CRASH_ADDRESS (0x80537560) +#endif +#ifdef WII_NTSCU_12 +#define CRASH_ADDRESS (0x8051d5e0) +#endif +#ifdef WII_NTSCJ +#define CRASH_ADDRESS (0x8051b460) +#endif +#ifdef WII_PAL +#define CRASH_ADDRESS (0x8051DEE0) +#endif + extern volatile uint32_t gzCrashReport; HOOK_DEF(uint32_t, PADRead, (uint16_t*)); @@ -74,7 +96,7 @@ void drawHook(void* p1) { #ifdef PR_TEST void myExceptionCallbackHook(void) { ExceptionCallbackTrampoline(); - gzCrashAddr = 1; + *reinterpret_cast(CRASH_ADDRESS) = 1; DCFlushRange((void*)(&gzCrashAddr), sizeof(gzCrashAddr)); ICInvalidateRange((void*)(&gzCrashAddr), sizeof(gzCrashAddr)); }