FD(4) (sparc)

FD(4) | Device Drivers Manual (sparc) | FD(4)

# NAME

`fd`, `fdc` — Sun SPARCstation i82072 or i82077 floppy disk controller driver

# SYNOPSIS

`fdc0 at mainbus0` (sun4c)
`fdc0 at obio0` (sun4m)
`fd* at fdc0`

# DESCRIPTION

This is the driver for the built-in floppy disk drive run by the Intel i82072 or i82077 controller chip found on the SPARCstation desktop systems, and other SPARC systems.

Bits [0-3] of the minor device number of the special files referring to this device encode the floppy density as follows:

0
  3.5'' 1.44MB floppy diskettes.
1
  3.5'' 720KB floppy diskettes.
2
  3.5'' 360KB floppy diskettes.
3
  3.5'' 1.2MB/NEC Japanese format floppy diskettes.

# 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

eject(1), sparc/fdformat(1)

# HISTORY

The `fd` formatting support appeared in NetBSD 1.3.

February 17, 2017 | NetBSD 11.0