RetroArch icon indicating copy to clipboard operation
RetroArch copied to clipboard

[Feature Request] Save State backward compatibility list for libretro cores

Open davidhedlund opened this issue 5 months ago • 3 comments

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.

davidhedlund avatar Jun 18 '25 20:06 davidhedlund

  • https://github.com/libretro/RetroArch/issues/17836

davidhedlund avatar Jun 18 '25 20:06 davidhedlund

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.

hizzlekizzle avatar Jun 19 '25 01:06 hizzlekizzle

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.

davidhedlund avatar Jun 22 '25 11:06 davidhedlund