TIP: Click on subject to list as thread! ANSI
echo: apple
to: comp.sys.apple2
from: Michael J. Mahon
date: 2009-01-06 00:23:08
subject: 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  wrote:
>> On Jan 5, 8:48 am, Eric Rucker  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."
--- SBBSecho 2.12-Win32
* Origin: Derby City Gateway (1:2320/0)
SEEN-BY: 10/1 3 34/999 120/228 123/500 140/1 222/2 226/0 236/150 249/303
SEEN-BY: 250/306 261/20 38 100 1404 1406 1410 1418 266/1413 280/1027 320/119
SEEN-BY: 393/11 396/45 633/260 267 712/848 800/432 801/161 189 2222/700
SEEN-BY: 2320/100 105 200 2905/0
@PATH: 2320/0 100 261/38 633/260 267

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.