From 6e0fd2578fd250a8b2fc5058d33bf78263c18b53 Mon Sep 17 00:00:00 2001 From: yoshida_teruhisa Date: Wed, 25 Jun 2008 10:30:23 +0000 Subject: [PATCH] =?UTF-8?q?=E6=9C=80=E5=88=9D=E3=81=AB=E5=8F=96=E5=BE=97?= =?UTF-8?q?=E3=81=99=E3=82=8B=E3=82=BF=E3=82=A4=E3=83=88=E3=83=AB=E6=83=85?= =?UTF-8?q?=E5=A0=B1=E3=83=AA=E3=82=B9=E3=83=88=E3=81=AB=E8=A9=B0=E3=82=81?= =?UTF-8?q?=E8=BE=BC=E3=82=80=E6=83=85=E5=A0=B1=E9=96=A2=E4=BF=82=E3=81=AE?= =?UTF-8?q?=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1703 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../sysmenu/ARM9/src/title.c | 33 +++++++------------ .../sysmenu/sysmenu_lib/common/sysmenu_api.h | 26 ++++++--------- 2 files changed, 22 insertions(+), 37 deletions(-) diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c index 73825ee9..c36eec00 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c @@ -314,13 +314,11 @@ 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()->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; + pTitleList_Card->sub_info.exFlags = SYSM_GetCardRomHeader()->exFlags; + pTitleList_Card->sub_info.platform_code = SYSM_GetCardRomHeader()->platform_code; + MI_CpuCopy8( SYSM_GetCardRomHeader()->parental_control_rating_info, pTitleList_Card->sub_info.parental_control_rating_info, 0x10); + pTitleList_Card->sub_info.card_region_bitmap = SYSM_GetCardRomHeader()->card_region_bitmap; + pTitleList_Card->sub_info.agree_EULA_version = SYSM_GetCardRomHeader()->agree_EULA_version; } // タイトル情報フラグのセット @@ -581,13 +579,7 @@ int SYSM_GetNandTitleList( TitleProperty *pTitleList_Nand, int listNum ) if( titleIDArray[l] ) { pTitleList_Nand[l+1].flags.isValid = TRUE; pTitleList_Nand[l+1].flags.bootType = LAUNCHER_BOOTTYPE_NAND; - pTitleList_Nand[l+1].agree_EULA = local_titleListMakerinfo[l].agree_EULA; - pTitleList_Nand[l+1].availableSubBannerFile = local_titleListMakerinfo[l].availableSubBannerFile; - pTitleList_Nand[l+1].WiFiConnectionIcon = local_titleListMakerinfo[l].WiFiConnectionIcon; - pTitleList_Nand[l+1].DSWirelessIcon = local_titleListMakerinfo[l].DSWirelessIcon; - pTitleList_Nand[l+1].platform_code = local_titleListMakerinfo[l].platform_code; - MI_CpuCopy8( local_titleListMakerinfo[l].parental_control_rating_info, pTitleList_Nand[l+1].parental_control_rating_info, 0x10); - pTitleList_Nand[l+1].card_region_bitmap = local_titleListMakerinfo[l].card_region_bitmap; + MI_CpuCopy8( &local_titleListMakerinfo[l].sub_info, &pTitleList_Nand[l+1].sub_info, sizeof(TitleInfoSub)); } } // return : *TitleProperty Array @@ -1756,6 +1748,7 @@ 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 ); @@ -1943,13 +1936,11 @@ 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->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, PARENTAL_CONTROL_INFO_SIZE); - info->card_region_bitmap = hs->card_region_bitmap; + info->sub_info.exFlags = hs->exFlags; + info->sub_info.platform_code = hs->platform_code; + MI_CpuCopy8( hs->parental_control_rating_info, info->sub_info.parental_control_rating_info, 0x10); + info->sub_info.card_region_bitmap = hs->card_region_bitmap; + info->sub_info.agree_EULA_version = hs->agree_EULA_version; return TRUE; } diff --git a/include/sysmenu/sysmenu_lib/common/sysmenu_api.h b/include/sysmenu/sysmenu_lib/common/sysmenu_api.h index 7a51f394..6ad8e372 100644 --- a/include/sysmenu/sysmenu_lib/common/sysmenu_api.h +++ b/include/sysmenu/sysmenu_lib/common/sysmenu_api.h @@ -51,19 +51,20 @@ extern "C" { #define SYSM_ALIGNMENT_LOAD_MODULE 32 // モジュールをsrlから読み込む際のアライメント(AESおよびAESで使うDMAの仕様による) +typedef struct TitleInfoSub { + RomExpansionFlags exFlags; + char platform_code; + u8 parental_control_rating_info[0x10]; + u32 card_region_bitmap; + u8 agree_EULA_version; +}TitleInfoSub; + // タイトル情報 typedef struct TitleProperty { // この情報は、ランチャー時には認証通ってないけど、起動時には認証通すので大丈夫だろう。 NAMTitleId titleID; // タイトルID(TitleID_Hiで起動メディアは判定できる?) LauncherBootFlags flags; // ブート時のランチャー動作フラグ TWLBannerFile *pBanner; // バナーへのポインタ(固定長フォーマットなら偽造されても大丈夫だろう。) - u8 agree_EULA:1; - u8 availableSubBannerFile:1; - u8 WiFiConnectionIcon:1; - u8 DSWirelessIcon:1; - u8 rsv:4; - char platform_code; - u8 parental_control_rating_info[0x10]; - u32 card_region_bitmap; + TitleInfoSub sub_info; }TitleProperty; // タイトルリスト作成用情報構造体 @@ -72,14 +73,7 @@ typedef struct TitleListMakerInfo { u32 public_save_data_size; u32 private_save_data_size; BOOL permit_landing_normal_jump; - u8 agree_EULA:1; - u8 availableSubBannerFile:1; - u8 WiFiConnectionIcon:1; - u8 DSWirelessIcon:1; - u8 rsv:4; - char platform_code; - u8 parental_control_rating_info[0x10]; - u32 card_region_bitmap; + TitleInfoSub sub_info; }TitleListMakerInfo; // アプリ認証結果