Jim Battle writes:
> Hard sectored disks are a problem for the catweasel to write. There is
> a function to write from index mark to index mark, except the catweasel
> assumes there is just a single index mark per revolution.
I haven't written code to do this, but the approach I would take is to
align with the sector holes by hand: Spin reading from the input port
that returns the hole sensor's status, then give the "start writing
immediately" command when you see a hole, and write one sector's worth
of data. Then spin waiting for another sector hole and write another
sector's worth, etc. You might find that you miss a hole each time and
need two revolutions to write the whole track.
One reason I suggest this is that it seems like there is yet another
reason why the Catweasel's built-in hole-to-hole write isn't suitable.
Don't hard-sectored disks have an index hole for the whole track that is
about halfway between two of the sector holes? If your disks have that,
you'd be unable to write that sector with a hard hole-to-hole Catweasel
write -- it would stop halfway through.
Still assuming this is true, you could find the track index hole by
spinning watching for sector holes and noting the time between each two.
When you find two that are too close together, you've found the track
index hole.
I suppose you might have to do all this in DOS to ensure you don't get
interrupts that you don't want and that mess up your timing. I'm not
sure disabling interrupts is necessary, though. You also could use
Linux, as you can do a Linux iopl system call that gives a user process
high enough privileges to read/write I/O ports *and* even disable
interrupts if needed.
I don't know enough about how hard sectored FDCs work to know if there
are problems with this approach...
--
Tim Mann tim_at_tim-mann.org http://tim-mann.org/
Received on Sat Feb 07 2004 - 21:50:36 GMT