From e8116e116359de31cb043abef2aa14aeb224ccd8 Mon Sep 17 00:00:00 2001 From: N1277 Date: Thu, 15 Jul 2010 11:07:34 +0000 Subject: [PATCH] =?UTF-8?q?SRL=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB?= =?UTF-8?q?=E3=81=AE=E3=82=AA=E3=83=BC=E3=83=97=E3=83=B3=E3=82=82=E6=AD=A2?= =?UTF-8?q?=E3=82=81=E3=82=8B=E3=80=82=20AES=E9=A0=98=E5=9F=9F=E5=BE=A9?= =?UTF-8?q?=E5=8F=B7=E5=8C=96=E3=81=AE=E5=88=9D=E6=9C=9F=E5=8C=96=E5=87=A6?= =?UTF-8?q?=E7=90=86=E3=82=82=E5=BB=83=E6=AD=A2=E3=80=82?= 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/branches/20100611_RedLauncher_Remodel@2935 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../sysmenu/ARM9/src/title.c | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c index 10828b9c..a66f8b4c 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c @@ -664,12 +664,15 @@ static void SYSMi_LoadTitleThreadFunc( TitleProperty *pBootTitle ) // DSダウンロードプレイおよびpictochat等のNTR拡張NANDアプリの時は、ROMヘッダを退避する // が、NTR-ROMヘッダは旧無線パッチとデバッガパッチを当てる必要があるため、再配置はrebootライブラリで行う。 + BOOL isTwlApp = TRUE; + +#ifndef SYSM_NO_LOAD + // ロード + BOOL isCardApp = FALSE; + BOOL bSuccess; char path[256]; FSFile file[1]; - BOOL bSuccess; - BOOL isTwlApp = TRUE; - BOOL isCardApp = FALSE; switch( pBootTitle->flags.bootType ) { @@ -712,13 +715,15 @@ OS_TPrintf("RebootSystem failed: cant open file\n"); goto ERROR; } +#endif // SYSM_NO_LOAD + { int i; u32 source[region_max]; u32 length[region_max]; u32 destaddr[region_max]; - s32 readLen; #ifndef SYSM_NO_LOAD + s32 readLen; CalcHMACSHA1CallbackArg dht_arg; static u8 header[HW_TWL_ROM_HEADER_BUF_SIZE] ATTRIBUTE_ALIGN(32); ROM_Header *head = (ROM_Header *)header; @@ -898,11 +903,11 @@ OS_TPrintf("RebootSystem failed: cant read file(%p, %d, %d, %d)\n", sp_authcode, } } +#ifndef SYSM_NO_LOAD + // AES初期化(ヘッダと再配置情報がそろってから) (void)SYSM_InitDecryptAESRegion_W( (ROM_Header_Short *)SYSM_APP_ROM_HEADER_BUF ); -#ifndef SYSM_NO_LOAD - for (i = region_arm9_ntr; i < region_max; ++i) { BOOL result; @@ -991,12 +996,12 @@ OS_TPrintf("RebootSystem failed: cant read file(%d, %d)\n", source[i], len); SVC_HMACSHA1GetHash(&dht_arg.ctx, &s_calc_hash[1 * SVC_SHA1_DIGEST_SIZE]); } -#endif // SYSM_NO_LOAD - if(!isCardApp) { (void)FS_CloseFile(file); } + +#endif // SYSM_NO_LOAD } // モジュール最終ロード先領域のうち、現在空いている場所をクリア @@ -1016,10 +1021,16 @@ OS_TPrintf("RebootSystem failed: cant read file(%d, %d)\n", source[i], len); return; ERROR: + +#ifndef SYSM_NO_LOAD + if(!isCardApp) { (void)FS_CloseFile(file); } + +#endif // SYSM_NO_LOAD + // デバグ用。ERRORLOG_Init()がすでに呼ばれている事前提 ERRORLOG_Printf( "SYSMi_LoadTitleThreadFunc: some error has occurred.\n"); }