small fix.

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2425 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yoshida_teruhisa 2008-09-08 01:39:03 +00:00
parent adaa866498
commit a01941bc05
2 changed files with 32 additions and 51 deletions

View File

@ -19,7 +19,7 @@ ifndef TWL_IPL_COMMONDEFS_
TWL_IPL_COMMONDEFS_ = TRUE
#FIRM_USE_PRODUCT_KEYS = TRUE
#SYSM_BUILD_FOR_DEBUGGER = TRUE
SYSM_BUILD_FOR_DEBUGGER = TRUE
ifeq ($(TARGET_FIRM),SYSTEMMENU)
include $(TWL_IPL_RED_ROOT)/build/buildtools/commondefs.sysmenu

View File

@ -428,6 +428,35 @@ static TitleProperty *SYSMi_CheckDebuggerBannerViewModeBoot( void )
return NULL;
}
static TitleProperty * SYSMi_ShortcutCardBootSub( void )
{
s_bootTitleBuf.flags.isAppRelocate = TRUE;
s_bootTitleBuf.flags.isAppLoadCompleted = FALSE;
s_bootTitleBuf.flags.isInitialShortcutSkip = TRUE; // 初回起動シーケンスを飛ばす
s_bootTitleBuf.flags.isLogoSkip = TRUE; // ロゴデモを飛ばす
s_bootTitleBuf.flags.bootType = LAUNCHER_BOOTTYPE_ROM;
s_bootTitleBuf.flags.isValid = TRUE;
// ROMヘッダバッファのコピー
{
u16 id = (u16)OS_GetLockID();
(void)OS_LockByWord( id, &SYSMi_GetWork()->lockCardRsc, NULL ); // ARM7と排他制御する
(void)SYSMi_CopyCardRomHeader();
(void)OS_UnlockByWord( id, &SYSMi_GetWork()->lockCardRsc, NULL ); // ARM7と排他制御する
OS_ReleaseLockID( id );
}
if( SYSM_GetCardRomHeader()->platform_code & PLATFORM_CODE_FLAG_TWL ) {
s_bootTitleBuf.titleID = *(u64 *)( &SYSM_GetCardRomHeader()->titleID_Lo );
}else{
// NTRアプリの時は、TitleIDがないので、GameCodeをいじって擬似的にTitleIDとする。
s_bootTitleBuf.titleID = (u64)( ( SYSM_GetCardRomHeader()->game_code[ 3 ] << 0 ) |
( SYSM_GetCardRomHeader()->game_code[ 2 ] << 8 ) |
( SYSM_GetCardRomHeader()->game_code[ 1 ] << 16 ) |
( SYSM_GetCardRomHeader()->game_code[ 0 ] << 24 ) );
}
SYSM_SetLogoDemoSkip( s_bootTitleBuf.flags.isLogoSkip );
return &s_bootTitleBuf;
}
// ショートカット起動のチェックその1
static TitleProperty *SYSMi_CheckShortcutBoot1( void )
{
@ -445,31 +474,7 @@ static TitleProperty *SYSMi_CheckShortcutBoot1( void )
( ( PAD_Read() == SYSM_PAD_PRODUCTION_SHORTCUT_CARD_BOOT ) &&
( !LCFG_TSD_IsFinishedBrokenTWLSettings() || !LCFG_TSD_IsFinishedInitialSetting() || !LCFG_TSD_IsFinishedInitialSetting_Launcher() ) )
){
s_bootTitleBuf.flags.isAppRelocate = TRUE;
s_bootTitleBuf.flags.isAppLoadCompleted = FALSE;
s_bootTitleBuf.flags.isInitialShortcutSkip = TRUE; // 初回起動シーケンスを飛ばす
s_bootTitleBuf.flags.isLogoSkip = TRUE; // ロゴデモを飛ばす
s_bootTitleBuf.flags.bootType = LAUNCHER_BOOTTYPE_ROM;
s_bootTitleBuf.flags.isValid = TRUE;
// ROMヘッダバッファのコピー
{
u16 id = (u16)OS_GetLockID();
(void)OS_LockByWord( id, &SYSMi_GetWork()->lockCardRsc, NULL ); // ARM7と排他制御する
(void)SYSMi_CopyCardRomHeader();
(void)OS_UnlockByWord( id, &SYSMi_GetWork()->lockCardRsc, NULL ); // ARM7と排他制御する
OS_ReleaseLockID( id );
}
if( SYSM_GetCardRomHeader()->platform_code & PLATFORM_CODE_FLAG_TWL ) {
s_bootTitleBuf.titleID = *(u64 *)( &SYSM_GetCardRomHeader()->titleID_Lo );
}else{
// NTRアプリの時は、TitleIDがないので、GameCodeをいじって擬似的にTitleIDとする。
s_bootTitleBuf.titleID = (u64)( ( SYSM_GetCardRomHeader()->game_code[ 3 ] << 0 ) |
( SYSM_GetCardRomHeader()->game_code[ 2 ] << 8 ) |
( SYSM_GetCardRomHeader()->game_code[ 1 ] << 16 ) |
( SYSM_GetCardRomHeader()->game_code[ 0 ] << 24 ) );
}
SYSM_SetLogoDemoSkip( s_bootTitleBuf.flags.isLogoSkip );
return &s_bootTitleBuf;
return SYSMi_ShortcutCardBootSub();
}
}
@ -523,31 +528,7 @@ static TitleProperty *SYSMi_CheckShortcutBoot2( void )
#ifdef SYSM_DO_NOT_SHOW_LAUNCHER
else if( SYSM_IsExistCard() )
{
s_bootTitleBuf.flags.isAppRelocate = TRUE;
s_bootTitleBuf.flags.isAppLoadCompleted = FALSE;
s_bootTitleBuf.flags.isInitialShortcutSkip = TRUE; // 初回起動シーケンスを飛ばす
s_bootTitleBuf.flags.isLogoSkip = TRUE; // ロゴデモを飛ばす
s_bootTitleBuf.flags.bootType = LAUNCHER_BOOTTYPE_ROM;
s_bootTitleBuf.flags.isValid = TRUE;
// ROMヘッダバッファのコピー
{
u16 id = (u16)OS_GetLockID();
(void)OS_LockByWord( id, &SYSMi_GetWork()->lockCardRsc, NULL ); // ARM7と排他制御する
(void)SYSMi_CopyCardRomHeader();
(void)OS_UnlockByWord( id, &SYSMi_GetWork()->lockCardRsc, NULL ); // ARM7と排他制御する
OS_ReleaseLockID( id );
}
if( SYSM_GetCardRomHeader()->platform_code & PLATFORM_CODE_FLAG_TWL ) {
s_bootTitleBuf.titleID = *(u64 *)( &SYSM_GetCardRomHeader()->titleID_Lo );
}else{
// NTRアプリの時は、TitleIDがないので、GameCodeをいじって擬似的にTitleIDとする。
s_bootTitleBuf.titleID = (u64)( ( SYSM_GetCardRomHeader()->game_code[ 3 ] << 0 ) |
( SYSM_GetCardRomHeader()->game_code[ 2 ] << 8 ) |
( SYSM_GetCardRomHeader()->game_code[ 1 ] << 16 ) |
( SYSM_GetCardRomHeader()->game_code[ 0 ] << 24 ) );
}
SYSM_SetLogoDemoSkip( s_bootTitleBuf.flags.isLogoSkip );
return &s_bootTitleBuf;
return SYSMi_ShortcutCardBootSub();
}else
{
argument = 0;