diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c index d4965fc9..4a964924 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c @@ -2101,6 +2101,7 @@ static void MonitorThread(void *arg) *---------------------------------------------------------------------------*/ static void CheckCardInsert(BOOL cardExist) { + // カードは挿さっているのに、ランチャーが認識してなかったらメッセージを送る if(cardExist && s_isPulledOut){ OSIntrMode enabled = OS_DisableInterrupts(); @@ -2116,6 +2117,21 @@ static void CheckCardInsert(BOOL cardExist) (void)OS_RestoreInterrupts( enabled ); } + // カードは挿さっていて、ランチャーが認識していたらGameモードのID読みをして、抜けてないか調べる + else if(cardExist && !s_isPulledOut && !SYSMi_GetWork()->flags.hotsw.isBusyHotSW){ + // カードのロック + CARD_LockRom(s_CardLockID); + + ReadIDGame(&s_cbData); + + if(s_cbData.id_gam != s_gameID){ + McPowerOff(); + } + + // カードのロック開放(※ロックIDは開放せずに持ち続ける) + CARD_UnlockRom(s_CardLockID); + + } }