PDA

View Full Version : Floppy disk exact data units



Naguissa
April 11th, 2018, 12:34 AM
I'm studying floppy drives inners, starting by 3,5" 720KB/1MB (formatted/raw) drives, and I arrived to this page: http://minuszerodegrees.net/diskette/some_floppy_maths.htm

Specifically, this part:

44963

About MB part, I've calculated that 1MB = 1000Kb. But, what about KB part? It's 1000B or 1024B?


I post this question here because in index there's a note telling to ask questions or support in this forum.



Thanks

Chuck(G)
April 11th, 2018, 08:35 AM
Floppy disk nomenclature has been a mess from early on.

1K = 1024 bytes unless it doesn't.

For example, a 360K disk has 720 x 512 byte sectors (in normal IBM PC formatting). Note that the format on floppies is "soft"; that is, the same 2-sided 48 track-per-inch floppy can be formatted to have 8 or 10 sectors per track. Early 5.25" drives were spec-ed for only 35 cylinders--and 77-cylinder (100 tpi) and 80 (96 tpi) drives also exist--but it's the same media.

But everyone will still call it a "360K disk".

Now, consider its 3.5" high-density cousin. We call those 1.44MB disks because, as a de-facto PC standard, they contain 2,880 x 512 byte sectors. :shock: Say what? That's right--in this case the "MB" is 1000 x 1024 bytes.

Similar tricks were played my manufacturers of hard disk drives--even though sectors are all a power of 2 in size, quoting the size in 1000-type Ks makes the disk seem larger.

For floppies, I prefer calling them by the media and drive characteristics; e.g. "double-sided, low-density 48 track-per-inch", or if it involves what's on the media: 512x9x2x40.

Naguissa
April 11th, 2018, 12:00 PM
Thanks for the reply. I thought that this kind of "marketing" was a modern thing, but now that I'm trying to understand exactly how FDs works I see it's VERY old...


I have to do my checks (I have a complete read captured by a logic analyzer), but I hope it's 1000B. As it means that a DD disk signals works at 0,5MHz and HD at 1MHz (doubled as bitrate, because each bit is transmited in 2 signals MFM coded). Whould be complicated if signals are not natural numbers....


Edited: Text marked in red is not fully correct.

Really it's not transmitted at 1MHz, it's a variable signal with 0,5MHz basis. But period can be 2us, 3us or 4us depending of input data. So to be able to process it correctly you need 1MHz process, to be able to pick 3us period signals.

Naguissa
April 13th, 2018, 01:14 AM
Analyzed and found a conclusion: data rate is 500000 bits / s, so 1K is 1000 in this case.

1st, the traces (taken from a 3,5" FD HD 1.44MB, 2MB raw, disk):

44995

44996

44997


Fastest signal change ratio is produced when 2 (or more) ones come together and it's the data rate.

Min: 2ms/bit
300 r/m * (1m / 60s) = 5 r / s
1 bit / 2us * (1000000us / 1s) = 1000000 bit / 2us = 500000 bit/s

So, 500KB/s means 500 000B/s


Thanks!


My floppy is a standard 300rpm one, not a non-standard 360rpm one.

Chuck(G)
April 13th, 2018, 09:24 AM
You'll find those timings in the FDC data sheet, most of which are based on the NEC D765.

The standard PC controller accommodates 3 data clocks 250Kbps (for 360K and 720K formats), 300Kbps (for 360K on 1.2M 360RPM drives) and 500Kbps (for 1.44K and 1.2K formats). There is also a fourth, 1Mbps for the "extended density" 3.5" 2.88M drives.

I prefer to call these "clocks", as they're dependent on the encoding method used. So, for FM, these data rates are halved.

There have been some notable outliers. The early Weltec 5.25" high-density drives spun the disks at 180 RPM, which enabled use of the media with a standard PC XT floppy controller. Some Amigas accommodated high-density media the same way. Drivetec and early Sony 3.5" drives spun the media at 600 RPM. PC98 floppy drives standardized on 360 RPM, regardless of physical size.

Non PC formats include some group-coded ones, resulting in a higher data rate. And there were formats whose sector size was not a power of 2; e.g. Zilog MCZ uses 132 bytes per sector.

Naguissa
April 13th, 2018, 10:29 AM
You'll find those timings in the FDC data sheet, most of which are based on the NEC D765.

The standard PC controller accommodates 3 data clocks 250Kbps (for 360K and 720K formats), 300Kbps (for 360K on 1.2M 360RPM drives) and 500Kbps (for 1.44K and 1.2K formats). There is also a fourth, 1Mbps for the "extended density" 3.5" 2.88M drives.

I prefer to call these "clocks", as they're dependent on the encoding method used. So, for FM, these data rates are halved.

There have been some notable outliers. The early Weltec 5.25" high-density drives spun the disks at 180 RPM, which enabled use of the media with a standard PC XT floppy controller. Some Amigas accommodated high-density media the same way. Drivetec and early Sony 3.5" drives spun the media at 600 RPM. PC98 floppy drives standardized on 360 RPM, regardless of physical size.

Non PC formats include some group-coded ones, resulting in a higher data rate. And there were formats whose sector size was not a power of 2; e.g. Zilog MCZ uses 132 bytes per sector.

Yes, but my problem relied on "what was exactly that 500Kbps" they noted, 500 * 1000 bits or 500 * 1024 bits? Same for other rates (even worse for 1Mbit rate).

I needed a logic analyzer to be able to figure out that, was not noted anywhere... Well that "500Kbits" was a clue, but not a definitive one.