最後にブートしたアプリのTitleIDをTWL本体設定データに保存する処理をSYSMライブラリからREDランチャーに移動。

SDK rev.6791対応。ROMヘッダ構造体変更に対応。(追加)


git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1702 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yosiokat 2008-06-25 10:21:02 +00:00
parent 97bbf28b9c
commit 0884b1fce8
2 changed files with 12 additions and 12 deletions

View File

@ -314,10 +314,10 @@ BOOL SYSM_GetCardTitleList( TitleProperty *pTitleList_Card )
pTitleList_Card->flags.isValid = TRUE;
pTitleList_Card->flags.isAppLoadCompleted = FALSE;
pTitleList_Card->flags.isAppRelocate = TRUE;
pTitleList_Card->agree_EULA = SYSM_GetCardRomHeader()->agree_EULA;
pTitleList_Card->availableSubBannerFile = SYSM_GetCardRomHeader()->availableSubBannerFile;
pTitleList_Card->WiFiConnectionIcon = SYSM_GetCardRomHeader()->WiFiConnectionIcon;
pTitleList_Card->DSWirelessIcon = SYSM_GetCardRomHeader()->DSWirelessIcon;
pTitleList_Card->agree_EULA = SYSM_GetCardRomHeader()->exFlags.agree_EULA;
pTitleList_Card->availableSubBannerFile = SYSM_GetCardRomHeader()->exFlags.availableSubBannerFile;
pTitleList_Card->WiFiConnectionIcon = SYSM_GetCardRomHeader()->exFlags.WiFiConnectionIcon;
pTitleList_Card->DSWirelessIcon = SYSM_GetCardRomHeader()->exFlags.DSWirelessIcon;
pTitleList_Card->platform_code = SYSM_GetCardRomHeader()->platform_code;
MI_CpuCopy8( SYSM_GetCardRomHeader()->parental_control_rating_info, pTitleList_Card->parental_control_rating_info, 0x10);
pTitleList_Card->card_region_bitmap = SYSM_GetCardRomHeader()->card_region_bitmap;
@ -858,7 +858,7 @@ OS_TPrintf("RebootSystem failed: cant read file(%p, %d, %d, %d)\n", &s_authcode,
}
// ヘッダのハッシュ計算
SVC_CalcSHA1( s_calc_hash, header, (u32)( ( isTwlApp || ( pBootTitle->flags.bootType == LAUNCHER_BOOTTYPE_NAND ) || head->s.enable_nitro_whitelist_signature ) ?
SVC_CalcSHA1( s_calc_hash, header, (u32)( ( isTwlApp || ( pBootTitle->flags.bootType == LAUNCHER_BOOTTYPE_NAND ) || head->s.exFlags.enable_nitro_whitelist_signature ) ?
TWL_ROM_HEADER_HASH_CALC_DATA_LEN : NTR_ROM_HEADER_HASH_CALC_DATA_LEN ));
//この時点でヘッダの正当性検証
@ -1756,7 +1756,6 @@ AuthResult SYSM_TryToBootTitle( TitleProperty *pBootTitle )
{
u8 *pBuffer = SYSM_Alloc( LCFG_WRITE_TEMP );
if( pBuffer != NULL ) {
LCFG_TSD_SetLastTimeBootSoftTitleID ( pBootTitle->titleID );
LCFG_TSD_SetLastTimeBootSoftPlatform( (u8)SYSM_GetAppRomHeader()->platform_code );
(void)LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ] )pBuffer );
SYSM_Free( pBuffer );
@ -1944,12 +1943,12 @@ BOOL SYSM_MakeTitleListMakerInfoFromHeader( TitleListMakerInfo *info, ROM_Header
info->public_save_data_size = hs->public_save_data_size;
info->private_save_data_size = hs->private_save_data_size;
info->permit_landing_normal_jump = ( hs->permit_landing_normal_jump ? TRUE : FALSE );
info->agree_EULA = hs->agree_EULA;
info->availableSubBannerFile = hs->availableSubBannerFile;
info->WiFiConnectionIcon = hs->WiFiConnectionIcon;
info->DSWirelessIcon = hs->DSWirelessIcon;
info->agree_EULA = hs->exFlags.agree_EULA;
info->availableSubBannerFile = hs->exFlags.availableSubBannerFile;
info->WiFiConnectionIcon = hs->exFlags.WiFiConnectionIcon;
info->DSWirelessIcon = hs->exFlags.DSWirelessIcon;
info->platform_code = hs->platform_code;
MI_CpuCopy8( hs->parental_control_rating_info, info->parental_control_rating_info, 0x10);
MI_CpuCopy8( hs->parental_control_rating_info, info->parental_control_rating_info, PARENTAL_CONTROL_INFO_SIZE);
info->card_region_bitmap = hs->card_region_bitmap;
return TRUE;
}

View File

@ -609,8 +609,9 @@ static TitleProperty *ProcessPads( TitleProperty *pTitleList )
{
//PlayStream(&strm, filename);
ret = &pTitleList[selected];
// ブートするアプリのindex番号を本体設定に保存する。実際の保存は、SYSMライブラリがブート時に行います。
// ブートするアプリのindex番号とTitleIDを本体設定に保存する。実際の保存は、SYSMライブラリがブート時に行います。
LCFG_TSD_SetLastTimeBootSoftIndex( (u8)selected );
LCFG_TSD_SetLastTimeBootSoftTitleID ( pTitleList[selected].titleID );
}
}
}