Re: [hatari-devel] Regression: Lethal Xcess fullscreen

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


Le 10/06/2016 00:11, Vincent Rivière a écrit :
On 28/05/2014 à 12:01, Nicolas Pomarède wrote:
Lethal Xcess has a calibration routine at start to compute values to
remove
top border and this calibration is rather short.
Result is rather random, it works often in STF mode and works
sometimes in
STE mode.

Out of curiosity:
- On my STe, Lethal Xcess always worked perfectly.
- On the older STe of a friend of mine, if failed almost all times. I
saw it working only once.

Have you an idea of what could explain such difference?
Maybe something like wakestate probability?
Ideally an accurate emulator should be able to simulate both machines...


Hi

in fact this game also gave problem under Hatari :)

It uses a self-calibration routine to remove top border by using MFP Timer A and it computes the min-max delay obtained before succeeding in removing the top border. So it computes some kind of safety margin.

The problem is that during the game, the timer A can be delayed more than during the self calibration part (because the game will do some work in the background, moving sprites and so on). So, if the initial safety margin was big enough, top border will be removed, else it will fail from time to time.

Under Hatari, this is caused because MFP timers should have some small "jitter" when they expire (because cpu and mfp don't have the same clock, the mfp interrupt will not be aligned to a cpu instruction, which will add an extra delay before cpu sees it).

Under real STE, I suspect this could be because the MFP have a slightly different clock (but I don't think it's wakestate / video related).

On Atari-forum.com, some people posted some results of MFP clocks and even some PAL STF sometimes had different clocks.




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