floppymeter(1)
okay bestie, buckle up π you're about to meet floppymeter(1) from the General Commands Manual, and she is niche but she is iconic.
πΈ NAME πΈ
floppymeter β measures the raw capacity and the exact rotation speed of a floppy drive. that's the whole job, and she does it with main character energy. π
π NOTE π
okay so real talk first, because this part matters π this manpage was automatically generated from fdutils's texinfo documentation. and the process? only approximative, bestie. some items get straight-up lost in translation:
- cross-references? gone.
- footnotes? gone.
- indices? gone.
they literally have no appropriate representation in the manpage format, it's giving "we tried our best". π
also, only the items specific to each command got translated β the general information about fdutils got dropped in the manpage version. so the author strongly advises you to use the original texinfo doc instead. periodt.
here's how to make one:
- want a printable copy from the texinfo doc? run:
./configure; make dvi; dvips fdutils.dvi
- want an HTML copy? run:
./configure; make html
and a pre-made HTML can be found at http://www.tux.org/pub/knaff/fdutils π«Ά
- want an info copy (browsable using emacs' info mode)? run:
./configure; make info
ngl, the texinfo doc looks most pretty when printed or as HTML. in the info version, certain examples are difficult to read because of the quoting conventions used in info. iykyk π
π DESCRIPTION π
floppymeter [-f] [-w warmup-delay] [-W window]
[-c cycles] [-h] drive
so what does she actually do? floppymeter measures the characteristic parameters of a floppy drive and floppy controller β the lil trio being:
- the rotation speed of the drive π
- the data transfer rate of the controller β‘
- and the resulting raw capacity of a disk track πΎ
to use this program: insert a disposable floppy in the drive, and type floppymeter --density, where density describes the density of the disk used for the test. it should be one of dd, hd or ed.
β οΈ CAUTION: the data on the disk will be erased. not "might be", not "probably", not "we'll see". erased. π«
you'd reach for this when you want to verify whether the drive and controller are out of tolerance because you're experiencing problems with some high capacity formats. good news tho: it only needs to be run once per drive β¨ β even though a disk is needed to perform the measurements, the measured data only depend on the drive and the controller, and not on the disk.
how does the raw capacity get measured? the program formats the first track of the drive in a special way that allows it to read the raw data (gaps and headers) of the disk. which means all data previously stored on that disk is lost. bye bestie π
the rotation speed is measured by timing the return time of a readid command. to gain more precision, the command is issued many times in a row. during this phase, it prints and continuously updates:
- the number of rotations since the start of the test
- the average time per rotation since the start
- a sliding average of the times of the last 30 rotations
the data transfer rate is deduced from the two parameters above. math ate, honestly π₯
at the end of the program, all parameters get printed again β raw capacity, duration of one rotation, and data transfer rate β plus their relative deviation to the standard value. and finally, she suggests a capacity deviation description line which can be directly pasted into the drive definition file (See section Drive descriptions.). so thoughtful π«Ά
now the tolerance tea β usually:
- the data transfer rate should not deviate more than 150 ppm from the expected value
- the rotation speed of the drive should not deviate more than 3000 ppm from the expected value
if these deviations are bigger, you may get problems with certain high capacity formats π«£
if the raw capacity of the drive is too small, some high capacity formats may become unformattable on this drive/controller combo.
if on the other hand the raw capacity of the drive is too big, you may get problems when writing to a disk formatted by this drive on another drive with a smaller raw capacity. to avoid this, increase superformats gap parameter (-G).
okay now the flags, one by one, no skips π :
-hβ prints a short help--ddβ tells the program that we use a Double Density disk--hdβ tells the program that we use a High Density disk--edβ tells the program that we use an Extra Density disk-fβ runs the measurement non interactively. with this option, the program doesn't ask for confirmation, and doesn't display the continuously updated values during the rotation speed measurement-WWindow β this value describes how many rotations are used for the computation of the sliding average. default is 30-ccycles β describes the number of rotations clocked during the rotations speed determination test. default is 1000
π BUGS π
not me having to say this, but β this program is quite new, and may have bugs π here are a few suggested tests to check its sanity:
- the deviation of the data transfer rate solely depends on the controller. it should not be different between two drives connected to the same controller. however, the drive rotation speed may be different for different drives.
- all data transfer rates (for double, high and extra density) are derived from a same master frequency. thus the deviation of the data transfer rate should be independent of the density used.
π SEE ALSO π
Fdutils' texinfo doc π«Ά
and that's the whole page, bestie β this one comes from fdutils-5.6, dated 27Jan21. go measure those rotations, you absolute legend β¨π
π¦ where this page comes from
- debian bookworm: fdutils 5.6-4 Β· GPL-2.0-or-later
- debian trixie: fdutils 5.6-4+b1 Β· GPL-2.0-or-later
- ubuntu jammy: fdutils 5.6-2 Β· GPL-2.0-or-later
- ubuntu noble: fdutils 5.6-4 Β· GPL-2.0-or-later
- ubuntu questing: fdutils 5.6-5
- ubuntu resolute: fdutils 5.6-5build1 Β· GPL-2.0-or-later
- ubuntu stonking: fdutils 5.6-5build1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms