ROMヘッダをARM7バッファからARM9バッファへコピーする前に参照している箇所を一部対処。

カードバナー読み込み直後後にデモ表示を行うと現状ではまた停止してしまう箇所を一時的に戻す。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@777 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
nakasima 2008-02-29 12:00:07 +00:00
parent ad4eaa2706
commit 5b88d8c6bf
4 changed files with 20 additions and 11 deletions

View File

@ -498,30 +498,37 @@ static HotSwState LoadBannerData(void)
{
BOOL state;
HotSwState retval = HOTSW_SUCCESS;
// バナーリード
if( s_cbData.pBootSegBuf->rh.s.banner_offset ) {
retval = s_funcTable[s_cbData.cardType].ReadPage_G(&s_cbData,
s_cbData.pBootSegBuf->rh.s.banner_offset,
(u32 *)SYSM_CARD_BANNER_BUF,
sizeof(TWLBannerFile) );
// バナーリードが成功していたら各種フラグTRUE その他の場合はFALSE (この関数の外で排他制御されているからここでは排他制御しないでOK)
state = (retval == HOTSW_SUCCESS) ? TRUE : FALSE;
SYSMi_GetWork()->flags.hotsw.isValidCardBanner = state;
SYSMi_GetWork()->flags.hotsw.isCardStateChanged = (u8)state;
SYSMi_GetWork()->flags.hotsw.isExistCard = state;
}
else{
// バナーデータが登録されていない場合 (この関数の外で排他制御されているからここでは排他制御しないでOK)
SYSMi_GetWork()->flags.hotsw.isValidCardBanner = FALSE;
SYSMi_GetWork()->flags.hotsw.isExistCard = TRUE;
SYSMi_GetWork()->flags.hotsw.isCardStateChanged = TRUE;
SYSMi_GetWork()->flags.hotsw.is1stCardChecked = TRUE;
return retval;
}
// バナーリードが成功していたら各種フラグTRUE その他の場合はFALSE (この関数の外で排他制御されているからここでは排他制御しないでOK)
state = (retval == HOTSW_SUCCESS) ? TRUE : FALSE;
SYSMi_GetWork()->flags.hotsw.isValidCardBanner = state;
SYSMi_GetWork()->flags.hotsw.isCardStateChanged = (u8)state;
SYSMi_GetWork()->flags.hotsw.isExistCard = state;
SYSMi_GetWork()->flags.hotsw.is1stCardChecked = TRUE;
if ( SYSMi_GetWork()->flags.hotsw.isExistCard )
{
SYSMi_GetWork()->flags.hotsw.isInspectCard = ((ROM_Header_Short *)SYSM_CARD_ROM_HEADER_BAK)->inspect_card;
}
else
{
SYSMi_GetWork()->flags.hotsw.isInspectCard = FALSE;
}
// SYSMi_GetWork()->flags.hotsw.is1stCardChecked = TRUE;
return retval;
}

View File

@ -218,6 +218,7 @@ static TitleProperty *SYSMi_CheckShortcutBoot( void )
s_bootTitle.flags.isLogoSkip = TRUE; // ロゴデモを飛ばす
s_bootTitle.flags.bootType = LAUNCHER_BOOTTYPE_ROM;
s_bootTitle.flags.isValid = TRUE;
// [TODO] 現状ではROMヘッダがまだコピーされていない
s_bootTitle.titleID = *(u64 *)( &SYSM_GetCardRomHeader()->titleID_Lo );
SYSM_SetLogoDemoSkip( s_bootTitle.flags.isLogoSkip );
return &s_bootTitle;

View File

@ -93,7 +93,7 @@ BOOL SYSM_IsExistCard( void )
// 検査用カードが差さっているか?
BOOL SYSM_IsInspectCard( void )
{
return ( SYSM_IsExistCard() && SYSM_GetCardRomHeader()->inspect_card );
return ( SYSM_IsExistCard() && SYSMi_GetWork()->flags.hotsw.isInspectCard );
}

View File

@ -93,6 +93,7 @@ typedef struct SYSM_work {
}common;
struct {
vu16 isExistCard :1; // 有効なNTR/TWLカードが存在するか
vu16 isInspectCard :1; // 検査カードか?
vu16 isOnDebugger :1; // デバッガ動作か?
vu16 isEnableHotSW :1; // 活線挿抜有効?
vu16 isBusyHotSW :1; // 活線挿抜処理中?