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

Re: Apple 5.25 floppy drive



mwillegal wrote:
There are actually 69 steps from inside to outside of a disk with
normal DOS disks set up with tracks on the even steps and odd steps
left empty.

The actual number of steps of of the stepper motor is 96*2 when re-
calibrating.   This number is set by the the LDA #$60 instruction at
location $BDD2 of the RWTS DOS driver.

Basically the RWTS is told that we are on track 96 and should seek to
track 0.  Then the actual track we want is stepped to from there.

Depending on where the head is at the beginning of a re-calibrate, we
will bounce off of the stop more or less times.

This re-calibration seems like drastic overkill, though I have never
tried changing the LDA #$60 to something in the low 40s to see what
would happen.

It would seem that the author of this code misunderstood the seek
interface and pre-multiplied the track count by 2.

But at boot time, the head is positioned to track 0 by the controller
ROM code at $Cs3B to $Cs50, which seeks outward 80 "phases" or 40 tracks, without the normal acceleration/deceleration time delay ramps.

Depending on the initial positioning, this will step the head out 38-40
tracks (since only an "adjacent" phase is effective in moving the head,
the first 0-4 phase energizings could result in no net head motion).

So David's pre-positioning the head at track 39 or 40 prevented
the cam from "hitting the stop", assuming that the phase sequence
starts with the phase for track 40.

On Jan 4, 11:26 pm, David Wilson <mcs6...@gmail.com> wrote:
On Jan 5, 8:48 am, Eric Rucker <bhtoo...@gmail.com> wrote:

He is. IIRC, when the drive controller is initialized, it basically
sends commands to the drive to step down a track 40 times, because it
has no idea what track it's on, meaning... if you're on track 35 (the
highest track on a normally formatted floppy, although you can
sometimes get more than 35 tracks on a floppy,) it will click 4 times.
If you're already on track 0, it'll click 40 times.

This used to annoy me so much that I wrote a little program to seek
the head to track 40 (or perhaps 39) and I would run this before I
powered the computer off. That way it would seek silently in before
booting when I powered it up the next time.

Slightly later I obtained a newer 1/2 height direct drive FDD unit
which was based on a standard drive with a small 20 pin to 34 pin
adapter circuit board. This circuit used the track zero sensor on the
drive to disable outward seeks so it booted quietly no matter where
the head was left.

-michael

******** Note new website URL ********

NadaNet and AppleCrate II for Apple II parallel computing!
Home page:  http://home.comcast.net/~mjmahon/

"The wastebasket is our most important design
tool--and it's seriously underused."