FDC(4) Kernel Interfaces Manual (x86) FDC(4)

NAME

fdcNEC 765 floppy disk controller driver

SYNOPSIS

fdc0 at isa? port 0x3f0 irq 6 drq 2
fdc* at acpi?
fdc* at pnpbios? index ?
fd* at fdc? drive ?

DESCRIPTION

The fdc driver provides support for the NEC 765 floppy disk controller and floppy disk drives, commonly found on IBM-PC compatible systems.

The driver supports the following floppy diskette formats by using particular partitions:

1.44MB 3.5-inch (b)
1.2MB 5.25-inch (c)
360KB 5.25-inch (1.2MB drive) (d)
360KB 5.25-inch (IBM-PC drive) (e)
720KB 3.5-inch (f)
720KB 5.25-inch (g)
360KB 3.5-inch (h)
Partition a selects the default format for the attached floppy drive, as determined by the BIOS configuration for the diskette drive.

FORMATTING

The driver supports floppy disk formatting using the interfaces in <sys/fdio.h>:
FDIOCGETFORMAT struct fdformat_parms
Fetch current formatting parameters. This gets the default parameters for the open device if no parameters have been set during the session.
FDIOCSETFORMAT struct fdformat_parms
Set formatting parameters. The driver saves this state and it persists while the device is open.
FDIOCFORMAT_TRACK struct fdformat_cmd
Format a track on the medium. If this call returns EINVAL, the track formatting parameters were out of range for the medium. If it returns EIO, there was a medium error while formatting the track.
FDIOCSETOPTS int
Set driver options which persist until the device is closed. The options should be the logical OR of the desired values below:
FDOPT_NORETRY
Do not retry operations on failure
FDOPT_SILENT
Do not print error messages to the console
FDIOCGETOPTS int
Fetch drive options.

A typical use of the formatting facilities would be to open the device, call FDIOCGETFORMAT to fetch the current format parameters, perhaps change a parameter or two, display the formatting details to the user, and then call FDIOCSETFORMAT followed by a series of calls to FDIOCFORMAT_TRACK.

SEE ALSO

fdformat(1), acpi(4), isa(4), pnpbios(4)

HISTORY

The fdc formatting support appeared in NetBSD 1.3.
September 23, 2011 NetBSD 6.1