This pair of programs represents a recently "cleaned up" version of a
couple of quick-and-dirty programs I wrote about a month ago and have
been using with no problems on several different PC/AT-type machines.
There are two programs: 800KFMAT.COM and 800K.COM.
To format a low-density diskette to 800k bytes in a high-density
drive, just use 800KFMAT the same way DOS FORMAT is used (i.e.
"800KFMAT A:"). This will still use the 300kbs data rate compatible
with the permittivity of these disk surfaces, but will format
80 cylinders with 10 sectors per track. A boot sector obtained
from the default drive will be written to the diskette with a
modified BIOS parameter block. Also, a file allocation table will
be set up with bad clusters marked as usual.
Once formatted in this way, DOS (at least 3.0 or later) has no
problem in using the disk since it reads the BIOS parameter block
to determine the configuration. However, some BIOS ROMs will
stubbornly refuse to single-step the drive when they detect the
lower data rate. To fix this problem, the memory-resident program
800K.COM intercepts INT 13h BIOS calls and clears the "double step"
bit at 40:90 (or 40:91 for B:) before and after every disk I/O call.
This seems to do the job, at least for the several BIOS ROMs tested
so far. To install 800K.COM for drive A: "800K/A". To install for
both drives: "800K/A/B". To un-install so that "normal" diskettes
may be used: "800K/U".
You might first try using the 800k diskette without 800K.COM, as
at least one BIOS I have tested (Big Blue!) does it right and does
not require any help.
-- Alan D. Jones
[ 74030,554 ]