From a5e39e68c5bf566cc15e7868d24410169e4002f7 Mon Sep 17 00:00:00 2001 From: yosiokat Date: Thu, 21 Aug 2008 08:05:43 +0000 Subject: [PATCH] =?UTF-8?q?=E3=83=BB=E8=B5=B7=E5=8B=95=E6=99=82=E3=81=AB?= =?UTF-8?q?=E3=82=AB=E3=83=BC=E3=83=89=E3=81=8C=E6=8C=BF=E5=85=A5=E3=81=95?= =?UTF-8?q?=E3=82=8C=E3=81=A6=E3=81=84=E3=81=9F=E5=A0=B4=E5=90=88=E3=81=AE?= =?UTF-8?q?=EF=BC=91=E7=99=BA=E7=9B=AE=E3=81=AE=E6=B4=BB=E7=B7=9A=E6=8C=BF?= =?UTF-8?q?=E6=8A=9C=E5=87=A6=E7=90=86=E5=86=85=E3=81=A7=E3=82=AB=E3=83=BC?= =?UTF-8?q?=E3=83=89=E3=83=AA=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3=E3=83=81?= =?UTF-8?q?=E3=82=A7=E3=83=83=E3=82=AF=E3=82=92=20=E3=80=80=E8=A1=8C?= =?UTF-8?q?=E3=81=86=E9=9A=9B=E3=81=AB=E3=80=81ARM9=E5=81=B4=E3=81=A7?= =?UTF-8?q?=E3=81=BE=E3=81=A0=E6=9C=AC=E4=BD=93=E3=83=AA=E3=83=BC=E3=82=B8?= =?UTF-8?q?=E3=83=A7=E3=83=B3=E3=81=AE=E3=83=AA=E3=83=BC=E3=83=89=E3=81=8C?= =?UTF-8?q?=E5=AE=8C=E4=BA=86=E3=81=97=E3=81=A6=E3=81=84=E3=81=AA=E3=81=84?= =?UTF-8?q?=E3=82=BF=E3=82=A4=E3=83=9F=E3=83=B3=E3=82=B0=E3=81=8C=E3=81=82?= =?UTF-8?q?=E3=82=8A=E3=80=81=E3=83=AA=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3?= =?UTF-8?q?=20=E3=80=80=E4=B8=8D=E4=B8=80=E8=87=B4=E3=81=A7=E3=82=82?= =?UTF-8?q?=E3=80=81=E3=82=AB=E3=83=BC=E3=83=89=E3=81=8C=E8=AA=8D=E8=AD=98?= =?UTF-8?q?=E3=81=95=E3=82=8C=E3=82=8B=E3=81=93=E3=81=A8=E3=81=8C=E3=81=82?= =?UTF-8?q?=E3=81=A3=E3=81=9F=E3=81=AE=E3=82=92=E4=BF=AE=E6=AD=A3=E3=80=82?= 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@2218 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/buildtools/commondefs.firm | 1 + .../libraries_sysmenu/hotsw/ARM7/src/hotsw.c | 10 ----- .../sysmenu/ARM9/src/title.c | 37 +++++++++++-------- 3 files changed, 22 insertions(+), 26 deletions(-) diff --git a/build/buildtools/commondefs.firm b/build/buildtools/commondefs.firm index b6ec6aae..894e01db 100644 --- a/build/buildtools/commondefs.firm +++ b/build/buildtools/commondefs.firm @@ -28,6 +28,7 @@ TARGET_BIN ?= $(TARGET_FIRM_BIN) # override TARGET_PLATFORM := TWL override TWL_ARCHGEN := LIMITED +override TWL_CODEGEN := ARM override TWL_MEMSIZE := 16M #---------------------------------------------------------------------------- diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c index 7f9645ae..fd8c885d 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c @@ -433,16 +433,6 @@ static HotSwState LoadCardData(void) } if(s_cbData.pBootSegBuf->rh.s.platform_code & PLATFORM_CODE_FLAG_TWL){ - // デバッガでリージョン違いのアプリを読んだ場合、正常に動作しなくなるのを回避するため - u64 card_title_id = s_cbData.pBootSegBuf->rh.s.titleID; - u64 my_title_id = ((ROM_Header_Short *)HW_TWL_ROM_HEADER_BUF)->titleID; - if(!s_debuggerFlg || card_title_id != my_title_id){ - // リージョンチェック - if( !UTL_CheckAppRegion( s_cbData.pBootSegBuf->rh.s.card_region_bitmap ) ) { - retval = (retval == HOTSW_SUCCESS) ? HOWSW_REGION_CHECK_ERROR : retval; - } - } - s_cbData.twlFlg = TRUE; } diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c index 0bbac236..4f160b0e 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c @@ -288,6 +288,7 @@ TitleProperty *SYSM_GetCardTitleList( BOOL *changed ) if( SYSMi_GetWork()->flags.hotsw.isCardStateChanged ) { u16 id = (u16)OS_GetLockID(); + const ROM_Header_Short *pROMH_bak = (ROM_Header_Short *)SYSM_CARD_ROM_HEADER_BAK; MI_CpuClear32( pTitleList_Card, sizeof(TitleProperty) ); @@ -295,23 +296,27 @@ TitleProperty *SYSM_GetCardTitleList( BOOL *changed ) // ROMヘッダバッファのコピー if( SYSM_IsExistCard() ) { - - // ROMヘッダのリード - (void)SYSMi_CopyCardRomHeader(); - // バナーデータのリード - (void)SYSMi_CopyCardBanner(); - - pTitleList_Card->pBanner = &s_card_bannerBuf; - AMN_stepBannerAnime(0, TRUE); // バナーカウンタセットしなおし - pTitleList_Card->flags.isValid = TRUE; - pTitleList_Card->flags.isAppLoadCompleted = FALSE; - pTitleList_Card->flags.isAppRelocate = TRUE; - MI_CpuCopy8( SYSM_GetCardRomHeader(), AMN_getRomHeaderList(), sizeof(ROM_Header_Short) ); + if( ( pROMH_bak->platform_code & PLATFORM_CODE_FLAG_TWL ) && !UTL_CheckAppRegion( pROMH_bak->card_region_bitmap ) ) { + // TWLアプリでカードリージョンが本体と一致しないものは、カードを認識しない。 + OS_TPrintf( "Region Check NG : %llx\n", pROMH_bak->titleID ); + MI_CpuClearFast( (void *)SYSM_APP_ROM_HEADER_BUF, SYSM_APP_ROM_HEADER_SIZE ); // ROMヘッダのクリア + MI_CpuClearFast( &s_card_bannerBuf, sizeof(TWLBannerFile) ); // バナーデータのクリア + }else { + // ROMヘッダのリード + (void)SYSMi_CopyCardRomHeader(); + // バナーデータのリード + (void)SYSMi_CopyCardBanner(); + + pTitleList_Card->pBanner = &s_card_bannerBuf; + AMN_stepBannerAnime(0, TRUE); // バナーカウンタセットしなおし + pTitleList_Card->flags.isValid = TRUE; + pTitleList_Card->flags.isAppLoadCompleted = FALSE; + pTitleList_Card->flags.isAppRelocate = TRUE; + MI_CpuCopy8( SYSM_GetCardRomHeader(), AMN_getRomHeaderList(), sizeof(ROM_Header_Short) ); + } }else { - // ROMヘッダのクリア - MI_CpuClearFast( (void *)SYSM_APP_ROM_HEADER_BUF, SYSM_APP_ROM_HEADER_SIZE ); - // バナーデータのクリア - MI_CpuClearFast( &s_card_bannerBuf, sizeof(TWLBannerFile) ); + MI_CpuClearFast( (void *)SYSM_APP_ROM_HEADER_BUF, SYSM_APP_ROM_HEADER_SIZE ); // ROMヘッダのクリア + MI_CpuClearFast( &s_card_bannerBuf, sizeof(TWLBannerFile) ); // バナーデータのクリア } SYSMi_GetWork()->flags.hotsw.isCardStateChanged = FALSE; // カード情報更新フラグを落とす