Re: [hatari-devel] Re: Cycle exact 68040/68060 mode in Hatari

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


On 14.09.2016 08:54, Toni Wilen wrote:
>>>     if (using_ce020 >= 3)
>>>         return false;
>>>
>>> Why is this code there? I have a hard time to understand the reason for
>>> these two lines... don't we want to have a do_cycles_ce020_internal()
>>> in cycle-excact 68040/060 mode?
>>>
>> Toni certainly knows the details better than me and can elaborate, but
>> IIRC some emails discussions we had, 68040/60 is a completely different
>> beast regarding CE mode.
>> While 68030 is very close to 68020, 68040/60 have more pipelines and can
>> run some instructions in parallel, none of this being really documented
>> (CE mode for 68020/30 was certainly not publicly documented either, but
>> it took Toni so much time to make it work that I guess 40/60 would
>> require a lot of time/ressource)
>>
>> As the results would be far from cycle exact, maybe that's why CE mode
>> is just disabled for 68040/60 and they often just take 1 cycle per
>> instruction to "simulate" a much faster cpu.
> 
> Yes, 68040+ in "cycle-exact" only means that external CPU memory
> accesses to non-fast memory count which works quite nicely on Amiga
> where it is important to make sure CPU's chip ram/custom register
> accesses will wait if bus is taken by some chipram DMA channel.
> Chipset/CPU timing is the most important. I don't really really care if
> other operations are too fast, getting them exactly right is probably
> impossible without more internal CPU details. (much much much and so
> on... than with 68020/030)

OK, thanks a lot for the explanations! So currently, I guess I should
just make sure that every instruction currently takes at least 1 cycle
in Hatari ... all right, then I think I know how to get m68k_run_3ce()
in Hatari working, too! :-)

 Thomas




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