[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Feature in planning stages: Sands of Time
On Monday, December 10, 2012 1:10:50 PM UTC-6, D Finnigan wrote:
> BLuRry wrote:
>
> > On Monday, December 10, 2012 11:32:07 AM UTC-6, D Finnigan wrote:
>
> >>
>
> >> - Allow automatic checkpointing after a certain interval, say every 5
>
> >> seconds, or every minute.
>
> >
>
> > The plan is 30 times a second. Maybe 15. I'll make it configurable.
>
> > Capturing less frequently would let you capture a wider expanse of time.
>
>
>
> Now I understand your concerns! You really do want to make this like
>
> rewinding a film!
>
>
>
> In that case, saving an initial state 0, then saving deltas based on that
>
> seems like the way to go.
I also have to roll-up deltas to the initial alpha state so that as I discard states in the LRU, the alpha state reflects the first in the buffer. Again, not impossible or terribly difficult. I just have to make sure I do it correctly. Funny enough, what spurred this new feature on was getting RamWorks to function properly. The RAM state is preserved when you switch between the ext 80 col (128k) and the RamWorks memory cards. Once I saw that was working, I realized it was possible to take it to the next level without a major rewrite. :-)
I just hope the source doesn't wind up so convoluted that someone couldn't re-use it later on. My plan was always to have a flexible architecture capable of emulating all basic 8 and 16 bit micros. The tricky part about adding such a big feature is that it is pervasive throughout all the code and so I have to juggle simplicity vs. maintaining a high-level abstraction that is mostly platform-agnostic.
-B