Re: [hatari-devel] Re: Hatari floppy drive detection with EmuTOS |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel 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
with.
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.
Regards,
Roger