3

In addition to my other related question Is it possible to read floppy disks at non-standard rotation speeds (RPM)?.

How to determine the required RPM for a 3.5-inch floppy disk as disks can apparently require different speeds? How does a floppy drive know what RPM speed to use and if it is compatible with that disk?

2
  • 2
    The rotation speed doesn’t matter very much - if you double the speed then the data rate will double, and provided that the read/write circuitry can operate at that speed, the disk is usable. So the drive can spin the disk at any speed within reason provided that the data path can provide the correct data rate.
    – Frog
    Commented Jan 2, 2022 at 20:29
  • @Frog That is true, but a system usually works with one or few different data rates, so even if you can double the RPM, you typically can't double the speed at which the floppy controller operates. And if you can, the original software routines may not be compatible with it if they expect the original RPM, so they would need to be rewritten too.
    – Justme
    Commented Jan 2, 2022 at 21:43

3 Answers 3

6

How to determine the required RPM for a 3.5-inch floppy disk as disks can apparently require different speeds?

Now, or back then?

In general, drive speeds are rather fixed with disk type and system.

Speed for most systems is 300 or 360 RPM, except a few outliers and variable speed drives.

How does a floppy drive know what RPM speed to use and if it is compatible with that disk?

Err ... because it is compatible? A non compatible disk will simply not read satisfactory. Compatibility is reached by building a system with the same parameters. All parameters of a floppy format, including the default RPM, are system specific. Thus no need to adjust outside of what it is made for.

Without any further ado IBM PC drives will only read IBM PC disks of the same type. Same for Apple drives doing Apple disks and so on.

For example the IBM 3.5 inch drives always rotate at 300 RPM. No matter if formatted for 320 KiB or 2880 KiB capacity. Selecting the right read/write parameters is a different story.

Similar a 5.25 inch HD drive will always rotate at 360 RPM. Compatibility with DD (as bad as it worked out) is done by modifying the read/write speed by 5/6th in the controller and double stepping.


[Addendum: The questions you're issuing in fast sequence sound a bit as if you're beating around the bush without much target to look for. It might be helpful to separate in drive detection vs. media/format detection, as well as maybe adding for what purpose the information is needed.]

3
  • Thanks for the detailed answer. I am indeed asking some seemingly random questions specifically regarding floppy technology as I am working on a hobby project that involves floppies and I am trying to get a better and broader understanding of different aspects of this tech.
    – Bob Ortiz
    Commented Jan 3, 2022 at 1:12
  • 2
    @BobOrtiz Well, I might help if you specify why you're looking for a certain information, or directly ask for specific help. Otherwise this vague questions will only generate vague, not really helpful answers. Floppy technology is a huge area going all the way back to magnetic tapes, based on quite interlocked low level technologies. Depending on your project it might be helpful to start of in learning the basics of this technology - like magnetic storage and controllers, before going high level. Especially if you want to leave the beaten path.
    – Raffzahn
    Commented Jan 3, 2022 at 1:17
  • Thanks. I will try to be more specific in my other questions but sometimes broad questions serve a different purpose and actually help to gain a broader insight that leads to more specific questions.
    – Bob Ortiz
    Commented Jan 3, 2022 at 1:24
4

The drive does not know the correct RPM for any given floppy disk and it does not need to. The drive rotates all floppies inserted to it at the speed the drive is manufactured to run, and thus different systems may rotate the floppies at different speeds by design and it also means drives may not be interchangeable between systems due to their differences.

Generally you have a computer system with a certain drive that runs at certain RPM, and just use it with floppies formatted for the system in the drive. The floppies may or may not be readable in another system, due to differences in the RPM, data rate, data encoding such as FM/MFM, data formatting (sector size, sectors per track, index marks) and file system.

Fo example, an Amiga hardware can read IBM PC format floppies, but IBM PC hardware can't read Amiga format floppies.

6
  • And how would a user know? What would be indicators for that? It seems to me that the information printed on floppy disks in highly non-consistent and there are tons of different models.
    – Bob Ortiz
    Commented Jan 2, 2022 at 20:25
  • 2
    It is not about the physical floppy either. The floppy disks are all alike. If you bought unformatted disks, you needed to format them with the system to be able to use them with the system. Sometimes floppies were sold pre-formatted, typically 3.5" disks were pre-formatted so they could be directly used with IBM PC compatibles without formatting. Basically, you would write on the floppies "My Amiga Stuff" and "My PC Stuff" to know which floppy is for which system if you had multiple systems.
    – Justme
    Commented Jan 2, 2022 at 21:35
  • @Justme, Re, "the floppy disks are all alike." Except, back in the pre 3.5" days, some media were hard sectored, and others were soft sectored: retrocomputing.stackexchange.com/q/2484 and some were single-sided while others were double-sided. And then, among 3.5" disks, there were "DD," "HD," and "ED" varieties. en.wikipedia.org/wiki/Floppy_disk#3%C2%BD-inch_disk Commented Jan 5, 2022 at 14:22
  • @SolomonSlow Yes, what I meant by that was that a given a certain floppy, such as 3.5" DS DD, they are all alike, and same floppy type can be used in different systems that run at different speeds (after formatting), so the parameters such as RPM is not and can not be determined by the floppy. Of course, floppies with different data storage densities did exist.
    – Justme
    Commented Jan 5, 2022 at 14:57
  • A lot about this is wrong. Floppies spun at standard speeds, but more important is that the recorded signal itself encodes the clock pulses. That is how the drive knows how to read with correct timings without having to match the exact RPM the disk was recorded at and allows floppies to reliably interoperate between systems. The reason Amiga floppies can't be read by PC is because PC controllers are very inflexible in what encodings it understands, not because the RPM or bitrates aren't compatible. Amiga can read/write PC format floppies, because it uses software decoding instead of hardware.
    – tylisirn
    Commented Sep 30, 2022 at 0:11
1

"How to determine the required RPM for a 3.5-inch floppy disk as disks can apparently require different speeds?" -> I think there's some confusion between drive rotation speed, which is standard (all 3.5" drives are supposed to rotate at the same speed) and is expressed in RPM (300 RPM for any 3.5" drive), and read/write speed, which depends on floppy disk formatting density and is expressed in kbit/s (250 kbit/s for a DD floppy disk, 500 kbit/s for an HD floppy disk).

The computer doesn't know which type of floppy disk is inserted (DD or HD), but it does when it reads it:

  • an HD-formatted floppy disk is the only one that sends pulses as short as 2 microseconds
  • a DD-formatted diskette is the only one to send pulses as long as 8 microseconds

But what about writing? An HD diskette has a hole in the bottom right-hand corner (absent on a DD diskette) which tells the drive to switch to HD mode (lower current for writing on the more sensitive surface). If an HD floppy disk is inserted in the drive and the computer writes to it by mistake in DD mode (250 kbit/s), it will find that the pulses are not written correctly (an 8-microsecond pulse will be read back as two 4-microsecond pulses, for example, because of the HD current corrector in the drive head).

Conversely, if a DD floppy disk is inserted (the drive switches to higher current) and the computer tries to write to it in HD mode, the overly high current in the head will be unable to write to the surface a pulse as short as 2 microseconds, and the computer will verify that the write has failed.

In both cases, the host operating system will display a read/write error.

To be clear: the error comes first because the current in the head is not adapted to the speed of reading/writing. A HD floppy disk with some tape on its HD hole, can be DD formatted since the level of current will then match the speed of reading/writing.

RPM differences arise with 5.25" drives: HD drives spin at 360 RPM and DD drives spin at 300 RPM. This time, the host computer is perfectly aware of the speed because the floppy disks have an index hole near their center that sends a pulse to the index wire of the cable every time the index hole pass near the index probe. So the host OS chooses the speed of writing accordingly :

  • if the rotation speed is 300 RPM, then it can only read/write DD content at 250 kbit/s
  • if the rotation speed is 360 RPM, then, when it wants to write HD content, it sends data to the drive at 500 kbit/s (and sends a signal on wire #2 of the cable to tell the drive to switch to low current). And When it wants to write DD content, it sends data to the drive at 300 kbit/s. And for reading, it's the same case as 3.5" drives : pulses as short as 2 microseconds will tell it's a HD formatted floppy disk, pulses as long as 6,67 microseconds will tell it's a DD formatted floppy. Level of current not adapted to read/write rate will trigger a problem.

One special case is the Amiga HD drive (Chinon FB/FZ-357A on Amiga 3000/4000) that spins at 150 RPM when a HD disk is inserted, while it spins at 300 RPM when it doesn't detect the HD hole. That's because the Amiga chipset is only able to read/write floppy data at 250 kbit/s, no more. So dividing by 2 the RPM makes a rate of 250 kbit/s to write twice more data per rotation, so per track. In this case, the Amiga is also aware of the presence of the HD floppy disk because of the index signal that comes twice less often. Then, AmigaOS will expect tracks of 22 sectors, while they have 11 sectors in DD mode.

Commodore 8-bit, Apple II and first Macintosh have other speeds in kbit/s because their floppy disks are not encoded in FM or MFM (as all other computers do) ; they are encoded in GCR mode. But it's their own speed and the controller on any other computer is unable to decode/encode GCR. So the problem to know the speed of a Commodore 64 floppy disk on a PC, for instance, doesn't exist.

And if you wonder why you can't read Amiga floppy disks on a PC, for example, since they both use MFM encoding, this is not related to speed. They have the same speed, in RPM and in kbit/s. It's just because Amiga dumps a complete track in its memory, while other computer are limited by the buffer of their controller to one sector at a time. So the Amiga writes its tracks with no gap in between sectors, and can store 11 512-bytes sectors per track (in DD mode), while a PC has to manage gaps between sectors (because of the latency to fill/empty the controller buffer), and can't manage more than 9 sectors (sometimes 10) per track.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .