Port-amiga archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Amiga delay implementation



On Mon, Nov 30, 2009 at 02:36:27PM +0100, Frank Wille wrote:
> With the current delay() implementation, even with the latest fixes,
> it seems impossible to delay shorter periods than 10-20 us on a DraCo.

well, at 111 khz timer clock this is expected :-(

> As I found several calls to delay() with <= 25us in amiga/dev I would
> prefer to restore the former calibrated loop method.

Generally I agree. In some drivers, there are delays of only a few
µs, which are prolonged a lot even for the timer method on Amiga,
because you need 3 hardware accesses per clkread()... how long are
CIA accesses in the Amiga? I don't have a HRM any more...

(And you didn't mention the dev/ic drivers yet that are used by 
 Amiga frontends - or did you count them?)

DELAY() and delay() are documented not to be precise; but occasionally
prolonging long delays, that have a greater danger of being hit by
a higher level interupt, doesn't seem as bad to me as prolonging
short delays, as the latter would increase interupt overhead in a
lot of hardware drivers.

[sorry for the long reaction time to your older post; I have a longer
reply nearly ready, but was looking for the CIA timings.]

Regards,
        Ignatios


Home | Main Index | Thread Index | Old Index