first implementation of memcard from directory, creates a memory card from USERDIR/GC/<REGION>/Card <A/B>

Savestates include the entire memorycard, but the only saves that should be modified are the ones that are directly modified by the game the others are preserved merely to avoid changing the memory card header during the game as some games (Zelda) refuse to save

Implement DMA r/w for memcard.
Skips programming buffer for writes

Add a migration feature that auto imports all saves from your default memcard to the new memcard dir if it doesn't exist.

Actually "delete" save files by renaming to s/*.gci/*.gci.deleted/
This commit is contained in:
LPFaint99
2014-03-28 23:19:04 -07:00
parent 404e9ce3ee
commit 32b2c40490
15 changed files with 1093 additions and 279 deletions

View File

@ -63,7 +63,7 @@ static Common::Event g_compressAndDumpStateSyncEvent;
static std::thread g_save_thread;
// Don't forget to increase this after doing changes on the savestate system
static const u32 STATE_VERSION = 25;
static const u32 STATE_VERSION = 26;
enum
{