superformat

Hurricane Electric Internet Services: Accounts starting at $9.95/month
Hurricane Electric Internet Services

NAME

       superformat - format floppies


SYNOPSIS

       superformat -d drive [-D dos-drive] [--dd] [--hd] [--2m]
       [--no2m] [-s sectors] [-H heads] [-t tracks]
       [-v verbosity-level] [-b begin-track] [-e end-track]
       [--dosverify] [--noverify] [--verify_later] [-S sizecode]
       [-G format-gap] [-F final-gap] [-i interleave]
       [-c chunksize] [-g gap] [-r rate]
       [--absolute-skew absolute-skew] [--head-skew head-skew]
       [--track-skew track-skew] [--stretch stretch-factor]
       [-m margin]


DESCRIPTION

       superformat  is used to format disks with a capacity of up
       to 1992K HD or 3984K ED. When the disk is formatted, mfor-
       mat(1)  is automatically called to put an msdos filesystem
       on it. You may ignore this filesystem, if you  don't  need
       it. Be aware, however, that the --2m formats were specifi-
       cally designed to hold an msdos filesystem, and  take  ad-
       vantage  from  the fact that the msdos filesystem uses re-
       dundant sectors on the first track (the FAT, which is rep-
       resented  twice). The second copy of the FAT is not repre-
       sented on the disk.


OPTIONS

       Many options have a long and a short form.

       -h --help
              Print the help.

       -d drive  --drive drive
              Selects the drive to format.  The default is  drive
              0 (/dev/fd0).

       -D drive  --dosdrive dos-drive
              Selects  DOS  drive  letter for mformat(1).  (a: or
              b:).  The colon may be omitted.  The default is de-
              rived  from  the minor device number.  If the drive
              letter cannot be guessed, and is not given  on  the
              command line, mformat is skipped.

       -v verbosity-level  --verbosity verbosity-level
              Sets  the  verbosity level. 1 prints a dot for each
              formatted track. 2 prints a changing sign for  each
              formatted track (- for formatting the first head, =
              for formatting the second head, x for verifying the
              first head, and + for verifying the second head). 3
              prints a complete line listing head  and  track.  6
              and 9 print debugging information.

       --dd   Format a double density disk.

       --hd   Format a high density disk.

       -2  --2m
              Format  a  high  capacity  disk readable by the 2mf
              program.  Only use these disks for MS-DOS  filesys-
              tems.   This  option is automatically selected when
              you attempt to format a disk  with  bigger  sectors
              than usual. If you don't want this (for reliability
              reasons), use the --no2m option.

       -1  --no2m
              Don't use 2m format.

       -t tracks  --tracks tracks
              Describes the number of tracks. Default  is  40  or
              80, depending on the drive type or the density.

       -H heads  --heads heads
              Describes the number of heads. Default is 2.

       -s sectors  --sectors sectors
              Describe  the  number  sectors.  sectors is not the
              number of physical (big) sectors,  but  rather  the
              number  of  equivalent 512-byte sectors. If you ask
              for more sectors than fit on the disk,  superformat
              groups  them  automatically into bigger sectors (as
              long as this is possible), unless you also  specify
              the sizecode option.

       -B  --dosverify
              Verifies  the disk using the mbadblocks(1) program.
              mbadblocks marks 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 filesys-
              tems.

       -V  --verify_later
              Verifies  the  whole disk at the end of the format-
              ting process instead of at  each  track.  Verifying
              the disk at each track has the advantage of detect-
              ing errors early on.

       -f  --noverify
              Skips the verification altogether.


ADVANCED OPTIONS

       These options have sensible default  values,  so  normally
       you won't need to set them manually.

       -b begin_track  --begin_track begin_track
              Describes  the  track  where  to  begin formatting.
              This is useful if the  previous  formatting  failed
              halfway through.  The default is 0.

       -e end_track  --end_track end_track
              Describes  where  to stop formatting.  end_track is
              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 dis-
              played (to be used as  absolute  skew  when  you'll
              continue).

       -S sizecode  --sizecode sizecode
              Set  the sector size to be used. The sector size is
              128 * 2 ^ sizecode.  Sector sizes below  512  bytes
              are  not  supported, thus sizecode must be at least
              2. By default 512 is assumed, unless  you  ask  for
              more sectors than would fit with 512 bytes.

       --stretch stretch
              Set  the  stretch  factor.  The  stretch factor de-
              scribes how many physical tracks to skip to get  to
              the  next  logical  track (2 ^ stretch).  On double
              density 51/4 disks, the tracks  are  further  apart
              from each other.

       -G fmt_gap  --format_gap fmt_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 around the circle.

       -F final_gap  --final_gap final_gap
              Set the formatting gap to be used  after  the  last
              sector.

       -i interleave  --interleave interleave
              Set the sector interleave factor.

       -c chunksize  --chunksize chunksize
              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  for-
              matting gaps.

       -r rate  --rate rate
              Set  the  raw  data transfer rate (which is smaller
              for double density  disks  than  for  high  density
              disks).

       -g gap  --gap gap
              Set the read/write gap.

       -m margin  --margin margin
              Changes  the number of bytes left at the end of the
              physical track. By default,  this  is  35.  Setting
              this  to a smaller value may make disk accesses un-
              bearably slow.


SECTOR SKEWING

       In order to maximize the user data transfer rate, the sec-
       tors  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 sec-
       ond  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_skew absolute_skew
              Set the absolute skew. (The skew value used for the
              first formatted track)

       --head_skew head_skew
              Set the head skew. (The skew added for passing from
              head 0 to head 1)

       --track_skew track_skew
              Set the track skew. (The skew added for seeking  to
              the next track)

       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 0: 6,1,2,3,4,5   (skew=1)

       track 2 head 0: 4,5,6,1,2,3,  (skew=3)
       track 2 head 0: 3,4,5,6,1,2,  (skew=4)


EXAMPLES

       Assume that drive 0 is a 31/2 and drive 1 a 51/4.

       superformat
              Format 1440K disk in drive 0.

       superformat -d /dev/fd1
              Format a 1200K disk in drive 1.

       superformat -d /dev/fd1 -s 18
              Format a 1440K disk in drive 1.

       superformat --dd
              Format a 720K disk in drive 0.


       superformat -s21 -t83
              Format  a 1743K disk in drive 0 (83 tracks times 21
              sectors).

       superformat -s24 -t83
              Format a 1992K disk in drive 0 (83 tracks times  24
              "sectors").   There  won't  be 24 physical 512-byte
              sectors on the disk, but rather one 8192-byte  sec-
              tor  and a 4096-byte sector.  superformat will fig-
              ure out that this is the only  format  which  fits,
              with  that many "sectors".  24 sectors is the abso-
              lute maximum, and might not work everywhere.

       superformat -s23 --2m
              Format a 1840K disk in drive  0.  It  will  have  5
              2048-byte  sectors,  one  1024-byte sector, and one
              512-byte sector per track.

       All these formats can be autodetected by mtools, using the
       floppy driver's default settings.


THE FORMATS

       For  this discussion, let's assume you are using high den-
       sity 31/2 disks.  Formats can be distinguished by the num-
       ber  of  sectors, the size of these sectors and the number
       of tracks. Normally, you need not indicate the size of the
       sectors; superformat figures this out for you.

   More Sectors
       With  superformat, it is possible to put more sectors than
       usual on the disk, just by squeezing them closer together.
       However,  for none of the formats is a bigger byte density
       used; i.e. within a sector, each byte takes as much  space
       as  with the normal format. Only the gaps between the sec-
       tors have become smaller. Formats of up to 20 sectors  (17
       on a 51/4 disk) can be obtained. These formats are as fast
       and as reliable as the standard format. These formats  can
       be read under MS DOS with various shareware utilities, and
       on SunOS with the mtools included in this package  (define
       -DSPARC_ODD).

   Sector Interleaving
       It is possible to fit 21 sectors (or 18 with a 51/4 drive)
       on one track by making the gaps between the  sectors  even
       smaller.  With  this  format, the sectors are so close to-
       gether that the floppy controller is still processing  the
       previous  sector  when  it  reaches the header of the next
       sector. Thus it misses the next sector, and must wait  for
       one  more  turn,  until it shows up again. That's 200 mil-
       liseconds per turn, and this would add up to  4.4  seconds
       for  all  sectors! To avoid this, sectors are interleaved,
       i.e.  the second sector does not  immediately  follow  the
       first one. You get:
           1,11,2,12,3,13,4,14,5,15,6,16,7,17,8,18,9,19,10,20

       Now,  the  disk  is  only twice slower instead of 22 times
       slower.

       Interleave is also handled automatically by superformat.

       Although this format is twice as slow as the previous for-
       mats, it is as reliable, and can also be read under MS DOS
       and SunOS.

   Bigger Sectors
       By making bigger sectors, i.e., grouping  smaller  logical
       sectors in one big sector, more data fits on the disk, be-
       cause less space is taken up by the sector  headers.  (The
       header of a big sector takes as much space than the header
       of a small sector, but there are less of them.)  superfor-
       mat  automatically  groups  sectors  together when needed.
       The format with 11 1024-byte sectors is again as  fast  as
       the standard format. However, it is less reliable, because
       a failure is likely to erase a whole sector.  So,  instead
       of  losing  512  bytes  at  once (normal sector size), you
       might lose 1024 byte at once. The biggest format that  you
       can  obtain  with  this method has the equivalent of 11264
       byte per track, split up in 11 sectors of 1024 bytes each.
       Unfortunately,  these  formats can't be read neither under
       MS-DOS nor under SunOS.

   Mixing Sector Sizes on the Same Track
       It is possible to to put sectors of different sizes on one
       track.   The  biggest format that you can obtain with this
       method has the equivalent of 12288 byte per  track,  split
       up  in  a  8192 byte sector and a 4096 byte sector. Mixing
       sector sizes does not introduce a new unreliability.

   2M Formats
       These formats are essentially the same as the  big  sector
       formats,  but their first track is formatted using 18 nor-
       mal sized sectors. These disks can  be  read  and  written
       with  the  2m20  utility under DOS. These disks store only
       one physical copy of the FAT, and might be  less  reliable
       for  this  reason.  If you lose this only copy of the FAT,
       there is no backup, as is the case on normal disks.

       Only one FAT is stored because the first track appears  to
       have  18  sectors  to  to the applications, and the second
       copy of the FAT  would  fall  into  the  missing  sectors.
       That's also the reason why you shouldn't use these formats
       to store anything else than a DOS filesystem.

       The 2m option is automatically selected  for  disks  which
       have  a  bigger  sector size than usual. If you don't want
       this (for reliability reasons), select the --no2m  option.

       The advantage of 2m is that it makes autodetection easier.
       The first track can be read using  the  usual  parameters,
       and  its  boot  sector  contains the necessary information
       needed to read the other sectors.  Thus, autodetection on-
       ly  needs  to  probe for the standard formats (one for ED,
       one for HD and one for DD). One of these formats allows to
       read the boot sector, and mtools uses the information con-
       tained therein to access the rest of the disk.


DIAGNOSTICS

       FDC busy, sleeping for a second
              When another program accesses a disk drive  on  the
              same  controller as the one being formatted, super-
              format has to wait until the other access  is  fin-
              ished.   If  this  happens, check whether any other
              program accesses a drive (or  whether  a  drive  is
              mounted), kill that program (or unmount the drive),
              and the format should proceed normally.


BUGS

       Opening up new window while superformat  is  running  pro-
       duces  overrun errors. Those are however detected, and the
       operation is retried.


FILES

       /dev/fd* - Floppy devices


AUTHOR

       Alain Knaff, Alain.Knaff@inrialpes.fr


SEE ALSO

       fdrawcmd(1), floppycontrol(1), getfdprm(1), mtools(1), xd-
       fcopy(1)
Hurricane Electric Internet Services: Accounts starting at $9.95/month
Hurricane Electric Internet Services
Copyright (C) 1998 Hurricane Electric. All Rights Reserved.