superformat(1)
π NAME π
Okay so bestie, superformat(1) is literally the manual page for superformat, and it's giving "format floppies" energy. Periodt. π
πΈ NOTE πΈ
Real talk: this manpage was automatically generated from fdutils's texinfo documentation π. But the process is only approximative, and some items β like cross-references, footnotes and indices β are lost in this translation. For real, these items have no appropriate representation in the manpage format. Also, only the items specific to each command got translated, and the general info about fdutils got dropped in the manpage version. So the original author strongly advises you to use the original texinfo doc. No cap.
- To generate a printable copy from the texinfo doc, run these commands:
./configure; make dvi; dvips fdutils.dvi
- To generate a HTML copy, run:
./configure; make html
A pre-made HTML can be found at: http://www.tux.org/pub/knaff/fdutils
- To generate an info copy (browsable using emacs' info mode), run:
./configure; make info
The texinfo doc looks most pretty when printed or as HTML. Indeed, in the info version certain examples are difficult to read due to the quoting conventions used in info.
β¨ DESCRIPTION β¨
superformat [-D dos-drive] [-v verbosity-level] [-b begin-track]
[-e end-track] [--superverify] [--dosverify]
[--noverify] [--verify_later] [--first-sector-number n] [--zero-based]
[-G format-gap] [-F final-gap] [-i interleave] [-c chunksize]
[-g gap] [--absolute-skew absolute-skew] [--head-skew head-skew]
[--track-skew track-skew] [--biggest-last] drive [media-description]
superformat is used to format disks with a capacity of up to 1992K HD or 3984K ED. See section Extended formats, for a detailed description of these formats. See section Media description, for a detailed description of the syntax for the media description. If no media description is given, superformat formats a disk in the highest available density for that drive, using standard parameters (i.e. no extra capacity formats).
When the disk is formatted, superformat automatically invokes mformat in order to put an MS-DOS filesystem on it. You may ignore this filesystem, if you don't need it.
Superformat allows one to format 2m formats. Be aware, however, that these 2m formats were specifically designed to hold an MS-DOS filesystem, and that they take advantage of the fact that the MS-DOS filesystem uses redundant sectors on the first track (the FAT, which is represented twice). The second copy of the FAT is not represented on the disk.
High capacity formats are sensitive to the exact rotation speed of the drive and the resulting difference in raw capacity. That's why superformat performs a measurement of the disks raw capacity before proceeding with the formatting. This measurement is rather time consuming, and can be avoided by storing the relative deviation of the drive capacity into the drive definition file file. See section Drive descriptions, for more details on this file. The line to be inserted into the drive definition file is printed by superformat after performing its measurement. However, this line depends on the drive and the controller. Do not copy it to other computers. Remove it before installing another drive or upgrade your floppy controller. Swap the drive numbers if you swap the drives in your computer.
π COMMON OPTIONS π
Many options have a long and a short form.
-h,--helpβ Print the help. (bestie, it's giving "help me help you" energy)-Ddrive,--dosdrivedos-drive β Selects DOS drive letter formformat(for examplea:orb:). The colon may be omitted. The default is derived from the minor device number. If the drive letter cannot be guessed, and is not given on the command line,mformatis skipped.-vverbosity-level,--verbosityverbosity-level β Sets the verbosity level.1prints a dot for each formatted track.2prints a changing sign for each formatted track (-for formatting the first head,=for formatting the second head,xfor verifying the first head, and+for verifying the second head).3prints a complete line listing head and track.6and9print debugging information.--superverifyβ Verifies the disk by first reading the track, then writing a pattern ofU's, and then reading it again. This is useful as some errors only show up after the disk has once been written. However, this is also slower.-B,--dosverifyβ Verifies the disk using thembadblocksprogram.mbadblocksmarks the bad sectors as bad in the FAT. The advantage of this is that disks which are only partially bad can still be used for MS-DOS filesystems.-V,--verify_laterβ Verifies the whole disk at the end of the formatting process instead of at each track. Verifying the disk at each track has the advantage of detecting errors early on.-f,--noverifyβ Skips the verification altogether.--print-drive-deviationβ Does not format, but prints the drive deviation. If file/etc/driveprmexists and provides a deviation for the drive, nothing is printed and the disk is not formatted.
π ADVANCED OPTIONS π
Usually, superformat uses sensible default values for these options, which you normally don't need to override. They are intended for expert users. Most of them should only be needed in cases where the hardware or superformat itself has bugs.
-bbegin-track,--begin_trackbegin-track β Describes the track where to begin formatting. This is useful if the previous formatting failed halfway through. The default is0.-eend-track,--end_trackend-track β Describes where to stop formatting.end_trackis the last track to be formatted plus one. This is mainly useful for testing purposes. By default, this is the same as the total number of tracks. When the formatting stops, the final skew is displayed (to be used as absolute skew when you'll continue).-Ssizecode,--sizecodesizecode β Set the sector size to be used. The sector size is128 * (2 ^ sizecode). Sector sizes below512bytes are not supported, thussizecodemust be at least2. By default512is assumed, unless you ask for more sectors than would fit with512bytes.--stretchstretch β Set the stretch factor. The stretch factor describes how many physical tracks to skip to get to the next logical track (2 ^ stretch). On double density 5 1/4 disks, the tracks are further apart from each other.-Gfmt-gap,--format_gapfmt-gap β Set the formatting gap. The formatting gap tells how far the sectors are away from each other. By default, this is chosen so as to evenly distribute the sectors along the track.-Ffinal-gap,--final_gapfinal-gap β Set the formatting gap to be used after the last sector.-iinterleave,--interleaveinterleave β Set the sector interleave factor.-cchunksize,--chunksizechunksize β Set the size of the chunks. The chunks are small auxiliary sectors used during formatting. They are used to handle heterogeneous sector sizes (i.e. not all sectors have the same size) and negative formatting gaps.--biggest-lastβ For MSS formats, make sure that the biggest sector is last on the track. This makes the format more reliable on drives which are out of spec.--first-sector-numbern β Formats the disk with sector numbers starting atn, rather than1. Certain CP/M boxes or Music synthesizers use this format.--zero-basedβ Shorthand for--first-sector-number 0.
π SECTOR SKEWING OPTIONS π
In order to maximize the user data transfer rate, the sectors are arranged in such a way that sector 1 of the new track/head comes under the head at the very moment when the drive is ready to read from that track, after having read the previous track. Thus the first sector of the second track is not necessarily near the first sector of the first track. The skew value describes for each track how far sector number 1 is away from the index mark. This skew value changes for each head and track. The amount of this change depends on how fast the disk spins, and on how much time is needed to change the head or the track.
--absolute_skewabsolute-skew β Set the absolute skew. This skew value is used for the first formatted track. It is expressed in raw bytes.--head_skewhead-skew β Set the head skew. This is the skew added for passing from head0to head1. It is expressed in raw bytes.--track_skewtrack-skew β Set the track skew. This is the skew added for seeking to the next track. It is expressed in raw bytes.
Example: (absolute skew=3, head skew=1, track skew=2)
track 0 head 0: 4,5,6,1,2,3 (skew=3)
track 0 head 1: 3,4,5,6,1,2 (skew=4)
track 1 head 0: 1,2,3,4,5,6 (skew=0)
track 1 head 1: 6,1,2,3,4,5 (skew=1)
track 2 head 0: 4,5,6,1,2,3 (skew=3)
track 2 head 1: 3,4,5,6,1,2 (skew=4)
N.B. For simplicity's sake, this example expresses skews in units of sectors. In reality, superformat expects the skews to be expressed in raw bytes.
π MEDIA DESCRIPTION π
Please see the Media description section in the full fdutils documentation:
- Texinfo documentation (
info fdutils) - HTML documentation in
/usr/share/doc/fdutils/Fdutils.html - or DVI documentation in
/usr/share/doc/fdutils/Fdutils.dvi.gz
π EXAMPLES π
okay bestie, real talk: for every single example in this section, we're assuming drive 0 is a 3 1/2 and drive 1 is a 5 1/4. That's the vibe. Keep it in mind, don't @ me later. π
This one's how you format a 1440K disk in drive 0:
superformat /dev/fd0 hd
And this one's a 1200K disk in drive 1:
superformat /dev/fd1 hd
Here's a 1440K disk in drive 1 (yes, drive 1, we're being spicy):
superformat /dev/fd1 hd sect=18
A 720K disk in drive 0, lowkey classic:
superformat /dev/fd0 dd
Now we're getting fancy β a 1743K disk in drive 0, which is 83 cylinders times 21 sectors:
superformat /dev/fd0 sect=21 cyl=83
Next up, a 1992K disk in drive 0 β that's 83 cylinders times 2 heads times 12 KB per track:
superformat /dev/fd0 tracksize=12KB cyl=83 mss
And the icon of the group, a 1840K disk in drive 0. She's got 5 2048-byte sectors, one 1024-byte sector, and one 512-byte sector per track β¨:
superformat /dev/fd0 tracksize=23b mss 2m ssize=2KB
Not me saving the best for last β all these formats can be autodetected by mtools, using the floppy driver's default settings. periodt. π
π©Ή TROUBLESHOOTING π©Ή
π FDC busy, sleeping for a second
When another program is accessing a disk drive on the same controller as the one you're formatting, superformat has to just sit there and wait until the other access finishes. So if you see this, vibe check your system: check whether any other program is accessing a drive (or whether a drive is mounted), kill that program (or unmount the drive), and then the format should proceed normally. slay. π«Ά
π I/O errors during verification
ngl, this one might mean your drive is too far out of tolerance, and you may need to supply a margin parameter. Run floppymeter (peep the section floppymeter) to find out an appropriate value for this parameter, and add the suggested margin parameter to the command line. iykyk. π
π BUGS π
Opening up a new window while superformat is running produces overrun errors. Not to worry though β these errors are benign, because the failed operation is automatically retried until it succeeds. she's resilient like that π
π SEE ALSO π
- Fdutils' texinfo doc
and that's the whole page bestie!! π this masterpiece is from fdutils-5.6, dated 27Jan21, and it's the superformat(1) manual page β go forth and format, you absolute main character π¦β¨
π¦ 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