| |
mankeli
Registered: Oct 2010 Posts: 110 |
Vice indeterminism
Hi, we've been debugging a mysterious bug that seems to be related to loading, but not necessarily, and it happens extremely seldomly.
We got a .vsf capture of a run that usually crashes in few seconds, but it did about 80% of the time (a week ago) and now it doesn't crash at all for me. (using of course same .d64 and .vsf)
Is it possible to make vice totally deterministic with some correct settings? |
|
| |
Krill
Registered: Apr 2002 Posts: 2839 |
Try these options, found using "x64sc --help | grep random":-seed <value>
Set random seed (for debugging)
-autostart-delay-random
Enable random initial autostart delay.
+autostart-delay-random
Disable random initial autostart delay.
-raminitstartrandom <num of bytes>
Number of random bytes in random pattern
-raminitrepeatrandom <num of bytes>
Repeat random pattern after this many bytes
-raminitrandomchance <value>
Random chance for any bit to flip (0-0xfff) The first and the third options seem like what you're looking for.
The raminit options may help if you have uninitialised variables. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11111 |
Also note how it prints the seed into the log - So if you got a run that crashes, use that seed to reproduce.
That said, i can't recommend snapshots for this kind of debugging. It's close to impossible to test if snapshots even work correctly, let alone cycle exact - so there are probably errors involved in the process. |
| |
mankeli
Registered: Oct 2010 Posts: 110 |
Thanks. Shame that .vsf's are not reliable, but now I/we know atleast. :D And didn't know anything about the random seed options / printouts ether, next time with those then.
ps. Buuut maybe I found the issue! \o/ |