diff --git a/source/screen.c b/source/screen.c index 391e449..7bd44be 100644 --- a/source/screen.c +++ b/source/screen.c @@ -66,6 +66,7 @@ static void invokeArm11Function(void (*func)()) *arm11Entry = (u32)func; while(*arm11Entry); *arm11Entry = ARM11_STUB_ADDRESS; + while(*arm11Entry); } void deinitScreens(void) diff --git a/source/screen.h b/source/screen.h index d7f6a5f..72fb37d 100644 --- a/source/screen.h +++ b/source/screen.h @@ -33,7 +33,7 @@ #define ARESCREENSINITIALIZED (PDN_GPU_CNT != 1) -#define ARM11_STUB_ADDRESS 0x1FFFFC00 +#define ARM11_STUB_ADDRESS (0x25000000 - 0x30) #define WAIT_FOR_ARM9() *arm11Entry = 0; while(!*arm11Entry); ((void (*)())*arm11Entry)(); #define SCREEN_TOP_WIDTH 400