Next Previous Contents

7.4 cbmforng

cbmforng is a fast and reliable low-level disk formatter for the 1541 and compatible devices (1570, 1571, third-party clones). It was based on cbmformat and is designed to become the designated successor to cbmformat, therefore its name: CBM-Formatter, the Next Generation.

cbmforng does not support a 1581 drive.

Because this is the first official release of cbmforng and because it was not used in the field by a wider user group, it still contains additional measurement routines and informational output after the formatting process was done. When cbmforng prooved its matureness and got back some features currently missing (progress bar), it will replace cbmformat.

To date cbmforng should be considered as the more reliable formatter of both; whenever you should encounter any difficulties with cbmformat, go for cbmforng. If you like additional informational messages like e.g. the RPM value each formatted track was measured, then cbmforng is the tool you want to use. Your feedback helps us to decide, if this additional output which was needed for developing may find its way into future releases.

cbmforng invocation

Synopsis: cbmforng [OPTION]... DRIVE# NAME,ID

DRIVE# has to be the drive number of the disk drive, NAME is a name with up to 16 characters which will be the name of the disk after formatting, ID is the 2-letter disk ID.

Note: Unlike the N0 command of the drive, the ID must be given (thus, no so-called "short format" is possible).

Here's a complete list of known options:

-h, --help

Display help and exit.

-V, --version

Display version information and exit.

-@, --adapter=<plugin>[:<bus>]

Specify the plugin to use. If you have installed more than one plugin (XA1541, XU1541, XUM1541), you can specifiy which one to use for this command. This way, you can use all three variants at the same time.

This requires an argument of the form <plugin>[:<bus>], where <plugin> is the plugin's backend name (currently: xa1541, xu1541, xum1541), and <bus> is the bus identifier, if it is supported by the backend.

-n, --no-bump

Do not bump drive head at the beginning. Don't use this on eventually misaligned drives.

-r, --retries n

Set the maximum number of retries on errors. This accounts for all errors that may happen when formatting all the tracks of the whole disk.

-x, --extended

Format a 40 track disk, the BAM format is compatible to SpeedDOS.

-c, --clear

clear (demagnetize) this disk. This is highly recommended if the disk is used for the first time, or if it was previously formatted for another system (i.e., MS-DOS). Note that this option takes much time.

-v, --verify

verify each track after it is written. As this needs an extra round of the drive for each track, the formatting time is almost doubled.

cf. cbmforng Notes for 1571 drives

-o, --original

Fill sectors with the original pattern (0x4b, 0x01, 0x01...) instead of zeroes. The original pattern is probably due to a bug in the drive ROM, apart from this, zeroing out unused sectors should give (slightly) better results for compressed disk images. In comparison to cbmformat, the pattern used with cbmforng is a little bit more original than the one from its predecessor. On track one the pattern consists of: 0x00, 0x01, 0x01, ... instead of the first byte beeing 0x4b. This perfectly reflects the original 1541 ROM format bug.

cf. cbmforng Notes for 1571 drives

-s, --status

In addition to the informational output of internal values from the formatting process, the drive status is displayed.

cbmforng Notes for 1571 drives

We encountered rare failure conditions with decent revision/mechanics combinations of the 1571 disk drives when using cbmforng. We highly recommend to use --original and --verify with 1571 drives. From our experience, with --original, the problem does not occur. With --verify, the drive tests each track after it was formatted and ensures that the failure condition did not occur; otherwise the same track is formatted again, as often as the currently set retry value allows.

We did not encounter these problems with either of 1541 (1541-II, 1541C), 1570 or 1571CR (the drive which is part of the C128DCR) drives, only with original 1571 drives.

In the current state, cbmforng is not able to format double-sided disks on a 1571 drive.

cbmforng Examples

Format standard disk (35 tracks) in drive 8:


cbmforng 8 GAMES,42

Format standard disk (35 tracks) in drive 9, use (buggy) 1541 sector pattern (for example, because this is a 1571 drive), show drive status when done:


cbmforng -os 9 1571disk,71

SpeedDOS disk (40 tracks), verify formatted tracks, all sectors zeroed out, no head banging:


cbmforng -nvx 8 "40 TRACKS,OK"


Next Previous Contents