
Shared memcards: 9 shared memcards (maybe are too much?) are automatically created under saves/pcsx2/shared_memcards, and will be used if selected in slot1 and/or slot2.Per-game: if shared memcard are both on "Empty", this mode is used automatically, a memcard (named like the content filename) is created under saves/pcsx2.
Ok, I did the job, before making a PR maybe could be tested from my fork I propose we handle this by setting Memory Card Slot 2 to Card A and Memory Card Slot 1 to Empty. Suppose Card A is in Slot 1, Card B is in Slot 2, and the user attempts to select Card A for Slot 2.
Impose handling to ensure that the user can't put the same memory card in two different slots. Note: we need to impose checks on this so that we don't exceed the limit on the number of option values the API can handle. During retro_init, scan the shared_memcards directory for valid memory cards and append their file names (without extension) to the list of option values for Memory Card Slot 1 and Memory Card Slot 2. For convenience, we can generate two (or more) of these automatically during first run (for clarity, we should call them something like Shared Memory Card 1.ps2 and Shared Memory Card 2.ps2) if the shared_memcards directory doesn't already contain files of the same name. I'd recommend something like saves/pcsx2/shared_memcards. Designate a directory for shared memory cards. If no such memory card exists, create it automatically. The first two option values for these will be Empty, which corresponds to having no memory card inserted in the slot and Game-Specific Memory Card, which uses a memory card from the saves/pcsx2 directory with the same name as the loaded content. Create two new core options: Memory Card Slot 1 and Memory Card Slot 2. Here's what I propose instead as a sort of "best of both worlds": Update: The libretro API doesn't support nesting of core options, so option 2 wouldn't work too well. Users that play enough games to fill their default memory cards will have to either use the PS2 bios to delete saves or navigate to Manage Memory Cards to create more memory cards. If the user needs to use the memory card utility of the PS2 bios for some reason, they just need to load core, disable fast boot, and start core (much less complicated than the process for option 1). Less storage waste compared to option 1. Consistent with the current system, so current users won't have to do any save migration. Comprehensively addresses edge cases like the one I mentioned above. Option 2: Create something like a Manage Memory Cards option that lets you create/delete/copy/rename memory cards and select which memory card files get loaded into slots 1 and 2 Users who run out of storage in the shared memory card might have to resort to using the PS2 bios to clear out space. Current users of the core will need to migrate their current save games, which might cause confusion. The latter option is very cumbersome since the process would be something like loading content fast boot disabled, going into disc control, ejecting the disc, and restarting the content (currently broken) If the user wants to handle the situation I mentioned with Ratchet & Clank: Going Commando without using an external program, they'd have to make sure they used the shared second memory card or else they'd have to rely on either in-game saving to switch slot or the built-in memory card tool of the PS2 bios to transfer things over. Closer to how other libretro cores handle save games. The typical user won't have to worry about memory card management as it's managed for them. I see a couple of options here, with pros and cons for each: #GODHAND PS2 GAME SAVES FREE#
there's a vendor in Ratchet & Clank: Going Commando that gives you free weapons from Ratchet & Clank if you have a Ratchet & Clank save file. The bigger concern would be games that read your memory card for save data from other games, e.g.
m3u playlists, so you'd use the same memory card for both discs. That's not a huge concern, though, since the core already supports. Devil May Cry 2 and Star Ocean: Till the End of Time. Yes, there are a handful of multi-disc games for PS2, e.g. I think at the beginning I will do also an option to disable per-game saves, because I don't know how behave multi-disc game (but there are any for PS2?)