diff --git a/source/godmode.c b/source/godmode.c index e57b764..16ae903 100644 --- a/source/godmode.c +++ b/source/godmode.c @@ -1620,7 +1620,7 @@ u32 SplashInit() { return 0; } -u32 GodMode() { +u32 GodMode(bool is_b9s) { const u32 quick_stp = (MAIN_SCREEN == TOP_SCREEN) ? 20 : 19; u32 exit_mode = GODMODE_EXIT_REBOOT; @@ -1648,7 +1648,7 @@ u32 GodMode() { InitSDCardFS(); AutoEmuNandBase(true); - InitNandCrypto(true); + InitNandCrypto(!is_b9s); InitExtFS(); GetDirContents(current_dir, ""); diff --git a/source/godmode.h b/source/godmode.h index cca5140..3f1bb5d 100644 --- a/source/godmode.h +++ b/source/godmode.h @@ -5,4 +5,4 @@ #define GODMODE_EXIT_REBOOT 0 #define GODMODE_EXIT_POWEROFF 1 -u32 GodMode(); +u32 GodMode(bool is_b9s); diff --git a/source/main.c b/source/main.c index 00335bf..14e20e6 100644 --- a/source/main.c +++ b/source/main.c @@ -4,13 +4,12 @@ void main(int argc, char** argv) { - (void) argc; // unused for now (void) argv; // unused for now // Screen on ScreenOn(); // Run the main program - if (GodMode() == GODMODE_EXIT_REBOOT) Reboot(); + if (GodMode(argc) == GODMODE_EXIT_REBOOT) Reboot(); else PowerOff(); } diff --git a/source/nand/nand.c b/source/nand/nand.c index 50e10da..c99ea37 100644 --- a/source/nand/nand.c +++ b/source/nand/nand.c @@ -169,7 +169,7 @@ bool InitNandCrypto(bool init_full) LoadKeyFromFile(slot0x05KeyY, 0x05, 'Y', NULL); // part #4: AGBSAVE CMAC KEY (set up on A9LH and SigHax) - if (IS_A9LH || IS_SIGHAX) + if (init_full && (IS_A9LH || IS_SIGHAX)) LoadKeyFromFile(NULL, 0x24, 'Y', NULL); // part #5: FULL INIT