02-06-2016, 08:08 PM
I've spent some time going over this, and have a guess at what might be happening. When I unplug the USB cable the drive lines see something, which I observe as a brief flash of the motor LED and an audible shift in the drive head position. If the head is close to track 0, I suspect it's being moved outwards past the TRACK0 position. When a SEEK0 is issued on the next use it doesn't see TRACK0 and steps out never result in it being set. I think the long seek I hear is probably it being bumped up against the head stop, before the firmware step limit is exceeded. I noticed that if I move the head to cyl 10 before I unplug it, it doesn't have a problem, perhaps because the head jump leaves it >= cyl 0.
I also noticed that this only happens if my 3.5" drive is being powered externally. If I use the power connector on the SCP card I don't get the glitch when I unplug it, and everything is fine. Though I still need to use external power for some types of drives, so it's only a temporary work-around.
I can also reproduce it with your software, and think it must have been variations in head position that masked it earlier. My reproduction steps are:
I also noticed that this only happens if my 3.5" drive is being powered externally. If I use the power connector on the SCP card I don't get the glitch when I unplug it, and everything is fine. Though I still need to use external power for some types of drives, so it's only a temporary work-around.
I can also reproduce it with your software, and think it must have been variations in head position that masked it earlier. My reproduction steps are:
- use external power source for floppy drive
- start SCP software
- read track 0 using disk analyzer
- close SCP software
- unplug USB cable (listen for drive head activity)
- wait 5 seconds
- plug USB back in and wait for board to boot
- start SCP software (listen for long seek attempt to find track 0)