Atari File Management Subsystem
The Atari File Management Subsystem (FMS) is the filesystem on an Atari 810 floppy disk.
The 720 sectors of the disk were numbered from 1 to 720, but (perhaps due to poor communication between the different development teams at Atari) the FMS filesystem was designed to support sector addresses in the range from 0 to 719, which meant that sector 720 was not addressable but a nonexistent sector 0 was. This resulted in the filesystem only using the 719 sectors in the overlap between what is addressable and what actually exists, so sector 720 is unused (a waste of a perfectly good 128 bytes).
(Note to self: Is there a way to hack the system to stick hidden messages in that 720th sector?)
The bytes within a sector are numbered from 0 to 127, because at least the development teams managed to agree on zero-based numbering there.
Sector map
This filesystem is pretty narrowly tailored to the particular type of disk used by the Atari 810 drive, with various hard-coded sector positions.
- Sector 1: Boot record
- Sector 2-n: DOS.SYS file (on system disks)
- Sector n+1-359: User file space
- Sector 360: VTOC (Volume Table of Contents)
- Sector 361-368: Directory
- Sector 369-719: User file space
- Sector 720: Unused
Boot record
Sector 1 is the boot record. It has this structure:
- Byte 0: 0 (representing boot flag)
- Byte 1: 1 (representing the number of sectors the boot record takes)
- Byte 2-3: Boot address (0700)
- Byte 4-5: Init address
- Byte 6: 4B (JMP command used with address in following 2 bytes)
- Byte 7-8: Boot read continuation address
- Byte 9: Max # of files open concurrently (1-8)
- Byte 10: Specific drive numbers supported (bitmap where low-order bit means drive 1, next bit drive 2, and so on up to 4)
- Byte 11: Buffer allocation direction (set to 0)
- Byte 12-13: Boot image end address + 1
- Byte 14: Boot flag (must be nonzero if DOS.SYS is on disk)
- Byte 15: Sector count (not used)
- Byte 16-17: DOS.SYS starting sector number
- Byte 18-127: Code for second phase of boot
Links
- Atari technical manual with lots of tech details