e8d82fb4750b65b739566b05751883dae778cfa4
[pdp8.git] / sw / os8 / v3d / sources / system / dectapes / dectape1 / RK08NS.PA
1 /3 RK8 NON SYSTEM HANDLER
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /COPYRIGHT (C) 1974,1975,1977 BY DIGITAL EQUIPMENT CORPORATION
12 /
13 /
14 /
15 /
16 /
17 /
18 /
19 /
20 /
21 /
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.
26 /
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.
31 /
32 /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
33 /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
34 /DIGITAL.
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 *0
46 -4
47
48 DEVICE RK01;DEVICE RKA0;4050;20;ZBLOCK 2
49 DEVICE RK01;DEVICE RKA1;4050;21;ZBLOCK 2
50 DEVICE RK01;DEVICE RKA2;4050;22;ZBLOCK 2
51 DEVICE RK01;DEVICE RKA3;4050;23;ZBLOCK 2
52
53 DLDC=6732
54 DCLS=6742
55 DRDS=6741
56 DSKD=6745
57 DSKE=6747
58 DCLA=6751
59 DLWC=6753
60 DLCA=6755
61 DLDR=6733
62
63 RKVERSION="A&77
64
65 /V3 CHANGES:
66
67 /1. VERSION # IS NOW 1
68 /2. A FULL 4K READ OR WRITE IS NOW LEGAL
69
70 *200
71 /THE ENTRY POINTS FOR RK8 ARE SET AT 20-23. VITAL!!
72
73 RLOC, 0 /FOR BUFFER ADDRESS
74 RREC, 0 /HOLDS RECORD NO.
75 R76, 76
76 RDLDR, DLDR
77 RKANO, 0
78 RKAISZ, ISZ RKANO
79 RBLKCT, 0 /HOLDS TOTAL WORD COUNT
80 RERRCT, 0 /# ERROR TRIES
81 R177, 177
82 R40, 40
83 RM3, -3
84 R400, 400
85 R7400, 7400
86 RKA, 0 /HOLDS ARGUMENT ADDRESS
87 R34, 34
88 RZERO, RKVERSION
89 IFNZRO .-220 <ADRERR,QQQ>
90 RKA0, ISZ RKANO
91 RKA1, ISZ RKANO
92 RKA2, ISZ RKANO
93 RKA3, ISZ RKANO
94 R7600, 7600
95 TAD RM3
96 DCA RERRCT /3 TRIES ON ERROR
97 TAD RKANO /THIS CODE RESTORES THE ISZ RKANO
98 CMA /WHICH WAS DESTROYED IN THE CALL
99 TAD RKATAD
100 DCA RFUNCT
101 CLA CLL CML RTR
102 TAD RFUNCT /FORM DCA RKAN,WHERE RKAN WAS CALLED
103 DCA RKADCA
104 RDF
105 TAD RCDIF /RESTORE TO PROPER FIELD
106 DCA REXIT
107 RFUNCT, HLT /CONTAINS TAD RKAN WHEN EXECUTED
108 DCA RKA /SO WE SAVE ADDRESS OF ARGUMENTS
109 TAD RKAISZ /AND NOW RESTORE THE ISZ RKANO
110 RKADCA, HLT
111 TAD I RKA /FUNCTION WORD
112 DCA RFUNCT
113 ISZ RKA
114 CLA CMA /BUFFER ADDRESS -1
115 TAD I RKA
116 DCA RLOC
117 ISZ RKA
118 TAD I RKA /RECORD NUMBER
119 DCA RREC
120 TAD RFUNCT /NOW FORM RK8 IOT FROM FUNCTION.
121 CLL RAL /READ/WRITE TO LINK
122 AND R7600 /ISOLATE WORD COUNT
123 DCA RBLKCT
124 RTL /READ=6733,WRITE=6735
125 TAD RDLDR
126 DCA RINST
127 \fRLOOP, TAD RLOC /LOAD CURRENT ADDRESS
128 DLCA
129 TAD RBLKCT /TEST WORD COUNT FOR SIZE.
130 RKATAD, TAD R7600 /FULL=256, HALF=128
131 SZA CLA
132 TAD R7600
133 TAD R7600
134 DLWC /LOAD WORD COUNT
135 TAD RFUNCT /LOADING COMMAND WORD WITH FIELD
136 CMA RAR /AND DISK SELECTION
137 AND R34
138 TAD RKANO
139 CMA RAL
140 AND R76
141 DLDC
142 DCLS /CLEARS SELECT ERROR IF STILL UP
143 TAD RREC
144 RINST, HLT /GETS DISK IOT
145 DSKD /TEST COMPLETION FLAG
146 SKP CLA /NOT DONE YET
147 JMP RCTLC /DONE. CHECK FOR ^C
148 DSKE /IS ERROR UP?
149 JMP .-4
150 RERROR, ISZ RERRCT /ERROR BUMP COUNT
151 JMP .+4
152 DCA RKANO /IT'S ALL OVER. CLEAR FOR RECALL
153 CLA CLL CML RAR
154 JMP RETRN+1 /FATAL ERROR
155 DRDS /LOOK AT STSTUS
156 AND R40 /TRACK NOT FOUND BIT
157 ISZ RZERO /CARRY OVER FROM SYSTEM HANDLER
158 JMP .-1
159 SNA CLA
160 JMP RLOOP /TRY AGAIN
161 DCLA /RECALIBRATE
162 DSKD
163 JMP .-1
164 JMP RLOOP /AND TRY AGAIN
165 \fRNEXT, DSKE /TRANSFER DONE. IS ERROR UP?
166 SKP
167 JMP RERROR /YEP.TOUGH LUCK
168 ISZ RREC /BUMP RECORD NUMBER
169 TAD RLOC
170 TAD R400 /BUMP CURRENT ADDRESS
171 DCA RLOC
172 TAD RBLKCT /DONE WITH ALL TRANSFERS?
173 SNA
174 JMP RDONE /V3 0 OK HERE
175 CLL CML
176 TAD R7400
177 SZL SNA
178 JMP RDONE
179 DCA RBLKCT /NO..UPDATE TOTAL WORD COUNT
180 JMP RLOOP /AND DO THE TRANSFER
181 RDONE, CLA
182 DCA RKANO /CLEAR FOR RECALL
183 RETRN, ISZ RKA
184 ISZ RKA
185 REXIT, HLT
186 JMP I RKA
187
188 RCTLC, KRS /TEST FOR ^C IN KEYBOARD BUFFER
189 AND R177 /WITH THE FLAG UP
190 TAD RM3
191 SNA CLA
192 KSF
193 JMP RNEXT /NO ^C, KEEP GOING
194 RCDIF, CIF CDF 0
195 JMP I R7600
196 $
197 \f