[sebhc] hard sector substitute

Lee Hart leeahart at earthlink.net
Wed Jun 30 01:16:27 CDT 2004

>> to save money, [variable speed] was left out of most PC drives;
>> instead, they have an extra crystal in the disk controller, and
>> read/write even low-density data at the higher speed.

Steve Thatcher wrote:
> this would only make the newer drives not usable for the old
> controllers.

Yes; indeed, it does.

>> A CMOS phase locked loop chip used the single index hole of a
>> soft-sector disk to create a 10x clock. This clock was ANDed
>> in with the real index pulse to produce the 11 pulses per
>> revolution to fool an H17 controller and software into
>> thinking it was a hard-sector disk.

> a PIC could do better than a PLL in that it could do more
> adjustments on the fly that the PLL takes a whole rotation
> to correct.

You might find it worthwhile to study how PLLs work. They are not
digital circuits; they *do* make corrections dynamically, within one
rotation. It is usually digital systems that have trouble matching the
performance of a PLL, rather than vice versa.

> the PIC could adjust it's time base on data coming from the drive
> too so index hole position would be more accurate even during a
> single rotation

This is a good idea, and may work for reads. But there's a catch-22
here: You need to know the speed to read the data accurately.

The saving grace for the Heath H17 format is that it is single-density;
the pulses alternate clock-data-clock-data; while the data pulses may or
may not be present (depending on whether it is a 1 or 0), the clock
pulses are always present. So, it might be possible to extract the clock
during reads (coasting over the sector gaps), and use it to figure out
the rotational speed to create the sector holes.

>> Except that soft-sector disk controllers extract the clock from
>> the data

> non-issue for hard sector disks - the only issue is when the
> index hole happens and data starts being read or written.

If your PIC is trying to create fake hard-sector holes so a Heath H17
controller can read them even from a physically soft-sector disk, then
the rotational speed of the disk drive is *still* a problem. If it's a
newer 5.25" or 3.5" drive that only rotates at the faster speed, how are
you going to slow down the data so the H17 controller can read it? The
only option is to read the data with the PIC, and then re-transmit it at
a slower rate -- possible, but a real software challenge.

> same idea as serial data streams used in RS232

Except that RS-232 uses crystal-controlled clocks, so speed is
extrememly accurate.

> at least for N* that we are talking about, the controller gives
> the drives more than a second to come up to speed, so the lock
> time is not a problem.

Suppose you are copying files from one H17 to another H17 disk. The
device that is creating the fake sector holes has to wait for a pair of
index holes (one full revolution) each time it switches disks. So, while
my hardware circuit worked, it was slower than real disks because of the
extra time the H89 spent waiting for the disk to get "up to speed"
(really, for the PLL circuit to lock in and start producing valid sector

>> I'm sure a PIC could do it, but it is a *challenging* software
>> problem in real-time control!

> that is what makes it fun to do and quite up my alley so to speak
> given my decades of hardware and software development in real-time
> control.

Great! That is just the sort of experience you'd need. Too many
programmers are clueless about real-time control.
"Never doubt that the work of a small group of thoughtful, committed
citizens can change the world. Indeed, it's the only thing that ever
has!" -- Margaret Mead
Lee A. Hart  814 8th Ave N  Sartell MN 56377  leeahart_at_earthlink.net

Delivered by the SEBHC Mailing List

More information about the Sebhc mailing list