Let me qualify this, first of all, with two bits of fact . . .
(1) - I didn't care about the APPLE drives because they didn't work with the
type of controller I produced, so if I'm wrong, it's caused little damage so
far . . .
and
(2) - I remember lengthy discussions among those members of the Denver Area
6502-Users' Group who were presumably qualified to discuss the intricacies
of the internals of APPLE's disk I/O routines at a level I neither knew nor
cared about, beyond the superficial details I gleaned from the several and
varied sessions discussing that set of details. Now, I attended these
weekely and typically 4-hour long meetings for several years, and KNOW the
guys who were hashing out the details of the hardware and software in
question knew what they were talking about, so I accept that as fact. If
it wasn't true, no harm done, but I doubt that was the case. These fellows
spent a couple of sessions talking about and demonstrating the screwy means
by which certain game vendors in the Apple market were "protecting" their
wares by altering the timing of the positioning routine, thereby making it
possible to write tracks "off the track" by changing the time delay between
a known cylinder position and the point at which the specific track was to
be written. This made it impossible for someone using the stock timing of
the positioning mechanism to read the diskettes so written.
The scheme with the tristate multiplexers came later, I believe, than the
one I remember. Apple had several patents, all of which are there to be
examined if one wishes. I believe this software-timed positioning scheme
was among them. Having said that, I would point out that, given a software
scheme sequenced the stepper, it is just as possible that one could have
read the diskettes written a half track off by fiddling with the stepping
sequence. I doubt, however, that Wayne Wall would have allowed the waste of
several sessions of the meetings he so firmly controlled back in those days,
if the assumptions presented as fact in those discussions had not been
verified.
The helical cam I remember didn't have a groove, but rather, a ridge or
"fence" in the shape of a helix, which was tracked by a small,
spring-loaded, roller bearing. This worked quite well, but, because of
inertia and resonances in the system, required an unduly long period to
settle. The somewhat more costly band-actuator positioned drives settled in
3ms, typically, a rate which could be advertised and made a drive look
"better," although FDC's for the smaller drives had been designed such that
the faster step rate couldn't be exploited without fancy external gyrations
involving increasing the oscillator rate, since, previously, the
mini-floppies, as they were then called, could seldom step faster than 6ms
per track.
By the time the IBM PC became available, all the drives you saw were capable
of the fast step rate, yet IBM's hardware/software wouldn't readily
accomodate it. There were freebie patches published by third parties to
speed up the step rate, which caused the drives to quiet down considerably.
Dick
-----Original Message-----
From: Eric Smith <eric(a)brouhaha.com>
To: Discussion re-collecting of classic computers
<classiccmp(a)u.washington.edu>
Date: Wednesday, April 07, 1999 6:16 PM
Subject: Re: Heatkit 5 1/4 floppies
"Richard Erlacher" <edick(a)idcomm.com>
wrote:
> Apple drives
> used a form of GCR on their drives, the heads of which were positioned
with
a software
timed DC motor, while nearly everyone else used FM or MFM on
drives which used steppers driving band actuators.
Correct about GCR, but not about head positioning. If you look at the
schematics of the Disk ][ controller card and that of the drive, both of
which were in the DOS reference manuals up through the early 3.3 manuals
(before the Apple //e shipped), you will see that the controller uses four
outputs of a 74LS259 (or 9334) 8-bit addressable latch to control the four
phases of the head positioning stepper motor.
IIRC, in the drive the four TTL-level phase signals from the controller
are inputs to a ULN2003 which actually drives the motor phases.
The stepper motor has an additional stable states halfway between any pair
of adjacent tracks. However, due to the head width, it was not possible to
get twice the number of usable data tracks. But you could use non-standard
track positions as long as they were at least two steps apart. One of the
earliest copy protection schemes was to use track 0, 1.5, 2.5, 3.5, etc.
Of course, the copy programs quickly started supporting half-track
positioning.
The screwy part of Apple's head positioning system is the absence of a
track 0
sensor. The technique to home the positioner was to
step away from track 0
a
few steps (call it N), then step toward track 0 by more
than 68+N steps
(the number 96 comes to mind but I could be mistaken). This results in the
famous "Disk ][ mating call" sound.
In fact, you can actually get quarter-track positioning, but you
have to keep one (two?) of the stepper coils driven to hold the positioner
in place. This can be viewed as a very crude form of microstepping.
Of course, you can potentially also write data *during* the postitioner
motion. However, this was seldom done even for copy protection, because
the repeatability was poor even on the same drive, and very poor between
drives.
Because the stepper motor was under software control, the RWTS subroutines
(Read/Write Track & Sector, the low-level disk driver) actually used a
ramped acceleration/deacceleration profile, for faster seek times than
in typical systems which used a fixed track-to-track step time.
Eric