Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Per game MCD cant load disc2's savedata #4

Open
phoe-nix opened this issue May 26, 2018 · 6 comments
Open

Per game MCD cant load disc2's savedata #4

phoe-nix opened this issue May 26, 2018 · 6 comments

Comments

@phoe-nix
Copy link

It will great a memory file as a disc ID when I load disc2, but the game need loading disc1 memory file.

@loathingKernel
Copy link
Owner

loathingKernel commented May 26, 2018

Sorry, I don't really understand what you are trying to say. IIRC for per game mcd the ID of the disc is used as a filename, which makes sense to fail because the IDs are different. That is a bug, but I am not sure what behavior the game expects. Can you elaborate please?

@Kazeira
Copy link

Kazeira commented Jun 13, 2018

It can be easily corrected for PAL games by not checking the first digit:
"SCES_x00.00-00.mrc"/"SLES_x00.00-00.mrc"...

NTSC-J/U don't use this logic.
Maybe creating a database file with all serials that need to share the same memory card will be the solution.
It's also a solution for games that can read saves from other games (MGS) even for PAL.

@loathingKernel
Copy link
Owner

Thank you for this information. I looked into it a few days ago but as you mentioned, I couldn't find a clear pattern either for all regions. The database file might be the most compatible solution but it is tedious work and I couldn't know where to begin with it, especially in the case of games that can read save files of others. Are you aware of any existing comprehensive databases that can provide that information?

@Kazeira
Copy link

Kazeira commented Jun 13, 2018

For multiple discs games ctrl+F "Discs" in psxdatacenter.com is the easiest solution, but it's long (as I said not really needed for PAL games it can be done automatically)

For games sharing saves I only know MGS :/

I think adding in memory card options:

  • the option to use PAL automatic muti-discs compatibility (Enabled/disabled). (when enabled only the memory card for the first disc is created/used)
  • The option to read multi discs in the database file (when enabled only the memory card for the first disc is created/used)
  • The option to read shared saves in the database file

The database can be added it the emulator files like PCSX2 with the games hacks.

Some years ago I imagined something like Folder MemoryCard from PCSX2:
Create Per Game memory cards as folders.
When a game is loaded create a virtual memory card, add in this the files from the game and multi discs in top priority, then add the shared saves in low priority if enabled (and don't exceeds the 1MB/15 blocks limitation)
After every read/write update the memory folders, I already verified the names of the files by copying saves in a PS2 folder memory card, the serials are still in so no problem for this. (But don't do this when emulation is terminated, it will not update the folders after a crash or alt+F4)...

Et Voilà.

@loathingKernel
Copy link
Owner

Thanks for the link, I can programmaticaly extract a list of multi disk games from there.

@loathingKernel
Copy link
Owner

So, small update, I was able to extract a list of multidisk games from that site but I am still awaiting permission to use it from the site authors.

As for the other suggestions you make:

For games sharing saves I only know MGS :/
The option to read shared saves in the database file

Without a list of known games that use this I can't do anything about it. I don't want to do it per-game or with hacks

the option to use PAL automatic muti-discs compatibility (Enabled/disabled). (when enabled only the memory card for the first disc is created/used)

Since the list contains PAL games too, this is unneeded.

Create Per Game memory cards as folders.

While this can be quite useful, it is a completely different implementation and more complicated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants