Floppy Drives

There have been a number of different floppy formats used on small computers. Note that while I have listed versions of MSDOS that supported various floppy formats, that's MSDOS as shipped by IBM for the PC and compatibles. MSDOS was actually a device idependant OS, you could have written BIOS drivers for MSDOS v1 to support 1.44MB 3.5" disks...just no one did. For example, Zenith's Z100 MSDOS v1 supported both hard disks and 1.2MB 8" floppy drives that the PC didn't support on MSDOS v1 (not that MSDOS without subdirectories was much fun on a "big" hard disk!).

IBM PC and IBM XT (8088)

The original IBM PC shipped with 5.25" floppy drives. Some early ones were single sided, most (and as far as I am aware, all PC compatibles) were double sided. I'm going to ignore for the moment that the floppy was not standard on the PC at all -- the base PC had a cassette tape interface. I'm going to pretend that just didn't exist, the floppy was standard. I'm also going to pretend the single sided floppy didn't exist on the PC, most of what I have to say here doesn't change either way. If you find an IBM PC with a single sided floppy drive, you have something unusual. Valuable? eh. But definitely unusual.

The sector size on a floppy disk (PC compatibles, many other computers) was 512 bytes. Each sector has a non-trivial gap between them by design; this makes it easier to change one sector rather than rewriting a whole track. A lot of potential disk space was wasted with these gaps.

MSDOS v1 supported 8 sectors per track, giving a capacity of 320kB per disk, MSDOS v2 and later supported 9 sectors per track, giving 360k per disk. The 320k out of eight sectors per track was fairly standard in the day, the ninth sector came from reducing the gap between sectors, not increasing the data rate or the density on the floppy, so I am not aware of any reliability issue with the extra capacity. It was a trick that was either going to work or not, and the floppy controller hardware worked with nine sectors.

Note that I will say "MSDOS vWhatever supported" ...but this is shorthand for "on the IBM PC compatible systems". MSDOS was actually a lot more flexible that people realize. MSDOS v1 could support 8" floppies, 3.5" floppies, hard disks, whatever you wrote a support for into it. I have a computer where MSDOS v1 supported 8" 1.2MM floppies and hard disks, but it was not PC compatible. The added hardware support coinsided with various versions of MSDOS on the PC, but it wasn't the core of MSDOS itself that provided that support, but since the PC is so standard, it makes a useful shorthand.

There was complete two-way compatibility between eight sector (160k/320k) and nine sector (180k/360k) floppies and drives on MSDOS v2 and later. MSDOS v1 did not read or write the nine sector disks.

Single sided drives could read and write media formatted single sided, but could not make sense of double sided media. A double sided formatted floppy would have to be reformatted to work on a single sided drive. Note the second side would still have the data on it, as a single sided drive can't erase data on the "other" side, but most OSs will figure out the format from data on side 0 and ignore the second side on a single-sided format.

Double Sided drives could read, write, and format single or double sided media.

IBM AT (80286 and later)

The IBM AT introduced a new floppy format, the "Quad Density" 1.2MB floppy. They were all double sided (the single sided drive had died a long overdue death by this point). They got the extra capacity by doubling the number of tracks(1) to 80 from 40, and almost doubling the number of sectors per track from 9 to 15. 80 track floppy drives were around long before the IBM PC came out, the use of 40 track floppies was a bit of a surprise to us when the PC came out. But those only got 600-720k per disk, the "quad density" 15 sector drives were new, I'm not aware of anything that used them before the IBM AT. The rotational speed of the media was slightly increased from 300RPM to 360RPM. Between the rotational increase and the increase in the amount of data on each track, there was a big data transfer rate improvement -- and from memory, the step speed of the drives went from 6ms per track to 3ms per track, so all in all, the 1.2MB floppy was over twice as fast at moving the same amount of data as a 360k floppy.

The 1.2M floppy could READ a 360k floppy just fine, but writing to one was generally a bad idea. The 1.2MB floppy head was a lot smaller than the head of the 40 track drive, so the ability of a 360k drive to read a disk writtent to by a 1.2MB drive was at best uncertain. Unfortunately the OS made no attempt to stop you from writing to a 360k disk with a 1.2MB drive, so I would highly suggest actively avoiding it yourself. Just don't do it. In the early days, a lot of people put two floppies on their IBM AT (and compatibles) -- a 1.2MB and a 360k for writing floppies you could be sure all PC & XT owners could read and write to. Also because of the higher data density, the magnetic surface of a 1.2MB disk was different than that of a 360k disk; thus it was not advisable (did not work) to use a 1.2MB floppy on a 360k drive. A 1.2MB floppy would try to format a 360kB floppy as 1.2MB, but ... it would be rather unsuccessful. Again, just don't.

There may be some better results in 360kB disk in a 1.2MB drive compatiblity if you bulk-erase then format the 360k floppy on the 1.2MB drive so you don't end up with a mix of narrow and wide tracks. But I'd still recommend against assuming any kind of compatibility between 360k formatted disks and 1.2MB drives.

Support for the 1.2MB was added with MSDOS v3 which was also required for the IBM PC/ATAT. The 1.2MB floppy DID have a much higher data rate than the 360k floppies, so it requires a different controller than the 360k floppy drives did. All AT class systems included this controller; I have seen 1.2MB add-on controllers for PC/XT class machines, but they are very non-standard and very possibly required some device driver support.

      \                    media
drive  |         360KB       |   1.2MB
-------+-------------------------------------------
 360KB |     read/write      |   NO.
 1.2MB | treat as read only! | read/write

3.5" floppies

There had been a bit of rumbling in the early 1980s about a physically smaller floppy format for sometime, with several competing standards floated, and none gaining market traction until Apple adopted the Sony 3.5" floppy format for the Macintosh, and that answered that question.

A very few battery operated portable computers were made using 5.25" floppy drives -- the Zenth Z-171/Morrow Pivot II being a notable example that did. Smaller computers required smaller drives, so adopting 3.5" standard became an obvious leap.

Electrically, the 3.5" double density drive was basically the same as the 360k floppy, but it had 80 tracks instead of the 40 of the bigger disks, so gave double the storage. But since the rotational speed and the data rate were identical to the 5.25" double density drives, interfacing them to older computers was almost trivial. Key word: almost. Unfortunately, the floppy interface had no way for the drive to signal what kind it was to the operting system, so this was handled by the BIOS. The original PC didn't have options in the BIOS, so there were issues putting 720k floppies on an older PC. However, the first 360k of the 720k floppy was indistinguisable between the formats, so Microsoft added "DRIVER.SYS" to later versions of MSDOS to support the use of 720k floppies on systems that didn't have a way to tell the BIOS "this drive has 80 tracks, not 40".

IF your old PC has a hard disk, you can replace the 5.25" floppy with a 720kB 3.5" with appropriate use of "DRIVER.SYS". But if you are running floppy-only (oh the pain), you had best stick to 5.25" 360k floppy drives unless you know it supported 3.5" floppy drives in the BIOS.

MSDOS v3.2 added support for the 720k floppy drive.

Shortly after the 720k floppies became a thing, it became obvious that the next step would be an equivilent of the 1.2MB floppy on 3.5" format. This actually worked a lot better. They were able to actually double the number of sectors per track from the 720k drives, giving a nice clean doubling of the capacity again, giving the 1.44MB format. Like the 1.2MB floppy, the 1.44 ran at the higher speed of 360RPM. Unlike the 1.2MB, since the head and track physical size was the same as the lower density format, the 1.44MB and 720k formats coexisted much better.

      \           media
drive  |    720kB   |   1.44MB
-------+-------------------------
 720kB | read/write |     no
1.44MB | read/write | read/write

There are some people who will claim there was a compatbility issue between 720kB and 1.44MB floppies, no, there is not. A 1.44MB floppy drive will read and right a perfectly good 720k floppy, usable on a 720k only machine. However, you may well find getting a new, good 720kB floppy is difficult in the 21st century.

MSDOS v3.3 added support for the 1.44MB floppy. The first use of the 3.5" drives by IBM was the PS/2 systems; other companies had been using the 3.5" drives in laptops before that. When IBM jumped to the 3.5" drive, they did so with both feet -- the PS/2 systems didn't actually have a space for the older 5.25" format drives inside them, if you wished to add a 5.25" drive to most PS/2 systems, it was external (and thus...expensive).

2.5" floppy

As laptops became more popular, there was noise about "we need a smaller floppy drive!" A few ideas for a 2.5" floppy were proposed, but the only computer I'm aware of that actually went into production with one was the Zenith MinisPort, and it was a flop on the market. Again, it was electrically and software identical to the 720k floppy, and the OS thought it was just a 720k 3.5" drive -- 80 tracks, 9 sectors per track 300RPM. I put this in here only because 1) I worked for Zenith at the time and 2) I have one of these systems. Otherwise, you can completely forget about the 2.5" floppy, you won't see either the drives nor the media.

The 2.5" floppy died because of the availability of 2.5" hard disks. By this time, most serious users had hard disks on their desktops, and laptops were getting them, too. So when a 2.5" hard disk became available, it was far more desirable to use a hard disk than a floppy in a laptop, if you really needed a floppy, you could plug one in when you get back home. In fact Zenith later upgraded the MinisPort with a 20MB hard disk instead of the floppy, and that actually sold fairly well. At that point, the MinisPort became floppyless and the external floppy add-on became a 3.5"; interest in the 2.5" floppy vanished. Really, you just waisted your time reading this section.

Other changable media:

There were a few more attempts at "bigger, faster" changable media. Some were semi-popular, but none were "standard", like all the standard floppy formats were.

Electrical interface

Generic information

This is applicable to most computers with 3.5" or 5.25" floppy drives. Notable exceptions are Apple products (both II and Mac series) and Commodore products. Which is admittedly, production-wise, a LOT of older computers. But odds are, if your old computer is NOT one of these special cases, they probably use the standard floppy interface. The standard cable is 34 pins. On the original IBM PC, card-edge connectors was used on the disk controller and all the drives; the AT and most PC compatibles used pin connectors on the disk controller. The 5.25" drives have a card-edge connector, the 3.5" drives have a pin connector.

The interface for a floppy is TTL level digital signals. The signals include:

All the signals are on one side of the connector; the other side is all ground pins. The siganls are active low, Open Collector TTL, so they go "low" (ground) or "open" (not connected to ground or 5v), and are pulled up by terminating resistors on the end of the bus. The open collector means that multiple drives can be attached in parallel without complicated disconnection; if the drive is not selected, it's outputs are all "open".

Flipping the 34 pin floppy interface cable upside down would cause the motor to turn on, the drive to be selected, and basically everything that could happen to happen, as all the command signals just got attached to ground, and went active. On old machines this was easy to do accidently, later machines this was made more-or-less very difficult by the addition of a key in the card edge connector on the back of the floppy and a missing pin/plug on the pin connectors. On standard PCs and other systems that use the normal 34 pin cable, this should not be harmful to the drive, but there are some non-standard systems where the power goes through the same cable as the control signals. However most of those systems are newer and generally have a key to prevent the cable from being installed upside down. NOTE that the floppy drive will be trying to write to the disk; any disk in the drive is likely to be damaged if you do this!

Termination

As indicated above, the floppy interface is Open Collector, meaning the logic signals are "low" and "open", external resistors are required to pull the signals "high". In the case of older floppy drives, the termination was provided by a "Termination resistor pack". This resistor pack (or "terminator") should be installed in the last physical drive in on the cable, and removed from all others. On some older drives, the "terminator" wasn't actually a resistor pack, but a set of jumpers that connected the resistors (on the drive's board) to the signal lines.

I've seen the following types:

Obviously, there are benefits to the jumper types, as you don't have to hunt down the right terminator if you lose it. But if you are restoring an old computer, you don't have that option, and when they were new, every shop had a pile of pulled terminating components, so there was never a shortage. Your life is more interesting now.

The IBM PC floppy cable twist

Normal computers (i.e., before the IBM PC) used a single cable, with anywhere from one to four drive connectors and one connection to the floppy disk controller. All the drives were connected in parallel, the drive selection was done by a jumper or similar on the drive itself. Your first, second, third and fourth drive could be in any position on the cable.

The IBM PC changed this, and now a lot of people think this is normal, and I guess, in some regards it is. IF you are restoring an IBM PC, your cable probably goes straight from the controller to a connector, then a few of the wires are twisted and then it goes to a second floppy connector. Unless your NON-PC system was overly influeced by the IBM PC design (I'm not aware of any that were), your floppy cable should be straight all the way through.

The IBM PC (and 99.9% of compatibles) use the twist to determine which drive is the first and which is the second drive. Normally this is..er..was done by the drive select jumper on the drive. The drive AFTER the twist is the first drive (PC users will call it A:), the drive beforet the twist is the second floppy drive (B:).

I can't climb into the heads of the designers of the IBM PC, but I can speculate on why this twist was done.

Put bluntly, this was stupid. It caused a non-trivial impact in floppy performance. Drive manufacturers' specs indicated that a floppy drive should be at full speed within one rotation of the drive -- so you could look at the index hole. The second sighting of the index hole indicated that the drive has made at least one full rotation, and you can start using it. But if you knew the drives were all running already, you only had to wait for the first index sighting to know where the drive was in its rotation. So, assuming the drives were running at full speed, you had to wait an extra 1/300th of a minute (1/5th of a second), but realistically, you had to wait longer because the drive wasn't running at it's full 300RPM, it was coming from a dead stop. Further, most pre-PC systems kept the floppy motors running for a number of seconds after the last floppy access, on the grounds that if you just used the floppy, odds are you may use it again soon. The IBM PC and most compatibles just turned the motor off as soon as the read or write was completed.

A fifth of a second isn't a big deal once, and if you read a lot of data from drive A, then a lot of data from drive B, you weren't talking about a huge pentalty. But if your task involved jumping back and forth between drives, you really felt it.

Some early PC makers with a history of building pre-PC computers and real engineering teams skipped the stupid twist, and ran all floppy motors at the same time as intended. Zenith did this on their early PC compatibles, such as the Z151 and Z161, but dropped this on later systems (I don't recall when it was dropped). Many newer computers support only one floppy drive, and have an untwisted cable; the "twist" is handled on the controller.

When both 3.5" and 5.25" drives were common, a lot of generic machines had floppy cables with FOUR floppy connections -- a cardedge and pin before the twist and a cardedge and pin after the twist. This way, you could use either a 3.5" or 5.25" drive as either A or B. However, you could use only one of each connector on either side of the twist.

There were some interesting dual drives, a 5.25" 1.2MB and a 3.5" 1.44MB drive that fit in a single half-height 5.25" bay. These drives typically had only one connector. They had an internal "twist" between the two drives. Which drive was the A drive was determined by which side of the twist you plugged the dual drive into -- older variations on these assumed the 1.2MB was the "primary", later assumed the 1.44MB floppy was the primary.

Here's a graphic of the twist and what it does. Note that a "normal" 34 pin floppy cable doesn't have two "motor enable" pins.
(graphic is not mine, stolen from someone who stole it from someone else. If you can make a convicing argument this is your image and wish me to remove it or just give you credit, please let me know)

8" floppies

The 8" floppy was never a "normal" configuration for IBM PCs. Yes, there were companies that made packages of drive, enclosure and controller.

The 8" drive interface was similar in many regard to the 34pin 5.25"/3.5" interface, but had some differences. The 8" floppy drive interface was a 50 pin connection. The power requirements for 8" drives was 5V for logic and 24V for the steppers and headload solonoid. Most older drives also used a direct AC feed to power the spindle motor that rotated the floppy disk. Typically, those were synchronous motors, so the drive had to be sold for 120V 60Hz or 240V 50Hz power; so if you are moving a computer with 8" floppies between a 240V 50Hz country and a 120v 60Hz country, you have a problem beyond supply voltage. 8" drives typically spun at 360RPM instead of 300RPM like older 5.25" drives, but same speed as the 1.2MB 5.25" drive.

Two very different operational details between 8" and 5.25" drives: Older, AC powered 8" drives generally had the spindles running all the time the computer was running. There was no "motor on" signal, the motor was always on. The other difference was the "head load" function: while the drive was always spinning, the head was only on the disk surface when the drive was actually in use. So...your 8" drives always had a slight noise coming from them as they spun, then you would hear a "THUNK" as the head loads (contacts the disk), stepping as the data was read, then another "THUNK" as the head unloaded.

Later 8" drives eliminated the AC motor, and spun the disk from the 24v line, and adopted the 5.25" "motor on demand" feature. Honestly, haven't looked too closely at this, but I believe the motor was activated from the head-load signal, though I'm not sure. I have used old AC powered, "always spinning" 8" floppies on a system that was designed for DC powered "on demand" drives and had no issues. I could see potential issues using "newer" (less old?) on-dmenad drives on an OS that assumed the drive was always at speed, but I haven't done this, so I can't say for sure.

Notes

(1) TECHNICALLY, a track is one stream of data on one side of a disk; we should call the top and bottom pair of tracks a "cylinder" -- all the tracks accessible without moving the heads of the drive. Unfortunately, floppy terminology came about when most floppies were single sided, so "tracks = cylinders". Unfortunately this convention was very well established when double sided drives came along. Hard drives use different terminology -- one track is one ring on one side of one platter, a cylinder is all the tracks that can be accessed without moving the heads. I'll continue to use floppy terminogy here for floppies and drive terminology for drives, just be aware there is a difference.


 
 

Holland Consulting home page
Contact Holland Consulting
 

since February 4, 2022

Copyright 2022, Nick Holland, Holland Consulting