From 2943905f109f5fdeed21e7d6c78d7728cb5f7d66 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@b08762b0-b915-fc4b-9d8c-17b2551a87ff> Date: Fri, 17 Jun 2011 08:56:53 +0000 Subject: [PATCH] =?UTF-8?q?GameCardNitroMode=E6=8C=87=E5=AE=9A=EF=BC=8BTwl?= =?UTF-8?q?=E3=82=AB=E3=83=BC=E3=83=89=E3=81=8C=E3=81=95=E3=81=95=E3=81=A3?= =?UTF-8?q?=E3=81=A6=E3=81=84=E3=81=9F=E5=A0=B4=E5=90=88=E3=81=AFTwl?= =?UTF-8?q?=E3=83=A2=E3=83=BC=E3=83=89=E3=81=BE=E3=81=A7=E9=81=B7=E7=A7=BB?= =?UTF-8?q?=E3=81=95=E3=81=9B=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= 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/20110608_CardToSD@3016 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../libraries_sysmenu/hotsw/ARM7/src/hotsw.c | 20 +++++++++++++++++++ .../hotsw/ARM7/src/hotswBlowfish.c | 14 ++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c index 5df571cf..a4b4d227 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c @@ -1957,6 +1957,26 @@ static BOOL ChangeGameMode(void) SetMCSCR(); state = s_funcTable[s_isRomEmu].ChangeMode_S(&s_cbData); + if(s_cbData.pBootSegBuf->rh.s.platform_code & PLATFORM_CODE_FLAG_TWL) + { + s_cbData.modeType = HOTSW_MODE2; + + McPowerOff(); + McPowerOn(); + + state = ReadBootSegNormal(&s_cbData); + + MakeBlowfishTableTWL(&s_cbData, 8, s_bondingOp); + GenVA_VB_VD(); + + state = ChangeModeNormal2(&s_cbData); + + // ---------------------- Secure2 Mode ---------------------- + state = s_funcTable[s_isRomEmu].SetPNG_S(&s_cbData); + SetMCSCR(); + state = s_funcTable[s_isRomEmu].ChangeMode_S(&s_cbData); + } + // ---------------------- Game Mode ---------------------- state = ReadIDGame(&s_cbData); diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/hotswBlowfish.c b/build/libraries_sysmenu/hotsw/ARM7/src/hotswBlowfish.c index 317c57f7..6cfc67c6 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/hotswBlowfish.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/hotswBlowfish.c @@ -17,6 +17,7 @@ // Function Prototype ------------------------------------------------------- +static BLOWFISH_CTX keytable2; /*---------------------------------------------------------------------------* Name: MakeBlowfishTableDSForNAND @@ -66,10 +67,21 @@ void MakeBlowfishTableTWL(CardBootData *cbd, s32 keyLen, u16 bondingOp) BLOWFISH_CTX *ctx = &cbd->keyTable2; void *tempCTX; + static BOOL isFirst = TRUE; // 製品機の場合 if(bondingOp == SCFG_OP_PRODUCT){ - MI_CpuCopyFast((void *)((OSFromFirm7Buf *)HW_FIRM_FROM_FIRM_BUF)->twl_blowfish, (void *)ctx, sizeof(BLOWFISH_CTX)); + if( isFirst ) + { + MI_CpuCopyFast((void *)((OSFromFirm7Buf *)HW_FIRM_FROM_FIRM_BUF)->twl_blowfish, (void *)ctx, sizeof(BLOWFISH_CTX)); + + MI_CpuCopy8((void *)ctx, (void *)&keytable2, sizeof(BLOWFISH_CTX)); + isFirst = FALSE; + } + else + { + MI_CpuCopyFast((void *)&keytable2, (void *)ctx, sizeof(BLOWFISH_CTX)); + } } // 開発機の場合 else{