1 /3 RK8E SYSTEM HANDLER FOR OS/8 BUILD
11 /COPYRIGHT (C) 1974,1975 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
49 DECIMAL;RKLEN=3248;OCTAL
52 DEVICE RK8E;DEVICE SYS;4231;2007;0;RKLEN
53 DEVICE RK8E;DEVICE RKA0;4231;1007;0;RKLEN
54 DEVICE RK8E;DEVICE RKB0;4231;SHNDL1&177+1000;0;RKLEN
55 /ONE RK8E IS TREATED AS TWO LOGICAL DISKS
56 /EACH OF 3248 OS/8 BLOCKS.
58 /THIS HANDLER CONTAINS ENTRY POINTS FOR THE SYSTEM DEVICE
60 /THIS HANDLER ALLOWS BOOTING OFF OF ANY UNIT
70 RKEBLK=7750 /12 BITS OF BLOCK NUMBER
71 SERRCT=7751 /HOLDS RETRY COUNT
72 PAGCNT=7752 /PAGE COUNT
73 RKECMD=7753 /BASE OF DLDC COMMAND
74 CHKHED=7754 /CHECK HEADER FLAG
76 /MAINTENANCE RELEASE CHANGES:
78 /1. FIXED BUG RE INTERACTION WITH NON-SYSTEM HANDLER
99 ZBLOCK 30-. /DSKP GOES OVER 30
108 RKUNIT, SYSUNT+400 /CHANGED BEFORE IT IS MOVED
111 \f /THE BOOTSTRAP IS RK8E ONLY
115 /LOAD ADDRESS 30 AND START
117 /BOOTSTRAP FOR OTHER UNITS:
125 /LOAD ADDRESS 25, PUT UNIT # IN BITS 9&10 OF SWITCH REGISTER,
132 SHNDLR, VERSION /SYSTEM HANDLER ENTRY POINT
133 CLA CLL /GUARD AGAINST RANDOM AC
135 DCA SHNDL1 /SETUP COMMON EXIT AND PARM ADDR'S
136 JMP SHNDC /JUMP TO COMMON CODE
138 /VARIOUS CONSTANTS TO PAD E.P. FOR RKA1 TO 7621
139 S6260, 6260 /SIZE OF ONE LOGICAL DISK
140 S4070, 4070 /USED TO GET READ/WRITE AND DF BITS
141 S3700, 3700 / " TO GET PAGE COUNT
142 SCIF, CIF 0 / " TO RESTORE USERS FIELD
143 S37, 37 /USED TO CHECK FOR CYLINDER CHANGE
145 IFNZRO .-7621 <ERROR1, BARF>
147 SHNDL1, VERSION /2ND E.P. FOR RKB0 AND TEMPORARY
148 CLA /GUARD AGAINST NON-ZERO AC
149 TAD S6260 /RKB1 IS SECOND HALF OF PACK
150 SHNDC, DCA SHNDLR /SET BLOCK DISPLACEMENT ACCORDING TO SYS OR RKB0
151 CLA CLL CMA RTL /AC=-3
152 DCA SERRCT /RETRY COUNT
155 DCA SFIELD /RESET USER INST FIELD FOR EXIT
156 RETRY, TAD SHNDL1 /AC=-2 IF ERROR ENRTY
158 TAD I SHNDL1 /GET ARG1
159 AND S4070 /GET R/W AND DF BITS
161 DCA RKECMD /BASE COMMAND TO RK8E(DLDC)
162 TAD I SHNDL1 /GET ARG1 AGAIN
163 ISZ SHNDL1 /POINT TO ARG2
167 DCA PAGCNT /SAVE PAGE COUNT
168 TAD I SHNDL1 /GET ARG2
169 ISZ SHNDL1 /POINT TO ARG3
170 DLCA /LOAD CURRENT ADDRESS REGISTER
171 TAD I SHNDL1 /GET ARG3
173 TAD SHNDLR /SYS OR RKB0 DISPLACMENT
174 DCA RKEBLK /LOW PART OF RK8E BLOCK NUMBER
175 SZL /STILL OFF IF BELOW BLOCK 10000
176 OVRFLO, ISZ RKECMD /TURN ON EXTENDED BIT IF OVERFLOWED
177 RELOOP, DCA CHKHED /SET CHECK HEADER FLAG TO EITHER
178 /0 OR 4000(WHICH GETS RTR'D BEFORE USED)
179 /AND CAUSES EITHER A "DATA" OR "ALL"
181 TAD PAGCNT /TEST TO SEE IF ONLY 1 PAGE WANTED
184 TAD S400 /100 WAS IN PAGCNT
185 TAD CHKHED /ADD IN CHECK HEADER FLAG
186 CLL RTR /SHIFT TO CORRECT BITS
187 TAD RKECMD /ADD IN BASE COMMAND
188 DLDC /LOAD COMMAND REGISTER
190 DLAG /LOAD BLOCK REGISTER AND GO
193 DRST /READ COMPLETION REGISTER
194 CLL RAL /GET RID OF SUCCESS BIT
195 SZA CLA /AND SEE IF ANYTHING LEFT
197 IFNZRO .-7700 <ERROR2, DOUBLE BARF>
198 SKP /PROTECTION AGAINST JMS I 7700 FIELD 0
207 AND S37 /IF BLOCK IS AT A 37 MAKE
208 /NEXT OPERATION DO A CHECK HEADER
210 STL RAR /SET AC TO "ALL" FLAG
211 ISZ RKEBLK /BUMP BLOCK NUMBER
212 JMP RELOOP /TRANSFER SOME MORE
213 JMP OVRFLO /PAST BLOCK 7777-SET EXTENDED BIT
214 \f /RECALIBRATE ON ALL ERRORS
215 SERROR, DCLR /CLEAR STATUS REGISTER
217 DCLR /RECALIBRATE DRIVE
220 DCLR /CLEAR STATUS REGISTER
221 DRST /WAIT FOR STATUS TO CLEAR
223 JMP .-3 /V3C STILL DOING RECALIBRATE
224 CLA CLL CMA RAL /AC=-2
225 ISZ SERRCT /SKIP IF WE TRIED 3 TIMES
228 RKDONE, ISZ SHNDL1 /NORMAL RETURN
229 S7600, 7600 /GROUP 2 CLA
230 ISZ SHNDL1 /IF JUMPED TO HERE- ERROR RETURN
231 SFIELD, HLT /RESET USERS INST FIELD- WE NEVER TOUCHED DF
234 S400, 400 / " FOR 128 WORD TRANSFER MODE(RTR'D IN CODE)
235 SYSUNT, 0 /SYSTEM DEV UNIT # (SET BY BOOTSTRAP)