software: Added more and more
[pdp8.git] / sw / os8 / v3d / sources / system / dectapes / dectape2 / BAT.PA
CommitLineData
7af5ad59
PH
1/1 BATCH INPUT STREAM HANDLER
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 *0
46 -1 /NUMBER OF DEVICES
47 DEVICE BAT /DEVICE TYPE NAME
48 DEVICE BAT /DEVICE NAME
49 2220 /READ ONLY, CODE=22
50 0 /ONE PAGE
51 ZBLOCK 2
52
53BATIN= 5400
54\f BATVERSION="B&77
55
56
57 *200
58BAT, BATVERSION
59 CLA /PROTECTION
60 RDF /GET USER'S FIELD
61 TAD BATCDF /MAKE CDF CIF
62 DCA BATXIT /SAVE FOR EXIT
63 TAD BATISZ /RESET SUCCESS ISZ
64 DCA BATXIT-1
65 TAD I BAT
66 AND BA7700
67 CIA
68 DCA BATWC /SAVE WORD COUNT (DIVIDED BY 2)
69 TAD I BAT
70 AND BA0070
71 TAD BATCDF /CREATE CDF TO BUFFER FIELD
72 TAD (-2
73 DCA BATBUF
74BATISZ, ISZ BAT
75 TAD I BAT
76 DCA BATCA /GET ADDRESS OF BUFFER
77 ISZ BAT
78 ISZ BAT /IGNORE BLOCK NUMBER
79 TAD BATWC /WAS COMMAND WRITE OR BUFFER LENGTH ZERO?
80BA7700, SMA CLA
81 JMP BATER1 /YES - ERROR
82BATCDF, CDF CIF 0
83 TAD I BA7777 /IS BATCH RUNNING?
84 RAL
85 SMA CLA
86 JMP BATER2 /NO - ERROR
87 TAD I BA7777
88 AND BA0070
89 TAD BATCDF /CREATE CDF TO BATCH FIELD
90 DCA BATCAL /CREATE CDF CIF TO BATCH FIELD
91
92
93
94BATLP, JMS BATGET /GET CHAR
95 DCA I BATCA /SAVE IN BUFFER
96 JMS BATGET /GET NEXT CHAR
97 DCA BATTMP /SAVE IT FOR PACKING
98 JMS BATGET /GET NEXT CHAR
99 RTL
100 RTL
101 DCA BATTM2 /SAVE IT
102 TAD BATTM2
103 AND BA7400 /ADD FIRST HALF
104 TAD I BATCA /TO FIRST CHAR
105 DCA I BATCA /SAVE THEM IN BUFFER
106 ISZ BATCA /UPDATE POINTER
107BA7400, 7400 /PROTECT THE ISZ
108 TAD BATTM2 /GET SECOND HALF OF CHAR
109 RTL
110 RTL
111 AND BA7400
112 TAD BATTMP /ADD TO SECOND CHAR
113 DCA I BATCA /SAVE IN BUFFER
114 ISZ BATCA /UPDATE POINTER
115BA0070, 0070 /PROTECT THE ISZ
116 ISZ BATWC /DONE?
117 JMP BATLP /NO - LOOP
118
119 ISZ BAT /SUCCESS RETURN (ON EOF THIS BECOMES CLA IAC)
120BATXIT, HLT /CDF CIF TO USER FIELD
121 JMP I BAT /RETURN
122
123BATWC, 0 /WORD COUNT (DIVIDED BY 2)
124BATCA, 0 /POINTER INTO BUFFER
125BATTM2,
126BATCHR, 0 /CHAR RETURNED BY BATGET
127BATTMP, 0
128BA7777, 7777
129
130
131BATER1,
132BATER2, CLA STL RAR
133 JMP BATXIT
134\f/THIS ROUTINE GETS THE NEXT CHARACTER TO BE PUT INTO THE BUFFER
135BATGET, 0
136 0 /IF LAST CHAR WAS <CR> THIS IS "JMP BATLF"
137BATCAL, HLT /CIF CDF BATCH FIELD (ON EOF THIS IS "JMP BATBUF")
138 TAD I BATVFY
139 TAD (-2214 /VERIFY MAGIC LOCATION IN BATCH
140 SZA /AGAINST EQUALLY MAGIC CONTENTS
141 CDF CIF 0
142 SZA CLA
143 JMP BATER2 /BATCH IS DESTROYED!
144 CDF /WE ARE IN FIELD ZERO
145 JMS I BATINN /CALL THE BATCH INPUT ROUTINE
146 JMP BATEOF /NO SKIP = END OF FILE
147 DCA BATCHR /SAVE CHARACTER RETURNED
148 TAD BATCHR
149 TAD BMCR /CARRIAGE RETURN?
150 SNA
151 JMP BATCR /YES
152 TAD BCRMLF /LINE FEED?
153 SNA
154 JMP BATCAL /YES - IGNORE IT
155 TAD BLFMDO /DOLLAR SIGN?
156 SNA CLA
157 JMP BATDO /YES
158BATGEX, DCA BCRFLG /NO SPECIAL CHAR
159 TAD BATCHR /RETURN WITH CHAR IN AC
160BATBUF, HLT /CDF USER BUFFER
161 JMP I BATGET /RETURN
162
163BLFJMP, JMP BATLF
164BATCR, TAD BLFJMP /SET NEXT CALL TO RETURN <LF>
165 DCA BATGET+1
166 CLA CMA /SET TO INDICATE <CR>
167 JMP BATGEX
168
169BATLF, DCA BATGET+1 /ZAP THE JMP TO HERE
170 TAD BLF /RETURN <LF>
171BATGEJ, JMP BATBUF
172
173BATDO, TAD BCRFLG /IS THE "$" FIRST ON THIS LINE?
174 SNA CLA
175 JMP BATGEX /NO - NOTHING SPECIAL
176 TAD I BA7777 /YES - SET FLAG SO THAT
177 RTR /THE BATCH INPUT ROUTINE
178 STL RTL /WILL PUT THE DOLLAR-SIGN BACK
179 DCA I BA7777
180 /RETURN CURRENT CHARACTER AGAIN
181BATEOF, TAD BATCTZ /RETURN CTRL-Z THIS TIME
182 DCA BATCHR
183 DCA BATXIT-1 /SET HANDLER TO RETURN TO ERROR RETURN
184 TAD BATGEJ /SET BATGET TO RETURN ZEROES
185 DCA BATCAL
186 JMP BATCR+2 /AND FLAG NEW LINE FOR NEXT CALL
187
188BATINN, BATIN /ENTRY ADDRESS OF BATCH INPUT ROUTINE
189BATVFY, BATIN+200
190BLF, 212
191BMCR, -215
192BCRMLF, 215-212
193BLFMDO, 212-"$
194BCRFLG, -1
195BATCTZ, 32 /CTRL-Z
196
197$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
198\f