TASEmulators / TASEmulators/BizHawk
[Feature request] Change behavior in case of SaveRAM corruption
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 2.8k
- Forks
- 468
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
So right now, when a mismatch is detected between the .SaveRAM and .SaveRAM.bak file, the later is automatically loaded, even if the equivalent .AutoSaveRAM file exist.
I would suggest implementing a modal window offering 3 option to the user:
1- Load the .SaveRAM.bak file (default behaviour currently)
2- Replace both the .SaveRAM and .SaveRAM.bak by their equivalent .AutoSaveRAM files
3- Close the ROM, without changing any file
I would also suggest offering the check in option to cache all 4 files, so the user can manually undo this, by copying them in a cache folder
A forth option could also be added. From what I can tell, the emulator only look for a mismatch before overwriting the .SaveRAM file, not a loading error, so it could be possible for the emulator to crash without memory corruption (for example if you accidental disconnect your USB sound card). As such, a 4th option could be:
4- Attempt to load the .SaveRAM file
Really long play session because of this. Slightly related to feature request https://github.com/TASEmulators/BizHawk/issues/3386 in the sense.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by tracing the SaveRAM/.SaveRAM.bak mismatch handling and the related ROM-loading UI; done means presenting the requested recovery choices, supporting the optional four-file cache, and handling the proposed load-error path without changing files unexpectedly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100