# RL02

RL01 and RL02 drives are moving head magnetic disk drives manufactured by Digital Equipment Corporation for the PDP-8 and PDP-11 microcomputers. The RL01 and RL02 drives stored approximate 5MB and 10MB respectively, utilizing a removable data cartridge.$^{:1–3}$ The drives are typically mounted in a standard 19" rack and weigh 34 kg. Up to four RL02 or RL01 drives may be used, in any combination, from a single controller. Typically an RL11 in the case of a Unibus PDP-11 and an RLV11 or RLV12 in the case of a Q-bus PDP-11. On the PDP-8/a the controller is an RL8A which consists of an M8433 Hex wide Omnibus card.

## Cartridge format

The RL01 and RL02 data cartridges are based on IBM 5440 cartridges, but have servo tracking data pre-encoded onto the cartridge.$^{:1–3}$ This reduces the need for strict head alignment, allowing cartridges to be used in several drives (although there was no backwards compatibility between RL02 and RL01 cartridges, despite similar appearance$^{:1–4}$). However, this prevents on-site low level formatting of cartridges. The drives have logic to prevent this servo data from being overwritten.$^{:1–3}$ RL01 cartridges have 256 tracks, and RL02 cartridges have 512 tracks.$^{:1–3}$

### Data format

On both RL01 and RL02 cartridges, each track is divided into 40 sectors of equal length. Each sector is divided into six fields, defined as follows (where each word is 16 bits).$^{:1–4}$)
* Header Preamble (PR1) consists of three words of 47 zeros, followed by a single one for synchronization.
* Header, consisting of three words. The first word identifies whether the sector is on the upper or lower side of the platter, followed by the track number (1 to 256 or 1 to 512) and finally the sector number (1 to 40). The second word is all zeros. The third word contains a cyclic redundancy check (CRC) of the header. This is checked during a read operation.
* Header Postamble (PO1) of one word consisting only of zeros. This field separates the header and data fields, enabling for mechanical tolerances between drives.
* Data Preamble (PR2) consists of three words of 47 zeros, followed by a single synchronization one bit.
* Data contains 128 words (a total of 2048 bits), followed by single word (16 bits) cyclic redundancy check
* Data Postamble (PO2) contains 16 zero bits.
The header and data is preceded by two servo bursts (S1 and S2) which are prerecorded onto the data cartridge during manufacture. Data is encoded on the disk using Modified Frequency Modulation, where a one bit will result in a magnetic flux reversal on the magnetic coating of the cartridge.
The last track of an RL01 and RL02 cartridge contains a table which lists all of the bad sectors on the cartridge. This track also contains the cartridges serial number.$^{:1-6–1-8}$) The drive does not contain any logic for handling bad sectors - this must be performed by the operating system. Hence, one could potentially erase this table if the operating system does not prevent against it.

## Interface

Access to and from an RL drive is done serially, via a 40 pin cable running from the controller inside the computer to the drive. These lines are described in the table below.
| Line Name | Description | Direction |
| Drive Select 0 | These two lines are used to select the drive (0-3). As there are only four possible combinations, at least one of the four drives is always selected. Only the selected drive will output data on the Drive Ready through to Status lines. | From the controller to the RL drive. |
| Drive Select 1 | These two lines are used to select the drive (0-3). As there are only four possible combinations, at least one of the four drives is always selected. Only the selected drive will output data on the Drive Ready through to Status lines. | From the controller to the RL drive. |
| Write Gate | Only when this line is asserted will the writing circuitry be enabled within the drive. If this line is asserted while a sector pulse occurs, the drive will raise a Write Gate Error and the drive will no longer accept any commands. | From the controller to the RL drive. |
| Write Data | When the Write Gate line is asserted, data may be transferred on this line. This data should be encoded in Modified Frequency Modulation, as the drive does not encode or decode this data. | From the controller to the RL drive. |
| System Clock | The system clock shifts data through the Drive Command line and also provides a reference for the disk servo motor. The drive will not spin up without these clock pulses. The clock pulses must be 4.1 MHz +/- 0.1%. | From the controller to the RL drive. |
| Drive Command | This line is used to transfer the drive command word, shifted by the system clock. | From the controller to the RL drive. |
| Power Fail | This line remains asserted at all times that the controller is active. If the computer or controller experience a power failure, this line will fall low, resulting in the drive unloading the heads and spinning down the platter. | From the controller to the RL drive. |
| Drive Ready | This line will be asserted by the selected drive when the head is centred over the selected track, indicating that the drive is ready to receive commands from the controller. This temporarily goes low when a drive command word has been shifted. | From the RL drive to the controller. |
| Status Clock | This clock the delayed system clock and is only enabled during a transfer of the drive status word. | From the RL drive to the controller. |
| Sector Pulse | This is a 625 microsecond pulse which is asserted high 40 times per disc revolution. This signal is generated from by the sector transducer. | From the RL drive to the controller. |
| Read Data | Modified Frequency Modulation encoded data is transferred over this line whenever the drive is selected and the head is locked onto a track. | From the RL drive to the controller. |
| Drive Error | This line is asserted when there has been certain drive errors. | From the RL drive to the controller. |
| Status | The drive status word is transferred in serial using this line, clocked by the Status Clock. | From the RL drive to the controller. |