Re: [hatari-devel] EXA demo Entracte : Improvement in search

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


I've got the same value for D0, ie $3e65.

What I find strange is that D0 increase in a loop that waits the time of a VBL, and it only increase 15 973 times during a VBL ($3e65) ?
I would have expected a much higher value.
At least, the add is a word add, so it may overflow many times during the test, which also means that the accuracy will have to be very precise if we must reach this $4100 to $4200 area after many "overflow loops"





Le 05/02/2017 à 17:46, Nicolas Pomarède a écrit :
Le 05/02/2017 à 11:48, Christian Zietz a écrit :
Laurent Sallafranque schrieb:

The problem is in the 5 last lines : the code test for a min and max
value for register DO.
if D0 is not between $4100 and $4200, the code goes to $4eb1c and this
quit the demo immediatly.

To me this simply looks like a CPU speed test, counting the number of
loop iterations between two VBLs. I'd assume that the demo requires a
certain CPU speed to run correctly and so it wants to quit on (for
example) over-clocked CPUs.

I think the 68030 cycle accuracy of Hatari is not good enough here for
this test to pass.


You're right, this compute cpu speed.

At the moment with my dev version I get D0=$3e65, which is ~5% too slow compared to real HW $4100-$4200 for this code loop :

$0001cd1e : 4a78 0468                          tst.w     $0468.w
$0001cd22 : 6600 0006                          bne       $1cd2a
$0001cd26 : 5240                               addq.w    #1,d0
$0001cd28 : 60f4                               bra.s     $1cd1e

Unfortunately, 100 % accuracy will not be reached immediately in Hatari, some complex parts of the 68020/68030 pipeline and bus sequencer are not known yet to ensure exact similar behaviour regarding how the cpu order the memory accesses to be optimum.

Nicolas






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