Add CMemoryCardDriver::Update

Former-commit-id: 45e1578166
This commit is contained in:
Henrique Gemignani Passos Lima
2022-10-11 01:53:28 +03:00
parent 077a16896f
commit 958a36bbb8
5 changed files with 215 additions and 143 deletions

View File

@@ -4,24 +4,41 @@
#include "types.h"
// TODO: likely comes from dolphin sdk
enum ECardSlot { kCS_SlotA, kCS_SlotB };
enum ECardResult { k_READY };
struct FileHandle {};
enum ECardResult { k_READY, k_NOCARD = -3 };
struct FileHandle {
u8 x0_pad[0x10];
};
struct ProbeResults {
ECardResult x0_error;
uint x4_cardSize; /* in megabits */
uint x8_sectorSize; /* in bytes */
};
class CMemoryCardSys {
public:
enum EMemoryCardPort { kCS_SlotA, kCS_SlotB };
struct CardFileHandle {
ECardSlot slot;
EMemoryCardPort slot;
FileHandle handle;
CardFileHandle(ECardSlot slot) : slot(slot) {}
CardFileHandle(EMemoryCardPort slot) : slot(slot) {}
int getFileNo() const;
};
struct CCardFileInfo {};
class CCardFileInfo {
uchar pad[0x114];
public:
~CCardFileInfo();
};
CMemoryCardSys();
~CMemoryCardSys();
static ECardResult GetResultCode(int);
static ProbeResults IsMemoryCardInserted(EMemoryCardPort);
void Initialize();
private: