Floppy disks store data on each side, in tracks, each track split into sectors, with gaps between each sector. On top of that comes the file system, FAT for DOS-compatible systems, which defines how data is stored in sectors, and how much space is used for metadata.
Based on this, using the PC’s disk controller, there are two main ways to increase a floppy’s data storage capacity:
- increase the number of tracks, sectors, and/or reduce the gaps
- reduce the amount of space taken by metadata
Increasing tracks etc.
The standard formats are as follows:
- 9 (double density), 15 (5.25” high density), or 18 sectors per track (3.5” high density)
- 40 tracks (5.25” double density) or 80 tracks per side
With 512-byte sectors, this produces the standard capacities: 360K, 720K, 1.2M, 1.44M.
A number of tools allow disks to be formatted with increased capacity. The most famous of these, and the most flexible, is Christoph H. Hochstätter’s
FDFORMAT. This allows all the physical parameters to be tweaked, up to the maximum values supported by drives:
- 41 or 82 tracks (more in some drives, but then disks become harder to read in other drives)
- 10 sectors per track on DD disks, 18 on 5.25” HD, 21 on 3.5” HD
Thus without changing the data format, you can format disks up to 410K (5.25” DD), 820K (3.5” DD), 1.48M (5.25” HD), and 1.72M (3.5” HD).
By pushing the tracks a little on 5.25” disks, to 42, and 10 sectors, you get your 420K format:
FDFORMAT N10 T42
Reducing metadata overhead
FDFORMAT also supports variations in the FAT generated:
- number of sectors per cluster
- number of root directory entries
Depending on the purpose of the disk, this can be useful to increase the amount of storage available. This is what Microsoft did for its DMF format, used for installation disks (which contain a small number of large files); these provide 1.68M by using 21 sectors per track, 80 tracks, 4 sectors per cluster, and 16 directory entries.
To reach even larger capacities, as used for example in IBM’s XDF format or the various 2M formats, you need other tweaks: reducing the gap size, changing the data rate, varying the sector size, and in 2M’s case dropping the FAT backup. 2M and XDF also vary the format between the first track and the rest of the disk, so that DOS can still read the first track.
Many of these disk formats aren’t directly supported under DOS, you’d need TSRs to read the disks (such as
FDFORMAT). The best PC operating system for reading PC floppies is now Linux, which has built-in support for all
FDFORMAT formats, most 2M formats, and XDF.