TASEmulators / TASEmulators/BizHawk

Keyframe savestates versus "P-frame" savestates

Open
#2,253 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

App: EmuHawk Meta Request: Feature/Enhancement
Dominant language
C#
Stars
2.8k
Forks
468
PR merge metrics
No merged PRs in 30d

Description

Just jotting down something zero was talking about on IRC a few days ago: The idea would be to have savestates behave like frames in video encoding systems. A "keyframe" state would be directly loadable in emulator cores, but a "p-frame" state would require the previous keyframe to be available to load.

This has huge potential size savings for waterbox cores, but unfortunately requires a lot of front end cooperation.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named, so begin by locating the savestate and emulator-core interfaces and the frontend code that loads states. Define completion around directly loadable keyframe states, dependent P-frame states that require a previous keyframe, and the required frontend cooperation.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.