Difference between revisions of "RL11 disk controller"
(Mention cable details) |
(Add QBUS versions) |
||
Line 1: | Line 1: | ||
− | The '''RL11''' disk | + | The '''RL11''' disk controllers (the original RL11 for the [[UNIBUS]], and the '''RLV11''' and '''RLV12''' for the [[QBUS]]) were for the [[RL01 disk drive|RL01]] and [[RL02 disk drive|RL02]] [[disk|disk drive]]s. |
− | The RL11 was a [[DEC card form factor|hex]] board. | + | The RL11 was a [[DEC card form factor|hex]] board, the M7762. The RLV11 consisted of two quad boards, the M8013 and M8014, which used the [[CD interconnect]] to communicate; it was program-compatible with the RL11. The RLV12 was a single quad board, the M8061; it was mostly program-compatible, but added a 'Bus Address Extension' [[register]] for use on [[QBUS#Variable address size|Q22]] systems. |
− | (If the flat cable is plugged in the wrong way around, nothing is damaged; the drive merely turns on its 'fault' light.) | + | All have a 40-pin [[Berg connector]] holding a [[flat cable]], which runs to a bulkhead-mounted converter from the flat cable to a special inter-drive cable (round in cross-section, with special locking connectors). (If the flat cable is plugged in the wrong way around, nothing is damaged; the drive merely turns on its 'fault' light.) |
The cable runs from the converter to the first drive; up to 4 drives can be connected to a single controller, using a bus running from one drive to the next, with a terminator in the last drive of the string. | The cable runs from the converter to the first drive; up to 4 drives can be connected to a single controller, using a bus running from one drive to the next, with a terminator in the last drive of the string. | ||
Line 24: | Line 24: | ||
==Device registers== | ==Device registers== | ||
− | The RL11 controller includes 4 read-write | + | The RL11 controller includes 4 (5 for the RLV12) read-write registers: |
{| border=1 | {| border=1 | ||
Line 36: | Line 36: | ||
|- | |- | ||
|Multipurpose Register || RLMP || 774406 | |Multipurpose Register || RLMP || 774406 | ||
+ | |- | ||
+ | |Bus Address Extension Register<br>''RLV12 only'' || RLBAE || 774410 | ||
|} | |} | ||
Line 52: | Line 54: | ||
During a 'Seek' command on an RL01: | During a 'Seek' command on an RL01: | ||
{{16bit-header}} | {{16bit-header}} | ||
− | | 0 || colspan=8 | CYL ADDR DIFF || colspan=2 | | + | | 0 || colspan=8 | CYL ADDR DIFF || colspan=2 | Reserved || HD SEL || 0 || DIR || 0 || 1 |
{{16bit-bitout}} | {{16bit-bitout}} | ||
During a 'Seek' command on an RL02: | During a 'Seek' command on an RL02: | ||
{{16bit-header}} | {{16bit-header}} | ||
− | | colspan=9 | CYL ADDR DIFF || colspan=2 | | + | | colspan=9 | CYL ADDR DIFF || colspan=2 | Reserved || HD SEL || 0 || DIR || 0 || 1 |
{{16bit-bitout}} | {{16bit-bitout}} | ||
Line 72: | Line 74: | ||
During a 'Get Status' command: | During a 'Get Status' command: | ||
{{16bit-header}} | {{16bit-header}} | ||
− | | colspan=8 | | + | | colspan=8 | Unused || colspan=4 | MBZ || RESET || 0 || GT STA || 1 |
{{16bit-bitout}} | {{16bit-bitout}} | ||
Line 119: | Line 121: | ||
{{16bit-bitout}} | {{16bit-bitout}} | ||
− | [[Category:UNIBUS Storage Controllers]] | + | ===774410: Bus Address Extension Register (RLBAE)=== |
+ | {{16bit-header}} | ||
+ | | colspan=10 | Unused || colspan=6 | BA21 <---> BA16 | ||
+ | {{16bit-bitout}} | ||
+ | |||
+ | '''Note:''' This register is present in the RLV12 ''only''. | ||
+ | |||
+ | [[Category: UNIBUS Storage Controllers]] | ||
+ | [[Category: QBUS Storage Controllers]] |
Revision as of 17:46, 10 June 2018
The RL11 disk controllers (the original RL11 for the UNIBUS, and the RLV11 and RLV12 for the QBUS) were for the RL01 and RL02 disk drives.
The RL11 was a hex board, the M7762. The RLV11 consisted of two quad boards, the M8013 and M8014, which used the CD interconnect to communicate; it was program-compatible with the RL11. The RLV12 was a single quad board, the M8061; it was mostly program-compatible, but added a 'Bus Address Extension' register for use on Q22 systems.
All have a 40-pin Berg connector holding a flat cable, which runs to a bulkhead-mounted converter from the flat cable to a special inter-drive cable (round in cross-section, with special locking connectors). (If the flat cable is plugged in the wrong way around, nothing is damaged; the drive merely turns on its 'fault' light.)
The cable runs from the converter to the first drive; up to 4 drives can be connected to a single controller, using a bus running from one drive to the next, with a terminator in the last drive of the string.
Contents
Controller capabilities
The controller and drive combination can execute 8 different commands:
- No Operation
- Write Check
- Get Status
- Seek
- Read Header
- Write Data
- Read Data
- Read Data Without Header Check
Spiral reads and writes (i.e. multi-block reads which start on one track, and overflow to the next) are not supported; multiple separate read/write commands are needed, with a seek to the next track between each pair.
Device registers
The RL11 controller includes 4 (5 for the RLV12) read-write registers:
Register | Abbreviation | Address |
---|---|---|
Control Status Register | RLCS | 774400 |
Bus Address Register | RLBA | 774402 |
Disk Address Register | RLDA | 774404 |
Multipurpose Register | RLMP | 774406 |
Bus Address Extension Register RLV12 only |
RLBAE | 774410 |
774400: Control Status Register (RLCS)
CERR | DE | NXM | DLT/HNF | DCRC/ HCRC | OPI | DRVSEL | CRDY | IE | ADDR EX | FUNC | DRDY | ||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
774402: Bus Address Register (RLBA)
BA15 <---> BA01 | 0 | ||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
774404: Disk Address Register (RLDA)
During a 'Seek' command on an RL01:
0 | CYL ADDR DIFF | Reserved | HD SEL | 0 | DIR | 0 | 1 | ||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
During a 'Seek' command on an RL02:
CYL ADDR DIFF | Reserved | HD SEL | 0 | DIR | 0 | 1 | |||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
During a 'Read Data' or 'Write Data' command on an RL01:
0 | CYL ADDR | HD SEL | SECTOR | ||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
During a 'Read Data' or 'Write Data' command on an RL02:
CYL ADDR | HD SEL | SECTOR | |||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
During a 'Get Status' command:
Unused | MBZ | RESET | 0 | GT STA | 1 | ||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
774406: Multipurpose Register (RLMP)
During a 'Get Status' command:
WDE | CHE | WL | SKTO | SPE | WGE | VC | DSE | Rsvd | HS | CO | HO | BH | STATE | ||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
State Code | State |
---|---|
0 | Load Cartridge |
1 | Spin Up |
2 | Brush Cycle |
3 | Load Heads |
4 | Seek |
5 | Lock On |
6 | Unload Heads |
7 | Spin Down |
During a 'Read Header' command, three successive reads to the Multipurpose Register will return, on an RL01:
0 | CYL ADDR | HD SEL | SECTOR | ||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
and on an RL02:
CYL ADDR | HD SEL | SECTOR | |||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
in the first word, all 0's in the second word, and the header CRC in the third.
During a 'Read Data' or 'Write Data' command:
111 | WC | ||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
774410: Bus Address Extension Register (RLBAE)
Unused | BA21 <---> BA16 | ||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
Note: This register is present in the RLV12 only.