Difference between revisions of "RX211 floppy disk controller"
From Computer History Wiki
m (+cat) |
m (→Further reading: +Two Potential Problems with the RXV21) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | The '''RX211''' and '''RXV21''' are controllers for the [[ | + | The '''RX211''' and '''RXV21''' are controllers for the [[RX01/02 floppy drive|RX02]] (and also the [[RX01/02 floppy drive|RX01]]) [[diskette|floppy disk]] [[disk|drives]] for the [[UNIBUS]] and [[QBUS]], respectively. |
They have an identical programming interface; both use [[Direct Memory Access|DMA]] to transfer information between [[main memory]] and the floppy. | They have an identical programming interface; both use [[Direct Memory Access|DMA]] to transfer information between [[main memory]] and the floppy. | ||
Line 103: | Line 103: | ||
| 0130 || Preamble found but no ID mark found within allowable time span | | 0130 || Preamble found but no ID mark found within allowable time span | ||
|- | |- | ||
− | | 0140 || [[CRC]] error found on what we thought was a header | + | | 0140 || [[Cyclic redundancy check|CRC]] error found on what we thought was a header |
|- | |- | ||
| 0150 || The header track address of a good header does not compare with the desired track | | 0150 || The header track address of a good header does not compare with the desired track | ||
Line 122: | Line 122: | ||
|} | |} | ||
− | [[Category:UNIBUS Storage Controllers]] | + | ==Further reading== |
− | [[Category:QBUS Storage Controllers]] | + | |
+ | * ''Bootstrap for RX02'', [[MicroNote]] #065 | ||
+ | * ''Two Potential Problems with the RXV21 Interface'', MicroNote #092 | ||
+ | |||
+ | ==External links== | ||
+ | |||
+ | * [http://www.bitsavers.org/www.computer.museum.uq.edu.au/pdf/EK-RX02-UG-001%20RX02%20Floppy%20Disk%20System%20User's%20Guide.pdf RX02 Floppy Disk System User's Guide] (EK-RX02-UG-001) - the RX211 and RXV21 are covered in Chapter 4 | ||
+ | * [http://www.bitsavers.org/pdf/dec/unibus/MP00626_RX211_Dec78.pdf RX211 Field Maintenance Print Set] (MP00626) | ||
+ | * [http://www.bitsavers.org/pdf/dec/qbus/MP00628_RXV21_Mar82.pdf RXV21 Field Maintenance Print Set] (MP00628) | ||
+ | * [https://www.pdp-11.nl/peripherals/disk/rx-info.html RX01/RX02 8" floppy disk drive RX11/RX211 controller] | ||
+ | |||
+ | [[Category: UNIBUS Storage Controllers]] | ||
+ | [[Category: QBUS Storage Controllers]] |
Latest revision as of 18:23, 29 July 2024
The RX211 and RXV21 are controllers for the RX02 (and also the RX01) floppy disk drives for the UNIBUS and QBUS, respectively.
They have an identical programming interface; both use DMA to transfer information between main memory and the floppy.
Device registers
Register | Abbreviation | Address |
---|---|---|
Command and Status Register | RX2CS | 777170 |
Data Buffer Register | RX2DB | 777172 |
777170: Command and Status Register (RX2CS)
Error | Initialize | Extended Address | RX02 | Unused | Density | Transfer Request | Interrupt Enable | Done | Unit Select | Function | Go | ||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
The function codes are:
Code | Function |
---|---|
0 | Fill Buffer |
1 | Empty Buffer |
2 | Write Sector |
3 | Read Sector |
4 | Set Media Density |
5 | Read Status |
6 | Write Deleted Data Sector |
7 | Read Error Register |
777172: Data Buffer Register (RX2DB)
This register contains one of several 'virtual' registers, depending on the function in progress.
The 'Transfer Request' bit in the RXCS is used to indicate which virtual register is in use at any given time.
Track Address (RX2TA)
Unused | 0 | Track | |||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
Sector Address (RX2SA)
Unused | 0 | 0 | 0 | Sector | |||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
Word Count (RX2WC)
Unused | 0 | Count | |||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
Bus Address (RX2BA)
Address | |||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
Data Buffer (RX2DB)
Unused | Data | ||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
Note the name clash between this virtual register, and the actual register which contains it.
Error and Status (RX2ES)
Unused | NXM | WC Overflow | Reserved | Unit Select | Drive Ready | Deleted Data | Drive Density | Density Error | AC Low | Initialize Done | Reserved | CRC Error | |||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
Error (RX2ER)
Unused | Error Code | ||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
Error code values:
Value | Meaning |
---|---|
0010 | Drive 0 failed to see home on Initialize |
0020 | Drive 1 failed to see home on Initialize |
0040 | Tried to access a track greater than 76 |
0050 | Home was found before desired track was reached |
0070 | Desired sector could not be found after looking at 52 headers (2 revolutions) |
0110 | More than 40 μsec and no SEP clock seen |
0120 | A preamble could not be found |
0130 | Preamble found but no ID mark found within allowable time span |
0140 | CRC error found on what we thought was a header |
0150 | The header track address of a good header does not compare with the desired track |
0160 | Too many tries for an IDAM (identifies header) |
0170 | Data AM not found in allotted time |
0200 | CRC error on reading the sector from the disk |
0220 | R/W electronics failed maintenance test mode |
0230 | Word count overflow |
0240 | Density error |
0250 | Wrong key word for set media density command |
Further reading
- Bootstrap for RX02, MicroNote #065
- Two Potential Problems with the RXV21 Interface, MicroNote #092
External links
- RX02 Floppy Disk System User's Guide (EK-RX02-UG-001) - the RX211 and RXV21 are covered in Chapter 4
- RX211 Field Maintenance Print Set (MP00626)
- RXV21 Field Maintenance Print Set (MP00628)
- RX01/RX02 8" floppy disk drive RX11/RX211 controller