On 28 Dec 2011 at 0:30, Thomas Huth wrote:
So it seems that the FDC delays are twice as expected in Falcon
mode. This is enough to explain all my trouble.
I barely use the Falcon mode, so I never noticed this.
In fact, the Falcon Ajax FDC uses a 16 MHz clock, while other ST
models use a 8 MHz, and a stated in FDC_DelayToCpuCycles, FDC_Freq is
expected to be the same as CPU_Freq (ie 8 MHz) for correct timings
calculation.
So, on Falcon converting an FDC delay from microsec to cpu cycles
returned twice the expected value. This is now corrected, I added a
special case for Falcon to correct the cpu cycles.
Great that this problem is fixed. But what about TT mode? Didn't the TT
have an Ajax chip, too? If yes, which frequency did it use?
I think early TTs had a WD1772 (max 8MHz, only good for DD) and later TTs had
an Ajax chip. I have some documentation (the TT MCU RevB Functional
Description) that says that 0xff860e controls the frequency of the input clock
to the Ajax/1772 (either 8MHz or 16Mhz). I assume that TOS 3.06 sets the
frequency, probably based on the DIP switch setting, but I've never checked
this.
If anyone needs a copy of that MCU doc, let me know and I'll email it (I think
I got it from the Atari documentation site).
Roger Burrows