From 226a7aa4bb61ee93daf6224eca74ba21a7be9d02 Mon Sep 17 00:00:00 2001 From: yoshida_teruhisa Date: Mon, 12 May 2008 08:24:19 +0000 Subject: [PATCH] =?UTF-8?q?=E3=82=A2=E3=83=97=E3=83=AA=E9=96=93=E3=83=91?= =?UTF-8?q?=E3=83=A9=E3=83=A1=E3=83=BC=E3=82=BF=E3=82=AF=E3=83=AA=E3=82=A2?= =?UTF-8?q?=E3=81=AE=E3=82=BF=E3=82=A4=E3=83=9F=E3=83=B3=E3=82=B0=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=E3=80=81DATAONLY=E3=81=AA=E3=82=A2=E3=83=97=E3=83=AA?= =?UTF-8?q?=E3=82=92=E3=83=AD=E3=83=BC=E3=83=89=E3=81=97=E3=81=AA=E3=81=84?= =?UTF-8?q?=E3=82=88=E3=81=86=E4=BF=AE=E6=AD=A3?= 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@1311 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c | 7 +++++++ build/libraries_sysmenu/sysmenu/ARM9/src/title.c | 9 ++++++++- build/systemMenu_RED/Launcher/ARM9/src/main.c | 3 --- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c index 618d4096..fd26fd9c 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c @@ -252,6 +252,13 @@ TitleProperty *SYSM_ReadParameters( void ) } } } + + // アプリジャンプでないときには、アプリ間パラメタをクリア + // [TODO:]あらかじめNTRカードのセキュア領域を退避せずに直接0x2000000からロードしている場合も容赦なく消すので注意 + if( !pBootTitle ) + { + MI_CpuClearFast((void *)HW_PARAM_DELIVER_ARG, HW_PARAM_DELIVER_ARG_SIZE); + } //----------------------------------------------------- // ISデバッガバナーViewモード起動 diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c index 150d75b9..4d1d0ca9 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c @@ -579,7 +579,7 @@ OS_TPrintf("RebootSystem failed: cant seek file(%d)\n", source[i]); #ifdef LOAD_APP_VIA_WRAM OS_TPrintf("RebootSystem : Load VIA WRAM %d.\n", i); - // [TODO:]ここで同時にAES処理もやってしまう予定 + // ここでロード処理と同時にハッシュ計算とAES処理もやってしまう // 別スレッドで同じWRAM使おうとすると多分コケるので注意 // コールバック関数に与える引数を初期化してRead @@ -655,6 +655,13 @@ void SYSM_StartLoadTitle( TitleProperty *pBootTitle ) while( HOTSW_isEnableHotSW() != FALSE ) { OS_Sleep( 2 ); } + + // DataOnlyなアプリはロードも起動もしない + if( pBootTitle->titleID & TITLE_ID_DATA_ONLY_FLAG_MASK ) + { + OS_TPrintf("SYSM_StartLoadTitle failed: This App has Data_Only flag.\n"); + return; + } s_loadstart = TRUE; // このあとCardRomヘッダバッファにROMヘッダを上書きで読み込むので diff --git a/build/systemMenu_RED/Launcher/ARM9/src/main.c b/build/systemMenu_RED/Launcher/ARM9/src/main.c index ed36304e..3cd79bbb 100644 --- a/build/systemMenu_RED/Launcher/ARM9/src/main.c +++ b/build/systemMenu_RED/Launcher/ARM9/src/main.c @@ -150,9 +150,6 @@ void TwlMain( void ) // 「ダイレクトブートでない」なら if( !pBootTitle ) { - // アプリ間パラメタをクリア - // TODO:あらかじめNTRカードのセキュア領域を退避せずに直接0x2000000からロードしている場合も容赦なく消すので注意 - MI_CpuClearFast((void *)HW_PARAM_DELIVER_ARG, HW_PARAM_DELIVER_ARG_SIZE); // NAND & カードアプリリスト取得 (void)SYSM_GetNandTitleList( s_titleList, LAUNCHER_TITLE_LIST_NUM ); // NANDアプリリストの取得(内蔵アプリはs_titleList[1]から格納される)