Match CMemoryCardDriver::StartCardCheck

This commit is contained in:
Henrique Gemignani Passos Lima 2022-10-11 12:44:26 +03:00
parent e5832f4854
commit 65231b6191
No known key found for this signature in database
GPG Key ID: E224F951761145F8
4 changed files with 12 additions and 4 deletions

View File

@ -792,8 +792,8 @@ Write__14CMemoryCardSysFRQ214CMemoryCardSys13CCardFileInfoPCvUlUl:
/* 8034DEAC 0034AE0C 38 21 00 20 */ addi r1, r1, 0x20
/* 8034DEB0 0034AE10 4E 80 00 20 */ blr
.global CheckCard__14CMemoryCardSysFv
CheckCard__14CMemoryCardSysFv:
.global CheckCard__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPort
CheckCard__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPort:
/* 8034DEB4 0034AE14 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8034DEB8 0034AE18 7C 08 02 A6 */ mflr r0
/* 8034DEBC 0034AE1C 38 80 00 00 */ li r4, 0

View File

@ -2053,7 +2053,7 @@ StartCardCheck__17CMemoryCardDriverFv:
/* 8024DD84 0024ACE4 38 00 00 1B */ li r0, 0x1b
/* 8024DD88 0024ACE8 90 03 00 10 */ stw r0, 0x10(r3)
/* 8024DD8C 0024ACEC 80 63 00 00 */ lwz r3, 0(r3)
/* 8024DD90 0024ACF0 48 10 01 25 */ bl CheckCard__14CMemoryCardSysFv
/* 8024DD90 0024ACF0 48 10 01 25 */ bl CheckCard__14CMemoryCardSysFQ214CMemoryCardSys15EMemoryCardPort
/* 8024DD94 0024ACF4 7C 64 1B 79 */ or. r4, r3, r3
/* 8024DD98 0024ACF8 41 82 00 0C */ beq lbl_8024DDA4
/* 8024DD9C 0024ACFC 7F E3 FB 78 */ mr r3, r31

View File

@ -56,6 +56,8 @@ public:
static ECardResult GetResultCode(int);
static ECardResult MountCard(EMemoryCardPort port);
static ECardResult CheckCard(EMemoryCardPort port);
static ProbeResults IsMemoryCardInserted(EMemoryCardPort);
static ECardResult GetSerialNo(EMemoryCardPort port, long long& serialOut);
static void UnmountCard(EMemoryCardPort);

View File

@ -419,7 +419,13 @@ void CMemoryCardDriver::StartMountCard() {
UpdateMountCard(result);
}
void CMemoryCardDriver::StartCardCheck() {}
void CMemoryCardDriver::StartCardCheck() {
x14_error = kE_OK;
x10_state = kS_CardCheck;
ECardResult result = CMemoryCardSys::CheckCard(x0_cardPort);
if (result != kCR_READY)
UpdateCardCheck(result);
}
void CMemoryCardDriver::ClearError() {}