Difference between revisions of "RX01/02 floppy drive"
(Add pictures, etc) |
m (New cat) |
||
(30 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | [[ | + | {{Infobox Disk drive |
+ | | name = RX01/RX02 | ||
+ | | manufacturer = [[Digital Equipment Corporation]] | ||
+ | <!-- | controller = --> | ||
+ | | capacity = 256 Kbytes (RX01), 512 Kbytes (RX02) | ||
+ | | transfer rate = 4 usec/data bit (FM); 2 usec/data bit (MFM) (diskette to drive buffer); 1.2 usec/bit (uffer to CPU interface) | ||
+ | | average access time = 262 ms | ||
+ | | rpm = 360 rpm ± 2.5% | ||
+ | | revolution time = 166 ms/rev nominal | ||
+ | | one track seek = 6 msec/track maximum | ||
+ | <!-- | average seek = --> | ||
+ | <!-- | maximum seek = --> | ||
+ | | surfaces = 1 | ||
+ | | tracks = 77 | ||
+ | | sectors = 26 | ||
+ | | words per sector = 64 16-bit | ||
+ | | tracks per inch = 48 tracks/inch | ||
+ | | density = 3200 bpi (maximum, on inner track) | ||
+ | | recording method = FM (RX01), FM and MFM (RX02) | ||
+ | | physical size = 19" W x 10-1/2" H x 16-1/2" L (pair of drives) | ||
+ | <!-- | weight = pounds --> | ||
+ | | power consumption = 460 VA | ||
+ | }} | ||
− | + | [[Image:rx01.jpg|250px|thumb|left|An RX01 floppy drive system]] | |
− | The | + | The '''RX01''' and '''RX02''' floppy drives were [[DEC]]'s first floppy drives, and were used on a number of computers, such as the [[PDP-8 family|PDP-8]], [[PDP-11]], and [[VAX-11/780]]. |
− | [[ | + | They used 8" floppies, compatible with the [[IBM 3740]] floppy drive; the media were single-sided, single-density, floppies, which came pre-formatted. (The RX0x drives are not capable of formatting blank floppies.) Data was protected with a [[CRC]], compatible with that used by the IBM 3740. |
− | Single-density recording uses a double frequency (FM) coding (compatible with IBM 3740 devices), and double-density uses a modified Miller code (MFM) | + | The drives are essentially identical, except that the RX02 supports optional double-density operation. This double-density is '''not''' the same as the 'normal' double-density 8" floppy, but a unique-to-DEC format. Single-density recording uses a double frequency ([[Frequency Modulation|FM]]) coding (compatible with IBM 3740 devices), and double-density uses a modified Miller code ([[Modified Frequency Modulation|MFM]] - below). |
− | + | In an somewhat unusual design choice, on both single- and double-density media, the sector '''''headers''''' are recorded using FM coding, but on double-density media, the '''''data''''' portions of sectors are recorded with MFM. | |
− | + | [[Image:rx02.jpg|thumb|right|An RX02 floppy drive system]] | |
− | These were used as primary mass storage devices for later low-cost PDP-11 systems, such as the [[LSI-11]], and as such as 'console' floppies for the LSI-11 console computer in the [[VAX 11/780]]. | + | Both drives provide 26 sectors per track (1-26), and 77 tracks per floppy (0-76), for a total of 2002 sectors. Single-density sectors hold 128 bytes, and double-density sectors hold 256 bytes, for a maximum total capacity of 256KB for the RX01, and 512KB for the RX02. An RX02 can (under program control) write either single- or double-density media; single-density media written on an RX02 are readable on an RX01. |
+ | |||
+ | The RX01 included the M7726 Controller and M7727 Read-Write card; the RX02 included the M7744 Controller and M7745 Read-Write card. Each drive cabinet holds a pair of drives (the left-hand drive is always drive 0), along with an H771 power supply. | ||
+ | |||
+ | Both drives have [[UNIBUS]] and [[QBUS]] controllers; the [[RX11 floppy controller|RX11]] and [[RX211 floppy controller|RX211]] for the UNIBUS, and [[RXV11 floppy controller|RXV11]] and [[RXV211 floppy controller|RXV21]] for the QBUS. The first of each pair are for the RX01, and are programmed I/O; the latter are for the RX02, and provide [[DMA]] data transfer. | ||
+ | |||
+ | The RX02 can be strapped to emulate an RX01, in which case the RX01 controllers (RX11 and RXV11) can support them. There are also as RK8E (RX01 only) and RK28 controllers for the PDP-8. The maximum number of drives supported by a single controller is two. | ||
+ | |||
+ | These drives were used as primary mass storage devices for later low-cost PDP-11 systems, such as the [[LSI-11]], and as such, as 'console' floppies for the LSI-11 console computer in the [[VAX 11/780]]. | ||
==Coding systems== | ==Coding systems== | ||
Line 19: | Line 49: | ||
[[Image:rx01b.jpg|150px|thumb|right|Another RX01]] | [[Image:rx01b.jpg|150px|thumb|right|Another RX01]] | ||
− | + | Since the maximum flux reversal rates are the same for FM, and MFM, but with the latter having with a data rate double that of the FM, the same hardware can thus hold twice as many bits with the MFM coding. | |
+ | |||
+ | The actual MFM encoding used is modified slightly to prevent a false sector header preamble (in FM coding) from being created within a double density data area (in MFM). | ||
+ | |||
+ | ==Low-level format== | ||
+ | |||
+ | A sector contains the following fields (header first): | ||
+ | |||
+ | * Preamble (8 bytes of '0') | ||
+ | * Address mark (1 byte, a unique flux reversal string which does not form a bit string) | ||
+ | * Track number (1 byte) | ||
+ | * Zeros (1 byte) | ||
+ | * Sector number (1 byte) | ||
+ | * Zeros (1 byte) | ||
+ | * Header CRC (2 bytes) | ||
+ | |||
+ | This is followed by an 11-byte gap (0's or 1's), a 6-byte sync field (0's), and a Data mark (recorded in FM). This is also a flux reversal string which does not form a bit string, and there are 4 versions: single- and double-density, and normal and 'deleted'. This is followed by either 128 or 256 bytes of data, and a two-byte CRC (both in either FM, or MFM). | ||
+ | |||
+ | ==Layout== | ||
+ | |||
+ | DEC normally left track 0 unused (although it was not used to hold bootstraps). This was because the standard IBM format reserved track 0 for special purposes. | ||
+ | |||
+ | They also used an idiosyncratic layout of the 'logical' sectors on a floppy, intended to maximize the performance: the first logical sector of each data track was offset by six 'physical' sectors from the 'first' sector of the preceding track, and sequential logical sectors were on alternating physical sectors. | ||
+ | |||
+ | This fragment of [[C programming language|C]] code implements the logical to physical sector translation: | ||
+ | <pre>#define NSECT 26 | ||
+ | |||
+ | track = (blkno / NSECT); | ||
+ | i = ((blkno % NSECT) << 1); | ||
+ | if (i >= NSECT) | ||
+ | i++; | ||
+ | sector = (((i + (6 * track)) % NSECT) + 1); | ||
+ | track++;</pre> | ||
+ | The second through fourth lines do the interleave (they effectively form a rotate); the next line performs the 6-sector offset. (The '+1' is because sectors are numbered 1-26, not 0-25; the last line is to avoid track 0.) | ||
+ | |||
+ | ==Bootstraps== | ||
+ | |||
+ | DEC ROM bootstraps for the RX0x load physical sectors 1, 3, 5 and 7 from track 1; in other words, they use the DEC 'logical' layout. On single-density media, where sectors are 128 bytes, loading 4 sectors loads 512 bytes, which is the standard DEC block size (most bootstraps are tailored to fit into one DEC disk block, which is what most DEC ROM bootstraps load). On double-density media, this loads 1024 bytes, but the second block is usually ignored. | ||
+ | |||
+ | ==Other Specifications== | ||
+ | |||
+ | * Seek error rate - 1 in 1<sup>6</sup> seeks | ||
+ | * Soft data error rate - 1 in 10<sup>9</sup> bits read or written | ||
+ | * Hard data error rate - 1 in 10<sup>12</sup> bits read or written | ||
+ | * Head settle time - 25 msec maximum | ||
+ | |||
+ | The average access time of 262 ms is computed as follows: | ||
+ | |||
+ | * Seek - 77 tracks/3 X 6 msec = 154 msec | ||
+ | * Settle - 25 msec | ||
+ | * Rotate - 166 msec/2 = 83 msec | ||
− | + | ==External links== | |
− | [[ | + | * [http://www.bitsavers.org/pdf/dec/disc/rx01/ RX01] - documentation at [[Bitsavers]] |
+ | ** [http://bitsavers.org/pdf/dec/disc/rx01/EK-RX01-OP-001_RX11UM_Nov76.pdf RX8/RX11 floppy disk system user's manual ] (EK-RX01-OP-001) | ||
+ | ** [http://bitsavers.org/pdf/dec/disc/rx01/EK-RX01-MM-002_maint_Dec76.pdf RX8/RX11 floppy disk system maintenance manual] (EK-RX01-MM-002) | ||
+ | ** [http://bitsavers.org/pdf/dec/disc/rx01/RX01_Schem.pdf RX01 Engineering Drawings] | ||
+ | * [http://www.bitsavers.org/pdf/dec/disc/rx02/ RX02] - documentation at Bitsavers | ||
+ | ** [http://bitsavers.org/pdf/dec/disc/rx02/EK-RX02-UG-001_UsersGuide_Jul78.pdf RX02 Floppy Disk System User's Guide] (EK-RX02-UG-001) | ||
+ | ** [http://bitsavers.org/pdf/dec/disc/rx02/EK-0RX02-TM-001_RX02_Tech_Oct78.pdf Floppy Disk System Technical Manual] (EK-0RX02-TM-001) | ||
+ | ** [http://bitsavers.org/pdf/dec/disc/rx02/MP00629_RX02_Sep78.pdf RX02 Field Maintenance Print Set] (MP00629) | ||
+ | * [http://www.vaxarchive.org/hardware/pdp11/rxrc.tar RX01/RX02 reference card] (images in TAR file) | ||
+ | * [http://www.chdickman.com/rx02/ DEC RX01/RX02 Floppy Disk System] | ||
+ | * [https://www.pdp-11.nl/peripherals/disk/rx-info.html RX01/RX02 8" floppy disk drive RX11/RX211 controller] | ||
− | + | [[Category: DEC Floppy Disk Drives]] |
Latest revision as of 19:09, 15 August 2023
RX01/RX02 | |
Manufacturer: | Digital Equipment Corporation |
---|---|
Capacity: | 256 Kbytes (RX01), 512 Kbytes (RX02) |
Transfer Rate: | 4 usec/data bit (FM); 2 usec/data bit (MFM) (diskette to drive buffer); 1.2 usec/bit (uffer to CPU interface) |
Average Access Time: | 262 ms |
Revolutions per Minute: | 360 rpm ± 2.5% |
1/2 Revolution Time: | 166 ms/rev nominal |
One Track Seek Time: | 6 msec/track maximum |
Total Surfaces: | 1 |
Tracks per Surface: | 77 |
Sectors per Track: | 26 |
Words per Sector: | 64 16-bit |
Tracks per Inch: | 48 tracks/inch |
Density: | 3200 bpi (maximum, on inner track) |
Recording Method: | FM (RX01), FM and MFM (RX02) |
Physical Size: | 19" W x 10-1/2" H x 16-1/2" L (pair of drives) |
Power Consumption: | 460 VA |
The RX01 and RX02 floppy drives were DEC's first floppy drives, and were used on a number of computers, such as the PDP-8, PDP-11, and VAX-11/780.
They used 8" floppies, compatible with the IBM 3740 floppy drive; the media were single-sided, single-density, floppies, which came pre-formatted. (The RX0x drives are not capable of formatting blank floppies.) Data was protected with a CRC, compatible with that used by the IBM 3740.
The drives are essentially identical, except that the RX02 supports optional double-density operation. This double-density is not the same as the 'normal' double-density 8" floppy, but a unique-to-DEC format. Single-density recording uses a double frequency (FM) coding (compatible with IBM 3740 devices), and double-density uses a modified Miller code (MFM - below).
In an somewhat unusual design choice, on both single- and double-density media, the sector headers are recorded using FM coding, but on double-density media, the data portions of sectors are recorded with MFM.
Both drives provide 26 sectors per track (1-26), and 77 tracks per floppy (0-76), for a total of 2002 sectors. Single-density sectors hold 128 bytes, and double-density sectors hold 256 bytes, for a maximum total capacity of 256KB for the RX01, and 512KB for the RX02. An RX02 can (under program control) write either single- or double-density media; single-density media written on an RX02 are readable on an RX01.
The RX01 included the M7726 Controller and M7727 Read-Write card; the RX02 included the M7744 Controller and M7745 Read-Write card. Each drive cabinet holds a pair of drives (the left-hand drive is always drive 0), along with an H771 power supply.
Both drives have UNIBUS and QBUS controllers; the RX11 and RX211 for the UNIBUS, and RXV11 and RXV21 for the QBUS. The first of each pair are for the RX01, and are programmed I/O; the latter are for the RX02, and provide DMA data transfer.
The RX02 can be strapped to emulate an RX01, in which case the RX01 controllers (RX11 and RXV11) can support them. There are also as RK8E (RX01 only) and RK28 controllers for the PDP-8. The maximum number of drives supported by a single controller is two.
These drives were used as primary mass storage devices for later low-cost PDP-11 systems, such as the LSI-11, and as such, as 'console' floppies for the LSI-11 console computer in the VAX 11/780.
Contents
Coding systems
Since the maximum flux reversal rates are the same for FM, and MFM, but with the latter having with a data rate double that of the FM, the same hardware can thus hold twice as many bits with the MFM coding.
The actual MFM encoding used is modified slightly to prevent a false sector header preamble (in FM coding) from being created within a double density data area (in MFM).
Low-level format
A sector contains the following fields (header first):
- Preamble (8 bytes of '0')
- Address mark (1 byte, a unique flux reversal string which does not form a bit string)
- Track number (1 byte)
- Zeros (1 byte)
- Sector number (1 byte)
- Zeros (1 byte)
- Header CRC (2 bytes)
This is followed by an 11-byte gap (0's or 1's), a 6-byte sync field (0's), and a Data mark (recorded in FM). This is also a flux reversal string which does not form a bit string, and there are 4 versions: single- and double-density, and normal and 'deleted'. This is followed by either 128 or 256 bytes of data, and a two-byte CRC (both in either FM, or MFM).
Layout
DEC normally left track 0 unused (although it was not used to hold bootstraps). This was because the standard IBM format reserved track 0 for special purposes.
They also used an idiosyncratic layout of the 'logical' sectors on a floppy, intended to maximize the performance: the first logical sector of each data track was offset by six 'physical' sectors from the 'first' sector of the preceding track, and sequential logical sectors were on alternating physical sectors.
This fragment of C code implements the logical to physical sector translation:
#define NSECT 26 track = (blkno / NSECT); i = ((blkno % NSECT) << 1); if (i >= NSECT) i++; sector = (((i + (6 * track)) % NSECT) + 1); track++;
The second through fourth lines do the interleave (they effectively form a rotate); the next line performs the 6-sector offset. (The '+1' is because sectors are numbered 1-26, not 0-25; the last line is to avoid track 0.)
Bootstraps
DEC ROM bootstraps for the RX0x load physical sectors 1, 3, 5 and 7 from track 1; in other words, they use the DEC 'logical' layout. On single-density media, where sectors are 128 bytes, loading 4 sectors loads 512 bytes, which is the standard DEC block size (most bootstraps are tailored to fit into one DEC disk block, which is what most DEC ROM bootstraps load). On double-density media, this loads 1024 bytes, but the second block is usually ignored.
Other Specifications
- Seek error rate - 1 in 16 seeks
- Soft data error rate - 1 in 109 bits read or written
- Hard data error rate - 1 in 1012 bits read or written
- Head settle time - 25 msec maximum
The average access time of 262 ms is computed as follows:
- Seek - 77 tracks/3 X 6 msec = 154 msec
- Settle - 25 msec
- Rotate - 166 msec/2 = 83 msec
External links
- RX01 - documentation at Bitsavers
- RX8/RX11 floppy disk system user's manual (EK-RX01-OP-001)
- RX8/RX11 floppy disk system maintenance manual (EK-RX01-MM-002)
- RX01 Engineering Drawings
- RX02 - documentation at Bitsavers
- RX02 Floppy Disk System User's Guide (EK-RX02-UG-001)
- Floppy Disk System Technical Manual (EK-0RX02-TM-001)
- RX02 Field Maintenance Print Set (MP00629)
- RX01/RX02 reference card (images in TAR file)
- DEC RX01/RX02 Floppy Disk System
- RX01/RX02 8" floppy disk drive RX11/RX211 controller