From 599d8ddde3336ccb1c70612e3c1a3a88be98a5cf Mon Sep 17 00:00:00 2001 From: yoshida_teruhisa Date: Mon, 1 Sep 2008 01:54:59 +0000 Subject: [PATCH] =?UTF-8?q?FATAL=E3=82=92=E4=BB=95=E6=8E=9B=E3=81=91?= =?UTF-8?q?=E3=82=8B=E6=95=B0=E3=81=A8=E7=A8=AE=E9=A1=9E=E3=82=92=E5=A2=97?= =?UTF-8?q?=E3=82=84=E3=81=99=20=E3=83=9B=E3=83=AF=E3=82=A4=E3=83=88?= =?UTF-8?q?=E3=83=AA=E3=82=B9=E3=83=88=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF?= =?UTF-8?q?=E3=82=92=E9=96=8B=E7=99=BA=E7=89=88=E3=81=A7=E3=82=82=E8=A1=8C?= =?UTF-8?q?=E3=81=86=E3=82=88=E3=81=86=E5=A4=89=E6=9B=B4=EF=BC=88=E3=81=9F?= =?UTF-8?q?=E3=81=A0=E3=81=97=E9=96=8B=E7=99=BA=E7=89=88=E3=81=A7=E3=81=AF?= =?UTF-8?q?=E3=83=9B=E3=83=AF=E3=82=A4=E3=83=88=E3=83=AA=E3=82=B9=E3=83=88?= =?UTF-8?q?=E7=BD=B2=E5=90=8D=E3=81=A4=E3=81=8D=E3=81=AE=E8=A3=BD=E5=93=81?= =?UTF-8?q?NTR=E3=82=AB=E3=83=BC=E3=83=89=E3=81=8C=E5=8B=95=E3=81=8B?= =?UTF-8?q?=E3=81=AA=E3=81=84=E3=81=AF=E3=81=9A=E3=81=AA=E3=81=AE=E3=81=A7?= =?UTF-8?q?=E6=B3=A8=E6=84=8F=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2345 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../errorLog/ARM9/src/errorLog.c | 4 ++++ build/libraries_sysmenu/sysmenu/ARM9/src/title.c | 15 +++++++++++++-- build/systemMenu_RED/Launcher/ARM9/src/main.c | 7 ++++++- include/sysmenu/util.h | 6 +++++- 4 files changed, 28 insertions(+), 4 deletions(-) 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;