| |
| Atari format support |
| ==================== |
| |
| Both mkdosfs and dosfsck now can also handle the Atari variation of |
| the MS-DOS filesystem format. The Atari format has some minor |
| differences, some caused by the different machine architecture (m68k), |
| some being "historic" (Atari didn't change some things that M$ |
| changed). |
| |
| Both tools automatically select Atari format if they run on an Atari. |
| Additionally the -A switch toggles between Atari and MS-DOS format. |
| I.e., on an Atari it selects plain DOS format, on any other machine it |
| switches to Atari format. |
| |
| The differences are in detail: |
| |
| - Atari TOS doesn't like cluster sizes != 2, so the usual solution |
| for bigger partitions was to increase the logical sector size. So |
| mkdosfs can handle sector sizes != 512 now, you can also manually |
| select it with the -S option. On filesystems larger than approx. 32 |
| MB, the sector size is automatically increased (stead of the |
| cluster size) to make the filesystem fit. mkdosfs will always use 2 |
| sectors per cluster (also with the floppy standard configurations), |
| except when directed otherwise on the command line. |
| |
| - From the docs, all values between 0xfff8 and 0xffff in the FAT mark |
| an end-of-file. However, DOS usually uses 0xfff8 and Atari 0xffff. |
| This seems to be only an consmetic difference. At least TOS doesn't |
| complain about 0xffff EOF marks. Don't know what DOS thinks of |
| 0xfff8 :-) Anyway, both tools use the EOF mark common to the |
| system (DOS/Atari). |
| |
| - Something similar of the bad cluster marks: On Atari the FAT values |
| 0xfff0 to 0xfff7 are used for this, under DOS only 0xfff7 (the |
| others can be normal cluster numbers, allowing 7 more clusters :-) |
| However, both systems usually mark with 0xfff7. Just dosfsck has to |
| interpret 0xfff0...0xfff7 differently. |
| |
| - Some fields in the boot sector are interpreted differently. For |
| example, Atari has a disk serial number (used to aid disk change |
| detection) where DOS stores the system name; the 'hidden' field is |
| 32 bit for DOS, but 16 bit for Atari, and there's no 'total_sect' |
| field; the 12/16 bit FAT decision is different: it's not based on |
| the number of clusters, but always FAT12 on floppies and FAT16 on |
| hard disks. mkdosfs nows about these differences and constructs the |
| boot sector accordingly. |
| |
| - In dosfsck, the boot sector differences also have to known, to not |
| warn about things that are no error on Atari. In addition, most |
| Atari formatting tools fill the 'tracks' and 'heads' fields with 0 |
| for hard disks, because they're meaningless on SCSI disks (Atari |
| has/had no IDE). Due to this, the check that they should be |
| non-zero is switched off. |
| |
| - Under Atari TOS, some other characters are illegal in filenames: |
| '<', '>', '|', '"', and ':' are allowed, but all non-ASCII chars |
| (codes >= 128) are forbidden. |
| |
| - Roman <Roman.Hodek@informatik.uni-erlangen.de> |