Re: [hatari-devel] Re: Hatari floppy drive detection with EmuTOS

[ Thread Index | Date Index | More Archives ]

On 15 Jan 2014 at 18:56, Nicolas Pomarède wrote:
> approx 1.5 sec per drive to complete would match the time needed to do
> the spin up associated to the restore command (if the head is already
> near track 0) ; but what I don't understand yet is that the WD1772 doc
> says it needs to count 6 revolutions (index hole) from the floppy drive
> to determine when the spin up is good.
> But my understanding about this is that if the drive is disconnected,
> you will never receive the index pulse, so the revolutions counter will
> stay at "0", spin up will never complete, and restore will never
> complete too, because it needs spin up to complete first.
Ah, I see your point!  That's what the WD1772 docs seem to say.  Perhaps, as
long as you have at least 1 drive connected (which is all I've tested on real
hardware), then the FDC sees the index pulses from the _connected_ drive when
it's trying to do a restore on the _unconnected_ drive?  In other words, the
restore will only complete as long as at least one drive is connected.  It
seems unlikely, but who knows?  If I don't have any drives connected, loading
EmuTOS is going to be tricky ...

Here are the floppy detection times (in clock ticks) from my tests:
1) Both drives connected
  Time to detect presence of drive A: 258
  Time to detect presence of drive B: 1
The time for drive A is mostly motor spinup time (6 revolutions at approx 300
rpm is 1.2 seconds = 240 ticks).  Drive B was obviously at track 0 to begin

2) Only drive A connected
  Time to detect presence of drive A: 258
  Time to detect absence of drive B:  153

I looked at my docs again and the step time for step rate 0x03 is actually
3msec: 3*255 = 0.765 seconds = 153 ticks!  Again drive A is spinup time.


Mail converted by MHonArc 2.6.19+