blob: 5fb00ed07de59e2a3fdefde3c4b1f272cd0cc131 [file] [log] [blame]
bigbiff bigbiff9c754052013-01-09 09:09:08 -05001
2Atari format support
3====================
4
5Both mkdosfs and dosfsck now can also handle the Atari variation of
6the MS-DOS filesystem format. The Atari format has some minor
7differences, some caused by the different machine architecture (m68k),
8some being "historic" (Atari didn't change some things that M$
9changed).
10
11Both tools automatically select Atari format if they run on an Atari.
12Additionally the -A switch toggles between Atari and MS-DOS format.
13I.e., on an Atari it selects plain DOS format, on any other machine it
14switches to Atari format.
15
16The differences are in detail:
17
18 - Atari TOS doesn't like cluster sizes != 2, so the usual solution
19 for bigger partitions was to increase the logical sector size. So
20 mkdosfs can handle sector sizes != 512 now, you can also manually
21 select it with the -S option. On filesystems larger than approx. 32
22 MB, the sector size is automatically increased (stead of the
23 cluster size) to make the filesystem fit. mkdosfs will always use 2
24 sectors per cluster (also with the floppy standard configurations),
25 except when directed otherwise on the command line.
26
27 - From the docs, all values between 0xfff8 and 0xffff in the FAT mark
28 an end-of-file. However, DOS usually uses 0xfff8 and Atari 0xffff.
29 This seems to be only an consmetic difference. At least TOS doesn't
30 complain about 0xffff EOF marks. Don't know what DOS thinks of
31 0xfff8 :-) Anyway, both tools use the EOF mark common to the
32 system (DOS/Atari).
33
34 - Something similar of the bad cluster marks: On Atari the FAT values
35 0xfff0 to 0xfff7 are used for this, under DOS only 0xfff7 (the
36 others can be normal cluster numbers, allowing 7 more clusters :-)
37 However, both systems usually mark with 0xfff7. Just dosfsck has to
38 interpret 0xfff0...0xfff7 differently.
39
40 - Some fields in the boot sector are interpreted differently. For
41 example, Atari has a disk serial number (used to aid disk change
42 detection) where DOS stores the system name; the 'hidden' field is
43 32 bit for DOS, but 16 bit for Atari, and there's no 'total_sect'
44 field; the 12/16 bit FAT decision is different: it's not based on
45 the number of clusters, but always FAT12 on floppies and FAT16 on
46 hard disks. mkdosfs nows about these differences and constructs the
47 boot sector accordingly.
48
49 - In dosfsck, the boot sector differences also have to known, to not
50 warn about things that are no error on Atari. In addition, most
51 Atari formatting tools fill the 'tracks' and 'heads' fields with 0
52 for hard disks, because they're meaningless on SCSI disks (Atari
53 has/had no IDE). Due to this, the check that they should be
54 non-zero is switched off.
55
56 - Under Atari TOS, some other characters are illegal in filenames:
57 '<', '>', '|', '"', and ':' are allowed, but all non-ASCII chars
58 (codes >= 128) are forbidden.
59
60- Roman <Roman.Hodek@informatik.uni-erlangen.de>