Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to serialize RAM / frame buffer when cloning states #417

Open
JesseFarebro opened this issue May 16, 2021 · 1 comment
Open

Ability to serialize RAM / frame buffer when cloning states #417

JesseFarebro opened this issue May 16, 2021 · 1 comment

Comments

@JesseFarebro
Copy link
Collaborator

Currently, the ALE doesn't serialize the RAM or frame buffer when cloning states. There are various issues with naively doing this (see #413) but there are potential workarounds.

  1. Add a flag to optionally serialize both RAM/frame buffer.
  2. The emulator is now deterministic so we could serialize the state at the time t-1 and run the emulator forward one frame which would rehydrate both the RAM and frame buffer. The logic of this could get messy but it would be easy to remain backwards compatible.

I believe upstream Stella has this functionality now so it might be worth taking a look to see how they managed this.

@anadrome
Copy link
Contributor

Fwiw I recently discovered (while looking for something else) that there was a discussion of this in 2016, though nothing was implemented: #165 (comment)

One suggestion from that discussion was to assert() if someone tries to get a stale RAM or screen rather than silently returning the wrong one. Not sure if that's the design you want to go with, but thought I'd connect the previous discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants