RX11 floppy disk controller
From Computer History Wiki
The RX11 and RXV11 are controllers for the RX01 floppy disk drives for the UNIBUS and QBUS.
They have an identical programming interface; both use programmed I/O. The controller contains a buffer, which is filled or emptied under program control.
Contents
Device registers
Register | Abbreviation | Address |
---|---|---|
Command and Status Register | RXCS | 777170 |
Data Buffer Register | RxDB | 777172 |
777170: Command and Status Register (RXCS)
Error | Initialize | Unused | 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 |
Setting the 'Initialize' bit does not clear the 'Interrupt Enable' bit on the RXV11.
The function codes are:
Code | Function |
---|---|
0 | Fill Buffer |
1 | Empty Buffer |
2 | Write Sector |
3 | Read Sector |
4 | Not used |
5 | Read Status |
6 | Write Deleted Data Sector |
7 | Read Error Register |
777172: Data Buffer Register (RXDB)
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 (RXTA)
Unused | 0 | Track | |||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
Sector Address (RXSA)
Unused | 0 | 0 | 0 | Sector | |||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
Data Buffer (RXDB)
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 (RXES)
Unused | Drive Ready | Deleted Data | Unused | Initialize Done | Parity Error | CRC Error | |||||||||
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
Error (RXER)
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 |
0030 | Found home when stepping out 10 tracks for INIT |
0040 | Tried to access a track greater than 77 |
0050 | Home was found before desired track was reached |
0060 | Self-diagnostic error |
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 I/O 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 |
0210 | All parity errors |
External links
- RX11 Floppy Disk System Option Bulletin
- RX8/RX11 floppy disk system user's manual (EK-RX01-0P-001)
- RX8/RX11 floppy disk system maintenance manual (EK-RX01-MM-002)
- RXV11 user's manual (EK-RXV11-OP-002)
- RX01/RX02 8" floppy disk drive RX11/RX211 controller