RX(4) OpenBSD Programmer's Manual (VAX) RX(4)NAMErx - DEC RX02 floppy disk interface
SYNOPSIS
rx* at mscpbus? drive?
DESCRIPTION
The rx device provides access to a DEC RX02 floppy disk unit with M8256
interface module (RX211 configuration). The RX02 uses 8-inch, single-
sided, soft-sectored floppy disks (with pre-formatted industry-standard
headers) in either single or double density.
Floppy disks handled by the RX02 contain 77 tracks, each with 26 sectors
(for a total of 2,002 sectors). The sector size is 128 bytes for single
density, 256 bytes for double density. Single density disks are
compatible with the RX01 floppy disk unit and with IBM 3740 Series
Diskette 1 systems.
In addition to normal (`block' and `raw') I/O, the driver supports
formatting of disks for either density and the ability to invoke a 2 for
1 interleaved sector mapping compatible with the DEC operating system
RT-11.
The minor device number is interpreted as follows:
Bit Description
0 Sector interleaving (1 disables interleaving)
1 Logical sector 1 is on track 1 (0 no, 1 yes)
2 Not used, reserved
Other Drive number
The two drives in a single RX02 unit are treated as two disks attached to
a single controller. Thus, if there are two RX02's on a system, the
drives on the first RX02 are ``rx0'' and ``rx1'', while the drives on the
second are ``rx2'' and ``rx3''.
When the device is opened, the density of the disk currently in the drive
is automatically determined. If there is no floppy in the device, open
will fail.
Even though the storage capacity on a floppy disk is quite small, it is
possible to make filesystems on double density disks. For example, the
following command makes a file system on the double density disk in rx0
with 436 kbytes available for file storage:
# newfs /dev/rrx0c -s 1001 -b 4096 -f 512 -c 32 -m 0
Using tar(1) gives a more efficient utilization of the available space
for file storage. Single density diskettes do not provide sufficient
storage capacity to hold file systems.
FILES
/dev/rx?
/dev/rrx?[a-d]
DIAGNOSTICS
rx%d: hard error, trk %d psec %d cs=%b, db=%b, err=%x, %x, %x, %x. An
unrecoverable error was encountered. The track and physical sector
numbers, the device registers and the extended error status are
displayed.
rx%d: state %d (reset). The driver entered a bogus state. This should
not happen.
ERRORS
The following errors may be returned by the driver:
[ENODEV] Drive not ready; usually because no disk is in the drive or the
drive door is open.
[ENXIO] Nonexistent drive (on open); offset is too large or not on a
sector boundary or byte count is not a multiple of the sector
size (on read or write); or bad (undefined) ioctl code.
[EIO] A physical error other than ``not ready'', probably bad media
or unknown format.
[EBUSY] Drive has been opened for exclusive access.
[EBADF] No write access (on format), or wrong density; the latter can
only happen if the disk is changed without closing the device
(i.e., calling close(2)).
SEE ALSOintro(4), mscpbus(4), newfs(8)HISTORY
The rx driver appeared in 4.2BSD.
BUGS
A floppy may not be formatted if the header info on sector 1, track 0 has
been damaged. Hence, it is not possible to format completely degaussed
disks or disks with other formats than the two known by the hardware.
If the drive subsystem is powered down when the machine is booted, the
controller won't interrupt.
OpenBSD 4.9 January 5, 2010 OpenBSD 4.9