diff --git a/source/config.c b/source/config.c index 2eb1d7b..50bc1bd 100644 --- a/source/config.c +++ b/source/config.c @@ -23,7 +23,7 @@ void configureCFW(const char *configPath) "New 3DS CPU: Off( ) Clock( ) L2( ) Clock+L2( )" }; const char *singleOptionsText[] = { "( ) Autoboot SysNAND", - "( ) Updated SysNAND mode (A9LH-only)", + "( ) Use SysNAND FIRM as default (A9LH-only)", "( ) Force A9LH detection", "( ) Use second EmuNAND as default", "( ) Enable region/language emulation", diff --git a/source/firm.c b/source/firm.c index 802cb21..300e949 100755 --- a/source/firm.c +++ b/source/firm.c @@ -55,6 +55,8 @@ void main(void) //Determine if this is a firmlaunch boot if(*(vu8 *)0x23F00005) { + if(needConfig == 2) shutDown(); + bootType = 1; //'0' = NATIVE_FIRM, '1' = TWL_FIRM, '2' = AGB_FIRM @@ -204,8 +206,7 @@ static inline void loadFirm(u32 firmType, u32 externalFirm) fileRead(firm, path, firmSize); //Check that the loaded FIRM matches the console - if((((u32)section[2].address >> 8) & 0xFF) != (console ? 0x60 : 0x68)) - error("aurei/firmware.bin doesn't match this console,\nor it's encrypted"); + if((((u32)section[2].address >> 8) & 0xFF) != (console ? 0x60 : 0x68)) firmSize = 0; } } else firmSize = 0; diff --git a/source/utils.c b/source/utils.c index d8f7047..01c1b56 100644 --- a/source/utils.c +++ b/source/utils.c @@ -37,6 +37,12 @@ u32 waitInput(void) return key; } +void shutDown(void) +{ + i2cWriteRegister(I2C_DEV_MCU, 0x20, 1); + while(1); +} + void error(const char *message) { initScreens(); @@ -47,7 +53,5 @@ void error(const char *message) waitInput(); - //Shutdown - i2cWriteRegister(I2C_DEV_MCU, 0x20, 1); - while(1); + shutDown(); } \ No newline at end of file diff --git a/source/utils.h b/source/utils.h index c2c32a7..042fa72 100644 --- a/source/utils.h +++ b/source/utils.h @@ -9,4 +9,5 @@ #include "types.h" u32 waitInput(void); +void shutDown(void); void error(const char *message); \ No newline at end of file