From c13bf5fd8b7281fa92d6a96d7a8bd8ffd4bedbf8 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@b08762b0-b915-fc4b-9d8c-17b2551a87ff> Date: Tue, 20 May 2008 02:21:32 +0000 Subject: [PATCH] =?UTF-8?q?(=E6=9B=B4=E6=96=B0:Akabane=20Jumpei)=20?= =?UTF-8?q?=E3=83=BB=E3=82=A8=E3=83=A9=E3=83=BC=E5=87=A6=E7=90=86=E3=81=AE?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E3=80=82=E3=82=AB=E3=83=BC=E3=83=89=E8=AA=AD?= =?UTF-8?q?=E3=81=BF=E6=9C=80=E4=B8=AD=E3=81=AB=E4=BD=95=E3=82=89=E3=81=8B?= =?UTF-8?q?=E3=81=AE=E3=82=A8=E3=83=A9=E3=83=BC=E3=81=8C=E7=99=BA=E7=94=9F?= =?UTF-8?q?=E3=81=97=E3=81=9F=E5=A0=B4=E5=90=88=E3=81=AF=E3=80=81=E3=83=95?= =?UTF-8?q?=E3=83=A9=E3=82=B0=E6=93=8D=E4=BD=9C=E3=81=97=E3=81=A6=E3=83=90?= =?UTF-8?q?=E3=83=8A=E3=83=BC=E3=82=92=E6=B6=88=E3=81=97=E3=80=81=E3=82=B9?= =?UTF-8?q?=E3=83=AD=E3=83=83=E3=83=88=E3=81=AE=E9=9B=BB=E6=BA=90=E3=82=92?= =?UTF-8?q?OFF=E3=81=99=E3=82=8B=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@1410 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../hotsw/ARM7/include/hotswTypes.h | 1 - .../libraries_sysmenu/hotsw/ARM7/src/hotsw.c | 69 +++++-------------- 2 files changed, 18 insertions(+), 52 deletions(-) diff --git a/build/libraries_sysmenu/hotsw/ARM7/include/hotswTypes.h b/build/libraries_sysmenu/hotsw/ARM7/include/hotswTypes.h index 67f7cb0c..07f4af35 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/include/hotswTypes.h +++ b/build/libraries_sysmenu/hotsw/ARM7/include/hotswTypes.h @@ -287,7 +287,6 @@ typedef struct CardBootData{ BOOL twlFlg; BOOL debuggerFlg; - BOOL illegalCardFlg; BOOL isLoadTypeTwl; u32 romStatus; diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c index 975115ea..a2a744d1 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c @@ -636,7 +636,6 @@ static BOOL isTwlModeLoad(void) // PlatformCodeがTwl or Hybridの場合 if(s_cbData.pBootSegBuf->rh.s.platform_code & 0x02){ OS_PutString("NTR Card : TWL Application Error Illegal Card\n"); - s_cbData.illegalCardFlg = TRUE; return FALSE; } else{ @@ -1706,7 +1705,6 @@ static void HotSwThread(void *arg) HotSwState retval; HotSwMessageForArm7 *msg; - BOOL breakFlg; while(1){ OS_ReceiveMessage(&HotSwThreadData.hotswQueue, (OSMessage *)&msg, OS_MESSAGE_BLOCK); @@ -1752,22 +1750,21 @@ static void HotSwThread(void *arg) if(HOTSW_IsCardExist()){ if(!s_isPulledOut){ if(GetMcSlotMode() == SLOT_STATUS_MODE_10){ - if(!s_cbData.illegalCardFlg){ - LockHotSwRsc(&SYSMi_GetWork()->lockCardRsc); + LockHotSwRsc(&SYSMi_GetWork()->lockCardRsc); - SYSMi_GetWork()->flags.hotsw.isExistCard = TRUE; - SYSMi_GetWork()->flags.hotsw.isCardStateChanged = TRUE; - SYSMi_GetWork()->flags.hotsw.isCardLoadCompleted = TRUE; - SYSMi_GetWork()->nCardID = s_cbData.id_gam; + SYSMi_GetWork()->flags.hotsw.isExistCard = TRUE; + SYSMi_GetWork()->flags.hotsw.isCardStateChanged = TRUE; + SYSMi_GetWork()->flags.hotsw.isCardLoadCompleted = TRUE; + SYSMi_GetWork()->nCardID = s_cbData.id_gam; #ifdef USE_WRAM_LOAD - SYSMi_GetWork()->flags.hotsw.isCardGameMode = TRUE; + SYSMi_GetWork()->flags.hotsw.isCardGameMode = TRUE; #endif - UnlockHotSwRsc(&SYSMi_GetWork()->lockCardRsc); + UnlockHotSwRsc(&SYSMi_GetWork()->lockCardRsc); #ifdef USE_WRAM_LOAD - SendPxiMessage(HOTSW_CHANGE_GAMEMODE); + SendPxiMessage(HOTSW_CHANGE_GAMEMODE); #endif - OS_PutString("ok!\n"); - } + OS_PutString("ok!\n"); + break; } } @@ -1776,45 +1773,15 @@ static void HotSwThread(void *arg) DebugPrintErrorMessage(retval); - breakFlg = FALSE; - - // [TODO] エラー処理見直し - switch(retval){ - // 成功してたらなにもせずにぬける - case HOTSW_SUCCESS: - break; - - // カードデータリード中に抜け - case HOTSW_PULLED_OUT_ERROR: - ClearCardFlgs(); - s_isPulledOut = TRUE; - breakFlg = TRUE; - break; - - // どのモードでも起こるエラー - case HOTSW_ID_CHECK_ERROR: - case HOTSW_CRC_CHECK_ERROR: - McPowerOff(); - ClearCardFlgs(); - s_isPulledOut = TRUE; - breakFlg = TRUE; - break; - - // Gameモードで起こるエラー - case HOTSW_HASH_CHECK_ERROR: - case HOTSW_BUFFER_OVERRUN_ERROR: - case HOTSW_DATA_DECRYPT_ERROR: - ClearCardFlgs(); - s_cbData.illegalCardFlg = TRUE; - - break; - } - - if(breakFlg){ - break; - } - s_isPulledOut = FALSE; + + // エラー処理 + if(retval != HOTSW_SUCCESS){ + ClearCardFlgs(); + McPowerOff(); + + break; + } } // カードが抜けてたら