diff --git a/arm11/source/main.c b/arm11/source/main.c index f304390..3c2441c 100644 --- a/arm11/source/main.c +++ b/arm11/source/main.c @@ -70,10 +70,14 @@ static void initScreens(u32 brightnessLevel) *(vu32 *)0x1040045C = 0x00f00190; *(vu32 *)0x10400460 = 0x01c100d1; *(vu32 *)0x10400464 = 0x01920002; + *(vu32 *)0x10400468 = 0x18300000; + *(vu32 *)0x1040046C = 0x18400000; *(vu32 *)0x10400470 = 0x80341; *(vu32 *)0x10400474 = 0x00010501; *(vu32 *)0x10400478 = 0; *(vu32 *)0x10400490 = 0x000002D0; + *(vu32 *)0x10400494 = 0x18300000; + *(vu32 *)0x10400498 = 0x18400000; *(vu32 *)0x1040049C = 0x00000000; //Disco register @@ -103,6 +107,8 @@ static void initScreens(u32 brightnessLevel) *(vu32 *)0x1040055C = 0x00f00140; *(vu32 *)0x10400560 = 0x01c100d1; *(vu32 *)0x10400564 = 0x01920052; + *(vu32 *)0x10400568 = 0x18346500; + *(vu32 *)0x1040056c = 0x18446500; *(vu32 *)0x10400570 = 0x80301; *(vu32 *)0x10400574 = 0x00010501; *(vu32 *)0x10400578 = 0; diff --git a/source/screen.c b/source/screen.c index 75a4a66..86ab666 100644 --- a/source/screen.c +++ b/source/screen.c @@ -96,9 +96,6 @@ void initScreens(void) if(needToSetup) { - memcpy((void *)ARM11_PARAMETERS_ADDRESS, fbs, sizeof(fbs)); - invokeArm11Function(SETUP_FRAMEBUFFERS); - if(!ARESCREENSINITIALIZED) { *(vu32 *)ARM11_PARAMETERS_ADDRESS = brightness[MULTICONFIG(BRIGHTNESS)]; @@ -109,6 +106,8 @@ void initScreens(void) } else updateBrightness(MULTICONFIG(BRIGHTNESS)); + memcpy((void *)ARM11_PARAMETERS_ADDRESS, fbs, sizeof(fbs)); + invokeArm11Function(SETUP_FRAMEBUFFERS); clearScreens(true); needToSetup = false; }