REDランチャーでロゴデモの表示中に裏でNANDタイトルリストを読み込むように変更(見かけ上起動が早く)

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1824 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yoshida_teruhisa 2008-07-09 03:29:24 +00:00
parent e426a5b8dd
commit 5a952df491
3 changed files with 32 additions and 5 deletions

View File

@ -372,7 +372,7 @@ void SYSM_InitTitleList( void )
} }
// SYSM_InitTitleListを事前に呼ぶ必要あり // SYSM_InitTitleListを事前に呼ぶ必要あり
void SYSM_GetNandTitleListMakerInfo( void ) void SYSM_MakeNandTitleListMakerInfo( void )
{ {
AMN_restartWithReadNandTitleHeaderShort(); AMN_restartWithReadNandTitleHeaderShort();
while (!AMN_isNandTitleListReady()) { while (!AMN_isNandTitleListReady()) {
@ -393,6 +393,27 @@ TitleProperty *SYSM_GetNandTitleList( void )
return AMN_getTitlePropertyList(); 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();
}
// ============================================================================ // ============================================================================
// //
// //

View File

@ -329,10 +329,10 @@ void TwlMain( void )
// 「ダイレクトブートでない」なら // 「ダイレクトブートでない」なら
if( !pBootTitle ) { if( !pBootTitle ) {
// NAND & カードアプリリスト取得 // NAND & カードアプリリスト取得
sp_titleList = SYSM_GetNandTitleList(); // NANDアプリリストの取得内蔵アプリはsp_titleList[1]から格納される SYSM_MakeNandTitleListAsync(); // NANDアプリリストの作成取得はしていないので注意
}else }else
{ {
SYSM_GetNandTitleListMakerInfo(); // アプリに引き渡すタイトルリスト作成用情報の取得 SYSM_MakeNandTitleListMakerInfoAsync(); // アプリに引き渡すタイトルリスト作成用情報の作成
} }
// end時間計測5 // end時間計測5
#if (MEASURE_TIME == 1) #if (MEASURE_TIME == 1)
@ -470,9 +470,11 @@ MAIN_LOOP_START:
break; break;
case LOGODEMO: case LOGODEMO:
if( IsFinishedLoadSharedFont() && // 通常ブート時は、フォントロード終了をここでチェック if( IsFinishedLoadSharedFont() && // 通常ブート時は、フォントロード終了をここでチェック
LogoMain() LogoMain() &&
SYSM_isNandTitleListReady() // NANDタイトル取得完了かどうかチェック
) { ) {
if( !direct_boot ) { if( !direct_boot ) {
sp_titleList = SYSM_GetTitlePropertyList();// TitlePropertyListの取得
state = LAUNCHER_INIT; state = LAUNCHER_INIT;
}else { }else {
state = LOAD_START; state = LOAD_START;

View File

@ -90,7 +90,11 @@ extern void SYSM_DeleteTmpDirectory( TitleProperty *pBootTitle ); /
extern TitleProperty *SYSM_GetCardTitleList( BOOL *changed ); // カードアプリタイトルリストの取得 extern TitleProperty *SYSM_GetCardTitleList( BOOL *changed ); // カードアプリタイトルリストの取得
extern void SYSM_InitTitleList( void ); // アプリタイトルリスト取得準備 extern void SYSM_InitTitleList( void ); // アプリタイトルリスト取得準備
extern TitleProperty *SYSM_GetNandTitleList( void ); // NAND アプリタイトルリストの取得 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を別スレッドでロード開始 extern void SYSM_StartLoadTitle( TitleProperty *pBootTitle ); // 指定したTitlePropertyを別スレッドでロード開始