The Floppy Mystery

From Atari Wiki
Revision as of 15:53, 11 October 2011 by Admin (talk | contribs)
Jump to navigation Jump to search

This article is taken from a posting on the AF by Ppera/SofiST written on Sun Aug 20, 2006.


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.

  1. 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:
  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.
  3. 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.
  4. 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:

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.

Hurra! My Win XP works with 800K floppies! :


Windows XP opens some Atari ST floppies of 800KB. But...

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 displaying 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.