| |
doynax Account closed
Registered: Oct 2004 Posts: 212 |
Automatic session recording in VICE
I just wanted to check whether anyone here has played around with automatic/playback recording in VICE.
The idea is to make use of the recording facilities to capture all tests runs of a program so as to be able to easily reproduce any crashes or bugs which might crop up. This is perhaps not terribly useful in a completely deterministic demo but games are dependent on user-input and I keep running into hard-to-reproduce edge cases.
I gave it a quick shot myself this morning, figuring it must just be a matter of adding another command-line switch, but there are a few subtleties involved and my replays keep de-syncing so I thought I would first check whether anyone else has already done the work for me before diving any deeper into an unfamiliar codebase.
By the way, is the replay function in 2.4 and/or the current development snapshots reasonably reliable? The TODO-list mentions 2.2 being dodgy.
(Preemptive apology to Groepaz: Sorry for bringing up a topic here is which is probably better suited for the VICE forums.) |
|
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
history recording has always been a bit dodgy - mostly for the fact that its terribly hard to properly test (read: impossible).
personally if i'd be interested in anything related to this, i'd start creating test cases for history recording and playback first. i am sure there are still some bugs even in the latest version :) |
| |
doynax Account closed
Registered: Oct 2004 Posts: 212 |
I took a closer look and the de-sync appears to be unrelated to my "auto-recording" tweaks. Sorry.
For the record it seems affect the I/O timing and only occurs on the first replay attempt after restarting the emulator. Both release 2.4 and the current nightly build seem to be affect. The application uses G64 images so it's easy to suspect a culprit somewhere in that relatively disused code path.
Anyway, I'll submit a patch if I should manage to nail it down. Otherwise I've got a workable workaround.
Quoting Groepazhistory recording has always been a bit dodgy - mostly for the fact that its terribly hard to properly test (read: impossible). I imagine it is. You have to account for the full state of a large program getting properly saved and insure that the emulation is completely deterministic. Not fun.
Any tips on tracking down the root cause of the divergence? There seems to be some CPU tracing feature linked to the event log in debug mode, presumably to compare the original execution trace to that of the replay. |