23

I remember using a utility back in MS Dos 3.3 days, called maxi-disk, that somehow magically managed to get 420K on a 360K 5 1/4" disks. I assume it managed it by destroying some redundancy like a backup FAT.

How did it work? Were there other tricks to "get more space"? I also remember doublespace but that was compression and not special formats/drivers/physical storage tricks.

  • 5
    We used to puchase single sided floppies then punch the hole to make them work as double - about a 95% success rate and saved us a packet - as poor engineering students with an understanding of stats and bulk testing by manufacturers... :) – Solar Mike Nov 17 at 4:47
  • 5
    Technically, the written/printed label on the floppy disk counts as extra data literally put on the floppy disk, albeit not machine readable. – rackandboneman Nov 17 at 15:28
  • 1
    @rackandboneman hah I love it! You could print barcodes to deal with the machine-readable aspect ;-). – Stephen Kitt Nov 17 at 21:24
21

420K was common for 360K floppies (not only on PC) it was done like this:

  1. increasing number of sectors

    original format has 9 sectors per track but there is space for 10 (the physical gaps are smaller but the formatted gaps are still the same).

  2. increasing number of tracks

    original format has 40 tracks but floppy is big enough and most (I mean all) drives can handle 42 tracks and some even 43 tracks. So using 42 tracks is sort of safe too.

Both combined lead to:

10*512(sectors)*2(sides)*42(tracks) = 430080 Byte = 420 KiByte

from:

9*512(sectors)*2(sides)*40(tracks) = 368640 Byte = 360 KiByte

So there are no file system changes happening, all is just physical formatting...

We used this on ZX Spectrum and D40 all the time...

No tool was needed on ZX to use this you just manually select the formatting parameters (number of sectors and tracks) while formatting the floppy disc.

On PC (MS-DOS) there is the

FORMAT A: /T:42 /N:10

however newer versions I have access to right now consider those values as illegal (not sure if old format did that too or its just that I do not have a floppy drive installed) so in case it does you need some kind of format utility that accepts such parameters ... But I do not remember using different formatting utility for this on PC... The only one we used was FHformat for low level 1.44MByte flopies format to make them reusable ...

  • One thing i'm still not clear on - this worked across machines, so the "shape" of the disk would need to be written on the disk somehow - But to read the disk you need to know how the data is encoded/shaped. Catch 22 ? – user230910 Nov 17 at 23:01
  • 2
    number of sectors and tracks are stored in filesystem (usually in sector 0) and its handled by OS, the physical location of sectors on medium is encoded by markers on the medium which are just bunch of specific numbers ... and its encoded/decoded directly by the FDC itself that is also the reason for incompatibilities between some FDCs as they used slightly different markers back in the days that is why you can not read some old MDOS disc directly on PC but you can read PC discs on MDOS etc ... – Spektre Nov 17 at 23:15
15

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.

Further tweaks

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 FDREAD for 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.

  • 3
    Floppy disks were originally one sided. Two side disks were an improvement. – MaxW Nov 18 at 5:36
7

There were tools such as 2M and fdformat that were able to use non-standard floppy formats. The data rate is fixed, but by shortening the gaps between sectors it was possible to increase the number of sectors per track. On some drives it was also possible to increase the amount of tracks on the disk, but it depends on the actual drive how many if any extra tracks were possible, so it was not that compatible to do that. Even without changing the physical formatting, formatting the file system with only 1 FAT or reducing the amount of root directory entries did make more sectors available for storing files.

According to Maxi Disk website and it works exactly as mentioned above.

6

The "busman's punch" from Solar Mike's comment was common in the 8 inch days. Disks were sold as "SSSD" (Single Sided, Single Density) and there was a hole in the sleeve near the hub, offset from the head slot, aligned with an optical sensor. When a hole in the disk passed under this hole. the sensor generated an "index pulse" to signal the start of a track.

By punching a symmetrically offset hole (in each side of the sleeve separately, to avoid punching through the disk itself), you could insert the disk upside down, and use the other side, doubling its storage. (The media was always coated both sides, but the back side wasn't guaranteed ... in practice it was almost always fine).

This saved the premium for DSSD (Double Sided) disks, storing 480K instead of 240K.

With the right drive electronics, another punched hole would illuminate a second sensor. (Add a label covering the first hole!) This told the drive the disk was certified for "DSDD"(Double Sided, Double Density) operation giving almost 1 MB per drive - with the convenience of a head on each side, so no need to turn the disk over. (Of course, if your drive doesn't support Double Density, this doesn't work)

That's about all a hacker could do ... but at least, Burroughs in 1980 had re-engineered the whole floppy drive, with hard sleeves and shutters like the much later 3.5" drives, much closer track spacing, tribit tracks for thermal calibration, and were getting 10MB from a dual 8" drive (5MB/disk). That's in the same ballpark as some hard drives of the time (I don't know if these were used outside the Burroughs B80 office systems) Burroughs' own hard drives used 14 inch platters, from 20MB (1 platter) to 80MB (4 platters).

3

Each track of a normal floppy disk contains one repetition per sector of the sequence:

  • Sync pattern; sector header; short space; sync pattern; sector data; longer space

When a computer is asked to read a sector, it looks for a sync pattern followed by a header for the desired sector. It will then ask the controller to look for a sync pattern and grab whatever follows.

When a computer is asked to write a sector, it looks for a sync pattern followed by a header for the desired sector. It will then instruct the controller to start blindly overwriting whatever was on the disk with a sync pattern followed immediately by a quantity of supplied data.

When a drive is reading data, it will automatically adjust the data rate to match what was written, within a fairly broad tolerance (even +/-20% would likely not pose a problem). Data will generally be written at a fixed speed, however. Thus, the physical length of the data stripe written by the drive will vary based upon the rotational speed of the drive. If the length of the data happens to be long enough to reach the sync pattern for the start of the next sector, that next sector of data will be destroyed. The inter-sector gaps are often sized somewhat generously to ensure that this won't happen.

If one has a disk which will be written all in one go, without any need to update individual sectors, all but one of the inter-sector gaps (the one between the last sector and the first) can be eliminated. This will allow significantly more data to be written on the disk than would otherwise be possible, at the cost of being unable to update an individual sectors without trashing the next sector on the track. Such an approach might even be usable with certain "incremental" update strategies, but I'm unaware of any efforts to use such things other than with disks that would be mastered once and not written to after that.

  • Is this purely theoretical, or were disks like this actually produced? – TenMinJoe Nov 18 at 8:29
  • 2
    Prince of Persia did this on the Apple II to write 4.5kbytes/track, instead of 4kbytes, and I think such techniques are the way Microsoft squeezed 1.6MB on 1.44MB disks. – supercat Nov 18 at 15:44
3

Someone used to make disk drives that spun faster when the head(s) were on outer tracks, so that those tracks could hold more bits.

Correction: slower, not faster (see comments).

  • If the disks rotate faster, the time for a "round" gets shorter. This will give less space for bits, no? Doesn't it have to be the other way, outer tracks rotate slower to keep the transversal speed comparable to the inner tracks? – the busybee Nov 16 at 16:46
  • 1
    See this question for more on the topic of CLV mechanisms. – Stephen Kitt Nov 16 at 17:01
  • 1
    Someone is a great understatement. It has been developed many times from different manufacturers, as it's quite obvious. In fact, it has even be used as early as with phonographs. Most notable example with micro computers would be Apple Twiggy drive as well as the later Mac drives - but as well original Audio CD and in turn any PC CD-drive. – Raffzahn Nov 16 at 19:04
  • 1
    I knew about CDs, but OP was asking about floppies. Apple is the only one I knew of for those. Said "someone" in case (after more than thirty years) I was remembering the manufacturer wrong. – WGroleau Nov 16 at 19:26
  • 1
    Plus 1 because I read all the other answers expecting to see this and didn’t. – Solar Mike Nov 17 at 4:45
3

Both Microsoft and IBM had their own distribution disk formats.

Microsoft had DMF, which allowed the disk to contain 1680 kB of data on a 3½-inch disk, instead of the standard 1440 kB. It was used for software distribution. It worked by increasing the cluster size and sector count but cutting down the FAT.

IBM used XDF format for software distribution, which could go up to 1860 kB, using similar techniques.

  • 1
    DMF did not increase sector size, it still has 512-byte sectors. There are just more sectors per track. – Justme Nov 16 at 20:43
  • 1
    No source I found claimed larger sector sizes, but they listed the actual sector number per track which is higher, so sector size is not changed. What source claims this? It would be extremely unusual to find support for sector sizes other than 512 in PCs. Are you sure you are not confusing this with cluster size which has been increased from 1 sector to 2 or 4 sectors to bring the FAT area down? – Justme Nov 17 at 9:34
  • 1
    DMF is FDFORMAT C4 N21 T10 D16 M240. 2M varied the sector size, and possibly XDF too (I don’t remember off-hand), but DMF stuck to 512 bytes. – Stephen Kitt Nov 17 at 12:46
  • 1
    Sectors had a gap between them, so that you could turn write current on or off in the gap without corrupting adjacent sectors. For distribution disks, which are only written once, it makes sense you can reduce or eliminate this gap and cram in a few more sectors. – Brian Drummond Nov 17 at 16:15
  • 1
    @BrianDrummond: The gap isn't just to allow current to be turned off, but to allow for variations in drive speed. If a disk would only be written by drives that were on the slow end of the tolerance range, one could get by with smaller gaps than are needed if a disk might be written with a faster-spinning drive. – supercat Nov 17 at 19:49
2

For Apple II diskettes, some games used one "sector" per track, thus using all the sector header and inter-sector space on each track for more data. This is because all the sectoring was "soft" and done strictly in software (custom RWTS code).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.