thrust26
cf926fdf07
UI partially working now (TODO: timebar)
2017-12-30 21:19:55 +01:00
Stephen Anthony
3d879d0080
Updated copyright date to 2018. A few days early, but nobody will mind ...
2017-12-29 17:10:37 -03:30
thrust26
e37b5305cf
code cleanup
2017-12-21 11:34:08 +01:00
thrust26
7d40d5b1f8
"Time Machine" name change
2017-12-15 18:10:40 +01:00
Stephen Anthony
fd5c026034
Relaxed constexpr usage in RewindManager, so code compiles in Linux and OSX.
...
- the code was using C++17 features, and we only support C++14 for now
2017-12-14 19:46:37 -03:30
thrust26
418b0f07ae
frame timed interval checks aligned to actual scanlines/frame
...
code cleanup
2017-12-14 21:18:31 +01:00
thrust26
ba9d809109
state compression improved
...
RewindManager class refactored for multiple rewinds/unwinds
additional keys for faster rewinding added
docs updated
2017-12-14 14:25:02 +01:00
thrust26
e2301dfd5e
fine tuning on interval factor and state compression
...
rewind now displayed immediately (instead of "Paused")
two initial rewinds in continuous rewind mode fixed
Horizon widget disabled when Uncompressed size == Buffer size
fixed minimum Interval
2017-12-13 19:15:09 +01:00
thrust26
20eb97ce14
savestate position in list display in message added
...
compressStates loop fixed and slightly optimized
fixed minimal size value in Settings
2017-12-13 12:31:18 +01:00
thrust26
5439d185a7
rewind buffer resize added
2017-12-12 21:43:57 +01:00
Stephen Anthony
8034bae9de
Added destructive resize to LinkedObjectPool/RewindManager.
...
Fixed minor warnings in DebuggerDialog.
2017-12-12 16:44:30 -03:30
thrust26
6632b97307
double rewind in debugger fixed
...
rewind messages improved
2017-12-12 18:47:21 +01:00
thrust26
e465112c02
rewind/unwind basically working
...
changed values, UI and settings for rewind interval and horizon
2017-12-12 17:07:05 +01:00
Stephen Anthony
517cc82baa
More work to RewindManager; all the 'ugly' code has been removed.
...
Thomas, it should be fine for you to proceed now.
2017-12-11 17:29:27 -03:30
Christian Speckner
c6f13ed743
Trade potentially illegal use of size_t against container::size_type.
2017-12-09 20:44:27 +01:00
Stephen Anthony
cc64ce59a1
Some more work on RewindManager:
...
- iterator now starts and last node and moves towards first (removes one 'ugly' bit of code)
- temporarily decreased size of buffer to 10 states, to make testing easier
- added debug output, so we can clearly see that the iterator is correctly walking the buffer
2017-12-08 14:46:06 -03:30
Stephen Anthony
e9a5198863
Reverted part of previous commit; rewind states now use 64-bit where appropriate.
...
Fixed some more minor errors found by clang.
2017-12-08 07:53:09 -03:30
Stephen Anthony
76b3ff02b3
Fixed various warnings in code.
...
- removed unused variables
- in RewindManager, convert cycles to Int32 rather than Int64; although
they are defined as 64-bit from the TIA, we only care about differences
here, and the difference will never be larger than a 32-bit can hold.
2017-12-07 21:27:31 -03:30
Stephen Anthony
a79ccf400f
Minor updates to rewind:
...
- comments are now more in line with what actually happens when adding a state
- changed Serializer::reset() to Serializer::rewind(), to more accurately indicate what it does
2017-12-06 11:44:40 -03:30
thrust26
838b277c0a
myNTSC removed, defined by number of scanlines now
2017-11-15 11:03:39 +01:00
thrust26
0dddb93fb6
rewind/unwind command output improved
2017-11-13 16:02:15 +01:00
thrust26
3f77b95b3b
preliminary state compress code added (disabled)
2017-11-12 10:14:42 +01:00
Stephen Anthony
bfc7574cd7
First pass at implementing state save/replay using an iterator-based approach.
...
Saving a state and later rewinding it now works, but still TODO is unwinding
(ie, replay in the future vs. in the past).
For now, debugging info remains, and some methods are commented out. This
code is mostly for Thomas to inspect and make sure we're on the right track.
2017-11-11 22:15:28 -03:30
thrust26
cdb2e18324
save state handling for entering and leaving the debugger modified.
2017-10-13 15:29:20 +02:00
thrust26
3045a0ddf7
unwind logic started, TODO: adapt RewindManager
2017-10-12 17:43:41 +02:00
Stephen Anthony
63ad275b9d
Ported RewindManager to use LinkedObjectPool class.
2017-10-09 18:11:15 -02:30
Stephen Anthony
e695c3b3a5
Converted RewindManager to a (currently unbounded) linked list.
...
This is in preparation for further work by Thomas J.
2017-09-22 17:37:24 -02:30
sa666666
be64a6387d
Fix memory leak in RewindManager (at least until it's rewritten).
2017-09-21 10:14:04 -02:30
Stephen Anthony
aed2945a56
First pass at continuous state saving in emulation mode, accessible by the debugger:
...
- Toggle this with Alt-r. When enabled, state is saved each frame to memory (up to 100 slots)
- Upon entering the debugger, rewind is immediately available, allowing to rewind (for example) back past a breakpoint
- Testing is definitely required.
2017-09-18 20:29:52 -02:30
Stephen Anthony
86f65e8e87
Show message indicating what is being done when rewinding state (ie, '1 step', '10 frames', etc).
2017-09-11 15:58:41 -02:30
Stephen Anthony
eafe102daa
Refactor StateManager and RewindManager for eventual use outside debugger.
2017-09-03 23:02:15 -02:30