1 /10 OS/8 RK8 SYSTEM HANDLER V3D
11 /COPYRIGHT (C) 1974,1975,1977 BY DIGITAL EQUIPMENT CORPORATION
22 /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
23 /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
24 /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
25 /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
27 /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
28 /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
29 /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
30 /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
32 /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
33 /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
45 \f/SYSTEM HANDLER ALSO HAS RESIDENT THE NONSYSTEM HANDLER RKA1:
51 DLDA=6731 /LOAD DISK ADDRESS (MAINT ONLY)
52 DLDC=6732 /LOAD COMMAND REGISTER
53 /0: ENABLE CHANGE IN INTERRUPT STATUS
54 /1: ENABLE PROGRAM INTERRUPT ON TRANSFER DONE
55 /2: ENABLE INTERRUPT ON ERROR
57 /4: SEEK TRACK AND SURFACE ONLY
58 /5: ENABLE READ/WRITE OF 2 HEADER WORDS
59 /6-8: EXTENDED MEMORY ADDRESS
60 /9-10: DISK FILE NUMBER
62 DLDR=6733 /LOAD DISK ADDRESS AND READ, THEN CLEAR AC
66 DRDA=6734 /READ DISK ADDRESS
67 DLDW=6735 /LOAD DISK ADDRESS AND WRITE, THEN CLEAR AC
68 DRDC=6736 /READ DISK COMMAND REGISTER
69 DCHP=6737 /LOAD DISK ADDRESS AND CHECK PARITY
70 DRDS=6741 /READ DISK STATUS REGISTER
73 /2: CONTROL BUSY ERROR
75 /4: PARITY OR TIMING ERROR
77 /6: TRACK ADDRESS ERROR
78 /7: SECTOR NO GOOD ERROR
80 /9: TRACK CAPACITY EXCEEDED ERROR
83 DCLS=6742 /CLEAR STATUS REGISTER
84 DMNT=6743 /LOAD MAINTENANCE REGISTER
85 /SEE PAGE 7-145 IN 1972 SMALL COMPUTER HANDBOOK
86 DSKD=6745 /SKIP ON DISK DONE
87 DSKE=6747 /SKIP ON DISK ERROR
89 DRWC=6752 /READ WORD COUNT REGISTER
90 DLWC=6753 /LOAD WORD COUNT REGISTER
91 DLCA=6755 /LOAD CURRENT ADDRESS REGISTER
92 DRCA=6757 /READ CURRENT ADDRESS REGISTER
96 DEVICE RK8;DEVICE SYS;4051;2007;0;6260
97 DEVICE RK8;DEVICE RKA0;4051;1007;0;6260
98 DEVICE RK8;DEVICE RKA1;4051;RKA1&177+1000;0;6260
102 /FIXED BUG CONCERNING RETRY COUNT IF LINK SET ON CALL
133 DSKD /MUST LOAD OVER LOC. 30
134 JMP .-1 /MUST LOAD OVER 31
136 \f /THE BOOTSTRAP FOR THE RK8 IS AS FOLLOWS: (UNIT 0)
142 /LOAD ADDRESS 30 AND START
144 /THE BOOTSTRAP FOR OTHER UNITS IS AS FOLLOWS:
151 /LOAD ADDRESS 26, PUT UNIT NUMBER IN SWITCH REGISTER BITS 9-10,
155 NOPUNCH;*7600;ENPUNCH
160 TAD DEFUNIT /USE DEFAULT UNIT FOR SYSTEM HANDLER
163 RKBAD, STL CLA RAR /4000
165 RKOVER, ISZ RK8 /POINT TO GOOD RETURN
166 SFIELD, HLT /CONTAINS CIF CDF TO USER'S FIELD
168 IFNZRO .&177-21 <BADLOC,XXXX>
176 DCA RKCNT /SET # OF RETRIES ON AN ERROR TO 3
178 TAD LCIFCDF /CALLING FIELD FOR RETURN
180 RKRETRY,TAD I RK8 /GET FN WORD
181 AND L70 /ISOLATE FIELD OF BUFFER
183 TAD RKANO /INCLUDE UNIT # (TIMES 2)
185 TAD I RK8 /GET FN WORD BACK
186 RAL /MOVE R/W BIT TO LINK
187 AND L7600 /ISOLATE # OF WORDS TO READ
190 DLWC /LOAD WORD COUNT THEN CLEAR AC
191 RTL /MOVE R/W BIT TO AC 10
193 DCA RKINST /CREATE READ (6733) OR WRITE (6735)
194 ISZ RK8 /POINT TO BUFFER ADDRESS
196 TAD I RK8 /GET CURRENT ADDRESS-1
197 DLCA /LOAD CURENT ADDRESS AND CLEAR AC
198 ISZ RK8 /POINT TO BLOCK #
199 DCLS /CLEAR STATUS REGISTER
200 DSKE /CHECK FOR NON-EXISTENT DISK ERROR
201 L7760, SMA SZA SNL CLA /OK, BUT SKIP ALWAYS
203 /V3D TAD RKANO /! CAN'T HAVE OFFSETS ON OTHER UNITS THAN 0
206 TAD I RK8 /GET BACK #
207 ISZ RK8 /POINT TO ERROR RETURN
208 RKINST, HLT /GO (EITHER 6733 OR 6735)
209 SZA CLA /CHECK FOR NO DISK AT ALL
210 JMP RKBAD /IOT DIDN'T CLEAR AC
211 /THE ABOVE TWO LINES ARE USELESS. HOW DID HE BOOTSTRAP IF DISK WASN'T THERE?
221 IFNZRO .-7701 <NZERR,XXX>
222 HLT /SAFETY HALT AT 7701
223 DRDS /READ STATUS REGISTER
224 AND L4 /CHECK FOR TRACK OVERFLOW
227 ISZ RKCNT /SOME OTHER ERROR - BADNESS [SIC]
229 JMP RKBAD /3 TRIES IS ENOUGH
230 RKOK, DRDS /READ STATUS REGISTER
231 AND L40 /TRACK SEEK ERROR?
232 DCLS /CLEAR STATUS REGISTER
235 DCLA /YES - RECALIBRATE
236 DSKD /WAIT 'TILL DONE
238 RKBACK, CLL STA RTL /-3
240 DCA RK8 /POINT BACK TO FUNCTION WORD
241 JMP RKRETRY /GO TRY AGAIN
243 RKTKOV, DCLS /CLEAR STATUS REGISTER
244 DRDA /READ TRACK ADDRESS STUFF
245 AND L7760 /ISOLATE JUST TRACK (NEEDED ??)
246 TAD L20 /BUMP TRACK NUMBER BY 1
247 JMP RKINST /GO BACK AND CONTINUE TRANSFER
253 / MUST NOT GO INTO LOCATION 7744
254 IFZERO .&177-145&4000 <TOOBIG,XXXX>