diff --git a/include/Kyoto/CMemoryCardSys.hpp b/include/Kyoto/CMemoryCardSys.hpp index 9dde62ee..fd546468 100644 --- a/include/Kyoto/CMemoryCardSys.hpp +++ b/include/Kyoto/CMemoryCardSys.hpp @@ -55,6 +55,7 @@ public: ~CMemoryCardSys(); static ECardResult GetResultCode(int); + static ECardResult MountCard(EMemoryCardPort port); static ProbeResults IsMemoryCardInserted(EMemoryCardPort); static ECardResult GetSerialNo(EMemoryCardPort port, long long& serialOut); static void UnmountCard(EMemoryCardPort); diff --git a/src/MetroidPrime/CMemoryCardDriver.cpp b/src/MetroidPrime/CMemoryCardDriver.cpp index 03d9ce13..87f249c3 100644 --- a/src/MetroidPrime/CMemoryCardDriver.cpp +++ b/src/MetroidPrime/CMemoryCardDriver.cpp @@ -411,7 +411,13 @@ void CMemoryCardDriver::UpdateCardProbe() { // } } -void CMemoryCardDriver::StartMountCard() {} +void CMemoryCardDriver::StartMountCard() { + x10_state = kS_CardMount; + x14_error = kE_OK; + ECardResult result = CMemoryCardSys::MountCard(x0_cardPort); + if (result != kCR_READY) + UpdateMountCard(result); +} void CMemoryCardDriver::StartCardCheck() {}