61 lines
2.8 KiB
Plaintext
61 lines
2.8 KiB
Plaintext
|
|
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>
|