[hatari-devel] I'm lucky ;) K.prg is working

Laurent Sallafranque laurent.sallafranque at free.fr
Wed Feb 24 01:09:36 CET 2010


All of this means that as long as we won't upgrade to latest winuae 
core, Falcon's timings will be approximative and Falcon emulation will 
work partially.

 > What are the instructions before/after this clr ?

I'll have to redo the trace (I've erased it by mistake).

I'll send you the timings again.
(I'm using 68030 emulation, parhaps it does a difference with 68000 
emulation for this instruction ?)

Regards,

Laurent


npomarede at corp.free.fr a écrit :
> On Tue, 23 Feb 2010, Laurent Sallafranque wrote:
>
>> I've detected something else too.
>>
>> Instructions > 50 cycles are always the same :
>>
>> Movem.L
>> ADD.L
>> CLR.L
>>
>> Are these instructions's cycles correctly computed ?
>>
>>
>> I've also this line :
>>
>> cpu exception 33 currpc 31262 buspc 31260 newpc fa002a fault_e3 0 
>> op_e3 0 addr_e3 0 I don't know 68000 as much as you do.
>
> exception 33 is a trap #0, it should add 34 cycles to the current 
> instruction.
>
> Nearly all cycles are correctly computed (this is required to run 
> fullscreens demos), but the problem is that they're based on a 68000 
> cpu. The 68020+ cpu will often execute .l instruction as fast as a .w 
> instruction on a 68000 and many arithmetic instr are also faster.
>
> So this is a problem for falcon : we don't have the correct cpu cycles 
> as used on a 68020+ (and as those cpu had a small cache, cycles can 
> vary even further than the motorola doc). Winuae has a preliminary 
> support for cycle correct 68020+.
>
> What this means is that DSP_Run won't be called as often as it should 
> be (which may not be a problem, it depends on what the dsp is doing).
>
> I'm surprised by your clr.l and add.l cycles :
> clr.l $0000186e should take 28 cycles on a 68000, so I think there's a 
> problem with the value 58 you get. What are the instructions 
> before/after this clr ?
>
> Even your cycle for movem #$7fff is wrong, it should be approx 140 
> cycles, not 266.
>
>
> Nicolas
>
>
>>
>>
>>
>> Some examples :
>>
>> cpu video_cyc=  2372 324@  4 : 00e08352: 4cdf 38f8 4e5e 4e75 4e56 
>> MVMEL.L #$38f8,(A7)+
>> cycles > 50 : 154
>>
>> cpu video_cyc=  2372 324@  4 : 00e08352: 4cdf 38f8 4e5e 4e75 4e56 
>> MVMEL.L #$38f8,(A7)+
>> cycles > 50 : 154
>>
>> cpu video_cyc=   332 332@  0 : 00e00d0e: 4cdf 0180 51cf ffec 4eb9 
>> MVMEL.L #$0180,(A7)+
>> cycles > 50 : 58
>>
>> cpu video_cyc=   640 128@  1 : 00e00d48: 4cdf 7fff 5279 0000 0452 
>> MVMEL.L #$7fff,(A7)+
>> cycles > 50 : 266
>>
>> cpu video_cyc=   774 262@  1 : 00e00dc8: 4cd9 f8f8 4a78 059e 6702 
>> MVMEL.L #$f8f8,(A1)+
>> cycles > 50 : 186
>>
>> cpu video_cyc=  1018 506@  1 : 00e00d94: 48e1 1f1f 23c9 0000 04a2 
>> MVMLE.L #$1f1f,-(A1)
>> cycles > 50 : 178
>>
>> cpu video_cyc=  2038 502@  3 : 00e0810e: 42b9 0000 186e 0839 0002 
>> CLR.L $0000186e
>> cycles > 50 : 58
>>
>> cpu video_cyc=143794 434 at 280 : 00e356b0: 52b9 0000 9a4e 4ab9 0000 
>> ADD.L #$00000001,$00009a4e
>> cycles > 50 : 58
>>
>> cpu video_cyc=   190 190@  0 : 00e00cc4: 52b9 0000 0462 2038 045a 
>> ADD.L #$00000001,$00000462
>> cycles > 50 : 58
>>
>>
>>
>>
>
>




More information about the hatari-devel mailing list