Updated sysNAND (A9LH) & SAFE_MODE FIRM update = brick

This commit is contained in:
Aurora 2016-03-24 02:24:23 +01:00
parent 02b5c69802
commit 7f96e47b4f

View File

@ -77,8 +77,8 @@ void setupCFW(void){
if(needConfig){ if(needConfig){
//If L and R are pressed, chainload an external payload //If L and R are pressed, chainload an external payload
if((pressed & BUTTON_L1) && (pressed & PAYLOAD_BUTTONS) && pressed != SAFE_MODE) if((pressed & BUTTON_L1) && (pressed & PAYLOAD_BUTTONS) &&
loadPayload(); !(!updatedSys && pressed == SAFE_MODE)) loadPayload();
//If no configuration file exists or SELECT is held, load configuration menu //If no configuration file exists or SELECT is held, load configuration menu
if(needConfig == 2 || (pressed & BUTTON_SELECT)) if(needConfig == 2 || (pressed & BUTTON_SELECT))
@ -87,13 +87,12 @@ void setupCFW(void){
//If screens are inited, load splash screen //If screens are inited, load splash screen
if(PDN_GPU_CNT != 0x1) loadSplash(); if(PDN_GPU_CNT != 0x1) loadSplash();
/* If L is pressed, and on an updated sysNAND setup the Safe Mode combo /* If L is pressed, boot 9.0 FIRM */
is not pressed, boot 9.0 FIRM */ if(pressed & BUTTON_L1) mode = 0;
if((pressed & BUTTON_L1) && !(updatedSys && pressed == SAFE_MODE)) mode = 0;
/* If L or R aren't pressed on a 9.0/9.2 sysNAND, or the 9.0 FIRM is selected /* If L or R aren't pressed on a 9.0/9.2 sysNAND, or the 9.0 FIRM is selected
or R is pressed on a > 9.2 sysNAND, boot emuNAND */ or R is pressed on a > 9.2 sysNAND, boot emuNAND */
if((updatedSys && (!mode || ((pressed & BUTTON_R1) && pressed != SAFE_MODE))) || if((updatedSys && (!mode || (pressed & BUTTON_R1))) ||
(!updatedSys && mode && !(pressed & BUTTON_R1))){ (!updatedSys && mode && !(pressed & BUTTON_R1))){
//If not 9.0 FIRM and B is pressed, attempt booting the second emuNAND //If not 9.0 FIRM and B is pressed, attempt booting the second emuNAND
if(mode && (pressed & BUTTON_B)) emuNAND = 2; if(mode && (pressed & BUTTON_B)) emuNAND = 2;