Add README.md
[pdp8.git] / sw / os8 / v3d / sources / system / dectapes / dectape3 / RF08NS.PA
1 /3 RF08 NON SYSTEM HANDLER / NULL:
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /COPYRIGHT (C) 1974,1975 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 \f/ SR
46
47 RF08=1 /CHANGE TO 0 FOR DF32 HANDLER
48
49 *0
50
51 -2
52 IFNZRO RF08 <
53 DEVICE RF;DEVICE RF;4064;RF&177;ZBLOCK 2
54 >
55 IFZERO RF08 <
56 DEVICE DF;DEVICE DF;4124;DF&177;ZBLOCK 2
57 >
58 DEVICE RF;DEVICE NULL;0240;NULL&177;ZBLOCK 2
59
60 SCA=7751
61 SWC=7750
62
63 RFVERSION="A&77
64 NULLVERSION="A&77
65 \f *200
66
67 INITLC, 0 /PATCH TO 232 TO HAVE NULL STORE ^Z IN BUFFER
68 SYSER, CLA CLL CML RAR /4000
69 ISZ SYSCNT /TRY AGAIN?
70 SKP CLA
71 JMP SFIELD /WHY BOTHER
72 CLA CLL CMA RTL
73 TAD RF
74 DCA RF /RESET PARAMETERS AND TRY AGAIN
75 JMP RETRY
76 T1, 0
77 T2, 0
78
79 CTLC, 0
80 KRS
81 AND (177
82 TAD (-3
83 SNA CLA
84 KSF
85 JMP I CTLC
86 CIFCDF, CIF CDF 0 /RETURN TO OS/8 IF USER TYPED ^C
87 JMP I S7600
88 ZBLOCK 224-.
89 IFNZRO .-224 <ADRERR,QQQQ> /ENTRY PT MUST BE RELATIVE 24
90 \fDF,
91 RF, RFVERSION
92 CLA CLL CMA RTL /-3
93 DCA SYSCNT /# TRYS ON ERROR
94 RETRY, TAD I RF /HANDLER RUNS IN USER'S DATA FIELD
95 RAL
96 CLA RTL
97 TAD S6603
98 DCA SFUN /EITHER A READ OR WRITE
99 TAD I RF
100 AND S70
101 DCA SFIELD /GET FIELD OF BUFFER
102 TAD I RF
103 RAL
104 AND S7600
105 CIA
106 DCA T1 /SET UP WORD COUNT
107 CLA CMA
108 ISZ RF
109 TAD I RF
110 DCA T2 /BUFFER ADDRESS-1
111 ISZ RF
112 RDF
113 TAD SCDF
114 DCA RESRDF
115 SCDF, CDF 0
116 TAD T1
117 DCA I (SWC
118 TAD T2
119 DCA I (SCA
120 RESRDF, HLT /RESTORE USER'S DATA FIELD
121 IFZERO RF08 <
122 TAD I RF
123 RTL
124 AND S3700
125 >
126 TAD SFIELD
127 6615 /LOAD DISK EXTENDED MEMORY
128 S7600, 7600
129 IFNZRO RF08 <
130 TAD I RF
131 RTR
132 RTR
133 AND S377
134 6643 /LOAD HIGH ORDER
135 >
136 TAD I RF
137 RTR
138 RTR
139 RAR
140 AND S7400
141 SFUN, HLT /BECOMES DISK IOT.(READ OR WRITE)
142 RDF
143 TAD CIFCDF
144 DCA SFIELD
145 IFZERO RF08 <6622>
146 IFNZRO RF08 <6623>
147 JMP .-1
148 JMS CTLC
149 ISZ RF
150 6621 /SKIP ON ERROR
151 IFNZRO RF08 <SKP /SENSE OF SKIP IS REVERSED>
152 JMP SYSER
153 ISZ RF
154 SFIELD, HLT /RETURN TO PROPER FIELD
155 6601 /CLEAR TROUBLESOME FLAG
156 JMP I RF
157
158 IFZERO RF08 <S3700, 3700>
159 IFNZRO RF08 <S377, 0377>
160 \fNULL, NULLVERSION
161 CLA
162 RDF
163 TAD CIFCDF
164 DCA NULRET
165 JMS CTLC
166 TAD I NULL /GET FN WORD
167 DCA SFUN
168 ISZ NULL /POINT TO CORE LOC
169 TAD I NULL /GET START OF BUFFER
170 DCA T1
171 ISZ NULL /POINT TO BLOCK NUMBER
172 ISZ NULL /POINT TO ERROR RETURN
173 TAD SFUN
174 SPA CLA
175 JMP BYE /LEAVE BUFFER ALONE ON A WRITE
176 TAD SFUN
177 AND S70 /ISOLATE FIELD OF BUFFER
178 TAD SCDF
179 DCA NFIELD
180 TAD SFUN
181 CLL RAL
182 AND S7600 /GET NO. OF WDS IN BUFFER
183 CIA
184 DCA T2
185 TAD INITLC
186 NFIELD, HLT /GO TO FIELD OF BUFFER
187 DCA I T1 /ZERO BUFFER
188 ISZ T1
189 ISZ T2
190 JMP .-3
191 BYE, TAD SFUN
192 RAL /PUT R/W BIT IN LINK
193 CLA CML RAL /AC=1 IF READING
194 SNA
195 ISZ NULL /POINT TO GOOD RETURN IF WRITE
196 NULRET, HLT /BACK TO USER'S DATA FIELD, INST FIELD
197 JMP I NULL /RETURN
198
199 SYSCNT, 0
200 S6603, 6603
201 S70, 70
202 S7400, 7400
203 $
204 \f