From cd9e98ebf0ce07f08345d24f150ba0ce4d9672e3 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@b08762b0-b915-fc4b-9d8c-17b2551a87ff> Date: Tue, 3 Apr 2012 09:09:37 +0000 Subject: [PATCH] =?UTF-8?q?=E3=82=AB=E3=83=BC=E3=83=89=E3=81=AE=E3=82=BB?= =?UTF-8?q?=E3=82=AD=E3=83=A5=E3=83=AA=E3=83=86=E3=82=A3=E3=82=92off?= =?UTF-8?q?=E3=81=AB=E3=81=99=E3=82=8B?= 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/branches/20120402_card_rtc_off_security_off@3055 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../libraries_sysmenu/boot/ARM7/src/bootAPI.c | 10 ++++++++-- .../hotsw/ARM7/src/dsCardCommon.c | 18 +++++++++--------- build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c | 4 ++-- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/build/libraries_sysmenu/boot/ARM7/src/bootAPI.c b/build/libraries_sysmenu/boot/ARM7/src/bootAPI.c index f9e9eb80..d0bb2a90 100644 --- a/build/libraries_sysmenu/boot/ARM7/src/bootAPI.c +++ b/build/libraries_sysmenu/boot/ARM7/src/bootAPI.c @@ -139,6 +139,11 @@ BOOL BOOT_WaitStart( void ) return FALSE; } + +#define CS_MASK 0x00400000 +#define DS_MASK 0x00002000 +#define SE_MASK 0x00004000 + // SDKのFinalize処理後に呼び出される static void BOOTi_RebootCallback( void** entryp, void* mem_list_v, REBOOTTarget* target ) { @@ -175,8 +180,9 @@ static void BOOTi_RebootCallback( void** entryp, void* mem_list_v, REBOOTTarget* // NitroSDKバグ対策でブートメディア種別に関わらずROMヘッダを常時書き換え dh->s.game_cmd_param &= ~SCRAMBLE_MASK; } - // カードROMヘッダ(非キャッシュ領域)は常時設定 - ch->s.game_cmd_param = SYSMi_GetWork()->gameCommondParam; + // カードROMヘッダ(非キャッシュ領域)は常時設定(知財用に改造 2012/04/03) + ch->s.game_cmd_param = SYSMi_GetWork()->gameCommondParam & ~(CS_MASK | DS_MASK | SE_MASK); + dh->s.game_cmd_param = SYSMi_GetWork()->gameCommondParam & ~(CS_MASK | DS_MASK | SE_MASK); // この処理は、DSダウンロードプレイ側で行う。 // MI_CpuCopyFast ( ch, (void *)MB_CARD_ROM_HEADER_ADDRESS, 0x160); diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/dsCardCommon.c b/build/libraries_sysmenu/hotsw/ARM7/src/dsCardCommon.c index 66af1552..6681e62a 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/dsCardCommon.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/dsCardCommon.c @@ -515,8 +515,8 @@ HotSwState ReadIDSecure(CardBootData *cbd) return HOTSW_PULLED_OUT_ERROR; } - // スクランブルの設定 - scrambleMask = HOTSWi_IsRomEmulation() ? 0 : (u32)(SCRAMBLE_MASK & ~CS_MASK); + // スクランブルの設定(知財用に改造 2012/04/03) + scrambleMask = HOTSWi_IsRomEmulation() ? 0 : (u32)(SCRAMBLE_MASK & ~(CS_MASK | DS_MASK | SE_MASK)); // コマンド作成・設定 SetSecureCommand(S_RD_ID, cbd); @@ -558,7 +558,7 @@ HotSwState ReadIDSecure(CardBootData *cbd) *---------------------------------------------------------------------------*/ HotSwState ReadSegSecure(CardBootData *cbd) { - u32 scrambleMask = HOTSWi_IsRomEmulation() ? 0 : (u32)(SCRAMBLE_MASK & ~CS_MASK); + u32 scrambleMask = HOTSWi_IsRomEmulation() ? 0 : (u32)(SCRAMBLE_MASK & ~(CS_MASK | DS_MASK | SE_MASK)); u32 *buf = (cbd->modeType == HOTSW_MODE1) ? cbd->pSecureSegBuf : cbd->pSecure2SegBuf; u32 loop, pc, size, interval, i, j=0, k; u64 segNum = 4; @@ -724,8 +724,8 @@ HotSwState ChangeModeSecure(CardBootData *cbd) return HOTSW_PULLED_OUT_ERROR; } - // スクランブルの設定 - scrambleMask = HOTSWi_IsRomEmulation() ? 0 : (u32)(SCRAMBLE_MASK & ~CS_MASK); + // スクランブルの設定(知財用に改造 2012/04/03) + scrambleMask = HOTSWi_IsRomEmulation() ? 0 : (u32)(SCRAMBLE_MASK & ~(CS_MASK | DS_MASK | SE_MASK)); // コマンド作成・設定 SetSecureCommand(S_CHG_MODE, cbd); @@ -785,8 +785,8 @@ HotSwState ReadIDGame(CardBootData *cbd) reg_HOTSW_MCCNT0 = (u16)((reg_HOTSW_MCCNT0 & HOTSW_E2PROM_CTRL_MASK) | REG_MI_MCCNT0_E_MASK | REG_MI_MCCNT0_I_MASK); #endif - // MCCNT1 レジスタ設定 - reg_HOTSW_MCCNT1 = cbd->gameCommondParam | START_MASK | HOTSW_PAGE_STAT; + // MCCNT1 レジスタ設定(知財用に改造 2012/04/03) + reg_HOTSW_MCCNT1 = (cbd->gameCommondParam & ~(CS_MASK | DS_MASK | SE_MASK)) | START_MASK | HOTSW_PAGE_STAT; // メッセージ受信 OS_ReceiveMessage(&HotSwThreadData.hotswDmaQueue, (OSMessage *)&s_Msg, OS_MESSAGE_BLOCK); @@ -841,8 +841,8 @@ HotSwState ReadPageGame(CardBootData *cbd, u32 start_addr, void* buf, u32 size) reg_HOTSW_MCCNT0 = (u16)((reg_HOTSW_MCCNT0 & HOTSW_E2PROM_CTRL_MASK) | REG_MI_MCCNT0_E_MASK | REG_MI_MCCNT0_I_MASK); #endif - // MCCNT1 レジスタ設定 - reg_HOTSW_MCCNT1 = cbd->gameCommondParam | START_MASK | HOTSW_PAGE_1; + // MCCNT1 レジスタ設定(知財用に改造 2012/04/03) + reg_HOTSW_MCCNT1 = (cbd->gameCommondParam & ~(CS_MASK | DS_MASK | SE_MASK)) | START_MASK | HOTSW_PAGE_1; // メッセージ受信 OS_ReceiveMessage(&HotSwThreadData.hotswDmaQueue, (OSMessage *)&s_Msg, OS_MESSAGE_BLOCK); diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c index 155f0460..70388db2 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c @@ -681,8 +681,8 @@ static HotSwState ReadSecureModeCardData(void) u32 secure_ID; - // PNG設定 - state = s_funcTable[s_isRomEmu].SetPNG_S(&s_cbData); + // PNG OFF設定(知財用に改造 2012/04/03) + state = SwitchOFFPNGSecure(&s_cbData); retval = (retval == HOTSW_SUCCESS) ? state : retval; // DS側符号生成回路初期値設定 (レジスタ設定)