The Floppy Mystery
Data transfer between Atari ST and
PC/Windows with floppies
I will try here to give up-to date,
correct and complete explanation about troubles in data transfer
between 16-bit Ataris and modern PCs using floppy disks. And of course
how to do it, without data
loss, corruption. Unfortunately, most of related site is obsolete or
dead. There are guides, explanations around, with incorrect
and shallow statements, which just increase already big
confusion in all this.
- Simplest, and safe way is
this (well known): format floppy on PC and use it for data transfer. In
Win XP type this in command prompt: format a: /t:80 /n:9 .
It will produce 720KB floppy, usable on all Ataris. Try to find DD
(Double density) floppies for this. Trick with covering left hole may
help, but it is not so reliable as DD floppy. If have High
density floppy drive in Atari, may use 1440KB standard PC floppies. It
will not help in transferring existing floppies, so go to point 2:
- For correct reading
and
writing on PC floppies formatted on Atari (from desktop, with
diverse format programs) - collections, archives you need floppy
imaging program.
This is only secure way. Will be explained later in deep.
- Use some good
formatting
program on Atari, which can produce really PC compatible
floppies. Avoid Fast Copy Pro - it can produce floppies
unreadable on PCs.
- Extract files directly from
Atari floppies
or their image files. I know only one program which can extract
reliable from
diverse ST
format floppies in Win XP : Floppy Imager
Gemulator Explorer is outdated and probably discontinued.
Why Windows/DOS can not work
reliable with
Atari floppies?
Because of very badly made floppy support,
drivers. Hardware is not real limit. Non-protected floppies can
read/write without
errors, only problem is hyperformat, but it was unreliable on Atari
too. Part of
guiltiness goes to Atari - they messed up 720K floppy format, and used
incorrect FAT length.
Atari ST's (TOS) floppy driver is very flexible, and works with
lot of different formats, while DOS/Win on PC with only few predefined
ones.
Looking
deeper in problem:
So looks info about floppy formatted with TOS 1.4 , in Win XP:
At bottom you may see that we have 711 allocation units,
instead of 713 by standard PC 720K floppy. Atari made
a mistake. They set FAT length to 5 sectors instead 3, what is stupid
waste of space. Better format floppy on PC, or on Atari with some
formatting program which can produce really PC compatible formats.
Windows XP simple can not work well
with
floppy what is not strictly DOS standard formatted. Worst in all is
that
despite of it, it opens and works with non-standard (for him) floppies.
Check of
disk format is very superficial - if there is 0xE9 or 0xEB at start and
more-less standard BPB, such floppy will be opened.... and messed up.
Strictly PC standard 720KB floppy is: 9 sec/tr, 2 sides, 80
cylinders,
FAT size: 3 sectors (2 FAT copies), Root DIR size: 7 sectors. Total 713
allocation units (clusters) on disk.
I tested today (Sept. 2006) reading of Atari ST floppies in Windows 95
on one old
PC: there is big difference in compare to Win XP: Win 95 opens and
reads well even floppies formatted with TOS 1.0 desktop formatter
(without E9 at start) - in DOS mode opened such floppies not, but those
formatted with TOS 1.4 opened (E9 at start). Even writing on such
floppies worked without errors in Win 95.
And Win 95 opened and read well files from 800K ST floppies.
Little history
Hurra! My Win XP works with 800K floppies! :
DIR: Total
Commander:
Explorer, properties:
Here starts real mess. Short
said: don't trust to Microsoft! Don't read anything from such floppies
in Windows explorer, Total Commander. You will get corrupted
files with missing parts.
It sounds pretty unbelievable, and I
spent lot of time examining it: Windows XP will simple skip every tenth
sector of such floppies, and instead it will read following one. It
results
in reading different areas of disk than needed. But, for instance first
short file of 3KB will be readen without error - nice to encourage
people!
Notes: above floppy has 0xE9 at start. If formatted with another format
program (Superaccessory for instance) it will not be opened on PC.
Obviously, XP floppy driver changed significantly in compare to
one
in Win 95.
Opening 800K floppy in Gemulator Explorer promises,
Root DIR is
OK :
Not for long, opening some SubDir will show garbage instead content
:
:
Explanation: first 9 sectors of floppy reads correct, and
we have beginning of ROOT DIR there.
Errors start at sector #10. It means that subdirectories and files will
be readen incorrect.
After it, we may be happy that image creation of such floppy not works
at all - better nothing than corrupted image. It was under Win XP, in
Win 98
it opened correct directories, but very slowly. (Imaging of floppies
failed
in both OS).
Gemulator is one of rare Atari emulators which can work with floppies,
not only floppy images. But it will fail with 800KB floppies. Reason is
miserable Windows floppy driver, which skips every tenth sector on such
floppies in XP, W2K, Vista. (it stays for Gem. Explorer too, of
course).
On the
other side, Gemulator will work well with standard
Atari 720K floppies (those with 5 sec/FAT) - because file access goes
true Atari's TOS and not
Windows, and physical format is same.
Utilities for 'making floppies DOS compatible' as ST2DOS.EXE are almost
worthless - they can not correct FAT len, or transfer 800K floppy to
720K one (what an idea! ;-) ).
Here I must to add that me, and most of Atari users in my area used
very much 800K format in golden era of Atari (1987-1991). It showed as
reliable, there was couple program for creating such floppies, and
Atari worked flawless with them.
It means, that there is probably still lot of such floppies. Not to
mention many other machines which used simiilar formats with 10
sect/track.
USB floppy drives: Many people asked about accessing
Atari floppies via some USB floppy drive (mostly in case of notebooks).
Here we have practically same problem as with Win XP floppy drivers -
unsupported higher formats as 800 KB floppies. There is no solution and
probably never will be - some parameters are hardcoded in chips used in
such external floppy drives. They have no support for
'exotic' (versatile Atari) floppy formats.
Conclusion: Even if working with very old
things, as Atari floppies we need some up-to date SW for floppy data
transfer in new OS-es like Windows XP.
Pera Putnik, August, Sept. 2006, March 2009.
hcnt: 29238