Re: [hatari-devel] Bootup differences

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Le 16/06/2013 22:46, Eero Tamminen a écrit :
So, you can consider that some components in a ST create some kind of
"fussyness", even if there's no real randomness in it.

Ok, so the starting state can be slightly "random" (unknown), but
anything happening after that is deterministic.


Yes, which is a good thing for digital components, else it would be much harder to emulate :) (another famous case of this is the MMU/Shifter wake up state that can affect overscan and other border removals technique)


What exactly Hatari does to emulate this "randomness"?

Depends on the case. For the IKBD, we don't really emulate the inner work (because we don't emulate the hd6301). So there's a rand() call to simulate the time it would take to execute the code in the hd6301 The goal is to add a small jitter that is also observed on real HW, around 10 cycles usually.

And is there any way to disable this randomness if one wants 100% same
execution for successive boots?

No, that's not possible ; and some programs will even stop working without it (see the V8 music demo, that can only start if the IKBD/ACIA has the E clock jitter)

The MFP should also have a small randomness, but it's not implemented at the moment ; without this "randomness" some programs will not correctly self calibrate (game Lethal Xcess for example)

But in the end, there's very few randomness and on the average it should compensate itself and should not change profiling in a significant way (given the measurement time is long enough)

Nicolas




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/