A command line floppy formatter that never asks questions. The standard
AmigaDOS Format command wants an interactive console for its confirmation
prompt, which makes it awkward to drive from a script or a Commodore
Installer. FmtFloppy simply does as it is told and returns a result code.
FEATURES
- Fully non-interactive: no prompts, no requesters.
- Any drive, any unit, DD or HD. Geometry is read from the device with
TD_GETGEOMETRY rather than assumed, so non-standard drivers work too.
- Drives running a foreign filesystem, such as PC0: under CrossDOS,
are formatted by their own handler. The AmigaDOS-specific options
(OFS, FFS, INTL, DIRCACHE, BOOT, BOOT2) do not silently misfire
there: the flavour switches are refused and the bootblock is
skipped, rather than overwriting an MS-DOS boot sector with it.
Bad blocks are still excluded, written as FAT's own 0xFF7 bad
cluster marker into both copies of the allocation table.
- OFS and FFS, each optionally international and/or directory cache, or
an arbitrary DosType given as a number.
- Writes a bootblock itself, no C:Install needed - including the
Kickstart 1.2/1.3 block, which C:Install on OS 2.0+ cannot produce.
- Bad blocks do not abort the format by default. A failed track is
retried, and blocks that still fail are marked used in the bitmap so
the filesystem never allocates them; the reported free space and the
return code both reflect this. Damage to the boot, root or bitmap
block is reported as unrecoverable instead of quietly producing a
broken disk.
- STRICT reverses that policy: give up at the first defect and reject
the disk, for when only flawless media will do.
- Optional X-Copy style track map, drawn as the format proceeds, so
defects can be seen where they physically are.
- Refuses anything larger than a floppy unless FORCE is given, so a
mistyped device name cannot destroy a hard disk partition.
- Quiet mode for scripts, VERBOSE when a warning needs explaining,
and meaningful return codes: 0 success, 5 bad blocks found and
excluded, 10 bad arguments, 20 failure.
- libnix build - no ixemul.library, no dependencies beyond the OS.
REQUIREMENTS
AmigaOS 2.0 (Kickstart V36) or newer, and this is a hard requirement:
the program uses ReadArgs and other V36 calls. Any CPU from the plain
68000 up - the binary contains no 68020 instructions.
Tested under WinUAE and on real hardware, an Amiga 1200 including a real
HD floppy drive: AmigaDOS DD and HD disks including the bad block
exclusion, and MS-DOS DD and HD disks through CrossDOS.
DOCUMENTATION
FmtFloppy.guide holds the full option reference, the details of the two
bootblock types and how bad blocks are handled.
Freely distributable.
|