diff --git a/build/libraries_sysmenu/errorLog/ARM9/src/errorLog.c b/build/libraries_sysmenu/errorLog/ARM9/src/errorLog.c index a2e9fd99..418ef173 100644 --- a/build/libraries_sysmenu/errorLog/ARM9/src/errorLog.c +++ b/build/libraries_sysmenu/errorLog/ARM9/src/errorLog.c @@ -851,4 +851,8 @@ static char *s_strError[ FATAL_ERROR_MAX ] = { "FATAL_ERROR_LOAD_READMODULE_FAILED", "FATAL_ERROR_NINTENDO_LOGO_CHECK_FAILED", "FATAL_ERROR_SYSMENU_VERSION", + "FATAL_ERROR_DHT_PHASE1_CALC_FAILED", + "FATAL_ERROR_LOAD_UNKNOWN_BOOTTYPE", + "FATAL_ERROR_LOAD_AUTH_HEADER_FAILED", + "FATAL_ERROR_LOAD_NEVER_STARTED", }; \ No newline at end of file diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c index d2c710e2..f2227226 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c @@ -555,6 +555,7 @@ static void SYSMi_LoadTitleThreadFunc( TitleProperty *pBootTitle ) break; default: // unknown + UTL_SetFatalError(FATAL_ERROR_LOAD_UNKNOWN_BOOTTYPE); return; } @@ -693,6 +694,7 @@ OS_TPrintf("RebootSystem failed: cant read file(%p, %d, %d, %d)\n", &s_authcode, // ※ROMヘッダ認証 if( !SYSMi_AuthenticateHeader( pBootTitle, head ) ) { + UTL_SetFatalError(FATAL_ERROR_LOAD_AUTH_HEADER_FAILED); goto ERROR; } @@ -1360,7 +1362,8 @@ static BOOL SYSMi_AuthenticateNTRCardAppHeader( TitleProperty *pBootTitle, ROM_H { BOOL ret = TRUE; -#define DEV_WHITELIST_CHECK_SKIP +// 一時的に開発版でもハッシュチェックを行うように変更2008/09/01 +//#define DEV_WHITELIST_CHECK_SKIP #ifdef DEV_WHITELIST_CHECK_SKIP // 開発版ではハッシュチェックスルーフラグを立てる if( SCFG_GetBondingOption() != 0 ) @@ -1441,7 +1444,7 @@ static BOOL SYSMi_AuthenticateNTRCardTitle( TitleProperty *pBootTitle) { OS_TPrintf("DHT Phase1 failed: hash calc failed.\n"); if(!s_b_dev) { - UTL_SetFatalError(FATAL_ERROR_DHT_PHASE1_FAILED); + UTL_SetFatalError(FATAL_ERROR_DHT_PHASE1_CALC_FAILED); return FALSE; } } @@ -1594,6 +1597,14 @@ static BOOL SYSMi_AuthenticateTitleCore( TitleProperty *pBootTitle) // 認証処理のスレッド static void SYSMi_AuthenticateTitleThreadFunc( TitleProperty *pBootTitle ) { + + // ロード開始してませんよ + if( !s_loadstart ) + { + UTL_SetFatalError(FATAL_ERROR_LOAD_NEVER_STARTED); + return; + } + // ロード中 if( !SYSM_IsLoadTitleFinished() ) { UTL_SetFatalError(FATAL_ERROR_LOAD_UNFINISHED); diff --git a/build/systemMenu_RED/Launcher/ARM9/src/main.c b/build/systemMenu_RED/Launcher/ARM9/src/main.c index 172bcdbb..0b298427 100644 --- a/build/systemMenu_RED/Launcher/ARM9/src/main.c +++ b/build/systemMenu_RED/Launcher/ARM9/src/main.c @@ -116,7 +116,12 @@ static const char *fatal_error_msg[FATAL_ERROR_MAX] = "LOAD_READDLSIGN_FAILED", "LOAD_RELOCATEINFO_FAILED", "LOAD_READMODULE_FAILED", - "NINTENDO_LOGO_CHECK_FAILED" + "NINTENDO_LOGO_CHECK_FAILED", + "SYSMENU_VERSION", + "DHT_PHASE1_CALC_FAILED", + "LOAD_UNKNOWN_BOOTTYPE", + "LOAD_AUTH_HEADER_FAILED", + "LOAD_NEVER_STARTED" }; //#define DEBUG_LAUNCHER_DUMP diff --git a/include/sysmenu/util.h b/include/sysmenu/util.h index 12fa56fd..8025480c 100644 --- a/include/sysmenu/util.h +++ b/include/sysmenu/util.h @@ -74,8 +74,12 @@ typedef enum FatalErrorCode { FATAL_ERROR_LOAD_READMODULE_FAILED = 42, FATAL_ERROR_NINTENDO_LOGO_CHECK_FAILED = 43, FATAL_ERROR_SYSMENU_VERSION = 44, + FATAL_ERROR_DHT_PHASE1_CALC_FAILED = 45, + FATAL_ERROR_LOAD_UNKNOWN_BOOTTYPE = 46, + FATAL_ERROR_LOAD_AUTH_HEADER_FAILED = 47, + FATAL_ERROR_LOAD_NEVER_STARTED = 48, - FATAL_ERROR_MAX = 45 + FATAL_ERROR_MAX = 49 }FatalErrorCode;