From 5a952df4914043b3e6a21729847b612fb7dba556 Mon Sep 17 00:00:00 2001 From: yoshida_teruhisa Date: Wed, 9 Jul 2008 03:29:24 +0000 Subject: [PATCH] =?UTF-8?q?RED=E3=83=A9=E3=83=B3=E3=83=81=E3=83=A3?= =?UTF-8?q?=E3=83=BC=E3=81=A7=E3=83=AD=E3=82=B4=E3=83=87=E3=83=A2=E3=81=AE?= =?UTF-8?q?=E8=A1=A8=E7=A4=BA=E4=B8=AD=E3=81=AB=E8=A3=8F=E3=81=A7NAND?= =?UTF-8?q?=E3=82=BF=E3=82=A4=E3=83=88=E3=83=AB=E3=83=AA=E3=82=B9=E3=83=88?= =?UTF-8?q?=E3=82=92=E8=AA=AD=E3=81=BF=E8=BE=BC=E3=82=80=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB=E5=A4=89=E6=9B=B4=EF=BC=88=E8=A6=8B=E3=81=8B=E3=81=91?= =?UTF-8?q?=E4=B8=8A=E8=B5=B7=E5=8B=95=E3=81=8C=E6=97=A9=E3=81=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@1824 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../sysmenu/ARM9/src/title.c | 23 ++++++++++++++++++- build/systemMenu_RED/Launcher/ARM9/src/main.c | 8 ++++--- .../sysmenu/sysmenu_lib/common/sysmenu_api.h | 6 ++++- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c index 6e373cfa..cfc1b370 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c @@ -372,7 +372,7 @@ void SYSM_InitTitleList( void ) } // SYSM_InitTitleListを事前に呼ぶ必要あり -void SYSM_GetNandTitleListMakerInfo( void ) +void SYSM_MakeNandTitleListMakerInfo( void ) { AMN_restartWithReadNandTitleHeaderShort(); while (!AMN_isNandTitleListReady()) { @@ -393,6 +393,27 @@ TitleProperty *SYSM_GetNandTitleList( void ) return AMN_getTitlePropertyList(); } +// SYSM_InitTitleListを事前に呼ぶ必要あり +void SYSM_MakeNandTitleListMakerInfoAsync( void ) +{ + AMN_restartWithReadNandTitleHeaderShort(); +} + +void SYSM_MakeNandTitleListAsync( void ) +{ + AMN_restartWithReadNandTitle(); +} + +BOOL SYSM_isNandTitleListReady( void ) +{ + return AMN_isNandTitleListReady(); +} + +TitleProperty *SYSM_GetTitlePropertyList( void ) +{ + return AMN_getTitlePropertyList(); +} + // ============================================================================ // // diff --git a/build/systemMenu_RED/Launcher/ARM9/src/main.c b/build/systemMenu_RED/Launcher/ARM9/src/main.c index a0ea7290..59ffada7 100644 --- a/build/systemMenu_RED/Launcher/ARM9/src/main.c +++ b/build/systemMenu_RED/Launcher/ARM9/src/main.c @@ -329,10 +329,10 @@ void TwlMain( void ) // 「ダイレクトブートでない」なら if( !pBootTitle ) { // NAND & カードアプリリスト取得 - sp_titleList = SYSM_GetNandTitleList(); // NANDアプリリストの取得(内蔵アプリはsp_titleList[1]から格納される) + SYSM_MakeNandTitleListAsync(); // NANDアプリリストの作成(取得はしていないので注意) }else { - SYSM_GetNandTitleListMakerInfo(); // アプリに引き渡すタイトルリスト作成用情報の取得 + SYSM_MakeNandTitleListMakerInfoAsync(); // アプリに引き渡すタイトルリスト作成用情報の作成 } // end時間計測5 #if (MEASURE_TIME == 1) @@ -470,9 +470,11 @@ MAIN_LOOP_START: break; case LOGODEMO: if( IsFinishedLoadSharedFont() && // 通常ブート時は、フォントロード終了をここでチェック - LogoMain() + LogoMain() && + SYSM_isNandTitleListReady() // NANDタイトル取得完了かどうかチェック ) { if( !direct_boot ) { + sp_titleList = SYSM_GetTitlePropertyList();// TitlePropertyListの取得 state = LAUNCHER_INIT; }else { state = LOAD_START; diff --git a/include/sysmenu/sysmenu_lib/common/sysmenu_api.h b/include/sysmenu/sysmenu_lib/common/sysmenu_api.h index a5d7c9b4..bd5840e0 100644 --- a/include/sysmenu/sysmenu_lib/common/sysmenu_api.h +++ b/include/sysmenu/sysmenu_lib/common/sysmenu_api.h @@ -90,7 +90,11 @@ extern void SYSM_DeleteTmpDirectory( TitleProperty *pBootTitle ); / extern TitleProperty *SYSM_GetCardTitleList( BOOL *changed ); // カードアプリタイトルリストの取得 extern void SYSM_InitTitleList( void ); // アプリタイトルリスト取得準備 extern TitleProperty *SYSM_GetNandTitleList( void ); // NAND アプリタイトルリストの取得 -extern void SYSM_GetNandTitleListMakerInfo( void ); // アプリ引き渡しタイトルリスト作成用情報の取得(ダイレクトブート用) +extern void SYSM_MakeNandTitleListMakerInfo( void ); // アプリ引き渡しタイトルリスト作成用情報の取得(ダイレクトブート用) +extern void SYSM_MakeNandTitleListAsync( void ); // 非同期版NANDアプリタイトルリストの作成 +extern void SYSM_MakeNandTitleListMakerInfoAsync( void ); // 非同期版アプリ引き渡しタイトルリスト作成用情報の作成 +extern BOOL SYSM_isNandTitleListReady( void ); // 非同期版が終了したかどうかの判定に使う +extern TitleProperty *SYSM_GetTitlePropertyList( void ); // SYSM_MakeNandTitleListAsyncで作成されたアプリリストのポインタを取得 // アプリ起動 extern void SYSM_StartLoadTitle( TitleProperty *pBootTitle ); // 指定したTitlePropertyを別スレッドでロード開始