RetroArch
RetroArch copied to clipboard
[Feature Request] Save State backward compatibility list for libretro cores
Description
I propose adding a save state backward compatibility list for each Libretro core directly within the RetroArch interface. This information should be accessible via:
Main Menu → Information → Core Information (after a core has been loaded)
This feature would allow users to quickly see which previous versions of the same core are compatible with the current core’s save states, helping them make informed decisions when updating cores or managing save state data across different versions.
Motivation
- Save state compatibility between different versions of the same core is a frequent source of confusion and frustration, as save states often break between core updates or releases.
- Currently, there is no centralized, in-app resource that outlines backward save state compatibility for each core.
- Having this information easily accessible in the Core Information menu would improve transparency and reduce user error.
Scope
- The compatibility list would indicate which previous versions of the same core, if any, share compatible save state formats.
- Notes about special cases, known incompatibilities, or required conversion tools could also be included.
- This information should be displayed after a core has been loaded, alongside existing core information.
Benefits
- Reduces the risk of save state corruption or loss when updating cores.
- Provides immediate, in-context guidance to users.
- Enhances the documentation and usability of RetroArch.
Example: bsnes core
bsnes Save State Backward Compatibility Table
| Current Version | Compatible with Save States from Versions | Notes |
|---|---|---|
| v115 | v114, v113 | Minor updates; save states generally work |
| v114 | v113 | Mostly compatible, but some edge cases |
| v113 | v112 | Incompatible due to serialization changes |
| v112 | None | Major overhaul; not compatible |
- Special Cases:
- Save states created with the "Accuracy" profile may not be compatible with those from "Balanced" or "Performance" profiles, even within the same version.
- Always back up your save states before updating the core.
Request
- Feedback on the feasibility and design of this feature.
- Suggestions on how best to present backward compatibility information within the Core Information menu.
- Community contributions for compiling and maintaining the compatibility data.
- https://github.com/libretro/RetroArch/issues/17836
this one's easy. Every core info file just needs:
compatibility with other cores: none tools to convert savestates: none
The only initiative I know of to provide any compatibility or continuity to savestates is Sameboy's format/standard (the name of which is slipping my mind right now). Unless this changes at some point, which is very unlikely due to the nature of savestates, this request is not really something that can even be considered.
this one's easy. Every core info file just needs:
compatibility with other cores: none tools to convert savestates: none
The only initiative I know of to provide any compatibility or continuity to savestates is Sameboy's format/standard (the name of which is slipping my mind right now). Unless this changes at some point, which is very unlikely due to the nature of savestates, this request is not really something that can even be considered.
Apologies for any confusion earlier—this feature request is specifically about backward compatibility within each individual core, not cross-compatibility between different cores. I've updated the original post to clarify this point. Please take a look at the "Example: bsnes core" subsection for a concrete illustration.