m_Do_MemCard OK

This commit is contained in:
LagoLunatic
2023-12-26 22:20:41 -05:00
parent 4f652d0205
commit f0958eab10
5 changed files with 61 additions and 4 deletions
+44 -2
View File
@@ -62,8 +62,8 @@ void mDoMemCd_Ctrl_c::main() {
detach();
break;
#if VERSION == VERSION_PAL
case 6:
// restore2();
case CARD_RESTORE2:
restore2();
break;
#endif
}
@@ -211,6 +211,48 @@ s32 mDoMemCd_Ctrl_c::SaveSync() {
return ret;
}
#if VERSION == VERSION_PAL
void mDoMemCd_Ctrl_c::restore2() {
if (field_0x1660 != 1) {
return;
}
CARDFileInfo cardInfo;
s32 ret = CARDOpen(mCardSlot, "gczelda", &cardInfo);
if (ret == CARD_ERROR_READY) {
if (!mDoMemCdRWm_Restore2(&cardInfo)) {
field_0x1660 = 3;
} else {
setCardState(ret);
}
CARDClose(&cardInfo);
} else {
setCardState(ret);
}
}
void mDoMemCd_Ctrl_c::load2() {
if (OSTryLockMutex(&mMutex)) {
mCommand = CARD_RESTORE2;
OSUnlockMutex(&mMutex);
OSSignalCond(&mCond);
}
}
s32 mDoMemCd_Ctrl_c::LoadSync2() {
s32 ret = 0;
if (OSTryLockMutex(&mMutex)) {
if (field_0x1660 == 3) {
field_0x1660 = 1;
ret = 1;
} else {
ret = 2;
}
OSUnlockMutex(&mMutex);
}
return ret;
}
#endif
/* 8001939C-80019480 .text getStatus__15mDoMemCd_Ctrl_cFUl */
u32 mDoMemCd_Ctrl_c::getStatus(u32) {
if (OSTryLockMutex(&mMutex)) {