Advanced Disc Filing System
Encyclopedia
The Advanced Disc Filing System (ADFS) is a computing file system particular to the Acorn computer range and RISC OS
based successors. Initially based on the rare Acorn Winchester Filing System, it was renamed to the Advanced Disc Filing System when support for floppy discs was added (utilising a WD1770 floppy disc controller) and on later 32 bit systems a variant of a PC style floppy controller.
Acorn's original Disc Filing System
was rather limited in that few files could be stored on a disk, and directory and file names were restricted to a minimum of 1 and a maximum of 7 characters. The Disc Filing System's limitations were in part due to its basis on the disc firmware used in the earlier Acorn Atom and System 3–5 Eurocard computers. To overcome some of these restrictions Acorn developed ADFS. The most dramatic change was the introduction of a hierarchical directory structure. The filename length increased from 7 to 10 letters and the number of files in a directory expanded to 47. It retained some superficial attributes from DFS; the directory separator continued to be a dot and
ADFS supported hard discs, and 3½" floppy discs formatted up to 640 KB capacity using double density MFM
encoding (L format; single-sided disks were supported with the S format (160 KB) and M format (320 KB)). ADFS as implemented in the BBC microcomputer system (and later RISC OS) never had support for single density floppies.
Hard disc support in ADFS used a modified format, and interfaced to a SCSI based Winchester unit via the BBC Micro's 1 MHz Bus. Support for IDE/ATAPI style drives has been added 'unofficially' by third parties in recent years.
provided enhanced formats which overcome the limitations of the BBC Micro.
Arthur added D format with 77 entries per directory as opposed to the previous 47, also usable on hard discs and a new 800 KB double density floppy format. A per-file "type" attribute was added in space previously used to store Load and Execute addresses. The 12 bits of type information is used to denote the contents or intended use of a file, typically presented as three hexadecimal
digits. This is similar to the 32-bit type attributes stored in Apple's HFS
file system, and conceptually comparable to the more general use of MIME Types by the Be Operating System
(BeOS), or magic numbers in Unix systems (though the latter is stored as part of the file, not as metadata).
RISC OS brought in E (and later F) format for double and high density discs respectively. These formats support file fragmentation (with the so-called "new map"). RISC OS 4 added E+ format which allowed for long filenames and more than 77 files per directory. More recent versions of RISC OS, including those for Iyonix, continue to provide ADFS, and have further extended it to cope with larger hard disc sizes.
Unlike the 8 bit implementation, ADFS as implemented on RISC OS is not monolithic. A system module called "ADFS" provides no more than the block driver and user interfaces, where the "FileCore" module contains the actual file system implementation, and FileSwitch contains the VFS and high-level file-access API implementations. This allows for other hardware to use the ADFS format easily, such as IDEFS (commonly used for IDE add-on cards), SCSIFS, and the network-aware AppFS. FileCore and FileSwitch's functions are in some ways similar to the IFS and IO system managers in Windows NT. This flexibility has allowed other filing systems to be implemented into RISC OS relatively easily.
kernel has ADFS support for E format and later.
NetBSD
has filecore support in NetBSD 1.4 onwards.
Tools such as Omniflop (in Windows 2000 and later), and Libdsk support permit the 'physical' layout of ADFS floppies to be read on PC systems utilising an internal drive. However the logical structure remains unimplemented.
RISC OS
RISC OS is a computer operating system originally developed by Acorn Computers Ltd in Cambridge, England for their range of desktop computers, based on their own ARM architecture. First released in 1987, under the name Arthur, the subsequent iteration was renamed as in 1988...
based successors. Initially based on the rare Acorn Winchester Filing System, it was renamed to the Advanced Disc Filing System when support for floppy discs was added (utilising a WD1770 floppy disc controller) and on later 32 bit systems a variant of a PC style floppy controller.
Acorn's original Disc Filing System
Disc Filing System
The Disc Filing System is a computer file system developed by Acorn Computers Ltd, and introduced in 1982 for the Acorn BBC Microcomputer. It was shipped as a ROM to be inserted onto the BBC Micro's motherboard. It has an extremely limited design, and uses a flat directory structure...
was rather limited in that few files could be stored on a disk, and directory and file names were restricted to a minimum of 1 and a maximum of 7 characters. The Disc Filing System's limitations were in part due to its basis on the disc firmware used in the earlier Acorn Atom and System 3–5 Eurocard computers. To overcome some of these restrictions Acorn developed ADFS. The most dramatic change was the introduction of a hierarchical directory structure. The filename length increased from 7 to 10 letters and the number of files in a directory expanded to 47. It retained some superficial attributes from DFS; the directory separator continued to be a dot and
$
now indicated the hierarchical root of the filesystem. "^
" (minus the quotes) was used to refer to the parent directory and "\
" was the previously visited directory.8-bit usage
ADFS on 8-bit systems required a WD1770 or later 1772 series floppy controller, owing to the inability of the original Intel 8271 chip to cope with the double density format ADFS required. ADFS could however be used to support a hard disc without a 1770 controller present. The 1770 floppy controller was directly incorporated into the design of the Master Series and B+ models, and was available as an 'upgrade' board for the earlier Model B. The Acorn Electron's floppy interface (Acorn Plus 3) was an add-on unit, initially available through Acorn and later Pres (aka Advanced Computer Products).ADFS supported hard discs, and 3½" floppy discs formatted up to 640 KB capacity using double density MFM
Modified Frequency Modulation
Modified Frequency Modulation, commonly MFM, is a line coding scheme used to encode the actual data-bits on most floppy disk formats, hardware examples include Amiga, most CP/M machines as well as IBM PC compatibles. Early hard disk drives also used this coding.MFM is a modification to the original...
encoding (L format; single-sided disks were supported with the S format (160 KB) and M format (320 KB)). ADFS as implemented in the BBC microcomputer system (and later RISC OS) never had support for single density floppies.
Hard disc support in ADFS used a modified format, and interfaced to a SCSI based Winchester unit via the BBC Micro's 1 MHz Bus. Support for IDE/ATAPI style drives has been added 'unofficially' by third parties in recent years.
32-bit usage (Arthur and RISC OS)
On 32-bit systems, a WD 1770 or 1772 was initially used as a floppy controller on the early machines of the range. Later models utilised a PC style multi-I/O controller requiring slight changes to ADFS. In addition to legacy support for the 'L' type format, Arthur and later RISC OSRISC OS
RISC OS is a computer operating system originally developed by Acorn Computers Ltd in Cambridge, England for their range of desktop computers, based on their own ARM architecture. First released in 1987, under the name Arthur, the subsequent iteration was renamed as in 1988...
provided enhanced formats which overcome the limitations of the BBC Micro.
Arthur added D format with 77 entries per directory as opposed to the previous 47, also usable on hard discs and a new 800 KB double density floppy format. A per-file "type" attribute was added in space previously used to store Load and Execute addresses. The 12 bits of type information is used to denote the contents or intended use of a file, typically presented as three hexadecimal
Hexadecimal
In mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...
digits. This is similar to the 32-bit type attributes stored in Apple's HFS
Hierarchical File System
Hierarchical File System is a file system developed by Apple Inc. for use in computer systems running Mac OS. Originally designed for use on floppy and hard disks, it can also be found on read-only media such as CD-ROMs...
file system, and conceptually comparable to the more general use of MIME Types by the Be Operating System
BeOS
BeOS is an operating system for personal computers which began development by Be Inc. in 1991. It was first written to run on BeBox hardware. BeOS was optimized for digital media work and was written to take advantage of modern hardware facilities such as symmetric multiprocessing by utilizing...
(BeOS), or magic numbers in Unix systems (though the latter is stored as part of the file, not as metadata).
RISC OS brought in E (and later F) format for double and high density discs respectively. These formats support file fragmentation (with the so-called "new map"). RISC OS 4 added E+ format which allowed for long filenames and more than 77 files per directory. More recent versions of RISC OS, including those for Iyonix, continue to provide ADFS, and have further extended it to cope with larger hard disc sizes.
Unlike the 8 bit implementation, ADFS as implemented on RISC OS is not monolithic. A system module called "ADFS" provides no more than the block driver and user interfaces, where the "FileCore" module contains the actual file system implementation, and FileSwitch contains the VFS and high-level file-access API implementations. This allows for other hardware to use the ADFS format easily, such as IDEFS (commonly used for IDE add-on cards), SCSIFS, and the network-aware AppFS. FileCore and FileSwitch's functions are in some ways similar to the IFS and IO system managers in Windows NT. This flexibility has allowed other filing systems to be implemented into RISC OS relatively easily.
Support for ADFS on other platforms
The LinuxLinux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
kernel has ADFS support for E format and later.
NetBSD
NetBSD
NetBSD is a freely available open source version of the Berkeley Software Distribution Unix operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed. The NetBSD project is primarily focused on high quality design,...
has filecore support in NetBSD 1.4 onwards.
Tools such as Omniflop (in Windows 2000 and later), and Libdsk support permit the 'physical' layout of ADFS floppies to be read on PC systems utilising an internal drive. However the logical structure remains unimplemented.