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を事前に呼ぶ必要あり
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();
}
// ============================================================================
//
//

View File

@ -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;

View File

@ -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を別スレッドでロード開始