Do you use MS-DOS format floppies?

Thomas J. Trebisky tom at afthree.as.arizona.edu
Wed Mar 20 06:02:03 AEST 1991


In article <1991Mar14.212645.10354 at ssd.kodak.com> staffan at phos.serum.kodak.com (Kenneth Staffan (x37507)) writes:
>I often use floppies to port stuff between my 3b1 at home and PC-AT at work.
>I always format the floppies at home.  When I write the disk at home & read
>it at work, it _always_ works.  I have a problem going the other way, though.
>9 out of 10 times (or more, it's very frustrating) when I write the disk on
>the PC and try to read it on the 3b1, I get a "can't read file allocation
>table" error.  If I take the floppy back to the PC, it reads it fine.  This
>happens whether I use a freshly formatted floppy, or one which I just used
>for a 3b1->PC transfer.  Anybody have any suggestions?

I am glad you asked for suggestions, because I am not sure I have a definitive
answer - but I can make plenty of suggestions.

First a question - since you say an AT, I wonder if you are writing on a HD
drive, there are some known troubles going from the HD drive to "normal, i.e.
360K drives" even between PC's.  I will assume this in all that follows.

OK, here is my guess - the 1.2Meg (HD) drives on the AT have thin (narrow)
heads and 96 tracks per inch.  The drives on most XT's (and the unix PC) are
48 tpi drives with fatter heads.  The unix-pc writes a wide swath of data
and the AT reads right down the center and no problem.  However the AT writes
a narrow swath of data, and the head is not wide enough to erase the wide
swath (written at format time on the unix-pc -- formatting does fill the 
sectors with data), so when you take the floppy to the unix-pc, it's wide
head sees both the data in the center of the track, and the slop on the sides
and bad things happen.

The only problem with all this is the following -- I have tried this every
possible way and cannot replicate the problem.  Even formatting on the 360K
and then writing on the 1.2M drive works every time.
(I have an AT running DOS 4.1 with both 1.2M and 360K drives --
and have tried all the possible combinations of which drive I format on
and which I write the data on, and I can always read them on the UNIXPC
(but I am using the UA window driven MSDOS floppy reader).
	Aha -- maybe here is the rub??
When I use mtools I get all manner of chaos --
floating exception core dump is most common, and this
traces back to a divide by zero in init.c
in init(), after reading sector zero -- the boot block -- 
divides by zero calculating:
	tracks = WORD(psect) / (heads * sectors);
(Why should there be a boot block - this is not a bootable disk).

My conclusion is that mtools has some bugs.

Maybe DOS4.1 has changes in the disk format mtools cannot deal with?
(Mtools seems fine to format and write files on the floppy -- the AT reads
them fine -- the only wrinkle here was writting a file not in the current
directory to an empty floppy produced nothing on the floppy.)

So my question to the original poster is:
	What version DOS are you running on your AT?
	What floppy hardware are you using on your AT?
	What software are you using on the unixpc to read the floppies?

I am tempted to dive in and tackle an mtools fixup -- any comments?
--
	Tom Trebisky	ttrebisky at as.arizona.edu	(Internet)
	Steward Observatory	University of Arizona	Tucson, Arizona



More information about the Comp.sys.3b1 mailing list