ECMA defined a filesystem for floppy disks which appears to take inspiration from the tape labels used on mainframe and minicomputer tape systems (note the use of "VOL1" and "HDR1" labels). It was published in successive updates across three ECMA standards:
- ECMA-58: Flexible disk cartridge labelling and file structure for information interchange (2nd edition, January 1981)
- ECMA-67: 130 mm flexible disk cartridge labelling and file structure (1st edition, January 1981)
- ECMA-91: Flexible disk cartridges - File structure and labelling for information interchange (1st edition, March 1984)
(I haven't studied the differences between those three standards in detail, but from a cursory inspection they all appear to share the same basic disk layout.)
The disk layout was based on reserving cylinder 0 (the "Index Cylinder") for storing metadata, as follows (based on ECMA-91 March 1984 page 7):
Side | Sector | Use |
---|---|---|
0 | 1 to 4 | reserved for system use (likely used for boot loader or proprietary extensions) |
0 | 5 | Error Map label (ERMAP) |
0 | 6 | reserved for future standardisation |
0 | 7 | Volume label (VOL1) |
0 | 8 to end | File labels (HDR1) |
1 | 0 to end | File labels (HDR1) |
It has some interesting features which suggest to me that it was primarily intended for use with minicomputer and mainframe systems rather than with microcomputers:
- Support for multivolume files (a single file spanning multiple floppy disks)
- files contain either fixed-length, variable-length or "segmented", with a specified record length, and blocked or unblocked records. Unblocked means a single file record per a disk sector. Blocked means a disk record can contain multiple file records. Variable-length records are prefixed with a record control word (RCW) to give the record-length. The difference between "variable-length" and "segmented", is in fixed and variable-length records the whole record must fit in a single disk sector, whereas segmented records are variable length records allowed to span disk sectors
- file expiration dates
- primitive access control – each file, or the volume as a whole, can be associated with a single letter (the "accessibility indicator") which indicates who is allowed to access it
- recording file organisation as sequential (
S
). This left open the standard to support non-sequential files (such as indexed files) in the future, although such support was never standardised - the index cylinder should be formatted with 128 byte sectors, but subsequent cylinders can be formatted with 128, 256, 512 or 1024 byte sectors. And if the index cylinder is formatted with sectors bigger than 128 bytes, only the first 128 bytes of each sector should be used
- use of a flag byte in the sector header to mark sectors as deleted (
D
) or defective (F
)
Later, ECMA standardised FAT (as ECMA-107: Volume and file structure of disk cartridges for information interchange, 2nd edition, June 1995), and later ECMA floppy disk standards (such as ECMA-78: Data interchange on 130 mm flexible disk cartridges using MFM recording at 7 958 ftprad on 80 tracks on each side, 2nd edition, June 1986) allowed a choice of either the ECMA-58/67/91 filesystem or the FAT-compatible ECMA-107.
My question is: which operating systems supported the ECMA-58/67/91 floppy disk filesystem? I've searched for information on this but can't find anything information about implementations of the standards as opposed to the standards themselves.