Open JesseFarebro opened 3 years ago
Fwiw I recently discovered (while looking for something else) that there was a discussion of this in 2016, though nothing was implemented: https://github.com/mgbellemare/Arcade-Learning-Environment/issues/165#issuecomment-219289321
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.
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.
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.