ADFS

From Arc Wiki

ADFS ("Advanced Disc Filing System") is a filing system created by Acorn Computers Ltd in 1983. It is the default filing system used in Arthur and RISC OS.

Details

ADFS is implemented by the FileCore module in Arthur and RISC OS (counterintuitively, the ADFS module implements low level block drivers and is filesystem agnostic).

The primary improvement over the older DFS filing system is that ADFS is hierarchical, supporting subdirectories (DFS only supported a single level of directories). This was essential for practically supporting hard discs.

In common with DFS, 8-bit ADFS stored load and execution address metadata for each file. In RISC OS, this was extended to store File Types.

ADFS traditionally had a number of limitations. Prior to the E+ & F+ formats introduced in RISC OS 4, file names were limited to 10 characters, and there was a fixed limit on the number of files in a directory (47 or 77 depending on format).

Variants

There are four major variants of ADFS. ADFS implementations are (with one exception) backwards compatible with older formats, but are not forwards compatible.

ADFS S, M and L

S, M and L are the original ADFS formats used on 8-bit systems. The letters refer to the supported floppy disc formats; S for 40 track single sided, M for 80 track single sided and L for 80 track double sided. Hard disc drives use the same format, only with the disc geometry changing.

The 8-bit formats support 47 files per directory, and use 256-byte sectors across all devices.

Arthur and RISC OS can access S, M and L discs for backwards compatibility. 3.5" discs (such as used on the Electron Plus 3 and Master Compact) can be used directly, 5.25" discs will require an appropriate drive connected to a Disc Buffer.

ADFS D ("Old Map")

D was introduced with Arthur. The new format uses 1024-byte sectors on floppy discs; this expanded the capacity of a 3.5" double density disk from 640kB to 800kB. ST-506 drives continued using 256-byte sectors.

The maximum number of files per directory was increased from 47 to 77. The concepts of a File Type and date stamping were added.

Support for D format hard discs was removed in RISC OS 3.5.

ADFS E/F ("New Map")

E was introduced with RISC OS 2. The primary enhancement was the addition of fragmentation. This removed the need for the user to `*COMPACT` to ensure enough contiguous free space before writing to disc. Physical formats remained the same as D, though SCSI and IDE discs (introduced during the lifetime of E) used 512-byte sectors rather than the 256-byte sectors used by ST-506 discs.

F is the name given to the high-density 1.6MB format introduced in RISC OS 3. Other than the larger disc geometry, F is identical to E. A "G" format nominally exists for 3.2MB extended-density discs, however no Acorn machine shipped with such a drive.

Prior to RISC OS 3.6, the FileCore API limited maximum disc size to 512MB. RISC OS 3.6 increases this to 128GB.

ADFS E+/F+

E+ & F+ were introduced with RISC OS 4. These formats allow the use of long file names, and remove the limit on files per directory. Maximum disc size is increased to 256GB.

Floppy disc formats

ADFS floppy disc formats
Format Tracks Heads Sectors per track Sector size Capacity Map
S 40 1 16 256 bytes 160kB Old
M 80 2 16 256 bytes 320kB Old
L 80 2 16 256 bytes 640kB Old
D 80 2 10 1024 bytes 800kB Old
E 80 2 10 1024 bytes 800kB New
F 80 2 20 1024 bytes 1600kB New

External links