Commit | Line | Data |
---|---|---|
7af5ad59 PH |
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 |