mirror of
https://github.com/zeldaret/tp
synced 2026-06-01 01:39:43 -04:00
m_Do_MemCard/d_file_select wii/debug work (#2976)
* m_Do_MemCard/d_file_select wii/debug work * fix builds
This commit is contained in:
@@ -5,10 +5,13 @@
|
||||
#include <dolphin/os.h>
|
||||
#include "global.h"
|
||||
|
||||
#define SAVEDATA_SIZE 0xA94
|
||||
#define SECTOR_SIZE 0x2000
|
||||
#define SAVEDATA_FILE_SIZE 0x8000
|
||||
#define SAVEDATA_VERSION 6
|
||||
#define SAVEDATA_SIZE 0xA94 // Size of 1 Quest Log
|
||||
#define SAVEDATA_NUM 3 // Max number of Quest Logs
|
||||
#define SECTOR_SIZE 0x2000 // MemCard sector size
|
||||
#define CARD_FILE_SIZE 0x8000 // MemCard file size
|
||||
#define SAVEDATA_VERSION 6 // Save Data version
|
||||
|
||||
#define SAVEFILE_SIZE (SAVEDATA_SIZE * SAVEDATA_NUM)
|
||||
|
||||
class mDoMemCd_Ctrl_c {
|
||||
public:
|
||||
@@ -19,6 +22,12 @@ public:
|
||||
COMM_FORMAT_e,
|
||||
COMM_ATTACH_e,
|
||||
COMM_DETACH_e,
|
||||
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
COMM_RESTORE_NAND_e,
|
||||
COMM_STORE_NAND_e,
|
||||
COMM_STORE_SETUP_NAND_e,
|
||||
#endif
|
||||
};
|
||||
|
||||
enum CardState_e {
|
||||
@@ -38,6 +47,20 @@ public:
|
||||
CARD_STATE_13_e,
|
||||
};
|
||||
|
||||
enum NANDState_e {
|
||||
NAND_STATE_AUTHENTICATION_e,
|
||||
NAND_STATE_READY_e,
|
||||
NAND_STATE_NO_FILE_e,
|
||||
NAND_STATE_READ_e,
|
||||
NAND_STATE_WRITE_e,
|
||||
NAND_STATE_FORMAT_e,
|
||||
NAND_STATE_BROKEN_e,
|
||||
NAND_STATE_INSSPACE_e,
|
||||
NAND_STATE_NOENT_e,
|
||||
NAND_STATE_FATAL_ERROR_e,
|
||||
NAND_STATE_10_e,
|
||||
};
|
||||
|
||||
mDoMemCd_Ctrl_c();
|
||||
|
||||
void ThdInit();
|
||||
@@ -61,6 +84,20 @@ public:
|
||||
s32 checkspace();
|
||||
void setCardState(s32);
|
||||
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
void loadNAND();
|
||||
void restoreNAND();
|
||||
s32 LoadSyncNAND(void* i_buffer, u32 i_size, u32 i_position);
|
||||
void saveNAND(void* i_buffer, u32 i_size, u32 i_position);
|
||||
void storeNAND();
|
||||
s32 SaveSyncNAND();
|
||||
void storeSetUpNAND();
|
||||
void setNandState(s32);
|
||||
u32 getStatusNAND();
|
||||
s32 chekNANDFile();
|
||||
s32 checkspaceNAND();
|
||||
#endif
|
||||
|
||||
bool isCardCommNone() { return mCardCommand == COMM_NONE_e; }
|
||||
u8 getProbeStat() { return mProbeStat; }
|
||||
void clearProbeStat() { mProbeStat = 2; }
|
||||
@@ -75,7 +112,7 @@ public:
|
||||
mSerialNo = serial_no;
|
||||
}
|
||||
|
||||
/* 0x0000 */ u8 mData[SAVEDATA_SIZE * 3];
|
||||
/* 0x0000 */ u8 mData[SAVEFILE_SIZE];
|
||||
/* 0x1FBC */ u8 mChannel;
|
||||
/* 0x1FBD */ u8 mCopyToPos;
|
||||
/* 0x1FBE */ u8 mProbeStat;
|
||||
@@ -84,7 +121,7 @@ public:
|
||||
/* 0x1FC8 */ s32 field_0x1fc8;
|
||||
/* 0x1FCC */ OSMutex mMutex;
|
||||
/* 0x1FE4 */ OSCond mCond;
|
||||
/* 0x1FEC */ u32 mNandState;
|
||||
/* 0x1FEC */ s32 mNandState;
|
||||
/* 0x1FF0 */ u64 mSerialNo;
|
||||
/* 0x1FF8 */ u32 mDataVersion;
|
||||
}; // Size: 0x2000
|
||||
@@ -135,7 +172,7 @@ inline void mDoMemCd_setCopyToPos(u8 i_pos) {
|
||||
g_mDoMemCd_control.setCopyToPos(i_pos);
|
||||
}
|
||||
|
||||
inline u32 mDoMemCd_getStatus(u8 param_0) {
|
||||
inline u32 mDoMemCd_getStatus(u32 param_0) {
|
||||
return g_mDoMemCd_control.getStatus(param_0);
|
||||
}
|
||||
|
||||
@@ -167,4 +204,30 @@ inline void mDoMemCd_UpDate() {
|
||||
g_mDoMemCd_control.update();
|
||||
}
|
||||
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
inline void mDoMemCd_saveNAND(void* data, u32 length, u32 position) {
|
||||
g_mDoMemCd_control.saveNAND(data, length, position);
|
||||
}
|
||||
|
||||
inline s32 mDoMemCd_SaveSyncNAND() {
|
||||
return g_mDoMemCd_control.SaveSyncNAND();
|
||||
}
|
||||
|
||||
inline u32 mDoMemCd_LoadSyncNAND(void* i_buffer, u32 i_size, u32 i_position) {
|
||||
return g_mDoMemCd_control.LoadSyncNAND(i_buffer, i_size, i_position);
|
||||
}
|
||||
|
||||
inline u32 mDoMemCd_getStatusNAND() {
|
||||
return g_mDoMemCd_control.getStatusNAND();
|
||||
}
|
||||
|
||||
inline void mDoMemCd_LoadNAND() {
|
||||
g_mDoMemCd_control.loadNAND();
|
||||
}
|
||||
|
||||
inline s32 mDoMemCd_checkNANDFile() {
|
||||
return g_mDoMemCd_control.chekNANDFile();
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* M_DO_M_DO_MEMCARD_H */
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
#ifndef M_DO_M_DO_MEMCARDRWMNG_H
|
||||
#define M_DO_M_DO_MEMCARDRWMNG_H
|
||||
|
||||
#include "global.h"
|
||||
#include <dolphin/card.h>
|
||||
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
#include <revolution/nand.h>
|
||||
#endif
|
||||
|
||||
struct mDoMemCdRWm_HeaderData {
|
||||
/* 0x0000 */ u8 mBannerTexData[0xC00];
|
||||
/* 0x0C00 */ u8 mBannerPalData[0x200];
|
||||
@@ -26,4 +31,10 @@ static u64 mDoMemCdRWm_CalcCheckSumGameData(void* data, u32 size);
|
||||
BOOL mDoMemCdRWm_TestCheckSumGameData(void* data);
|
||||
void mDoMemCdRWm_SetCheckSumGameData(u8* data, u8 dataNum);
|
||||
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
s32 mDoMemCdRWm_RestoreNAND(NANDFileInfo* param_0, void* param_1, u32 param_2);
|
||||
s32 mDoMemCdRWm_StoreNAND(NANDFileInfo* param_0, void* param_1, u32 param_2);
|
||||
s32 mDoMemCdRWm_StoreBannerNAND(NANDFileInfo*);
|
||||
#endif
|
||||
|
||||
#endif /* M_DO_M_DO_MEMCARDRWMNG_H */
|
||||
|
||||
Reference in New Issue
Block a user