Skip to content

Record all in-game saves #83

Open
Open
@Screwtapello

Description

@Screwtapello

For manufacturing cost reasons, most SNES games only provide a very small number of in-game save slots, which can be quite limiting for long games like RPGs. In addition, it is possible for in-game saves to be corrupted because of bugs in the original game (hello, FF6!) or lost due to the use of features like save-states.

Save-states are plentiful, they can never be corrupted by the game or lost due to other features, but they only work with a single version of a single emulator, which is effectively a different dataloss bug.

bsnes should provide a hybrid of the two, by recording all in-game saves and allowing the player to switch back to any previous save.

It might work like this:

  • when bsnes detects the game writing to SRAM (with hysteresis, like the "Auto save memory periodically" option)), it should record:
    • the new SRAM contents
    • the current date and time
    • maybe a screenshot
  • In the Tools menu, there should be a Save Manager, similar to the current State Manager. It would allow the user to browse list of available saves, ordered by timestamp, give them more descriptive names, etc.
  • Restoring a previous save should copy the old save data into place, and reset the emulation.
  • Restoring a previous save then making a new save will just append the new snapshot to the end of the list, we don't need to track forking timelines or whatever (we could, like full-on Git branching, but most PC games that offer unlimited in-game saves don't bother, so I don't think it's worth the effort)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions