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側符号生成回路初期値設定 (レジスタ設定)