Add CMemoryCardDriver::StartFileCreate

Former-commit-id: ec88e2ac35
This commit is contained in:
Henrique Gemignani Passos Lima
2022-10-11 15:09:23 +03:00
parent e9d1f43c65
commit 2680a196e3
5 changed files with 48 additions and 32 deletions

View File

@@ -1,11 +1,13 @@
#ifndef _CMEMORYCARDSYS
#define _CMEMORYCARDSYS
#include "types.h"
#include "string.h"
#include "types.h"
#include "rstl/string.hpp"
// TODO: likely comes from dolphin sdk
enum ECardResult {
enum ECardResult {
kCR_CRC_MISMATCH = -1003, /* Extension enum for Retro's CRC check */
kCR_FATAL_ERROR = -128,
kCR_ENCODING = -13,
@@ -21,6 +23,8 @@ enum ECardResult {
kCR_BUSY = -1,
kCR_READY = 0
};
enum EMemoryCardPort { kCS_SlotA, kCS_SlotB };
struct FileHandle {
u8 x0_pad[0x10];
};
@@ -34,19 +38,26 @@ struct ProbeResults {
struct CardStat {
u8 x0_pad[0x6c];
CardStat()
{
memset(this, 0, sizeof(CardStat));
}
CardStat() { memset(this, 0, sizeof(CardStat)); }
int GetTime() const;
int GetCommentAddr() const;
};
class CCardFileInfo {
uchar pad[0x114];
public:
CCardFileInfo(EMemoryCardPort port, const rstl::string& name);
~CCardFileInfo();
ECardResult PumpCardTransfer();
ECardResult CreateFile();
ECardResult CloseFile();
};
class CMemoryCardSys {
public:
enum EMemoryCardPort { kCS_SlotA, kCS_SlotB };
struct CardFileHandle {
EMemoryCardPort slot;
FileHandle handle;
@@ -54,16 +65,6 @@ public:
int GetFileNo() const;
};
class CCardFileInfo {
uchar pad[0x114];
public:
~CCardFileInfo();
ECardResult PumpCardTransfer();
ECardResult CloseFile();
};
CMemoryCardSys();
~CMemoryCardSys();