Digital PDFs
Documents
Guest
Register
Log In
EK-RX01-OP-001
November 1976
64 pages
Original
9.3MB
view
download
Document:
RX8/RX11 Floppy Disk System User's Manual
Order Number:
EK-RX01-OP
Revision:
001
Pages:
64
Original Filename:
OCR Text
RX8/RX11 floppy disk system / user's manual EK-RX01-0P-001 digital equipment corporation • maynard, massachusetts 1st Edition, November 1976 Copyright © 1976 by Digital Equipment Corporation The material in this manual is for informational purposes and is subject to change without notice. Digital Equipment Corporation assumes no responsibility for any errors which may appear in this manual. Printed in U.S.A. The following are trademarks of Digital Equipment Corporation, Maynard, Massachusetts: DEC DECCOMM DECsystem-IO DECSYSTEM-20 DEC tape DECUS DIGITAL MASSBUS PDP RSTS TYPESET-8 TYPESET-II UNIBUS CONTENTS Page CHAPTER 1 GENERAL INFORMATION 1.1 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3 1.3.1 1.3.2 1.3.3 1.3.3.1 1.3.3.2 1.3.3.3 1.3.3.4 1.4 1.5 1.6 INTRODUCTION . . . . . PHYSICAL DESCRIPTION RX8E/RX11 Interfaces Microprogrammed Controller Read/Write Electronics . Electro-Mechanical Drive Power Supply SYSTEMS COMPATIBILITY Media Recording Scheme Logical Format .. Header Description Data Field Description ..... Track Usage CRC Capability APPLICABLE INSTRUCTION MANUALS CONFIGURATION SPECIFICATIONS . . . . . . . . . . CHAPTER 2 INSTALLATION AND OPERATION 2.1 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.4 2.4.1 2.4.2 2.4.3 2.4.3.1 2.4.3.2 2.4.4 2.5 2.5.1 2.5.2 2.5.3 2.5.3.1 2.5.3.2 2.5.4 PURPOSE AND ORGANIZATION SITE PREPARATION Space .. Cabling . . . . . AC Power Fire and Safety Precautions ENV1RONMENTAL CONSIDERATIONS General . . . . . . . . . . . . . Temperature, Relative Humidity Heat Dissipation Radiated Emissions Cleanliness INST ALLATION General .. Tools . . . Unpacking and Inspection Cabinet-Mounted . Separate Container Installation . . . OPERATION ....... . Operator Control . . . . Diskette Handling Practices and Precautions Diskette Storage . . . . . . . . . . . . . . Short Term (Available for Immediate Use) Long Term . Shipping Diskettes . . . . . . . . . . . . . . . iii 1-1 1-1 1-2 1-2 1-2 1-2 1-3 1-3 1-3 1-10 1-10 1-10 1-11 1-11 1-12 1-12 1-12 1-13 2-1 2-1 2-1 2-1 2-1 2-2 2-2 2-2 2-3 2-4 2-4 2-4 2-4 2-4 2-4 2-4 24 2-6 2-6 2-8 2-8 2-8 2-12 2-12 2-12 2-12 CONTENTS (Cont) Page CHAPTER 3 RX 11 INTERFACE PROGRAMMING INFORMATION 3.1 3.2 3.2.1 3.2.2 3.2.2.1 3.2.2.2 3.2.2.3 3.2.2.4 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.4 3.4.1 3.4.2 3.4.3 3.5 3.6 REGISTER AND VECTOR ADDRESSES ., REGISTER DESCRIPTION . . . . . . . . . RXCS - Command and Status (177170) RXDB - Data Buffer Register (I77172) RXT A - RX Track Address RXSA - RX Sector Address RXDB - RX Data Buffer RXES - RX Error and Status FUNCTION CODES Fill Buffer (000) .. Empty Buffer (001) Write Sector (010) Read Sector (011) Read Status (I 01) Write Sector with Deleted Data (110) Read Error Register Function (I 1 1) Power Fail . . . . . . . PROG RAMMING EXAMPLES Read Data/Write Data Empty Buffer Function Fill Buffer Function RESTRICTIONS AND PROGRAMMING PITFALLS ERROR RECOVERY . . . . . . . . . . . . . . . . CHAPTER 4 RX8E INTERFACE PROGRAMMING INFORMATION 4.1 DEVICE CODES . . . . . . INSTRUCTION SET . . . . . . . . Load Command (LCD) . . . . Transfer Data Register (XDR) STR SER SDN INTR INIT REGISTER DESCRIPTION Command Register .. Error Code Register RXT A - RX Track Address RXSA - RX Sector Address RXDB - RX Data Buffer RX Error and Status . . . . FUNCTION CODE DESCRIPTION Fill Buffer (000) .. Empty Buffer (001) Write Sector (010) Read Sector (011) Read Status (I 0 1) 4.2 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.3 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.4 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 3-1 3-2 3-2 3-3 3-3 3-3 3-4 3-4 3-5 3-5 3-5 3-6 3-6 3-7 3-7 3-7 3-7 3-8 3-8 3-8 . 3-11 . 3-11 .. 3-11 4-1 4-2 4-2 4-2 4·3 4-3 4-3 4-3 4-3 4-3 4-3 4-4 4-5 4-5 4-6 4-6 4-7 4-7 4-8 4-8 4-9 4-9 iv CONTENTS (Cont) Page 4.4.6 4.4.7 4.4.8 4.S 4.S.1 4.S.2 4.S.3 4.6 4.7 Write Deleted Data Sector (110) .. Read Error Register Function (111) Power Fail . . . . . . . . . . . . . PROG RAMMING EXAMPLES .... . Write/Write Deleted Data/Read Functions Empty Buffer Function . . . . . . . . . Fill Buffer Function . . . . . . . . . . . RESTRICTIONS AND PROGRAMMING PITFALLS ERROR RECOVERY . . . . . . . .... 4-9 4-9 4-9 · 4-10 · 4-10 · 4-10 · 4-10 · 4-1S · 4-16 ILLUSTRA nONS Figure No. 1-1 1-2 1-3 1-4 l-S 1-6 1-7 1-8 1-9 1-10 1-11 2-1 2-2 2-3 2-4 2-S 2-6 2-7 3-1 3-2 3-3 3-4 3-S 3-6 3-7 3-8 4-1 4-2 4-3 4-4 4-S 4-6 4-7 4-8 4-9 4-10 Title Floppy Disk System Configuration Front View of the Floppy Disk System M83S7 Module (RX8E Interface) M7846 Module (RX 11 Interface) Top View of the RXO 1 Underside View of Drive Top View of Drive Diskette Media . . . . . Flux Reversal Patterns Track Format (Each Track) Sector Format (Each Sector) RX01 .......... . Cabinet Layout Dimensions RXOI Shipping Restraints RX8/RX 11 Unpacking . . . RXOI Cabinet Mounting Information Cable Routing, BCOSL-IS Flexible Diskette Insertion RXCS Format (RX11) RXTA Format (RXl1) RXSA Format (RXl1) RXDB Format (RX 11) RXES Format (RX11) RX11 Write/Write Deleted Data/Read Example RX 11 Empty Buffer Example RXll Fill Buffer Example . . . . . LCD Word Format (RX8E) Command Register Format (RX8E) Error Code Register Format RXTA Format (RX8E) RXSA Format (RX8E) RXDB Format (RX8E) RXES Format (RX8E) RX8E Write/Write Deleted Data/Read Example RX8E Empty Buffer Example Fill Buffer Example . . . . . . . . . . . . . . v Page 1-2 1-3 1-4 l-S 1-6 1-7 1-8 1-9 1-10 1-10 1-11 2-2 2-3 2-S 2-7 2-8 2-9 2-11 3-2 3-3 3-3 3-4 3-4 3-9 · 3-10 3-13 4-2 4-3 4-4 4-S 4-S 4-6 4-6 · 4-11 · 4-13 · 4-14 TABLES Title Table No. 2-1 4-1 Page 2-10 Interface Code/Jumper Configura tion Device Code Switch Selection 4-1 vi CHAPTER 1 GENERAL INFORMATION This manual presents information on the installation, operation, and programming of the RX8 or RXll Floppy Disk System. Chapter 2 (Installation and Operation) should be consulted for unpacking and installation information. Chapter 2 also provides information on the proper care of the media and should be read carefully. 1.1 INTRODUCTION The RX8 and RXII Floppy Disk Systems consist of an RXOI subsystem and either an RX8E interface for a PDP-8 system or an RXII interface for a PDP-II system. The RXOI is a low cost, random access, mass memory device that stores data in fixed length blocks on a preformatted, IBM-compatible, flexible diskette. Each drive can store and retrieve up to 256K 8-bit bytes of data (pDP-II or PDP-8) or I28K 12-bit words (PDP-8). The RXOI consists of one or two flexible disk drives, a single read/write electronics module, a microprogrammed controller module, and a power supply, enclosed in a rack-mountable, 10-1/2 inch, self-cooled chassis. A cable is included for connection to either a PDP-8 interface module for use on the PDP-8 Omnibus or a PDP-II interface for use on the PDP-II Unibus. The RXOI performs implied seeks. Given an absolute sector address, the RXOI locates the desired sector and performs the indicated function, including automatic head position verification and hardware calculation and verification of the Cyclic Redundancy Check (CRC) character. The CRC character that is read and generated is compatible with IBM 3740 equipment. The RXOI connects to the M8357 Omnibus interface module, which converts the RXOI I/O bus to a PDP-8 family Omnibus structure. It controls interrupts to the CPU initiated by the RXOI, controls data interchange between the RXOI and the host CPU, and handles I/O transfers used to test status conditions. The RXOI connects to the M7846 Unibus interface module, which converts the RXOI I/O bus to a PDP-II Unibus structure. It controls interrupts to the CPU initiated by the RXO I, decodes Unibus addresses for register selection, and handles data interchange between the RXOI and the host CPU. The interface modules are dc powered by their host processor. 1.2 PHYSICAL DESCRIPTION A complete system consists of the following components: M7726 controller module M7727 read/write electronics module H77I A or B power supply RXOI-CA floppy disk drive (60 Hz, max of 2) RXOI-CC floppy disk drive (50 Hz, max of 2) M8357 (RX8E) or M7846 (RXIl) interfaces 1-1 All components except the interface arc housed in a 10-1/2 in. rack-mountable box. The power supply, M7726 module, and M7727 module are mounted above the drives. Interconnection from the RXOI to the interface is with a 40-conductor BC05L-15 cable of standard length (IS ft). Figure 1-1 is a configuration drawing of the system, and Figure 1-2 is a front view of a dual drive system. 0 DR IVE # 0 DISKETTE M8357 OMNIBUS INTERFACE 0 M N I B U S M7846 UNI BUS INTERFACE U N I B U S fL CPU CONTROLLER M7726 DRIVE ELECTRONICS M7727 0 DRIVE #1 DISKETTE CP-1505 Figure 1-1 Floppy Disk System Configuration 1.2.1 RX8E/RX 11 Interfaces Interface modules M8357 (RX8E) and M7846 (RXII) arc both quad modules. The M8357 plugs into an Omnibus slot and allows the RXOl to be used on the PDP-8 processors. The M7846 plugs into an SPC (small peripheral controller) slot with any PDP-II processor. Figure 1-3 sh ows the M8357 module and its major sections. Figure 14 shows the M7846 module and its major sections. 1.2.2 Microprogrammed Controller The M7726 microprogrammed controller module is located in the RXOI cabinet as shown in Figure 1-5. The M7726 is hinged on the left side and lifts up for access to the M7727 read/write electronics module. 1.2.3 Read/Write Electronics TIle M7727 read/write electronics module is located in the RXOI cabinet as shown in Figure 1-5. 1.2.4 Electro-Mechanical Drive A maximum of two drives can be attached to the read/write electronics. The electro-mechanical drives are mounted side by side under the read/write electronics board (M7727). Figure 1-6, which is an underside view of the drive, shows the drive motor connected to the spindle by a belt. (This belt and the small pulley are different on the 50 Hz and 60 Hz units; see Paragraph 2.2.3.2 for complete input power modification requirements.) Figure 1-7 is the top view showing the electro-mechanical components of the drive. 1-2 7408-1 Figure 1-2 Front View of the Floppy Disk System 1.2.S Power Supply The H771 power supply is mounted at the rear of the RXOI cabinet as shown in Figure 1-5. The H771A is rated at 60 Hz ± 1/2 Hz over a voltage range of 90-132 Vac. TheH771C and Dare rated at 50 Hz ± 1/2 Hz over four voltage ranges: 90-120 Vac } 3.5 A circuit breaker; H771C 100-132 Vac 180-240 Vac } 1.75 A circuit breaker; H771D 200-264 Vac Two power harnesses are provided to adapt the H771C or D to each voltage range. This is not applicable to the H771A. See Paragraph 2.2.3.2 for complete input power modification requirements. 1.3 SYSTEMS COMPATIBILITY This section describes the physical, electrical, and logical aspects of IBM compatibility as defined for data interchange with IBM system 3740 devices. 1.3.1 Media The media used on the RX8 or RXl1 Floppy Disk System is compatible with the IBM 3740 family of equipment and is shown in Figure 1-8. The "diskette" media was designed by applying tape technology to disk architecture. This resulted in a flexible oxide-on-mylar surface encased in a plastic envelope with a hole for the read/write head, a hole for the drive spindle hub, and a hole for the hard index mark. The envelope is lined with a fiber material that cleans the diskette surface. The media is supplied to the customer preformatted and pretested. 1-3 BC05L·15 INTERFACE CABLE CONNECTOR DEVICE CODE SWITCHES 7408-3 Figure 1·3 M8357 Module (RX8E Interface) 1-4 CONNECTOR FOR THE BC05L-15 INTERFACE CABLE PRIORITY PLUG RX11 INTERFACE REGISTER Figure 14 M7846 Module (RXll Interface) 1-5 7408-4 M7726 J.LCPU CONTROLLER MODULE BC05L-15 INTERFACE CABLE M7727 READIWRITE ELECTRONICS MODULE H771 POWER SUPPLY 7408-8 Figure 1-5 Top View of the RXOI 1-6 DRIVE MOTOR BELT DRIVE SPINDLE PULLEY AC AC POWER CONNECTOR DC STEPPER MOTOR 7408-5 Figure 1-6 Underside View of Drive 1-7 READ/WRITE HEAD HEAD LOAD ARM HELIX DRIVE 7408-7 Figure 1-7 Top View of Drive 1-8 INDEX HOLE REGISTRATION HOLE READ/WRITE HEAD APERTURE 7408-2 Figure 1·8 Diskette Media 1-9 1.3.2 Recording Scheme The recording scheme used is "double frequency." In this method, data is recorded between bits of a constant clock stream. The clock stream consists of a continuous pattern of 1 flux reversal every 4 J.1s (Figure 1-9). A data "one" is indicated by an additional reversal between clocks (i.e., doubling the bit stream frequency; hence the name). A data "zero" is indicated by no flux reversal between clocks. A continuous stream of ones, shown in the bottom waveform in Figure 1-9, would appear as a "2F" bit stream, and a continuous stream of zeros, shown in the top waveform in Figure 1-9, would appear as a "1 F" or fundamental frequency bit stream. ALL ZEROS PATTERN 0 0 0 0 0 0 0 0 0 0 0 0 0 I ~CHANGING PATTERN 0 0 I I 1 ~ 4}'sec 0 0 0 0 I I I 0 I ALL ONES PATTERN I 1 1 I.- CP-1506 1 Figure 1-9 Flux Reversal Patterns 1.3.3 Logical Fonnat The logical format of the RX8 and RXll Floppy Disk Systems is the same as that used in the IBM 3740. Data is recorded on only one side of the diskette. This surface is divided into 77 concentric circles or "tracks" numbered 0-76. Each track is divided into 26 sectors numbered 1-26 (Figure 1-10). Each sector contains two major fields: the header field and the data field (Figure 1-1 O. L L.E.D. TRANSDUCER OUTPUT ""--H-A-R-Z.D--., f'~1_ _ _...J I I~g~~ L..---------------III " 1 PRE-INDEX IS ECTOR GAP #26 ~20BYTES SECTOR #1 SECTOR #2 SECTOR #3 u f SECTOR #4 t CP ·1507 SOFT INDEX MARK 1 BYTE - ROTATION Figure 1-10 Track Format (Each Track) 1.3.3.1 Header Description - The header field is broken into seven bytes (eight bits/byte) of information and is preceded by a field of zeros for synchronization. 1. Byte No.1: ID Address Mark - This is a unique stream of flux reversals (not a string of data bits) that is decoded by the controller to identify the beginning of the header field. 2. Byte No.2: Track Address - This is the absolute (0-1148) binary track address. Each sector contains track address information to identify its location on 1 of the 77 tracks. 1-10 HEADER FIELD DATA FIELD .. ~O ADDRESS MARK SYNC FI ELD ALL "0'5" 33 BYTES -Vl COI'Tl co • -In 1'Tl::-: 1'Tl0 ;u I'Tl ;po ;po --l CO;U -<;po o o o ;u I'Tl Vl Vl I'Tl Vl Vl o ;u -l !--, -<0 -<n -l-l HEADER CRC 2 BYTES -lui • DATA MARK SYNC FIELD ALL "0'5" 17 BYTES ;po;po ;U-l ::-:;po -0 CO;U -< -lO I'TlI'Tl r 128 10 BYTES OF DATA I'Tl -l DATA CR C 2 BYTES I'Tl o o;po -l ;po .. BYTE " \I BYTES----j.I.---......1 ~. WRITE GATE TURN OFF L FOR WRITE OF PRECEEDING 1---6 BYTES ~ WRITEGATETURNON lFORWRITE OF NEXT DATA FIELD DATA FIELD - CP-l!lOB ROTATION Figure 1-11 Sector Format (Each Sector) 3. Byte No.3 - Zeros (one byte) 4. Byte No.4: Sector Address - This is the absolute binary sector address {l-32s). Each sector contains sector address information to identify its circumferential position on a track. 5. Byte No.5 - Zeros (one byte) 6. Bytes No.6 and 7: CRC - This is the Cyclic Redundancy Check character that is calculated for each sector from the first five header bytes using a polynomial division algorithm designed to detect the types of failures most likely to occur with "double frequency" recorded data and the floppy media. The CRC is compatible with IBM 3740 series equipment. 1.3.3.2 Data Field Description - The data field is broken into 131 bytes of information and is preceded by a field of zeros for synchronization and the header field (Figure 1-11). 1. Byte No.1: Data or Deleted Data Address Mark - This is a unique string of flux reversals (nofa string of data bits) that is decoded by the controller to identify the beginning of the data field. The deleted data mark is not used during normal operation but the RXOI can identify and write deleted data marks under program control, as required. The deleted data mark is only included in the RX8/RXl1 system to be IBM compatible. One or the other data address marks precedes each data field. 2. Bytes No. 2-129 - These bytes comprise the data field used to store 128 8-bit bytes of information. NOTE Partial data fields are not recorded. 3. Bytes No. 130 and 131 - These bytes comprise the CRC character that is calculated for each sector from the first 129 data field bytes using the industry standard polynomial division algorithm designed to detect the types of failures most likely to occur in double frequency recording on the floppy media. 1.3.3.3 Track Usage - In the IBM 3740 system, some tracks are commonly designated for special purposes such as error information, directories, spares, or unused tracks. The RXOI is capable of recreating any system structure through the use of special systems programs, but normal operation will make use of all the available tracks as data tracks. Any special file structures must be accomplished through user software. 1-11 1.3.3.4 CRC Capability - Each sector has a two-byte header CRC character and a two-byte data CRC character to ensure data integrity. The CRC characters are generated by the hardware during a write operation and checked to ensure all bits were read correctly during a read operation. The CRC character is the same as that used in the IBM 3740 series of equipment. 1.4 APPLICABLE INSTRUCTION MANUALS This manual is designed to be used in conjunction with the RX8/RX 11 Engineering Drawings. Other documents useful in operating and understanding the RX8/RXll system are: PDP-}} * Processor Handbook PDP-}} Peripherals Handbook PDP-8 Small Computer Handbook PDP-8A User Manual I.5 CONFIGURATION Option number designations are as follows: PDP-8 Systems RX8-AA RX8-AD RX8-BA RX8-BD Single drive system, 115 V, 60 Hz Single drive system, 50 Hz Dual drive system, 115 V /60 Hz Dual drive system, 50 Hz PDP-II Systems RXI1-AA RXII-AC RXII-BA RXll-BD Single drive system, 115 V/60 Hz Single drive system, 50 Hz Dual drive system, 115 Vj60 Hz Dual drive system, 50 Hz NOTE 50 Hz versions are available in voltages of 105, 115, 220, 240 Vac by field pluggable conversion. See Paragraph 2.2.3.2 for complete input power modification requirements. *Appropriate handbook for the particular processor used with the system. 1-12 1.6 SPECIFICATIONS System Reliability Minimum number of revolutions per track 1 million/media (head loaded) Seek error rate 1 in 10 6 seeks Soft read error rate 1 in 10 9 bits read Hard read error rate 1 in 10 1 2 bits read NOTE The above error rates only apply to media that is properly cared for. Seek error and soft read errors are usually attributable to random effects in the head/media interface, such as electrical noise, dirt, or dust. Both are called "soft" errors if the error is recoverable in ten additional tries or less. "Hard" errors cannot be recovered. Seek error retries should be preceded by an Initialize. Drive Performance Capacity Per diskette Per track Per sector Data transfer rate Diskette to con troller buffer Buffer to CPU interface CPU interface to I/O bus 8-bit bytes 12-bit words 256,256 bytes 3,328 bytes 128 bytes 128,128 words 1,664 words 64 words 4 J..ls/data bit (250K bps) 2 J..ls/bit (500K bps) 18 J..ls/8-bit byte (>50K bytes/sec) NOTE PDP-8 interface can operate in 8- or 12-bit modes under software control. The transfer rate is 23 J..lS per 12-bit word (>40K bytes/sec). Track-to-track move Head settle time Rotational speed Recording surfaces per disk Tracks per disk Sectors per track Recording technique Bit density Track density Average access 10 ms/track maximum 20 ms maximum 360 rpm ± 2.5%; 166 ms/rev nominal 1 77 (0-76) or (0-1148) 26 (1-26) or (1-328) Double frequency 3200 bpi at inner track 48 tracks/in. 488 ms, computed as follows: Seek Settle Rotate (77 tks/2) X 10 ms + 20 ms + (166 ms/2) = 488 ms 1-13 Environmental Characteristics Temperature RXOI, operating RXOI, nonoperating 0 0 0 ISO to 32 C (59 to 90 F) ambient; maximum 0 temperature gradient = 20 F/hr (11.1 0 C/hr) 0 0 0 _35 to +60 C (_30 to +1400 F) Media, operating Media, nonoperating 0 0 0 -35 0 to +52 C (-30 to +125 F) NOTE Media temperature must be within operating temperature range before use. Relative humidity RXOI, operating 0 0 25 C (77 F) maximum wet bulb 0 0 2 C (36 F) minimum dew point 20% to 80% relative humidity RXOI, nonoperating 5% to 98% relative humidity (no condensation) Media, nonoperating 10% to 80% relative humidity Magnetic field Media exposed to a magnetic field strength of 50 oersteds or greater may lose data. Interface modules Operating temperature Relative humidity Maximum wet bulb Minimum dew point 0 0 0 50 to 50 C (41 to 122 F) 10% to 90% 0 0 32 C (90 F) 0 0 2 C (36 F) Electrical Power consumption RXOI PDP-II interface (M7846) PDP-8 interface (M8357) AC power input 3 A at 24 V (dual), 75W; 5 A at 5 V, 25 W Not more than 1.5 A at 5 V dc Not more than 1.5 A at 5 Vdc 4 A at 115 Vac 2 A at 230 Vac 1-14 CHAPTER 2 INSTALLATION AND OPERATION 2.1 PURPOSE AND ORGANIZATION This chapter provides information on installing and operating the RX8/RXII Floppy Disk System. This information is organized into four sections as outlined below. 1. Site Preparation - The planning required to make the installation site suitable for operation of the floppy disk system, including space, cabling, and power requirements, and fire and safety precautions. 2. Environmental Considerations - The specific environmental characteristics of the floppy disk systems, i.e., temperature, relative humidity, air conditioning and/or heat dissipation, and cleanliness. 3. Installation - The actual step-by-step process of installing the floppy disk system from unpacking through the preliminary installation checks, power conversion techniques, and acceptance testing. 4. Operation Practices - The recommended practices for using the floppy disk system, handling the media, and shipping and storing the diskettes. 2.2 SITE PREPARATION 2.2.1 Space The RXOI is a cabinet-mountable unit that may be installed in a standard Digital Equipment Corporation cabinet. This rack-mountable version is approximately 10-1/2 in. (28 cm) high, 19 in. (48 cm) wide, and 16-1/2 in. (42 cm) deep (Figure 2-1). Provision should be made for service clearances of approximately 22 in. (56 cm) at the front and rear of the cabinet (Figure 2-2). 2.2.2 Cabling The standard interface cable provided with an RX8/RXll (BC05L-15) is 15 ft (4.6 m) in length, and the positioning of the RXOI in relation to the central processor should be planned to take this into consideration. The RXOI should be placed near the control console or keyboard so that the operator will have easy access to load or unload disks. The position immediately above the CPU is preferred. The ac power cord will be about 9 ft (2.7 m) long. 2.2.3 AC Power 2.2.3.1 Power Requirements - The RXOI is designed to use either a 60 Hz or a 50 Hz power source. The 60 Hz version (RXOI-A) will operate from 90 to 132 Vac, without modifications, and will use less than 4 A operating. The 50 Hz version (RXOI-D) will operate within four voltage ratings and will require field verification/modification to ensure that the correct voltage option is selected. The voltage ranges of90 to 120 Vac and 180 to 240 Vac will use less than 4 A operating. The voltage ranges of 100-132 Vac and 200-264 Vac will use less than 2 A. Both versions of the RXOI will be required to receive the input power from an ac source (e.g., 861 power control) that is controlled by the system's power switch. 2-1 1 10.5" 1~11~111~IIIIIIIIIIIIIII~m~ ]orn) I~ 19" (48.3 cm) ·1 (FRONT VIEW) 17.0" I' (43.2 cm) ,.-- ----- ~ ~ (FRONT) I ~ ~ -- ~ 0 C- ---- ~SEE NOTE / \S) INSIDE TRACK Cll:::::::::J 26.5" (66.3 cm) SIDE VIEW) NOTE Dust cover attached to cabinet not RXOI. CP-ISII Figure 2·1 RXO 1 2.2.3.2 Input Power Modification Requirements - The 60 Hz version of the RXO 1 uses the H771 A power supply and will operate on 90 to 132 Vac, without modification. To convert to operate on a 50 Hz power source in the field, the H771A supply must be replaced with an H771C or D (Figure 1-5) and the drive motor belt and drive motor pulley must be replaced (Figure 1-6). The 50 Hz version of the RXO 1 uses either the H771 C or D power supply. The H771C operates on a 90-120 Vac or 100-132 Vac power source. The H771D operates on a 180-240 Vac or 200-264 Vac power source. To convert the H771C to the higher voltage ranges or the H771D to the lower voltage ranges, the power harness and circuit breaker must be changed. See Figure 2-3 for appropriate power harness and circuit breaker. 2.2.4 Fire and Safety Precautions The RX8/RXII Floppy Disk System presents no additional fire or safety hazards to an existing computer system. Wiring should be carefully checked, however, to ensure that the capacity is adequate for the added load and for any contemplated expansion. 2.3 ENVIRONMENTAL CONSIDERATIONS 2.3.1 General The RX8/RXll is capable of efficient operation in computer environments~ however, the parameters of the operating environment must be determined by the most restrictive facets of the system, which in this case are the diskettes. 2-2 SWINGING DOOR R. H. OR L. H. 18 Y3~ (46.35cm) REMOVABLE END PANEL REMOVABLE END PANEL- 1--0----------, I I I I 48 7/32" (122.47cm) I CABLE ACCESS - I I I I I _ _ _ _ _ _~~_I FAN PORTS ,/ :-0--" 30" (76.2cm) LEVELER 4 PLACES I / " / + + CASTER SWIVEL RADIUS 2 13/32" (6.12 cm) (4) CASTERS 11 11 "".-----21 /16 1.. : (54.87 cm) I II I I RXOl EXTENDED FROM CABINET I II (48.~ cm) I L________ J~ CABINET 717/1~(182.28cm) high (floor line to cabinet top) CP-1612 Figure 2-2 Cabinet Layout Dimensions 2.3.2 Temperature, Relative Humidity The operating ambient temperature range of the diskette is 59° to 90° F (15° to 32° C) with a maximum temperature gradient of 20° F/hr (-6.7° C/hr). The media nonoperating temperature range (storage) is increased to -30° to 125° F (-34.4° to 51.6° C), but care must be taken to ensure that the media has stabilized within the operating temperature range before use. This range will ensure that the media will not be operated above its absolute temperature limit of 125° F. 2-3 Humidity control is important in any system because static electricity can cause errors in any CPU with memory. The RXOI is designed to operate efficiently within a relative humidity range of 20 to 80 percent, with a maximum wet bulb temperature of 77° F (25° C) and a maximum dew point of 36° F (2° C). 2.3.3 Heat Dissipation The heat dissipation factor for the RXOI Floppy Disk System is less than 225 Btu/hr. By adding this figure to the total heat dissipation for the other system components and then adjusting the result to compensate for such factors as the number of personnel, the heat radiation from adjoining areas, and sun exposure through windows, the approximate cooling requirements for the system can be determined. It is advisable to allow a safety margin of at least 25 percent above the maximum estimated requirements. 2.3.4 Radiated Emissions Sources of radiation, such as FM, vehicle ignitions, and radar transmitters located close to the computer system, may affect the performance of the RX8/RXll Floppy Disk System because of the possible adverse effects magnetic fields can have on diskettes. A magnetic field with an intensity of 50 oersteds or greater might destroy all or some of the information recorded on the diskette. 2.3.5 Cleanliness Although cleanliness is important in all facets of a computer system, it is particularly important in the case of moving magnetic media, such as the RXOI. Diskettes are not sealed units and are vulnerable to dirt. Such minute obstructions as dust specks or fingerprint smudges may cause data errors. Therefore, the RXO 1 should not be subjected to unusually contaminated atmospheres, especially one with abrasive airborne particles. (Refer to Paragraph 2.5.2.) NOTE Removable media involve use, handling, and maintenance which are beyond DEC's direct control. DEC disclaims responsibility for performance of the equipment when operated with media not meeting DEC specifications or with media not maintained in accordance with procedures approved by DEC. DEC shall not be liable for damages to the equipment or to media resulting from such operation. 2.4 INSTALLATION 2.4.1 General The RX8/RXII Floppy Disk System can be shipped in a cabinet as an integral part of a system or in a separate container. If the RXOI is shipped in a cabinet, the cabinet should be positioned in the final installation location before proceeding with the installation. 2.4.2 Tools Installation of an RX8/RX 11 Floppy Disk System requires no special tools or equipment. Normal hand tools are all that are necessary. However, a forklift truck or pallet handling equipment may be needed for receiving and installing a cabinet-mounted system. 2.4.3 Unpacking and Inspection 2.4.3.1 Cabinet-Mounted 1. Remove the protective covering over the cabinet. 2. Remove the restraint on the rear door latch and open the door. 2-4 3. Remove the two bolts on the cabinet's lower side rails that attach the cabinet to the pallet. 4. Raise the four levelers at the corners of the cabinet, allowing the cabinet to roll on the casters. 5. Carefully roll the cabinet off the pallet; if a forklift is available, it should be used to lift and move the cabinet. 6. Remove the shipping restraint from the RXOI and save it for possible reuse (Figure 2-3). 7. Slide the RXOI out on the chassis slides and visually inspect for any damage, loose screws, loose wiring, etc. NOTE If any shipping damage is found, the customer should be notified at this time so he can contact the carrier, and record the information on the acceptance form. JUMPER P1 FILTER POWER PLUGS FILTER 7436-12 VOLTAGE (Vac) POWER HARNESS CIRCUIT BREAKER 90-120 100-132 180-240 200-264 70-10696-02 70-10696-01 70-10696-04 70-10696-03 3.5 A, 12-12301-01 3.5 A, 12-12301-01 1.75 A, 12-12301-00 1.75 A, 12-12301-00 Figure 2-3 RXOI Shipping Restraints 2-5 2.4.3.2 Separate Container 1. Open the carton (Figure 2-4) and remove the corrugated packing pieces. 2. Lift the RXO 1 ou t of the carton and remove the plastic shipping bag. 3. Remove the shipping fixtures from both sides of the RXOI and inspect for shipping damage. 4. Attach the inside tracks of the chassis slides provided in the carton to the RXO 1 (Figure 2-1). 5. Locating the proper holes in the cabinet rails (Figure 2-5), attach the outside tracks to the cabinet. 6. Place the tracks attached to the RXOI inside the extended cabinet tracks and slide the unit in until the tracks lock in the extended position. 7. Locate the RXOI cover in the cabinet above the unit and secure it to the cabinet rails (Figure 2-3). 2.4.4 Installation 1. Loosen the screws securing the upper module (M7726) and swing it up on the hinge. 2. Inspect the wiring and connectors for proper routing and ensure that they are seated correctly. 3. This step is for 50 Hz versions only. Check the power configuration to ensure that the proper power harness and the correct circuit breaker are installed (Figure 2-3). 4. Connect the BCOSL-15 cable to the M7726 module and route it through the back of the RXOI (Figure 2-6) to the CPU, then connect it to the interface module (RX8E, M8357; RXll, M7846). 5. Refer to Table 2-1 for correct device code or addressing jumpers. 6. Ensure that power for the system is off. 7. Insert the interface module into the Omnibus (RX8E) or available SPC slot (RX 11). (Refer to PDP-)} Processor Handbook, SpeCifications, Chapter 9.) 8. Connect the RXOI ac power cord into a switched power source. 9. Turn the power on, watching for head movement on the drive(s) during the power up, initialize phase. The head(s) should move ten tracks toward the center and back to track O. 10. Perform the diagnostic in the sequence listed below for the number of passes (time) indicated. If any errors occur, refer to Chapter 6 for corrective action. RX8 or RX II Diagnostic - 2 passes Data Reliability /Exerciser - 3 passes DECX-8 or DECX-II - 10 minutes 2-6 SLIDES ONE PIECE FOLDER 9905711 PLYWOOD HOLDING FIXTURE RT. SI DE 9905712-01 FLAT WASHER (8) RXOI ,,-/ 90- 09024-00 (I, DUST COVER LOCK WASHER (8) ~~ 90-07906-00 ~SCREW (8) 90- 06076-01 SLOTTED SHIPPING CARTON CP-l!196 Figure 2-4 RX8/RXll Unpacking 2-7 COVER SCREWS, CHASSIS SLIDES o o CP-1594 Figure 2-5 RX01 Cabinet Mounting Information 2.5 OPERATION 2.5.1 Operator Control The simplicity of the RX01 precludes the necessity of operator controls and indicators. A convenient method of opening the unit for diskette insertion and removal is provided. On each drive is a simple pushbutton, which is compressed to allow the spring-loaded front cover to open. The diskette may be inserted or removed, as shown in Figure 2-7, with the label up. The front cover will automatically lock when the bar is pushed down. CAUTION The drive(s) should not be opened while they are being accessed because data may be incorrectly recorded, resulting in a CRC error when the sector is read. 2.5.2 Diskette Handling Practices and Precautions To prolong the diskette life and prevent errors when recording or reading, reasonable care should be taken when handling the media. The following handling recommendations should be followed to prevent unnecessary loss of data or interruptions of system operation. 1. Do not write on the envelope containing the diskette. Write any information on a label prior to affixing it to the diskette. 2. Paper clips should not be used on the diskette. 3. Do not use writing instruments that leave flakes, such as lead or grease pencils, on the jacket of the media. 2-8 7436-18 Figure 2-6 Cable Routing, BCOSLIS 2-9 Table 2-1 Interface Code/Jumper Configuration RXll (M7846) BR Priority BR7 - 54-08782 BR6 - 54-08780 *BR5 - 54-08778 BR4 - 57-08776 RX8E (M8357) Device Codes *670X 671X 672X 673X 674X 675X 676X 677X SWI SW2 SW3 SW4 SW5 SW6 ON ON ON ON OFF OFF OFF OFF ON ON OFF OFF ON ON OFF OFF ON OFF ON OFF ON OFF ON OFF OFF OFF OFF OFF ON ON ON ON OFF OFF ON ON OFF OFF ON ON OFF ON OFF ON OFF ON OFF ON *Unihus Address 17717X AI2/WI8 - Removed AII/WI7 - Removed AI0/WI6 - Removed A9/W 15 - Removed A8/WI4 - Installed A7/W13 - Installed A6/W12 - Removed A5 /W 11 - Removed A4jWIO - Removed A3jW9 - Removed * Vector Address (264 8 ) V2jWI - Installed V3jW2 - Installed V4jW3 - Removed V5jW4 - Installed V6jW5 - Removed V7 jW6 - Installed V8jW7 - Removed *Standard 2-10 7408-6 Figure 2-7 Flexible Diskette Insertion 4. Do not touch the disk surface exposed in the diskette slot or index hole. 5. Do not clean the disk in any manner. 6. Keep the diskette away from magnets or tools that may have become magnetized. Any disk exposed to a magnetic field may lose information. 7. Do not expose the diskette to a heat source or sunlight. 8. Always return the diskette to the envelope supplied with it to protect the disk from dust and dirt. Diskettes not being used should be stored in the me box if possible. 9. When the diskette is in use, protect the empty envelope from liquids, dust, and metallic materials. 10. Do not place heavy items on the diskette. 11. Do not store diskettes on top of computer cabinets or in places where dirt can be blown by fans into the diskette interior. 12. If a diskette has been exposed to temperatures outside of the operating range, allow 5 minutes for , thermal stabilization before use. The diskette should be removed from its packaging during this time. 2-11 2.5.3 Diskette Storage 2.5.3.1 Short Term (Available for Immediate Use) 1. Store diskettes in their envelopes. 2. Store horizontally, in piles of ten or less. If vertical storage is necessary, the diskettes should be supported so that they do not lean or sag, but should not be subjected to compressive forces. Permanent deformation may result from improper storage. 3. Store in an environment similar to that of the operating system; at a minimum, store within the operating environment range. 2.5.3.2 Long Term - When diskettes do not need to be available for immediate use, they should be stored in their original shipping containers within the nonoperating range of the media. 2.5.4 Shipping Diskettes Data recorded on disks may be degraded by exposure to any sort of small magnet brought into close contact with the disk surface. If diskettes are to be shipped in the cargo hold of an aircraft, take precautions against possible exposure to magnetic sources. Because physical separation from the magnetic source is the best protection against accidental erasure of a diskette, diskettes should be packed at least 3 in. within the outer box. This separation should be adequate to protect against any magnetic sources likely to be encountered during transportation, making it generally unnecessary to ship diskettes in specially shielded boxes. When shipping, be sure to label the package: DO NOT EXPOSE TO PROLONGED HEAT OR SUNLIGHT. When received, the carton should be examined for damage. Deformation of the carton should alert the receiver to possible damage of the diskette. The carton should be retained, if it is intact, for storage of the diskette or for future shipping. 2-12 CHAPTER 3 RXll INTERFACE PROGRAMMING INFORMATION This chapter describes device registers, register and vector address assignments, programming specifications, and programming examples for the RXll interface. All software control of the RXll is performed by means of two device registers: the RXll Command and Status register (RXCS) and a multipurpose RX 11 Data Buffer register (RXDB). These registers have been assigned bus addresses and can be read or loaded, with certain exceptions, using any instruction referring to their addresses. The RX01, which includes the mechanical drive (s), read/write electronics, and pCPU controller, contains all the control circuitry required for implied seeks, automatic head position verification, and calculation and verification of the CRC; it has a buffer large enough to hold one full sector of diskette data (128 8-bit bytes). Information is serially passed between the interface and the RXOI. A typical diskette write sequence, which is initiated by a user program, would occur in two steps: 1. Fill Buffer - A command to fill the buffer is moved into the RXCS. The Go bit (paragraph 3.2.1) must be set. The program tests for Transfer Request (TR). When TR is detected, the program moves the first of 128 bytes of data to the RXDB. TR goes false while the byte is moved into the RXOI. The program retests TR and moves another byte of data when TR is true. When the RXOI sector buffer is full, the Done bit will set, and an interrupt will occur if the program has enabled interrupts. 2. Write Sector - A command to write the contents of the buffer onto the disk is issued to the RXCS. Again the Go bit must be set. The program tests TR, and when TR is true, the program moves the desired sector address to the RXDB. TR goes false while the RXOI handles the sector address. The program again waits for TR and moves the desired track address to the RXDB, and again TR is negated. The RXOI locates the desired track and sector, verifies its location, and writes the contents of the sector buffer onto the diskette. When this is done, an interrupt will occur if the program has enabled interrupts. A typical diskette read occurs in just the reverse way: first locating and reading a sector into the buffer (Read Sector) and then unloading the buffer into core (Empty Buffer). In either case, the content of the buffer is not valid if Power Fail or Initialize follows a Fill Buffer or Read Sector function. 3.1 REGISTER AND VECTOR ADDRESSES The RXCS register is normally assigned Unibus address 177170, and the RXDB register is assigned Unibus address 177172. The normal BR priority level is 5, but it can be changed by insertion of a different priority plug located on the interface module. The vector address is 264. 3-1 3.2 REGISTER DESCRIPTION 3.2.1 RXCS - Command and Status (177170) Loading this register while the RXOI is not busy and with bit 0 = 1 will initiate a function as described below and indicated in Figure 3-1. Bits 0-4 write-only bits. 15 14 I ERROR I 13 12 11 10 09 08 07 I 06 05 04 03 02 , I TR RX INIT .) FUNCTION DONE 00 [ I NOT USED 01 I GO UNIT SEL INT ENS CP-1509 Figure 3-1 RXCS Format (RXll) Bit No. Description o Go - Initiates a command to RXOI. This is a write-only bit. 1-3 Function Select - These bits code one of the eight possible functions described in Paragraph 3.3 and listed below. These are write-only bits. Code Function Fill Buffer Empty Buffer Write Sector Read Sector Not used Read Status Write Deleted Data Sector Read Error Register 000 001 010 011 100 101 110 111 4 Unit select - This bit selects one of the two possible disks for execution of the desired function. This is a write-only bit. Unit 0 is physically the left-hand unit in the rack. 5 Done -- This bit indicates the completion of a function. Done will generate an interrupt when asserted if Interrupt Enable (RXCS bit 6) is set. This is a read-only bit. 6 Interrupt Enable - This bit is set by the program to enable an interrupt when the RXOI has completed an operation (Done). The condition of this bit is normally determined at the time a function is initiated. This bit is cleared by Initialize and is a read/write bit. 7 Transfer Request - This bit signifies that the RXll needs data or has data available. This is a read-only bit. 8-13 Unused 3-2 Bit No. Description RX11 Initialize - This bit is set by the program to initialize the RX11 without initializing all of the devices on the Unibus. This is a write-only bit. 14 CAUTION Loading the lower byte of the RXCS will also load the upper byte of the RXCS. Upon setting this bit in the RXCS, the RXll will negate Done and move the head position mechanism of drive 1 (if two are available) to track O. Upon completion of a successful Initialize, the RX01 will zero the Error and Status register, set Initialize Done, and set RXES bit 7 (DRY RDY) if unit 0 is ready. It will also read sector 1 of track 1 on drive O. 15 Error - This bit is set by the RX01 to indicate that an error has occurred during an attempt to execute a command. This read-only bit is cleared by the initiation of a new command or an Initialize (paragraph 3.6). 3.2.2 RXDB - Data Buffer Register (177172) This register serves as a general purpose data path between the RXOI and the interface. It may represent one of four RXOI registers according to the protocol of the function in progress (paragraph 3.3). This register is read/write if the RXOI is not in the process of executing a command; that is, it may be manipulated without affecting the RXOI subsystem. If the RX01 is actively executing a command, this register will only accept data if RXCS bit 7 (TR) is set. In addition, valid data can only be read when TR is set. CAUTION Violation of protocol in manipulation of this register may cause permanent data loss. 3.2.2.1 RXTA - RX Track Address (Figure 3-2) - This register is loaded to indicate on which of the 115 8 tracks a given function is to operate. It can be addressed only under the protocol of the function in progress (paragraph 3.3). Bits 8 through 15 are unused and are ignored by the control. 15 14 13 12 11 10 09 07 08 I 06 05 04 03 02 01 00 I 0 .... J ~--------------~~~--------------~ J 0- 114 8 NOT USED CP-1510 Figure 3-2 RXTA Format (RX11) 3.2.2.2 RXSA - RX Sector Address (Figure 3-3) - This register is loaded to indicate on which of the 328 sectors a given function is to operate. It can be addressed only under the protocol of the function in progress (paragraph 3.3). Bits 8 through 15 are unused and are ignored by the control. 15 14 13 12 11 10 09 07 08 I J 0 06 I 0 05 I 04 03 02 01 00 0 1-32 8 NOT USED CP-151l Figure 3-3 RXSA Format (RXll) 3-3 3.2.2.3 RXDB - RX Data Buffer (Figure 3-4) - All information transferred to and from the floppy media passes through this register and is addressable only under the protocol of the function in progress (paragraph 3.3). 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 NOT USED CP-1512 Figure 34 RXDB Format (RXll) 3.2.2.4 RXES - RX Error and Status (Figure 3-5) - This register contains the current error and status conditions of the drive selected by bit 4 (Unit Select) of the RXCS. 'This read-only register can be addressed only under the protocol of the function in progress (paragraph 3.3). The RXES is located in the RXDB upon completion of a function. 15 14 13 12 11 10 09 08 07 06 IDRV ROY DO 04 05 ,I NOT USED 03 02 01 10 PAR I CRC 00 NOT USED CP -1513 Figure 3-5 RXES Format (RX11) RXES bit assignments are: Bit No. o Description CRC Error - A cyclic redundancy check error was detected as information was retrieved from a data field of the diskette. 'The RXES is moved to the RXDB, and Error and Done are asserted. Parity Error - A parity error was detected on command or address information being transferred to the RXOI from the Unibus interface. A parity error indication means that there is a problem in the interface cable between the RXOI and the interface. Upon detection of a parity error, the current function is terminated; the RXES is moved to the RXDB, and Error and Done are asserted. 2 Initialize Done - This bit is asserted in the RXES to indicate completion of the Initialize routine which can be caused by RXOI power failure, system power failure, or programmable or Unibus Initialize. 3-5 Unused 6 Deleted Data Detected - During data recovery, the identification mark preceding the data field was decoded as a deleted data mark (paragraph 1.3.3). 34 Bit No. 7 Description Drive Ready - This bit is asserted if the unit currently selected exists, is properly supplied with power, has a diskette installed correctly, has its door closed, and has a diskette up to speed. NOTE 1 The Drive Ready bit is only valid when retrieved via a Read Status function or at completion of Initialize when it indicates status of drive O. NOTE 2 If the Error bit was set in the RXCS but Error bits are not set in the RXES, then specific error conditions can be accessed via a Read Error Register function (Paragraph 3.3.7). 3.3 FUNCTION CODES Following the strict protocol of the individual function, data storage and recovery on the RX11 occur with careful manipulation of the RXCS and RXDB registers. The penalty for violation of protocol can be permanent data loss. A summary of the function codes is presented below: 000 001 010 011 100 101 110 111 Fill Buffer Empty Buffer Write Sector Read Sector Not used Read Status Write Deleted Data Sector Read Error Register The following paragraphs describe in detail the programming protocol associated with each function encoded and written into RXCS bits 1-3 if Done is set. 3.3.1 Fill Buffer (000) This function is used to fill the RX01 buffer with 128 8-bit bytes of data from the host processor. Fill Buffer is a complete function in itself; the function ends when the buffer has been filled. The contents of the buffer can be written onto the diskette by means of a subsequent Write Sector function, or the contents can be returned to the host processor by an Empty Buffer function. RXCS bit 4 (Unit Select) does not affect this function, since no diskette drive is involved. When the command has been loaded, RXCS bit 5 (Done) is negated. When the TR bit is asserted, the first byte of the data may be loaded into the data buffer. The same TR cycle will occur as each byte of data is loaded. The RX01 counts the bytes transferred; it will not accept less than 128 bytes and will ignore those in excess. Any read of the RXDB during the cycle of 128 transfers is ignored by the RX 11. 3.3.2 Empty Buffer (001) This function is used to empty the internal buffer of the 128 data bytes loaded from a previous Read Sector or Fill Buffer command. This function will ignore RXCS bit 4 (Unit Select) and negate Done. 3-5 When TR sets, the program may unload the first of 128 data bytes from the RXDB. Then the RXll again negates TR. When TR resets, the second byte of data may be unloaded from the RXDB, which again negates TR. Alternate checks on TR and data transfers from the RXDB continue until 128 bytes of data have been moved from the RXDB. Done sets, ending the operation and initiating an interrupt if RXCS bit 6 (Interrupt Enable) is set. NOTE The Empty Buffer function does not destroy the contents of the sector buffer. 3.3.3 Write Sector (010) This function is used to locate a desired track and sector and write the sector with the contents of the internal sector buffer. The initiation of this function clears bits 0, 1, and 6 of RXES (CRC Error, Parity Error, and Deleted Data Detected) and negates Done. When TR is asserted, the program must move the desired sector address into the RXDB, which will negate TR. When TR is again asserted, the program must load the desired track address into the RXDB, which will negate TR. If the desired track is not found, the RXII will abort the operation, move the contents of the RXES to the RXDB, set RXCS bit 15 (Error), assert Done, and initiate an interrupt if RXCS bit 6 (Interrupt Enable) is set. TR will remain negated while the RXOI attempts to locate the desired sector. If the RXOI is unable to locate the desired sector within two diskette revolutions, the RXll will abort the operation, move the contents of the RXES to the RXDB, set RXCS bit 15 (Error), assert Done, and initiate an interrupt if RXCS bit 6 (Interrupt Enable) is set. If the desired sector is successfully located, the RXl1 will write the 128 bytes stored in the internal buffer followed by a 16-bit CRC character that is automatically calculated by the RXOI. The RXll ends the function by asserting Done and initiating an interrupt if RXCS bit 6 (Interrupt Enable) is set. NOTE 1 The contents of the sector buffer are not valid data after a power loss has been detected by the RXOI. The Write Sector function, however, will be accepted as a valid function, and the random contents of the buffer will be written, followed by a valid CRC. NOTE 2 The Write Sector function does not destroy the contents of the sector buffer. 3.3.4 Read Sector (011) This function is used to locate a desired track and sector and transfer the contents of the data field to the pCPU controller sector buffer. The initiation of this function clears bits 0, 1, and 6 of RXES (CRC Error, Parity Error, Deleted Data Detected) and negates Done. When TR is asserted, the program must load the desired sector address into the RXDB, which will negate TR. When TR is again asserted, the program must load the desired track address into the RXDB, which will negate TR. If the desired track is not found, the RXII will abort the operation, move the contents of the RXES to the RXDB, set RXCS bit 15 (Error), assert Done, and initiate an interrupt if RXCS bit 6 (Interrupt Enable) is set. 3-6 TR and Done will remain negated while the RXOI attempts to locate the desired track and sector. If the RXOI is unable to locate the desired sector within two diskette revolutions after locating the presumably correct track, the RXll will abort the operation, move the contents of the RXES to the RXDB, set RXCS bit 15 (Error), assert Done, and initiate an interrupt if RXCS bit 6 (Interrupt Enable) is set. If the desired sector is successfully located, the control will attempt to locate a standard data address mark or a deleted data address mark. If either mark is properly located, the control will read data from the sector into the sector buffer. If the deleted data address mark was detected, the control will assert RXES bit 6 (DD). As data enters the sector buffer, a CRC is computed, based on the data field and CRC bytes previously recorded. A non-zero residue indicates that a read error has occurred. The control sets RXES bit 0 (CRC Error) and RXCS bit 15 (Error). The RXll ends the operation by moving the contents of the RXES to the RXDB, sets Done, and initiates an interrupt if RXCS bit 6 (Interrupt Enable) is set. 3.3.5 Read Status (101) The RXll will negate RXCS bit 5 (Done) and begin to assemble the current contents of the RXES into the RXDB. RXES bit 7 (Drive Ready) will reflect the status of the drive selected by RXCS bit 4 (Unit Select) at the time the function was given. All other RXES bits will reflect the conditions created by the last command. RXES may be sampled when RXCS bit 5 (Done) is again asserted. An interrupt will occur if RXCS bit 6 (Interrupt Enable) is set. RXES bits are defined in Paragraph 3.2.2. NOTE The average time for this function is 250 ms. Excessive use of this function will result in substantially reduced throughput. 3.3.6 Write Sector with Deleted Data (110) This operation is identical to function 010 (Write Sector) with the exception that a deleted data address mark precedes the data field instead of a standard data address mark (paragraph 1.3.3.2). 3.3.7 Read Error Register Function (III) The Read Error Register function can be used to retrieve explicit error information provided by the pCPU controller upon detection of the general error bit. The function is initiated, and bits 0-6 of the RXES are cleared. Out is asserted and Done is negated. The controller then generates the appropriate number of shift pulses to transfer the specific error code to the Interface register and completes the function by asserting Done. The Interface register can now be read and the error code interrogated to determine the type of failure that occurred (paragraph 3.6). NOTE Care should be exercised in use of this function since, under certain conditions, erroneous error information may result (Paragraph 3.5). 3.3.8 Power Fail There is no actual function code associated with Power Fail. When the RXOI senses a loss of power, it will unload the head and abort all controller action. All status signals are invalid while power is low. When the RXOI senses the return of power, it will remove Done and begin a sequence to: 1. Move drive 1 head position mechanism to track O. 2. Clear any active error bits. 3-7 3. Read sector I of track I of drive 0 into the sector buffer. 4. Set RXES bit 02 (Initialize Done) (Paragraph 3.2.2.4) after which Done is again asserted. 5. Set Drive Ready of the RXES according to the status of drive O. There is no guarantee that information being written at the time of a power failure will be retrievable. However, all other information on the diskette will remain unaltered. A method of aborting a function is through the use of RXCS bit 14 (RX 11 Initialize). Another method is through the use of the system Initialize signal that is generated by the PDP· 1 I RESET instruction, the console START key, or system power failure. 3.4 PROGRAMMING EXAMPLES 3.4.1 Read Data/Write Data Figure 3·6 presents a program for implementing a Write, Write Deleted Data, or a Read function, depending on the function code that is used. The first instructions set up the error retry counters, PTRY, CTRY, and STRY. The instruction RETRY moves the command word for a Write, Write Deleted Data, or Read into the RXCS. The set of three instructions beginning at the label I $ moves the sector address to the RX 11 after Transfer Request (TR) , which is bit 7, has been set. The three instructions beginning at the label 2$ move the track address to the RXII after TR has been set. The group of instructions beginning at the label 3$ looks for the Done flag to set and checks for errors. An error condition, indicated by bit 15 setting, is checked beginning at ERFLAG. If bit 0 is set, a CRC error h::ts occurred, and a branch is made to CRCER. If bit 1 is set, a parity error has occurred, and a branch is made to PARER. If neither of the above bits is set, a seek error is assumed to have occurred and a branch is made to SEEKER, where the system is initialized. In the case of a Write function, the sector buffer is refilled by a JMP to FILLBUF. In the case of a Read function, a JMP is made to EMPBUFF. In each of the PAR, CRC, and SEEK routines, the command sequence is retried ten times by decrementing the respective retry counter. If an error persists after ten tries, it is a hard error. The retry counters can be set up to retry as many times as desired. NOTE A Fill Buffer function is performed before a Write function, and an Empty Buffer function is performed after a Read function. 3.4.2 Empty Buffer Function Figure 3·7 shows a program for implementing an Empty Buffer function. The first instruction sets the number of error retries to ten. The address of the memory buffer is placed in register RO, and the Empty Buffer command is placed in the RXCS. Existence of a parity error is checked starting at instruction 3 $. If a parity error is detected, the Empty Buffer command is loaded again. If an error persists for ten retries, the error is considered hard. 3·8 1 2 .... IS I PROGAAMM I NG EXAMPLES rOR THE R)(l1/I1X'l 'I.[X IILE DISI(E;TTE 3 I I THE '01.1.01011 Ne IS THE RXll IUNDAAO DEV I CE AODRESS AND VECTOR ADOIIUS 4 5 I 1771711 177172 177172 177172 177172 6 7 8 9 1 III RXCS-1771711 RXOI-177172 RlIS"177172 RXU-177172 RX[51177172 11 12 13 14 15 16 17 18 19 2 III 21 22 23 24 25 26 27 28 29 31il 31 32 33 34 35 36 37 38 39 4111 41 42 43 44 45 46 47 48 49 5111 51 52 54 55 56 57 58 59 6fl 61 62 63 64 65 66 67 68 69 70 71 72 I : ~~E W~~~~?W ~~~ Ti S D~I.~~~;R~:;! ~G O~lI:~:~E A~' 1~~~0~R2~2C~.H~E~~~~~~TI or PROGIWI Iio0CATION lECTOR) 01'" TRACI( "T" (THE CDNTENTS or PIIOGRA" 1.0CATlON TRACIC) I IIIUIilU ilIIlUII6 1111011114 012767 2112767 11112767 177170 177770 17777'J I11III11132111 1II1111l314 0111131111 '-11. : I ~=~I :tT:~T~~U~~~:TER StEIC RETRY COUNTER I WR I TE. "'A I TE DEI.ETEO OA TA. OR RUI) I BITS 4 THRU 1 0' PROGRAM 1.0CAT I ON COMMANO !'JONU I N THE 'UNCTI ON I I BIT 4 • 1 MEANS UNIT 1 ( • II MUNI UNIT I '1 I BITS 3 THRU 1 II THE COMMAND ( 4 • "'RITE. 1.4 • "'''ITt DEI.ETED DATA. 6 • IIUD) I 1il1ll0lll22 "16767 J(l0;s06 17714111 RETRY I MOV COMMAND. RICCS I UNIT. (WRITE. W"ITE DEI.ETtD DATA. OR RUD) I ; lolA I T F'OR THE TRANSI'"EH REQUEST 'IoAIi THEN TIIAN5F'ER THE lECTOR ADDIIElS I 0l!l1II1I3111 I<11111i111134 02l1li11136 lS: 105767 001'" 116767 TSTB RlICS BEQ 11 HOVB SECTOR, RICSA 177126 I I WA I T F'OR 00I11III44 0111I11III5111 00I11III52 105767 1Il01'" 116767 I 21 : 177121il THE TRANSI'"EH REQUEST "I.AIi THEN TRAIIS"ER THE TRACM ADDRUI T5TB RXCS BEQ MDVB TRACI(. RXTA 2' I I THE SECTOR AND TRACt< ADDRESsES io4AVE I I WSA I T 'OR THE DoNE F'I.AG AND C~ECI( I[E:~ TRANS'ERRED TO THE RXIl F'OR ANY EtlRoRS I III'" THE rUNCTloN HAS CoMPI.ETED SuCCESS'UI.I. Y I No ER"OR rI.AG) THEN HAl. T I i<1IllIIIII 6 III 0111111166 00.,117111 oIillil 74 0111111176 032767 Cllil17H 01!15767 01il lIHl 1 o1/1 Iil" 0 111 31 I alT IIIDoN£SIT. RXCS 8EC! 31 TST RXCS liNE ERrLAG HAl. T I THE ERROR 'LAG IS sn 177074 ~UT U~~~1. T~~E: °8~~E'~~:G lETS TEST I'"OR TIjE ERROR "LAG ; INE I r AN ERROR HAS OCCUIIEO 01( • COM"I.ETEO I I THE CONTENTS oF' THE RkES IS THE E"ROR STATUI ; IF' THE RX[S BITS 1 AND II • IIF' THE RXES BIT III • 1 THEN III'" THE RXES BIT 1 • 1 THEN 0IIl1il111111 1il1l11l1l6 III 3011 III 1il1l0116 1il32767 01111414 12'32767 001404 0AIil1ll03 177164 001il0"2 17'1154 THtN SOME TY"E OF' SEEI( ERROR DCCURED CRC £R"OIl HAl OCCUREO "A" I TY EIIROR HAS OCCURED ~RF'I.AC I BIT 1113. RXES aEC! SEEK BIT 1112. RlIE9 aEa CRC " TEST rOR CIIC AND PAR I TV ERIIORS NOT A "ARITY 0" CRC CMUSTJ IE A IEEI( TEST "OR PARITy ERIIO" NOT' "ARIlY ERROR CMUIT~ IE A C"C FlAR I TV ERROR HAS OCCURED I IINCREME~T I AND TEST THE "A"ITY tllRo" RETIIY COUNTER PROGRAM 1.0CATION " PTIIY " I AND RETRY THE" COMMANO " UNTIl. THE "ARITY ERROR "ECOYERS I I OR UNT II. THE "TRY COUNTER OVE"'1.0WS To I IIIU1211l UIIl124 ilIIll126 "0'267 001336 ilIII0IIl0111 INC pTRY liNE RETRY HAl. T JI!0202 III:T"Y THE: CO"lMAND Io4UD PAR lTV EIlROR I A CRC ERROR HAS oCCUHEO I IINCREMENT AND TEST THE CRC ERROR IIETRV COUNTER PRoCRAM LOCATioN" CT"" " I I AND RrTRY THE COMMAND UNT II. THE CIIC EIIRO" RtCOVERI I lOR UNT II. THE CTRY COUNTER OVEllrI.O"" 1il1il1ll13111 "U134 0U136 U'267 <101332 I""0 III 0 III CRC I INC CT"Y BN!: RETRY Io4AL T I THE ERROR rLAG I S SET 0"1il174 I THE ERROR IS CNoT] A PARITY ERRoR 93 94 95 96 97 98 99 10111 "IOV 111-11. pTAY MOV 111-111. CTRY MOV STRY I 8111 81 82 83 84 85 86 87 88 89 91 92 START I I 73 74 75 76 77 78 79 COMMAND STATUS REGISTER DAU IurrEIi REG lITER SECTOR AODIltSS REGISTU TRACM ADORESS RtOlSTER tRIIDII IUTUS REGISTER TO IIETRV THE OOM"IANI) It!AO C"C ERROR A~D II CNOT] A CRC ER"OR I I THERErORE I T MUST BE , SEEI( ERROR I I (STATE or RlICS II TS Il AND 1 AIU .) I l11l1I11114111 012767 041il00" 177122 SEEI(: "IOV IIIINIT. RXCS INITIAI.IIE UJ1 ; INCREMENT AND TEIIT THE SEEI( ERROR RET"Y COUNTER PRoGRA" 1.0CATION " 102 I lIi!I3 ; AND REny THE COMMAND UNTI I. THE SEEIC ERIIOR "ECoVERI 1'" 105 11il6 1117 1118 a9 I I OR UNT II. THE CTRY COUNTER OVER"I.DW, To • I ilIIIIII146 UIII152 0IIl1ll154 l11l1I'267 1111111323 2l1li 11111 Iil III 0011116111 INC STRY INE RETRY HAl. T "ETRY THE OOMMAND Io4UD lEEI( ERRO" Figure 3-6 RXll Write/Write Deleted Data/Read Example 3-9 Sf"" " 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 18" 185 186 187 188 189 190 191 192 193 19" 195 196 197 198 199 20" ;THE rO~~OWING IS A PMOGRA~MINC EXAM~~E or P~OTOCO~ REQUIRED TO , IE~pTY 0U242 UII251 031254 2112767 .,12700 .,16767 206 207 208 209 211/1 211 212 213 21" 215 216 217 218 219 2UI 221 222 223 22" 225 226 227 228 229 230 231 232 SECTOR Burr~R or 12a a-SIT BYTES 8 TRVS TO EMPTV THE tECToR BurrER OATA BurrER ISSUE THE COMMANO EENTRYI MOV '-10, pTRV [SETUPI MOV 'BurrER, H" MOV COMMAND, RXCS ~ROHCRAMS I ;WAIT roR A TRANSPER REQUEST r~AC BErO~E TRANsrERRING OATA TO THE PROGRAMS , ,DATA BurrER rRoN THE RX01 SECTOR Bur'ER , I lolA IT roR A DONE rLAC TO INDICATE THE COMpLETioN 0' THE EM~TV BUrrER COMMAND I IPRIoR TO TESTIN G THE ERROR r~AG I UI262 000266 000271 0""276 t~OOPI 1"'767 0"U14 TSTB RXCS TEST rOR T_ANsrER REQUEST 'LAG .NE Ir TRA~S'ER REQUEST '~AG IS SET TEIT rOR DONE '~'G BEO UNTIL THt DONE rLAC lETS tlMI t;MPTY 176672 2132767 lIT 'OONESIT, RXCS BEQ E~OOP 001771 I ;THE DONE 'LAG IS SET , ;TE5T roR ANY ERRORS 00111301 00111304 0"'306 iH,,767 (ON~Y ERRoR poSSIB~£ IS A PARITY ERROR) 1ST RXCS BNE 11 HALT 176664 0U0"1 "00"00 I ,INcrEMENT AND TEST THE PARITV ERROR RET_y P_OGRAM ~oCATloN " pTRV " , ,AND RETRY THE COMMANC UNTI~ THE ERROR RECoVERS I lOR UNTIL THE PTRV CUNTER OVERr~oWS TO I , 0U3U a""314 <lIH'316 15: "0'267 13013" 001!J1!100 INC PTRY BNE tStTUP HALT RETRV TO EMPTY THE SECTOR BurrER HARD PARITV ERROR I ;THE TRANsrER REQUEST r~AG Is SET I ITRANsrER DATA TO THE PHOGRAM 201 2"2 203 20" THE I 177770 (1:'0342 kHl00,4 , 176646 00032" 000324 EMPTY I DATA BUrrER rROM THE RXBl SECTO~ BurrER ~2V~L~~~B' '(H"'· ITHE rO~~OWING 3 PROGHAM LOCATIONS ARE THE E_ROR RETRY COUNTERS U"326 """33" """332 iZI:1!0000 ~2lU00 J300"0 l 'ARITY ERROR RETRY COUNTER ; CRC ER~OR ~ETRV COUNTER l SEEK ERROR RETRY COUNTER r'TRV: CTRy: STRV: , lPROGRAM ~OCATION " COMMAND" CONTAINS T~E COMMAND TO BE ISSUED VIA THE LCD lOT I ;WRITE (4), WRITE OELETED DATA (14), I , O~ READ (6), OR EM~TY BurrER (2) ; 4, 14, 6, 0U334 COMMANDI 001336 SECTOR; m OR 2 • (GO BIT 1 • 1) IPROGRAM ~OCATION " SECTOR" CONTAINS THE SECTOR ADDRESS (1 TO 32 OCTA~) , l 1 TO 32 OCTAL I lPROGRAM ~OCATION " THACK " CONTAINS TWE TRACK ADDRESS (II TO 114 OCTA~) , TRACK I "00341 l B TO 114 OCTA~ 0 lPROGRAM EQUIVALENTS , O:1!U40 ,,4U00 iZlU342 ""0'42 00011101 DONEB I TIl 41 INIT-4U"" BurrER-, ,laurrER+~"1/l ,END Figure 3-7 RXll Empty Buffer Example 3-10 If no error is indicated, the program looks for the Transfer Request (TR) flag to set. The Error flag is retested if TR is not set. Once TR sets, a byte is moved from the RXll sector buffer to the core locations of BUFFER. The process continues until the sector buffer is empty and the Done bit is set. 3.4.3 Fill Buffer Function Figure 3-8 presents a program to implement a Fill Buffer function. It is very similar to the Empty Buffer example. 3.5 RESTRICTIONS AND PROGRAMMING PITF ALLS A set of restrictions and programming pitfalls for the RXII is presented below. 1. Depending on how much data handling is done by the program between sectors, the minimum interleave of two sectors may be used, but to be safe a three-sector interleave is recommended. 2. If an error occurs and the program executes a Read Error Register function (111), a parity error may occur for that command. The error status would not be for the error in which the Read Error Register function was originally required. 3. The DRV SEL RDY bit is present only at the time of a Read Status function (101) for both drives, and after an Initialize, depending on the status of drive O. 4. It is not required to load the Drive Select bit into the RXCS when the command is Fill Buffer (000) or Empty Buffer (010). 5. Sector Addressing: 1-26 (No sector 0) Track Addressing: 0-76 6. A power failure causing the recalibration of the drives will result in a Done condition, the same as finishing reading a sector. However, during a power failure, RXES bit 2 (Initialize Done) will set. Checking this bit will indicate a power fail condition. 7. Excessive usage of the Read Status function (101) will result in drastically decreased throughput, because a Read Status function requires between one and two diskette revolutions or about 250 ms to complete. 3.6 ERROR RECOVERY There are two error indications given by the RXII system. The Read Status function (paragraph 3.3.5) will assemble the current contents of the RXES (paragraph 3.2.2), which can be sampled to determine errors. The Read Error Register function (paragraph 3.3.7) can also be used to retrieve explicit error information. The RXll Interface register can be interrogated to determine the type of failure that occurred. A list of error codes is presented on the following page. NOTE A Read Status function is not necessary if the DRV RDY bit is not going to be interrogated, because the RXES is in the Interface register at the completion of every function. 3-11 Octal Code 0010 0020 0030 0040 0050 0060 0070 0110 0120 0130 0140 0150 0160 0170 0200 0210 Error Code Meaning Drive 0 failed to see home on Initialize. Drive 1 failed to see home on Initialize. Found home when stepping out 10 tracks for INIT. Tried to access a track greater than 77. Home was found before desired track was reached. Self-diagnostic error. Desired sector could not be found after looking at 52 headers (2 revolutions). More than 40 J1,S and no SEP clock seen. A preamble could not be found. Preamble found but no I/O mark found within allowable time span. eRe error on what we thought was a header. The header track address of a good header does not compare with the desired track. Too many tries for an IDAM (identifies header). Data AM not found in allotted time. eRe error on reading the sector from the disk. No code appears in the ERREG. All parity errors. 3·12 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 ITHE rO~~OWING 15 A PHOGRAMMING EXAM'~E or T~E PROTOCO~ REQUIRED TO 1 IrI~L I 1 1 , 0""156 UIII164 UI17111 1:112767 012700 016767 177773 000342 030140 0119142 176772 THE SECTOR BurrtR WITH 128 a-SIT BVTES NOTE: THE DATA To rlL~ T~E SECTOR BU,rER CAN BE ASSEMBLED IN CORE IN T~E EVEN ADDRESSES BYTES or 128 WORDS OR IN BOT~ BYTES or 64 WORDS rENTRY: MOV '~lll, PTRY SETUPI MOV *BurrER, R0 MOV COMMAND, HXCS • TRVS TO 'ILL T~E SECTOR Bu,rER 'AOORAMS DATA surrER ISSUE THE COMMAND 1 :WAIT rOR A TRANsrER HEQUEST rLAG et'oRE TRANsrERRING DATA rRoM THE PROGRA~S 1 IDATA BurrER TO THE RXlIIl SECTOR BUrrER , ,WAIT rOR A 00 Nt rLAT To INDICATE T~E COMPLETION 0' THE rILL 8u,rER COMMAND 1 IPRIOR To TESTING THE ERROR r~AO 01111176 UI202 U1204 001212 10'767 00H14 032767 1391771 LOOP' 176766 176"6 , TEST rOR T~ANsrtR REQUEST '~AG lEO rr TRANsrER REQUeST '~AG SET TEST rOR T~E DONE '~AG lEO UNTIL THE DONE r~AG SETS TSTS Rxes tlMl 0"0040 nl.,L BIT 'DONEBIT, RXCS BEQ LOOP ITHE DONE rLAG IS SET I ITEST rOR ANY ERRORS (ON~Y ERROR POSSJ8~E Is A PARITY ERROR) 1 0U214 III 1!IB22 III U'222 0,.",767 01111001 000""'0 TST RXCS SNE 11 HALT 176750 1 IINCREMENT ANO TEST THE PARITY ERROR RETRY PROGRAM LOCATION" ,TRY" 1 IANO RETRY THE COMMANO UNTI~ THE ERROR RECOVERS I lOR UNTI~ T~E PTRY COUNTER OVER'LOWS To 1!IB0224 2'''023111 0011232 005267 001355 00EJ1!02' 000076 I lS: INC PTRY BNE SETUP HALT RETRV TO riLL THE SECTOR BurrER ~ARD 'ARITV ERROR I ITHE TRANsrER REQUEST rLAG IS SET I ITRANsrER DATA rROM THE PROGRAMS OAT A BurrER TO THE RXll SECTOR BurrER 1 0011234 U'241 113067 oQIrIl 756 176732 rILL: MOve '(Rm)., HXDB SR LOOP ; 'ROGAA~S D4TA BurrER 15 64 WoRDS IN ~EN~TH Figure 3-8 RXII Fill Buffer Example 3-13 CHAPTER 4 RX8E INTERFACE PROGRAMMING INFORMATION The RX8E interface allows two modes of data transfer: 8-bit word length and 12-bit word length. In the 12-bit mode, 64 words are written in a diskette sector, thus requiring two sectors to store one page of information. The diskette capacity in this mode is 128,128 12-bit words (1,001 pages). In the 8-bit transfer mode, 128 8-bit words are written in each sector. Disk capacity is 256,256 8-bit words, which is a 33 percent increase in disk capacity over the 12-bit mode. Eight-bit mode must be used for generating IBM-compatible diskettes, since 12-bit mode does not fully pack the sectors with data. The hardware puts in the extra Os. Data transfer requests occur 23 J.,lS after the previous request was serviced for 12-bit mode (18 J.,lS for 8-bit mode). There is no maximum time between the transfer request from the RXOI and servicing of that request by the host processor. This allows the data transfer to and from the RXOI to be interrupted without loss of data. 4.1 DEVICE CODES The eight possible device codes that can be assigned to the interface are 70-77. These device codes define address locations of a specific device and allow up to eight RX8E interfaces to be used on a single PDP-8. These multiple device codes are also shared with other devices. Depending on what other devices are on the system, the RX8E device code can be selected to avoid conflicts. (Refer to the PDP-8 Small Computer Handbook for specific device codes.) The device codes are selected by switches according to Table 4-1. These switches control AC bits 6-8, while AC bits 3-5 are fixed at 1s. The device code is initially selected to be 70. Switches 7 and 8 are not connected and will not affect the device selection code. The switches are all located on a single DIP switch package that is located on the M8357 RX8E interface board. Table 4-1 Device Code Switch Selection Device Code 77 76 75 74 73 72 71 70 SI 0 0 0 0 1 1 1 1 S2 0 0 1 1 0 0 1 1 S3 0 1 0 1 0 1 0 1 S4 1 1 1 1 0 0 0 0 S5 1 1 0 0 1 1 0 0 S6 1 0 1 0 1 0 1 0 4-1 o (OFF) S7 X X X X X X X X S8 X X X X X X X X c::::::J c:::J c:::J c::::J r::::::::::J r::::::::::J r::::::::::J c:::J 1 (ON) Sl S2 S3 S4 SS S6 S7 S8 4.2 INSTRUCTION SET The RX8E instruction set is listed below and described in the following paragraphs. lOT Mnemonic 67xO 67xl 67x2 67x3 67x4 67xS 67x6 67x7 Description No Operation Load Command, Clear AC Transfer Data Register Skip on Transfer Request Flag, Clear Flag Skip on Error Flag, Clear Flag Skip on Done Flag, Clear Flag Enable or Disable Disk Interrupts Initialize Controller and Interface LCD XDR STR SER SDN INTR INIT 4.2.1 Load Command (LCD) - 67xl This command transfers the contents of the AC to the Interface register and clears the AC. The RXOI begins to execute the function specified in AC 8,9, and 10 on the drive specified by AC 7. A new function cannot be initiated unless the RXOI has completed the previous function. The command word is defined as shown in Figure 4-1. 00 01 02 03 04 05 06 07 08 09 FUNCTION 10 11 NOT USED 8/12 DRV SEL Figure 4-1 CP-l:l14 LCD Word Format (RX8E) The command word is described in greater detail in Paragraph 4.3.1. 4.2.2 Transfer Data Register (XDR) - 67x2 With the Maintenance flip-flop cleared, this instruction operates as follows. A word is transferred between the AC and the Interface register. The direction of the transfer is governed by the RX01, and the length of the word transferred is governed by the mode selected (8-bit or 12-bit). When Done is negated, executing this instruction indicates to the RXOI: 1. That the last data word supplied by the RXOI has been accepted by the PDP-8, and the RXOI can proceed, or 2. That the data or address word requested by the RXOI has been provided by the PDP-8, and the RXOI can proceed. A data transfer (XDR) from the AC always leaves the AC unchanged. If operation is in 8-bit mode, AC 0-3 are transferred to the Interface register but are ignored by the RXOI. Transfers into the AC are 12-bit jam transfers when in 12-bit mode. When in 8-bit mode, the 8-bit word is ORed into AC 4-11, and AC 0-3 remain unchanged. When the RXOI is done, this instruction can be used to transfer the RXES status word from the Interface register to the AC. The selected mode controls this transfer as indicated above. 4-2 4.2.3 STR - 67x3 This instruction causes the next instruction to be skipped if the Transfer Request (TR) flag has been ,set by RXOI and clears the flag. The TR flag should be tested prior to transferring data or address words with the XDR instruction to ensure the data or address has been received or transferred, or' after an LCD instruction to ensure the command is ih the Interface register. In cases where an XDR follows an LCD, the TR flag needs to be tested only once between the two instructions. (See programming example in Paragraph 4.5.1.) 4.2.4 SER - 67x4 This instruction causes the next instruction to be skipped if the Error flag has been set by an error condition in the RXOI and clears the flag. An error also causes the Done flag to be set (paragraph 4.3.6). 4.2.5 SDN - 67x5 This instruction causes the next instruction to be skipped if the Done flag has been set by the RXOI indicating the completion of a function or detection of an error condition. If the Done flag is set, it is cleared by the SDN instruction. This flag will interrupt if interrupts are enabled. 4.2.6 INTR - 67x6 This instruction enables interrupts by the Done flag if AC 11 = 1. It disables interrupts if AC 11 = O. 4.2.7 INIT - 67x7 The instruction initializes the RXOI by moving the head position mechanism of drive 1 (if drive 1 is available) to track O. It reads track 1, sector 1 of drive O. It zeros the Error and Status register and sets Done upon successful completion of Initialize. Up to 1.8 seconds may elapse before the RXOI returns to the Done state. Initialize can be generated programmably or by the Omnibus Initialize. 4.3 REGISTER DESCRIPTION Only one physical register (the Interface register) exists in the RX8E, but it may represent one of the six RXOI registers described in the following paragraphs, according to the protocol of the function in progress. 4.3.1 Command Register (Figure 4-2) The command is loaded into the Interface register by the LCD instruction (paragraph 4.2.1). 00 01 02 03 04 05 06 07 08 09 FUNCTION 10 11 NOT USED 8/12 DRV SEL Figure 4-2 Command Register Format (RX8E) 4-3 CP-HI14 The function codes (bits 8, 9, 10) are summarized below and described in Paragraph 4.4. Code Function 000 001 010 011 100 101 110 111 Fill Buffer Empty Buffer Write Sector Read Sector Not used Read Status Write Deleted Data Sector Read Error Register The DRV SEL bit (bit 7) selects one of the two drives upon which the function will be performed: AC 7= 0 AC 7 = 1 Select drive 0 Select drive 1 The 8/12 bit (bit 5) selects the length of the data word. AC 5 =0 AC 5 = 1 Twelve-bit mode selected Eight-bit mode selected The RX8E will initialize into 12-bit mode. 4.3.2 Error Code Register (Figure 4-3) Specific error codes can be accessed by use of the Rear Error Register function (111) (paragraph 4.4.7). The specific octal error codes are given in Paragraph 4.7. 00 ~ 01 ____ ~~~ 02 03 ______ 04 ~Il~ 05 06 07 ______________ NOT USED ~~~ ERROR 08 09 10 11 ______________ ~ CODE CP-l~l~ Figure 4-3 Error Code Register Format The Maintenance bit (M bit) can be used to diagnose the RX8E interface under off-line and on-line conditions. The off-line condition exists when the BCOSL-IS cable is disconnected from the RXOI; the on-line condition exists when the cable is connected to the RXOI. If an LCD lOT (I/O Transfer) is issued with AC 4 = 1, the Maintenance flip-flop is set. When the Maintenance flip-flop is set, the assertion of RUN on following XDR instructions is inhibited, and all data register transfers (XDR) are forced into the AC. The Maintenance bit allows the Interface register to be written and read for maintenance checks. The Maintenance flip-flop is cleared by Initialize or by an LCD lOT with AC 4 = O. The following paragraphs describe more explicitly how to use the Maintenance bit in an off-line mode. The contents of the interface buffer cannot be guaranteed immediately following the first LCD lOT, which sets the Maintenance flip-flop. However, successive LCD lOTs will guarantee the contents of the Interface register. The contents of the Interface register can then be verified by using the XDR lOT to transfer those contents into the AC. 4-4 In addition, the Maintenance flip-flop directly sets the Skip flags, which will remain set as long as the Maintenance flip-flop is set. Skipping in these flags as long as the Maintenance flip-flop is set will not clear the flags. Setting and then clearing the Maintenance flip-flop will leave the Skip flags in a set condition. The skip lOTs can then be issued to determine whether or not a large portion of the interface skip logic is working correctly. The Maintenance flip-flop can also be used to determine if the interface is capable of generating an interrupt on the Omnibus. The Maintenance flip-flop is set, thus causing the Done flag to set. The Interrupt Enable flip-flop can be set by issuing an INTR lOT with AC bit 11 = 1. The combination of Done and Interrupt Enable should generate an interrupt. The Maintenance flip-flop can also be used to test the INIT lOT. The Maintenance flip-flop is set and cleared to generate the flags, and INIT lOT is then executed. If execution of INIT lOT is internally successful, all of the flags and the Interrupt Enable flip-flop should be cleared if they were previously set. In the on-line mode, use of the Maintenance bit should be restricted to writing and reading the Interface register. The same procedure described to write and read the Interface register in the off-line mode should be implemented in the on-line mode. Additional testing of the RX8E in the on-line mode should reference the appropriate circuit schematics. Exiting from the on-line Maintenance bit mode should be finalized by an initialize to the RXO 1. 4.3.3 RXT A - RX Track Address (Figure 44) This register is loaded to indicate on which of the 77 tracks a given function is to operate. It can be addressed only under the protocol of the function in progress (paragraph 4.4). Bits 0 through 3 are unused and are ignored by the control. 00 01 02 03 04 I 05 06 07 0 I J V' 08 09 10 I 11 I I J 0- 114 8 NOT USED CP-l~16 Figure 44 RXTA Format (RX8E) 4.3.4 RXSA - RX Sector Address (Figure 4-5) This register is loaded to indicate on which of the 26 sectors a given function is to operate. It can b~ addressed only under the protocol of the function in progress (Paragraph 4.4). Bits 0 through 3 are unused and are ignored by the control. 00 01 02 03 04 05 06 07 08 ..... NOT USED 09 10 11 1- 32 8 CP-l~17 Figure 4-5 RXSA Format (RX8E) 4-5 4.3.5 RXDB - RX Data Buffer (Figure 4-6) All information transferred to and from the floppy media passes through this register and is addressable only under the protocol of the function in progress. The length of data transfer is either B or 12 bits, depending on the state of bit 5 of the Command register when the LCD lOT is issued (paragraph 4.3.1). 00 01 02 03 04 05 06 12 Bl T MODE ONLY 07 08 09 10 11 8 or 12 BIT MODE CP-l~18 Figure 4-6 RXDB Format (RXBE) 4.3.6 RX Error and Status (Figure 4-7) The RXES contains the current error and status conditions of the selected drive. This read-only register can be accessed by the Read Status function (101). The RXES is also available in the Interface register upon completion of any function. The RXES is accessed by the XDR instruction. The meaning of the error bits is given below. 00 01 02 03 I J ......---~ 04 05 ORV ROY DO 06 I 07 08 ~ NOT USED '" J I 09 10 ID PAR 11 I I eRe NOT USED CP-l~19 Figure 4-7 RXES Format (RXBE) Bit No. Description II CRC Error - The cyclic redundancy check at the end of the header or data field has indicated an error. The header or data must be considered invalid; it is suggested that the data transfer be retried up to ten times, as most data errors are recoverable (soft). (See Chapter 6). 10 Parity Error - When status bit 10 = 1, a parity error has been detected on command and address information being transferred to the RXOI pCPU controller from the RXBE interface. Upon detection of a parity error, the current function is terminated, the RXES status word is moved to the Interface register, and the Error and Done flags are set. The function can be retried to determine if the parity error is a soft or hard error. A parity error indication means that there is a problem in the interface cable between the RXOI and the interface. 9 Initialize Done - This bit indicates completion of the Initialize routine. It can be asserted due to RXOI power failure, system power failure, or programmable or bus Initialize. This bit is not available within the RXES from a Read Status function. 4-6 Bit No. Description 5 Deleted Data (DD) - In the course of reading data, a deleted data mark was detected in the identification field. The data following will be collected and transferred normally, as the deleted data mark has no further significance within the RXOl. Any alteration of fIles or actual deletion of data due to this mark must be accomplished by user software. This bit will be set if a successful or unsuccessful Write Deleted Data function is performed. 4 Drive Ready - This bit is asserted if the unit currently selected exists, is properly supplied with power, has a diskette installed properly, has its door closed, and has a diskette up to speed. NOTE 1 This bit is only valid for either drive when retrieved via a Read Status function or for drive 0 upon completion of an Initialize. NOTE 2 If the Error bit was set in the RXCS but Error bits are not set in the RXES, then specific error conditions can be accessed via a Read Error Register function. 4.4 FUNCTION CODE DESCRIPTION RX8E functions are initiated by means of the Load Command lOT (LCD). The Done flag should be tested and cleared with the SDN instruction in order to verify that the RX8E is in the Done state prior to issuing the LCD instruction. Upon receiving an LCD instruction while in the Done state, the RX8E enters the Not Done state while the command is decoded. Each of the eight functions summarized below requires that a strict protocol be followed for the successful transfer of data, status, and address information. The protocol for each function is described in the following sections, and a summary table is presented below. Octal 8 0 2 4 6 10 12 14 16 0 0 0 0 AC 9 0 0 1 1 0 0 10 Function 0 1 0 Fill Buffer Empty Buffer Write Sector Read Sector Not Used Read Status Write Deleted Data Sector Read Error Register 1 0 1 0 1 NOTE AC bit 11 is assumed to be 0 in the above octal codes, since AC bit 11 can be 0 or 1. 4.4.1 Fill Buffer (000) This function is used to load the RXOI sector buffer from the host processor with 64 12-bit words if in 12-bit mode or 128 8-bit words if in 8-bit mode. This instruction only loads the sector buffer. In order to complete the transfer to the diskette, another function, Write Sector, must be performed. The buffer may also be read back by means of the Empty Buffer function in order to verify the data. 4-7 Upon decoding the Fill Buffer function, the RXOI will set the Transfer Request (TR) flag, signaling a request for the first data word. The TR flag must be tested and cleared by the host processor with the STR instructions prior to each successive XDR lOT (paragraph 4.2.3). The data word can then be transferred to the Interface register by means of the XDR lOT. The RXOI next moves the data wO,rd from the Interface register to the sector buffer and sets the TR flag as a request for the next data word. The sequence above is repeated until the sector buffer has been loaded (64 data transfers for 12-bit mode or 128 data transfers for 8-bit mode). After the 64th (or 128th) word has been loaded into the sector buffer, the RXES is moved to the Interface register, and the RXOI sets the Done flag to indicate the completion of the function. It is, therefore, unnecessary for the host processor to keep a count of the data transfers. Any XDR commands after Done is set will result in the RXES status word being loaded in the AC. The sector buffer must be completely loaded before the RX8E will set Done and recognize a new command. An interrupt would now occur if Interrupt Enable were set. 4.4.2 Empty Buffer (001) This function moves the contents of the sector buffer to the host processor. Upon decoding this function, RXES bits 10 and 11 (Parity Error and CRC Error) are cleared, and the TR flag is set with the first data word in the Interface register. This TR flag signifies the request for a data transfer from the RX8E to the host processor. The flag must be tested and cleared, then the word can be moved to the AC by an XDR command. The direction of the transfer for an XDR command is controlled by the RXOI. The TR flag is set again with the next word in the Interface register. The above sequence is repeated until 64 words (128 bytes if 8-bit mode) have been transferred, thus emptying the sector buffer. The Done flag is then set after the RXES is moved in the Interface register to indicate the end of the function. An interrupt would now occur if Interrupt Enable were set. NOTE The Empty Buffer function does not destroy the contents of the sector buffer. 4.4.3 Write Sector (010) This function transfers the contents of the sector buffer to a specific track and sector on the diskette. Upon decoding this function, the RX8E clears bits 10 and II (parity Error and CRC Error) of the RXES and sets the TR flag, signifying a request for the sector address. The TR flag must be tested and cleared before the binary sector address can be loaded into the Interface register by means of the XDR command. The sector address must be within the limits 1-32 8 . The TR flag is set, signifying a request for the track address. The TR flag must be tested and cleared, then the binary track address may be loaded into the Interface register by means of the XDR command. The track address must be within the limits 0-1148. The RXOI tests the supplied track address to determine if it is within the allowable limits. If it is not, the RXES is moved to the Interface register, the Error and Done flags are set, and the function is terminated. If the track address is legal, the RXOI moves the head of the selected drive to the selected track, locates the requested sector, transfers the contents of the sector buffer and a CRC character to that sector, and sets Done. Any errors encountered in the seek operation will cause the function to cease, the RXES to be loaded into the Interface register, and the Error and Done flags to be set. If no errors are encountered, the RXES is loaded into the Interface register and only the Done flag is set. NOTE The Write Sector function does not destroy the contents of the sector buffer. 4-8 4.4.4 Read Sector (011) This function moves a sector of data from a specified track and sector to the sector buffer. Upon decoding this function, the RX8E clears RXES bits 5, 10, 11 (Deleted Data, Parity Error, CRC Error) and sets the TR flag, signifying the request for the sector address. The flag must be tested and cleared. The sector address is then loaded into the Interface register by means of the XDR command. The TR flag is set, signifying a request for the track address. The flag is tested and cleared by the host processor, and the track address is then loaded into the Interface register by an XDR command. The legality of the track address is checked by the RXOI. If illegal, the Error and Done flags are set with the RXES moved to the Interface register, and the function is terminated. Otherwise, the RXOI moves the head to the specified track, locates the specified sector, transfers the data to the sector buffer, computes and checks CRC for the data. If no errors occur, the Done flag is set with the RXES in the Interface register. If an error occurs anytime during the execution of the function, the function is terminated by setting the Error and Done flags with RXES in the Interface register. A detection of CRC error results in RXES bit 11 being set. If a deleted data mark was encountered at the beginning of the desired data field, RXES bit 5 is set. 4.4.5 Read Status (l 01) Upon decoding this function, the RXOI moves the RXES to the RX8E Interface register and sets the Done flag. The RXES can then be read by the Transfer Data Register command (XDR). The bits are defined in Paragraph 4.3.6. NOTE The average time for this function is 250 ms. Excessive use of this function will result in substantially reduced throughput. 4.4.6 Write Deleted Data Sector (110) This function is identical to the Write Data function except that a deleted data mark is written prior to the data field rather than the normal data mark (Paragraph 1.3.3.2). RXES bit 5 (Deleted Data) will be set in the RX8E Interface register upon completion of the function. 4.4.7 Read Error Register Function (111) The Read Error Register function can be used to retrieve explicit error information upon detection of the Error flag. Upon receiving this function, the RXOI moves an error code to the Interface register and sets Done. The Interface register can then be read via an XDR command and the code interrogated to determine which type of failure occurred (paragraph 4.7). NOTE Care should be exercised in use of this function because, under certain conditions, erroneous error information may result (Paragraph 4.6). 4.4.8 Power Fail There is no actual function code associated with Power Fail. When the RXOI senses a loss of power, it will unload the head and abort all controller action. All status signals are invalid while power is low. When the RXOI senses the return of power, it will remove Done and begin a sequence to: 1. Move drive 1 head position mechanism to track O. 2. Clear any active error bits. 3. Read sector 1 of track 1 of drive o. 4. Set Initialize Done bit of the RXES, after which Done is again asserted. 4-9 There is no guarantee that information being written at the time of a power failure will be retrievable. However, all other information on the diskette will remain unaltered. A method of aborting an incomplete function is with the INIT lOT (paragraph 4.2.7). 4.5 PROGRAMMING EXAMPLES 4.5.1 Write/Write Deleted Data/Read Functions Figure 4-8 presents a program for implementing a Write, Write Deleted Data, or a Read function with interrupts turned off (10 F). The first three steps preset the PTRY, CTRY, and STRY retry counters, which are set at ten retries but can be changed to any number. Starting at RETRY, the program tests for 8- or 12-bit mode, type of function, and drive. Once the command is loaded, the program waits in a loop for the controller to respond with Transfer Request (TR). When TR is set, the sector address is loaded and the AC is cleared. The program loops while waiting for the controller to respond with another TR. When TR is reset, the track address is loaded, and the AC is cleared again. The program loops to wait for the Done condition. When the Done flag is set, the program checks for an error condition, indicated by the Error flag being set. If the AC = 0000, then the error is a seek error; if bit 10 of the AC is set, the error is a parity error; and if bit 11 of the AC is set, the error is a CRC error. Error status from the RXES is saved and tested to determine the error (paragraph 4.3.6). The RXES will not include the Select Drive Ready bit. If a parity error is detected, the program increments and tests the PTRY retry counter. If a parity error persists after ten tries, it is considered a hard error. If ten retries have not occurred, a branch is made to RETRY and the sequence repeated. If the Parity Error bit of the RXES is not set, then the program tests to see if the CRC Error bit is set. If a CRC en-or is detected, the program increments and tests the CTRY retry counter. If a CRC error persists after ten retries, it is considered a hard error. If ten retries have not occurred, a branch is made to RETRY and the sequence repeated. A seek error is assumed if neither a CRC nor a parity error is detected. An Initialize (lNIT) instruction is performed (paragraph 4.2.7). During a Write or Write Deleted Data function, the sector buffer must be refilled, because INIT will cause sector 1 of track 1 of drive 0 to be read, which will destroy the previous contents of the sector buffer. The instruction sequence for a Fill Buffer function is not included in Figure 4-8, but is presented in Figure 4-10. After the system has been initialized, the program increments and tests the STRY retry counter. If a seek error persists after ten tries, it is considered a hard error. If ten retries have not occurred, a branch is made to RETRY and the sequence repeated. 4.5.2 Empty Buffer Function Figure 4-9 shows a program for implementing an Empty Buffer function with interrupts turned off (lOF). The first instruction sets the number of retries at ten. A 2 is set in the AC to indicate an Empty Buffer command, and the command is loaded. When TR is set, the program jumps to EMPTY to transfer a word to the BUFFER location. A jump is made back to loop to wait for another TR. This process continues until either 64 words or 128 bytes have been emptied from the sector buffer. When Done is set, the program tests to see if the Error bit is set. If the Err,or bit is set, the program retries ten times. If the error persists, a hard parity error is assumed, indicating a problem in the interface cable. 4.5.3 Fill Buffer Function Figure 4-10 presents a program to implement a Fill Buffer function. It is very similar to the Empty Buffer example. 4-10 1 IPROGRAM~ING EX"MPLES rOR 2 I 3 ITHE rOl.1.01ollNG "RE RXU lOT CODE OEFINITIOt-.lS I ITHE ST"NDARO lor DEVICE CODE IS 67~· 4 5 6 7 8 9 1111 11 ;;.2 13 14 15 16 17 18 I 6701 6702 67"3 671114 670' 67f1J6 6707 4111 41 42 43 44 45 ITO WRITE, WRITE DELETED DATA, OR REAU AT SECTOR "5" (THE CO~TENTS or PROGRAM I ILOC"TION SECTOR) or TRACK "T" (THE CONTENTS or PROG~A~ LOCATION TRACK) I lIN 8 OR 12 BIT MODE I START, "'20" "'2211 "'202 "2213 "'2~4 "'21115 1261 flJ21l'1 flJ211 1262 67e11 flJ213 flJ214 "'21' "'216 flJ217 flJ22fIJ flJ221 111222 flJ223 6703 '217 1264 671/J2 720111 /I 0" 67X:' TO IWA I T rOlll TRANSfER REQUEST F'I.AG I 1 TO HeOCTAL) IIOT TO 1.0AD SECTOR ICLA 8£CAUSE lOT XOR ~OESN'T STR JMF' ,·1 HO SECTOR )(DR CI.A IWAIT rOR THE TRANsrER REQUEST FLAG THEN TAANsrE~ THE TRACK ADDRESS I /I OT 6'X3 TO STR tWAIT 'O~ TRANSfER REQUEST JMP ,-1 I II TO 11410CTAL) HO TRACK IIOT TO 1.0AD TRACK XCR ICI.A BECAUSE lOT XOR DOESN'T CI.A /THE SECTOR AND TRACK ADORESSES HAVE: tl[EN TRANSF'[R"~o TO THE RXU VIA THE XDR lOT I IWAIT rOR THE DONE rl.AG AND CHECK rOR ANY ERRORS I Ilr THE rUNCTION HAS COMPI.ETED SUCCESsrul.l.Y INO [RROR rl.AGl THEN HAI.T I 111224 "'22' "'226 111227 6705 '224 67"4 741112 /I OT 67X' TO IWAIT rOlll OO~E FI.AO II OT 67X4 "''''PI.ES ERROR rl.AG I OK - COM"I.[TED SON JM" ,.1 SE" loll. T I ITHE ERROR rl.AG IS SET I /THE CONTENTS OF' THE TRA~SF'e:R REGIST[H IS THE ERROR STATUS I /IF TRANSF"!:R REGISTER BITS 1111, ANC 11 • fIJ THEN SOME TY"E oF' IEEI( ERRoR HAS OCCUREC, II F' TRANSF'!:R Rr:G I STER BIT 11 0 1 THEN CRC ERROR HAS OCCUREO, II r TRANsr!:R REG I STER BIT 10 • 1 THEN PAR I TY ERROR HAS OCCURED I "'23" flJ231 "'232 "'233 "'234 "'235 XOR OCA Cl.Io ANO SNA JM" 67"2 3265 73'" ",265 76'''' 5241 ItiET CONTENTS or TR (ERROR STATUS) lAND SAVE t 2 IHST ro~ "A~!TY tAROR ISI<IP IF' PARITY tRROR INOT " PARITV ERROR - MAYBE CRC ASTATUS CLA lAC RU ASTATUS CLA TCRC I IA PARITY ERROR HAS oCCUREO I 84 85 86 "236 "237 "24" 2255 521116 741212 IINCREMENT AND TEST THE PARITY ERROR METRY COUNTER PROGRAM I.OCATION " "TRY" I lAND RETRY THE" COMMAND" UNTIl. THE PARITY ERROR RECOVE~S I lOR UNTIl. THE PTRY COUNT!:R OVER'LOWS TO III I lSI! PTRy JMP RETRY IRETRY THE COMMANC IHARD "A~ITY ERROR HI.T I ITHE ERROR FL,AG IS SET BUT THE ERROR IS NOT A "ARITY ERROR 91 92 98 TAO UNIT I.CO I 81 82 83 97 101''' 12-SlT, 10e1 IF' a-SIT I " I ' \o/~ITE, 14 H' WRITE DEI.ETEO ICAU, OR 6 If READ I 21 I ' UNiT 21, 2e1 IF' UNIT 1 II OT ~?X1 TO 1.0AD THE CO"4MANO TAO MODE TAO COMM AND IWA I T rOR THE TRANSF'ER RE:QUEST FLAG TH[N TRANSF'E" THE SECTOR ADDRESS 79 96 RETRY, 6703 5212 1263 671112 7211121 8111 93 94 95 ISEEK RETRY COUNTER I "212 68 69 89 9111 COUNTER I 65 66 67 87 a8 ~ETRV ICRe; R£:TRY COUNTER I 1260 "'21116 flJ207 64 7111 71 72 73 74 75 76 77 78 KM10 PTRy I(M10 CTRY 140 KMU DCA STilly I 54 55 56 57 58 61 62 63 I -1I/l IPARITY HO OCA TAO DCA IWRITE, IoIRITE: DELETED DATA, OR READ 53 59 6111 I NTR 0 67r116 I~I To 671117 I 47 48 49 SDt~·6Hl' ITHE fOl.1.01ollNG IS " PROGRAMMING EXAMPI.~ OF THE PROTOCOL ~EQUIRED 46 5111 51 52 IIOT TO LOAD THE COMMAND,/Iic) IS THI: COMMAND IIOT TO LOAD OR READ T~~T~ANsrER REGISTER IIOT TO SKIP ON A TRj<N'srER RE:QUEST F'LAG IIOT TO SKIP ON ANARROR fL.AG IIOT TO SKIP ON !-+IE: DONE rLAG I lAC) = III I NTt-f(RUPT ENABI.E OF'r I eAC) • 1 MEANS ON IIOT TO INITllLIAE THE RX8/RXU SUBSYSTEM I.C0 0 67121l XDR-671212 STR-671213 SER-671114 I 19 2111 21 22 23 24 25 26 27 28 29 3111 31 32 33 34 35 36 37 38 39 THE RXe/RXell ~·LEl(IBLE DISKETTE I 121241 "242 "'243 121244 731211 1.1265 765121 525121 /TEST rOR • I Cl.Io TCRC, AND SNA JMP CRC ERROR I 1 IHST ,.O~ A CRC ERROR 15KI" IF' A C~C ERROR INOT A C~C • MUST BE A SEEI< CLA lAC ASTATUS CLA SEEK Figure 4-8 RX8E Write/Write Deleted Data/Read Example (Sheet 1 of 2) 4-11 99 CRC tRROR HAS OCCURE:O 101/1 lAo I 101 IlNCRE:ME:NT AND TEST THE CRC E:RROR RETRY COUNTER !DROGRAM \,OCAT I ON 102 103 104 105 106 I I lOR UNTI\, THE CTRY COUNTLR OVE:RF'1.0WS TO " I lSi! CTRY JM" RE:TRY IoI\,T 107 Ul8 1;»9 lHJ IR£TRY TioIE: COMMAND IIotARO CRC ERROR I ITHE ERROR F'\,AG IS SET 111 112 113 114 115 I ITHE ERROR IS tNOT] A PARITY ERROR AND IS CNOTl A CRC ERROR I BE A SE:EK ERROR ITHEREF'ORt IS MUST 116 I 117 I 118 119 CTRY " It lAND RE:TRY THE: COJo1MAND UNTIl. THE CRC ERROR RECOVERS (CONH:NTS OF' THE TRANSF'E:R RE:GISTER lilTS 11/1, AND 11 • 0) I "251/1 671/17 12111 StE:K, INIT IIOT 67X7 TO INITI'\,IAE I 121 IINCRE:MENT AND TEST THE: SE:f:K ERROR RETRY COUNTER PROCRAM 1.0CiTION n SHlY " 122 123 J,24 I 125 lOR UNTI\, THE CTRY COUNTER OVERF'1.0WS TO III lAND RETRY TIoIE COMMAND UNTIl. THE SEEK ERROR RECOVtRS I 126 127 128 129 I lSi! STRY JM" RETRY H\,T "251 "252 "253 /THE F'OI.\,OWING PROGRAM \,OCATIONS ARE HU'ERENCtD WITHIN TioIIS EXAMP\,E 13111 I 131 132 111254 7771/1 KM1", 133 I 134 135 136 I /THE F'O!.\,OWING :5 PROGRAM !.oeAlIONS ARt THE: ERROR R£TRY COUNTERS 138 139 14111 144 145 I IPROGRAM \,OCATION " MOOt" CONTAINS A 1/1 IF' 12-81T MODE, OR ICO~TAINS A 11/10 IF' e-91T MODE: I "261/1 "'0131/1 IPROGRAM \,OCATION I 147 IWRITE 148 149 I "261 158 159 161/1 166 167 168 169 170 171 172 173 (~), COMMAND" CONTAINS THE COMMAND TO BE ISSUED VIA THE LCD lOT WRITE DE:LE:TEO DATA (1~), OR READ (6), I COMHAllO, OR EMPTY ElUF'F'E:R ., (2) 1<1. OR •• OR I I (!!II. OR UNIT 1 (21/1) IUNIT I 1/1262 UNIT , I II, OR 2I/J I IPROGRAM \,OCATION " SECTOR" CONTAINS THE SECTOR ADOqESS (1 TO 32 OCTAL.) I "263 I SECTOR. " 1 TO 32 OCTAL I IPROGRAM LOCAT I ON " TRACI( •• CONTA I NS THE TRACK AOOlli:SS (I TO 114 OOTAL) 161 162 163 164 165 001/11/1 n IPROGRAM \,OCATION " UNIT" CONTAINS THE UNIT OESIGNATION 151 152 153 154 155 156 157 I!I OR In HODE, I 146 151/1 IPAR I TV [RROII RE TRY COUNTER ICIIC ERROR RETRY COUNTER ISElI( ERROR RETRY COUNTER PTRY, CTRY, STRV, 137 141 142 143 IRe:TRY HIt COMMAND lio!ARO SEEK ERROR I "264 TRACK, I III TO 114 OCTAL I IPROGRAM 1.0CHION " .STATUS " CONTAINS THE CONTtNTS or TioIE TIIANSF'ER REGISTER I IAT THE OETECTION OF' AN ERROR (ERROR FI.AG • 1) WHICH CORRE:SPONDS TO THE I IERROR STATUS I.'" I IF' S!:EI( E:RROR, 1 IF' CRC E:RROR. i! IF' !DARITY f;RROR I ISTATUS AT ERRoR ASTATUS, Figure 4-8 RX8E Write/Write Deleted Data/Read Example (Sheet 2 of 2) 4-12 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 ITHE FO~~OWING IS A PROGRAMMING ~XAM~~E Or PROTOCO~ REQUIRED TO I I~MPTY I 0312 0313 0314 031' 0316 0317 0320 12'4 3255 1377 3010 1260 1261 276 277 278 279 280 281 282 283 284 285 EENTRY, TAD KM10 DCA PTRy ESETUP, TAO (BUFfER-1) DCA Al~ TAO MODE TAD COMMAND 8 TRVS TO EMPTy THE SECTOR BurrER IPARITV ERROR RETRy COUNTER IPROCRAMS DATA BUrrER IAUTO INOEX REGISTER 10 I " I' 12-BIT, 1"0 Ir e BIT I 2 MEANS EM'TY BurrER IIOT TO ISSUE THE COMMAND I ~CO 6701 I IWAIT rOR A TRANSrER REQUEST FLAG BErORE TRANsrERRING DATA TO THE 'ROGRAMS I IOATA BurrER FROM THE Rxal SECTOR BurrER I IWAIT rOR A DONE rLAG TO INDICATE THE COMP~ETION Or THE EM~TV BurrER COMMAND PRIOR TO I ITESTING THE ERROR rLAG 0321 0322 S323 "324 032' I 67Q!3 7410 '333 67"5 '274 ELOOP, ITEST rOR TR rLAG ITR NOT ItT, TEST rOR DONE r~AG ITR n.AG SET ITEST ro_ DONE r~AQ INOT TR, DR OONE YET STR SK" JM" EMPTY SON JMP ELUUP I ITHE DONE '~AG IS SET I ITEST rOR ANY ERRORS I 0326 0327 6704 7402 (ON~V ERROR POSSIB~E IS A PARITy ERROR) ITEST rOR THE ERROR r~AG INO ERRORS • OK SER H~T I IINCREMENT AND TEST THE PARITY ERROR RETRY PROGRAM ~OCATloN " PTRY " I lAND RETRV THE COMMAND UNTIL THE tRROR RECOVERS 266 267 268 269 270 271 272 273 274 275 THE SECTOR BUrr~R Or 64 12-BIT WORDS (12 BIT MODE), 0_ I IEMPTY THE SECTOR BUrrER Or 128 a-BIT BYTES (8 BIT MODE) I loR UNTl~ THE PTRV COUNTER OVERrLOWS TO 0 I 1330 1331 1332 I 51 ~TRY JMP ESETUP IRE TRY TO EM_TV THE SECTOR Bur'ER IHARO PARITY ERROR H~T I ITHE TRANS'ER REQUEST r~AG IS SET I ITRANsr~R I 0333 0334 033' 0377 6702 341111 EMPTY, '321 0377 1114"0 DATA TO THE PROGRAMS DATA Bur~ER rROM THE Rxel SECTOR BurrER IrROM THe Rxel SECTOR BurrER ITO THE -ROGRAMS DATA BurrER I~OO~ UNTIL THE OONE r~AG SETS XDR DCA r AUl JMP E~OOP PAGE ITHE rO~~OWING PROGRAM ~OCATIONS ARE HrSERVED rOR THE ~ROGRAMS DATA BurrER I BurrER, ~ ·SUF'ER+200 S Figure 4-9 RX8E Empty Buffer Example 4-13 ITHE ro~~owlNG IS A PROGRAMMING EXAMP~E OF PRUTOCJ~ REQUIRED TO 174 175 176 177 I I~I~~ I 17B I~I~~ 179 I A10"111' I lB~ 181 182 183 184 1/J0111J "266 "267 "27i!1 185 ~271 187 "272 "273 186 lBB 12'4 32" 1377 312110 12611J FENTRV, TAO KM1" ~CA PTRy TAD (BUFFER-l) DCA A1~ TAD MODE ~CD IWAIT FOR A TRANSFER REQUEST F~AG BErORE TRANsrERRING DATA FROM THE PROGRAMS 19~ I IOATA BurFER TO THE RX"l SECTOR BUFFER 191 I 193 194 I IWAIT FOR A OONE r~AG TO 2212 I~DICATE THE COMP~ETION or THE 'I~~ BUFrER COMMAND PRIOR TO ITESTING THE ERROR rLAG 195 201 I S TRYS TO 'l~~ THE SECTOR BurFER IPARITY ERRO~ RETRV COUNTER IPROGRAMI DATA BurrER IAUTO INOEX REGISTER 18 I I!I I' u·sn, 10" Ir 8 BIT IIOT TO ISSUE THE COMMAND I 192 200 THE SECTOR BurFER WITH 128 a-BIT BVTES (8 BIT ~OOE) SETUP, 6701 189 196 197 198 199 THE SECTOR BUFFER WITH 64 12-9IT WORDS (12 SIT MOOE), OR I 11J274 11J27' 67"3 741121 "276 '306 11J277 "30i!1 LOOP, 67'" 5274 STR SKP JMP '-II.~ SON JMP ~OOP IT[ST '-OR TR F~AG ITR NOT lET, TEST 'OR DONE FLAG ITR 'I.AG SET ITEST 'OR OO~E r~AG INOT TR, 0- OONE YET I 203 ITHE OONE 'LAG IS SET 204 205 I ITEST FOR ANY ERRORS 206 I 207 208 67'''' 741212 209 210 211 (ON~Y ERROR POSSIB~E IS A PARITy ERROR) SER ITEST 'OR THE ERROR r~AG INO [RRORS • OK H~T I IINCREMENT AND TEST THE PARITY ERRoR RETRY PROGRAM LOCATION" PTRV " I lAND RETRy THE COMMAND UNTI~ THE ERROR RECOVERS 212 213 214 I lOR UNTIL THE PTRY COUNTER OVERF~OWS TO " 215 I 2255 '279 '41212 216 217 21B 151 PTRy JMP Se;TUp TO 'I~L THE SECTOR eu,rER IHANO PA~ITY ERROR I~ETRV H~T 219 220 I 222 ITRANSFER DATA FROM THE PROGRAMS DATA BUrFER TO THE RXl!l1 SECTOR BU,rER ITHE TRANS'ER REQUEST F~AG IS SET 221 223 224 I I 225 "306 "307 226 227 "310 11J311 1410 6711J2 72"" 5274 FI~~' TAD I AU XOR IVIA AUTO INOEX REGISTER 18 ITO THE RXll SECTOA BurrER IC~A BECAUSE lOT XOR DOESN'T I~OOP UNTI~ TME DONE F~AG SETS C~A JMP LOOP Figure 4-10 Fill Buffer Example 4-14 4.6 RESTRICTIONS AND PROGRAMMING PITFALLS A set of 11 restrictions and programming pitfalls for the RX8E is presented below. 1. When performing the following sequence of instructions, interrupts must be off. [ ~~:-----------SDN JMP (done) (fill or empty buffer) If interrupts are not off, the following sequence of events will occur. Assume interrupts are enabled and the RX8E issues an interrupt request just before the SDN instruction. The SDN instruction will be executed as the last legal instruction before the processor takes over. However, since the Done flag is cleared by the SDN instruction, the processor will not find the device that issued the interrupt. 2. The program must issue an SER instruction to test for errors following an SDN instruction. 3. For maximum data throughput for consecutive writes or reads in 8-bit mode, interleave every three sectors; in 12-bit mode, interleave every two sectors. (This of course depends on program overhead.) 4. When issuing the lOT XDR at the end of a function to test the status, the instruction AND 377 must be given, because the most significant bits (0-3) contain part of the previous command word. 5. If an error occurs and the program executes a Read Error Register function (111) (paragraph 4.4.7), a parity error may occur for that command. The error code coming back would not be for the original error in which the Read Error Register function was issued, but for the parity error resulting from the Read Error Regis~er function. Therefore, check for parity error with the Read Status function (101) before checking for errors with the Read Error Register function (111). 6. The SEL DRV RDY bit is present only at the time of the Read Status function (101) for either drive, or at completion of an Initialize for drive O. 7. It is not necessary to load the Drive Select bit into the command word when the command is Fill Buffer (000) or Empty Buffer (001). 8. Sector Addressing: 1-26 or 1-328 (No sector 0) Track Addressing: 0-76 or 1-1148 9. If a Read Error Register function (111) is desired, the program must perform this function before a Read Status function (101), because the content of the Error register is always modified by a Read Status function. 10. The instructions STR, SDN, SER also clear the respective flags after testing, so that the software must store these flags if future reference to them is needed after performing one of these instructions. 11. Excessive use of the Read Status function (101) will result in drastically decreased throUghput, because a Read Status function requires between one and two diskette revolutions or about 250 ms to complete. 4-15 4.7 ERROR RECOVERY There are two error indications given by the RX8E system. The Read Status function (Paragraph 4.4.5) will assemble the current contents of the RXES (paragraph 4.3.6), which can be sampled to determine errors. The Read Error Register function (Paragraph 4.4.7) can also be used to retrieve explicit error information. The results of the Read Status function or the Read Error Register function are in the Interface register when Done sets, indicating the completion of the function. The XDR lOT must be issued to transfer the contents of the Interface register to the PDP-8's AC. NOTE A Read Status function is not necessary if the DRV RDY bit is not going to be interrogated, because the RXES is in the Interface register at the completion of every function. The error codes for the Read Error Register function are presented below. Octal Code 0010 0020 0030 0040 0050 0060 0070 0110 0120 0130 0140 0150 0160 0170 0200 0210 Error Code Meaning Drive 0 failed to see home on Initialize. Drive 1 failed to see home on Initialize. Found home when stepping out 10 tracks for INIT. Tried to access a track greater than 77. Home was found before desired track was reached. Self-diagn os tic error. Desired sector could not be found after looking at 52 headers (2 revolutions). More than 40 ps and no SEP clock seen. A preamble could not be found. Preamble found but no I/O mark found within allowable time span. eRe error on what we thought was a header. The header track address of a good header does not compare with the desired track. Too many tries for an IDAM (identifies header). Data AM not found in allotted time. eRe error on reading the sector from the disk. No code appears in the ERREG. All parity errors. 4-16 Reader's Comments 1 RX8/RXll Floppy Disk System I EK-RXOI-OP-OOI .I our publications. J User's Manual Your comments and suggestions will help us in our continuous effort to improve the quality and usefulness of I What is your general reaction to this manual? In your judgment is it complete, accurate, weB organized, weB written, etc.? Is it easy to use? I I What features are most useful? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ I I.W Ij ~ . What faults do you find with the manual? I~o , ... I~5 Does this manual satisfy the need you think it was intended to satisfy? IV Does it satisfy YOllr needs? _ _ _ _ _ _ _ _ __ Why? ________________________ I .I I I I Would you please indicate any factual errors you have found. Please describe your position. Name Organization Street _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Department City _ _ _ _ _ _ _ _ _ __ State _ _ _ _ _ _ _ _ _ _ _ __ Zip or Country - - - - - - - - -- -- -- - - - - - - - - Fold Here - - - Do Not Tear - Fold Here and Staple - - - - - - - - - - - - -- -- -- FIRST CLASS PERMIT NO. 33 MAYNARD, MASS. BUSINESS REPLY MAIL NO POSTAGE STAMP NECESSARY IF MAILED IN THE UNITED STATES Poslagt.· will he I,aid hy: Digital E(IUipmcnt Corpomtion Technical Documentation Dep~.rtmel1t 146 Main Stn'd M,ilY nard. M~lss:,c husetts 01754 -
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies