ATFLOPPY High Density Drive Monitor
By David Steele
ATFLOPPY is a memory resident program that monitors
write operations to an AT high density floppy disk drive,
and warns the user if the disk being written to is formatted
for 360K. The user is given the option to allow the write,
or to prevent the write operation by simulating a write
ATFLOPPY was written to solve a compatibility
problem that exists between the AT 1.2 Megabyte drive and
360 Kilobyte disks. While the AT high density drive is
capable of reading and writing double density disks, both
the IBM AT Technical Reference and DOS manual warn against
transferring 360 K disks between high density drives and
double density drives. This restriction makes it difficult
to transfer data between XT's and AT's. Fortunately,
problems can be avoided if you are careful about the
transfer procedure. A little background is in order.
Since the AT drive is designed to write 80 tracks
onto each side of a floppy disk, verses 40 tracks for a 360
K drive, the AT writes a narrower track than the 360 K drive
does. If the AT drive were to write a track on top of a
track written by an 360 K drive, all of the original
information on that track may not be completely erased. In
other words, if you use an AT drive to write to a disk
formatted on an XT, it is quite possible to lose all of the
data on that disk.
The way around this problem is to avoid using the AT
drive to write to a disk that has been written to with an
XT. When transferring data between an XT and an AT, use two
sets of disks. One set is always written by the AT and read
by the XT, and the other is always written by the XT and
read by the AT. As long each disk is written to by only one
drive, the disk will not be corrupted. An even better
solution is to install one of each type of disk drive in the
computer and to always use the right disk in the right
The problem with both of these techniques is that
they require a large amount of discipline of the user. It
is up to the operator to think about which disk is in which
drive before copying any data to it. Any mistakes could
corrupt the disk. What is needed is a safety check to make
sure the user realizes that a double density disk is about
to be written to in a high density drive.
ATFLOPPY pg 1
This is where ATFLOPPY comes in. This program will
pop a window on the screen asking if you are sure that you
want to perform the write. This window will appear whether
you are doing a copy from the DOS prompt, or performing a
file save from within an application. If you indicate that
you do not want the write to continue, ATFLOPPY will
simulate a write protect error on the floppy disk, aborting
the operation. In general, if there is a possibility that
the disk was ever written to by a 360 K drive, then abort
the write operation and transfer all of the data to a virgin
disk before proceeding.
For most users, the program is invoked by the
command "ATFLOPPY", preferably from the AUTOEXEC.BAT file.
The program will load itself into memory, and will begin
monitoring the 'A' drive. The first time that write
operation is attempted on the 'A' drive, ATFLOPPY will check
to see if the disk is formatted for 360K. If it is , then
the program will sound a short beep and the following window
will appear on the screen:
WRITING TO LOW DENSITY DISK
IN HIGH DENSITY DRIVE
("W" to allow write or
any other key to abort)
If the "W" key is pressed, the operation will
proceed normally. If any other key is pressed, the
operation will fail with a write protect error.
If the write is being made to a high density disk,
ATFLOPPY will not interfere with the write.
ATFLOPPY will work with CGA, EGA, VGA, and
monochrome graphics cards. If the screen is in a graphics
mode that the program does not understand, instead of the
message appearing on the screen, the speaker will beep three
times. After that, the write proceeds normally.
ATFLOPPY will not allow itself to be loaded into
memory more than once. If you call the program a second
time, the first program will be modified to match the
parameters of the second call. For instance, you can
temporarily disable ATFLOPPY by typing "ATFLOPPY X".
The test used to determine if the disk is formatted
to 360 K is the one specified by the IBM AT Technical
Reference. In short, the program attempts to read sector 0
and sector 17 on track 0. If sector 0 can be read and
sector 17 can't, then the disk is assumed to be 360 K.
Since the test is only executed at most only once
every 6 seconds, the effect on performance is minimal (see
the 'T' option below).
ATFLOPPY pg 2
PROGRAM EXECUTION FORMAT
Where the optional command line parameters are as follows:
ABX - Active High Capacity Floppy Drives
These parameters tell the program which drive (or
drives) is to be checked for 360K disks. If no drive is
specified, the program assumes that only drive A is to be
monitored. If the option 'X' is specified, the program is
disabled - no drives are monitored.
On the standard AT, both drives A and B refer to the
same High Capacity drive. With the standard configuration
in effect, drive A can be used under normal circumstances,
and drive B can be used when the reminder is not desirable.
F - Force loading
Normally, the program will check to see if the
machine is an AT or not by checking the machine
identification code in high ROM memory. If the program
determines that the machine is not an AT, it will refuse to
This switch will cause the program to load itself
into memory without doing any safety checks first. This
option may be necessary for use with some AT compatible
clones, or with some strange combination like an XT with a
high density drive.
Q - Quiet Mode
When this switch is present, all non-error startup
messages are suppressed.
H? - Display Help Message
The presence of either of these switches will cause
the program to display a short help message explaining the
purpose of the program and the command line parameter usage.
After printing the help message, the program terminates
normally without loading the resident code.
Tn - Set Time Delay
The first time that a write is made to a disk in a
monitored drive, ATFLOPPY will check the disk and warn the
user if the disk is formatted for 360K. After that,
ATFLOPPY will allow writes (or continuously return write
protect errors, depending on the user input) without
intervening until the delay between two writes is greater
than a certain threshold. This is to keep ATFLOPPY from
seriously affecting the speed of disk accesses.
The 'T' option can be used to set this threshold
time. The number following the 'T' (no intervening spaces)
is the number of timer ticks that must happen between writes
before ATFLOPPY does another test of the disk. A timer tick
is approximately 1/18 second. This time should be long
enough so that the disk test and warning doesn't come up too
ATFLOPPY pg 3
often, yet short enough that the timer times out when a
floppy disk is changed (so floppies are always tested with
the first write).
The default value for this delay is 108 timer ticks,
or about six seconds. This value was selected as the
average amount of time required for the author to swap
floppy disks (as tattled by Fastback).
DISCLAIMER, LIMITATIONS, AND ORDERING INFORMATION
This program is provided as is without any
warrantee, expressed or implied, including but limited to
fitness for a particular purpose.
Feel free to evaluate, copy and distribute ATFLOPPY.
The only restriction under these circumstances is that the
files may not be modified in any way. If you decide that
ATFLOPPYis a worthwhile piece of data insurance and continue
to use it, you may purchase the software by sending $5 to
the address listed below.
450 Hillcrest Drive
Cincinnati, Ohio 45215
Compuserve - 71521,1446
ATFLOPPY pg 4
Software Library Information:
This disk copy provided as a service of
The Public (Software) Library
We are not the authors of this program, nor are we associated
with the author in any way other than as a distributor of the
program in accordance with the author's terms of distribution.
Please direct shareware payments and specific questions about
this program to the author of the program, whose name appears
elsewhere in this documentation. If you have trouble getting
in touch with the author, we will do whatever we can to help
you with your questions. All programs have been tested and do
run. To report problems, please use the form that is in the
file PROBLEM.DOC on many of our disks or in other written for-
mat with screen printouts, if possible. The P(s)L cannot de-
bug programs over the telephone.
Disks in the P(s)L are updated monthly, so if you did not get
this disk directly from the P(s)L, you should be aware that
the files in this set may no longer be the current versions.
For a copy of the latest monthly software library newsletter
and a list of the 1,900+ disks in the library, call or write
The Public (Software) Library
P.O.Box 35705 - F
Houston, TX 77235-5705