diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c index 2b1b34dd..56464cff 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c @@ -198,7 +198,13 @@ BOOL HOTSW_Boot(void) BOOL retval = TRUE; OSTick start = OS_GetTick(); - + + // スロットがスワップされてたら元に戻す。 + if(reg_MI_MC1 & 0x8000){ + reg_MI_MC1 = reg_MI_MC1 & 0xff; + OS_TPrintf("Slot Swap\n"); + } + OS_TPrintf("---------------- Card Boot Start ---------------\n"); #ifdef SDK_ARM7 // カード電源ON @@ -346,7 +352,7 @@ BOOL HOTSW_Boot(void) // *(u32 *)HW_BOOT_CHECK_INFO_BUF = s_cbData.id_gam; // *(u32 *)HW_RED_RESERVED = s_cbData.id_gam; SYSMi_GetWork()->nCardID = s_cbData.id_gam; - + OS_TPrintf("-----------------------------------------------\n\n"); } else{ @@ -581,10 +587,6 @@ static void LoadTable(void) // MCCNT0 レジスタ設定 (E = 1 I = 1 SEL = 0に) reg_HOTSW_MCCNT0 = (u16)((reg_HOTSW_MCCNT0 & 0x0fff) | 0xc000); -/* // MCCNT1 レジスタ設定 (START = 1 W/R = 0 PC = 101(16ページ) latency1 = 0(必要ないけど) に) - reg_HOTSW_MCCNT1 = (u32)((reg_HOTSW_MCCNT1 & CNT1_MSK(0,0,1,0, 0,0, 1,0, 0, 0,0,0, 0)) | - CNT1_FLD(1,0,0,0, 0,5, 0,0, 0, 0,0,0, 0));*/ - // MCCNT1 レジスタ設定 (START = 1 W/R = 0 PC = 101(16ページ) latency1 = 0(必要ないけど) に) reg_HOTSW_MCCNT1 = START_MASK | PC_MASK & (0x5 << PC_SHIFT); @@ -874,6 +876,8 @@ static void McThread(void *arg) * ----------------------------------------------------------------- */ static void McPowerOn(void) { + OS_TPrintf("Slot State : %08x\n", reg_MI_MC1); + // SCFG_MC1 の Slot Status の M1,M0 を 11 にする reg_MI_MC1 = (u32)((reg_MI_MC1 & (~SLOT_STATUS_MODE_SELECT_MSK)) | 0xc0); // 10ms待ち @@ -900,7 +904,7 @@ static void McPowerOn(void) // 10ms待ち OS_Sleep(10); - OS_TPrintf("MC Power ON\n"); + OS_TPrintf("Slot Power ON\n"); } /*---------------------------------------------------------------------------* diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/romEmulation.c b/build/libraries_sysmenu/hotsw/ARM7/src/romEmulation.c index 6b0491bf..b40ce962 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/romEmulation.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/romEmulation.c @@ -75,24 +75,6 @@ void ReadBootSegNormal_ROMEMU(CardBootData *cbd) page++; } - -/* - // NewDMA転送の準備 - HOTSW_NDmaCopy_Card( HOTSW_DMA_NO, (u32 *)HOTSW_MCD1, &cbd->pBootSegBuf->word, BOOT_SEGMENT_SIZE ); - - // MCCMD レジスタ設定 - reg_HOTSW_MCCMD0 = 0x00000000; - reg_HOTSW_MCCMD1 = 0x00000000; - - // MCCNT0 レジスタ設定 (E = 1 I = 1 SEL = 0に) - reg_HOTSW_MCCNT0 = (u16)((reg_HOTSW_MCCNT0 & 0x0fff) | 0xc000); - - // MCCNT1 レジスタ設定 (START = 1 PC_MASK PC = 100(8ページリード)に latency1 = 0xd) - reg_HOTSW_MCCNT1 = START_MASK | CT_MASK | PC_MASK & (0x4 << PC_SHIFT) | (0xd & LATENCY1_MASK); - - // カードデータ転送終了割り込みが起こるまで寝る(割り込みハンドラの中で起こされる) - OS_SleepThread(NULL); -*/ } /*---------------------------------------------------------------------------* @@ -204,51 +186,9 @@ void ReadSegSecure_ROMEMU(CardBootData *cbd) while(reg_HOTSW_MCCNT1 & START_FLG_MASK){ while(!(reg_HOTSW_MCCNT1 & READY_FLG_MASK)){} *(cbd->pSecureSegBuf + j++) = reg_HOTSW_MCD1; -// OS_TPrintf("Secure Data Address : %08x\n", (cbd->pSecureSegBuf + j)); -/* OS_TPrintf("%02x ",reg_HOTSW_MCD1); - if(!(n++ % 0xf)){ - OS_PutString("\n"); - }*/ } page++; } - -/* u64 segNum = 4; - u64 vae = cbd->vae; - GCDCmd64 cndLE, cndBE; - - // NewDMA転送の準備 - HOTSW_NDmaCopy_Card( HOTSW_DMA_NO, (u32 *)HOTSW_MCD1, cbd->pSecureSegBuf, SECURE_SEGMENT_SIZE ); - - // コマンド構造体初期化 - MI_CpuClear8(&cndLE, sizeof(GCDCmd64)); - - // コマンド作成 - cndLE.dw = 0x20 << 33; - - // ビッグエンディアンに直す(暗号化後) - cndBE.b[7] = cndLE.b[0]; - cndBE.b[6] = cndLE.b[1]; - cndBE.b[5] = cndLE.b[2]; - cndBE.b[4] = cndLE.b[3]; - cndBE.b[3] = cndLE.b[4]; - cndBE.b[2] = cndLE.b[5]; - cndBE.b[1] = cndLE.b[6]; - cndBE.b[0] = cndLE.b[7]; - - // MCCMD レジスタ設定 - reg_HOTSW_MCCMD0 = *(u32*)cndBE.b; - reg_HOTSW_MCCMD1 = *(u32*)&cndBE.b[4]; - - // MCCNT0 レジスタ設定 (E = 1 I = 1 SEL = 0に) - reg_HOTSW_MCCNT0 = (u16)((reg_HOTSW_MCCNT0 & 0x0fff) | 0xc000); - - // MCCNT1 レジスタ設定 (START = 1 PC_MASK PC = 110(32ページリード)に latency1 = 0xd) - reg_HOTSW_MCCNT1 = START_MASK | CT_MASK | PC_MASK & (0x6 << PC_SHIFT) | (0xd & LATENCY1_MASK); - - // カードデータ転送終了割り込みが起こるまで寝る(割り込みハンドラの中で起こされる) - OS_SleepThread(NULL); -*/ } /*---------------------------------------------------------------------------*