From: "Chuck Guzis" <cclist at
sydex.com>
Dwight,
DOS (actually the BIOS) uses a table with an entry for each drive to
indicate several things like specify bytes (which sets stepping rates).
Later 5.25" drives tend to step at 6 ms per cylinder, although some older
drives (e.g. SA400) require longer than that. 3.5" drives typically can
step at 3-4 msec. per track.
It doesn't hurt a drive to step it more slowly than the manufacturer
specifies, but it does tend to increase the noise level. As a quick fix,
you may simply want to slow everything down.
What's the FDC chip in the M20?
Cheers,
Chuck
Hi
I've had no problems setting the step rate for the drive
by writing directly to the PC controller. The problem has been that
when I use DOS's routines to access the imgae file, it overwrites
what I put into the disk controller. This wouldn't be an issue
if it were not for the fact that both drives seem to be stepping at the same
time when doing a seek. I thought that once the motor was
turned off, the drive wouldn't step. This doesn't seem to be the case.
I did some research and found that DOS uses values stored in a table
that is pointed to by interrupt location 1E. I'll change this to run at the
slower rate. This is called the "Disk Base Table".
I'm not sure what this matters but the Olivetti M20 uses a WD1791
with a WD1691 chip. I can create M20 floppies with my PC using
the hard drive. My problem is if I use the other floppy as the source.
Some of the people that will be using my code may not have a
hard drive to run from. Many that have 360K drives are floppy based
systems.
I'll see what changing the parameters in the table does. It should
help. I'll report back with the results.
Dwight