mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
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:
parent
ad4eaa2706
commit
5b88d8c6bf
@ -498,30 +498,37 @@ static HotSwState LoadBannerData(void)
|
|||||||
{
|
{
|
||||||
BOOL state;
|
BOOL state;
|
||||||
HotSwState retval = HOTSW_SUCCESS;
|
HotSwState retval = HOTSW_SUCCESS;
|
||||||
|
|
||||||
// バナーリード
|
// バナーリード
|
||||||
if( s_cbData.pBootSegBuf->rh.s.banner_offset ) {
|
if( s_cbData.pBootSegBuf->rh.s.banner_offset ) {
|
||||||
retval = s_funcTable[s_cbData.cardType].ReadPage_G(&s_cbData,
|
retval = s_funcTable[s_cbData.cardType].ReadPage_G(&s_cbData,
|
||||||
s_cbData.pBootSegBuf->rh.s.banner_offset,
|
s_cbData.pBootSegBuf->rh.s.banner_offset,
|
||||||
(u32 *)SYSM_CARD_BANNER_BUF,
|
(u32 *)SYSM_CARD_BANNER_BUF,
|
||||||
sizeof(TWLBannerFile) );
|
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{
|
else{
|
||||||
// バナーデータが登録されていない場合 (この関数の外で排他制御されているからここでは排他制御しないでOK)
|
// バナーデータが登録されていない場合 (この関数の外で排他制御されているからここでは排他制御しないでOK)
|
||||||
SYSMi_GetWork()->flags.hotsw.isValidCardBanner = FALSE;
|
SYSMi_GetWork()->flags.hotsw.isValidCardBanner = FALSE;
|
||||||
SYSMi_GetWork()->flags.hotsw.isExistCard = TRUE;
|
SYSMi_GetWork()->flags.hotsw.isExistCard = TRUE;
|
||||||
SYSMi_GetWork()->flags.hotsw.isCardStateChanged = TRUE;
|
SYSMi_GetWork()->flags.hotsw.isCardStateChanged = TRUE;
|
||||||
SYSMi_GetWork()->flags.hotsw.is1stCardChecked = TRUE;
|
|
||||||
|
|
||||||
return retval;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// バナーリードが成功していたら各種フラグTRUE その他の場合はFALSE (この関数の外で排他制御されているからここでは排他制御しないでOK)
|
if ( SYSMi_GetWork()->flags.hotsw.isExistCard )
|
||||||
state = (retval == HOTSW_SUCCESS) ? TRUE : FALSE;
|
{
|
||||||
SYSMi_GetWork()->flags.hotsw.isValidCardBanner = state;
|
SYSMi_GetWork()->flags.hotsw.isInspectCard = ((ROM_Header_Short *)SYSM_CARD_ROM_HEADER_BAK)->inspect_card;
|
||||||
SYSMi_GetWork()->flags.hotsw.isCardStateChanged = (u8)state;
|
}
|
||||||
SYSMi_GetWork()->flags.hotsw.isExistCard = state;
|
else
|
||||||
SYSMi_GetWork()->flags.hotsw.is1stCardChecked = TRUE;
|
{
|
||||||
|
SYSMi_GetWork()->flags.hotsw.isInspectCard = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// SYSMi_GetWork()->flags.hotsw.is1stCardChecked = TRUE;
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -218,6 +218,7 @@ static TitleProperty *SYSMi_CheckShortcutBoot( void )
|
|||||||
s_bootTitle.flags.isLogoSkip = TRUE; // ロゴデモを飛ばす
|
s_bootTitle.flags.isLogoSkip = TRUE; // ロゴデモを飛ばす
|
||||||
s_bootTitle.flags.bootType = LAUNCHER_BOOTTYPE_ROM;
|
s_bootTitle.flags.bootType = LAUNCHER_BOOTTYPE_ROM;
|
||||||
s_bootTitle.flags.isValid = TRUE;
|
s_bootTitle.flags.isValid = TRUE;
|
||||||
|
// [TODO] 現状ではROMヘッダがまだコピーされていない
|
||||||
s_bootTitle.titleID = *(u64 *)( &SYSM_GetCardRomHeader()->titleID_Lo );
|
s_bootTitle.titleID = *(u64 *)( &SYSM_GetCardRomHeader()->titleID_Lo );
|
||||||
SYSM_SetLogoDemoSkip( s_bootTitle.flags.isLogoSkip );
|
SYSM_SetLogoDemoSkip( s_bootTitle.flags.isLogoSkip );
|
||||||
return &s_bootTitle;
|
return &s_bootTitle;
|
||||||
|
|||||||
@ -93,7 +93,7 @@ BOOL SYSM_IsExistCard( void )
|
|||||||
// 検査用カードが差さっているか?
|
// 検査用カードが差さっているか?
|
||||||
BOOL SYSM_IsInspectCard( void )
|
BOOL SYSM_IsInspectCard( void )
|
||||||
{
|
{
|
||||||
return ( SYSM_IsExistCard() && SYSM_GetCardRomHeader()->inspect_card );
|
return ( SYSM_IsExistCard() && SYSMi_GetWork()->flags.hotsw.isInspectCard );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -93,6 +93,7 @@ typedef struct SYSM_work {
|
|||||||
}common;
|
}common;
|
||||||
struct {
|
struct {
|
||||||
vu16 isExistCard :1; // 有効なNTR/TWLカードが存在するか?
|
vu16 isExistCard :1; // 有効なNTR/TWLカードが存在するか?
|
||||||
|
vu16 isInspectCard :1; // 検査カードか?
|
||||||
vu16 isOnDebugger :1; // デバッガ動作か?
|
vu16 isOnDebugger :1; // デバッガ動作か?
|
||||||
vu16 isEnableHotSW :1; // 活線挿抜有効?
|
vu16 isEnableHotSW :1; // 活線挿抜有効?
|
||||||
vu16 isBusyHotSW :1; // 活線挿抜処理中?
|
vu16 isBusyHotSW :1; // 活線挿抜処理中?
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user