Research PDP7 development
[unix-history] / adm.s
CommitLineData
69f28986
KT
1" adm
2
3 lac 017777 i
4 sad d4
5 jmp nofiles
6 lac 017777
7 tad d1
8 dac name
9 jms connect
10 sys time
11 llss 9
12 ecla lls 3
13 tad o60
14 alss 9
15 dac snumb
16 ecla llss 3
17 tad o60
18 alss 9
19 dac snumb+1
20 ecla llss 3
21 tad o60
22 alss 9
23 dac snumb+2
24 lac d1
25 sys write; snumb; 3
26 lac d1
27 sys write; o12; 1
28 jms gcard; <$;<*;<$;<7;<c;0
29 jms gcard; <$;<*;<$;<r;<c;<d;0
30 jms gcard; <$;<%;6;<s;<n;<u;<m;<b;<%;3;<7;<c
31snumb:
32 <x;<x;<x;<,;<3;<1;0
33 jms gcard; <$;<%;6;<i;<d;<e;<n;<t;<%;3;<m;<0;<1;<3;<0;<,
34 <m;<3;<2;<2;<,;<k;<e;<n;0
35 jms gcard; <$;<%;6;<s;<e;<l;<e;<c;<t;<%;2;<k;<e;<n
36 </;<d;<m;<p;<o;<f;<f;0
37 jms gcard; <$;<%;6;<l;<i;<m;<i;<t;<s;<%;2;<3;<,;<,;<,
38 <9;<0;<0;<0;<0
39 jms gcard; <$;<%;6;<d;<a;<t;<a;<%;4;<i;<*;<,
40 <n;<c;<k;<s;<u;<m;<,
41 <c;<o;<p;<y;0
42 jmp floop1
43
44floop:
45 lac fi
46 sys close
47floop1:
48 lac 017777 i
49 sad d4
50 jmp done
51 tad dm4
52 dac 017777 i
53 lac name
54 tad d4
55 dac name
56
57 sys open; name: ..; 0
58 spa
59 jmp ferror
60 dac fi
61
62 -1
63 tad name
64 dac 8
65 r4
66 dac c1
671:
68 lac 8 i
69 jms putw
70 isz c1
71 jmp 1b
72 jms gcard; 0
73 jms flush
74
75 lac o200500 " first card, 7/9
76 dac buf
77 dzm buf+1 " seq
78
79cloop:
80 dzm buf+2 " word count
81 dzm buf+3 " checksum
82 law buf+3
83 dac 10
84 -44
85 dac c1
86
87wloop:
88 jms getword
89 jmp eof
90 dac 10 i
91 add buf+3
92 dac buf+3 " check sum
93 isz buf+2 " word count
94 isz c1
95 jmp wloop
96
97 lac buf+3
98 add buf
99 add buf+1
100 add buf+2
101 dac buf+3 " ffinal check sum
102 jms putcard
103 lac buf
104 and o577777 " not first card
105 dac buf
106 isz buf+1 " sequence
107 jmp cloop
108
109eof:
110 dzm 10 i
111 isz c1
112 jmp eof
113
114 lac buf
115 xor o400000
116 dac buf " last card
117 lac buf+3
118 add buf
119 add buf+1
120 add buf+2
121 dac buf+3 " final check sum
122 jms putcard
123 jmp floop
124
125getword: 0
126 lac ipt
127 sad eipt
128 jmp 1f
129 lac ipt i
130 isz ipt
131 isz getword
132 jmp getword i
1331:
134 lac fi
135 sys read; ibuf; 64
136 sna
137 jmp getword i
138 tad iipt
139 dac eipt
140 lac iipt
141 dac ipt
142 jmp getword+1
143ipt: 0
144eipt: 0
145iipt: ibuf
146
147putcard: 0
148 -48
149 dac c1
150 law buf-1
151 dac 10
1521:
153 lac 10 i
154 lmq
155 -3
156 dac c2
1572:
158 ecla llss 6
159 tad lactab
160 dac .+1
161 lac ..
162 dac opt i
163 isz opt
164 isz c2
165 jmp 2b
166 isz c1
167 jmp 1b
168
169 -16
170 dac c1
171 cla
1721:
173 dac opt i
174 isz opt
175 isz c1
176 jmp 1b
177 law 0144
178 jms message; tbuf
179 law tbuf
180 dac opt
181 jmp putcard i
182
183 jmp floop
184
185ferror:
186 lac name
187 dac 1f
188 lac d1
189 sys write; 1:..; 4
190 lac d1
191 sys write; 1f; 1
192 jmp floop1
1931: 077012
194
195hangup:
196 lac d1
197 sys write; m1; m1s
198 jmp stop
199
200abort:
201 lac d1
202 sys write; m2; m2s
203 jmp stop
204
205nofiles:
206 lac d1
207 sys write; m3; m3s
208 sys exit
209
210discon:
211 lac d1
212 sys write; m4; m4s
213 jmp stop
214
215m1:
216 <ha>;<ng>;<up>;012
217m2s = .-m1
218m2:
219 <ab>;<or>;<te>;<d 012
220m2s = .-m2
221m3:
222 <us>;<ag>;<e;<:;040;<ad>;<m 040; <fi>;<le>;<s 012
223 <di>;<al>;040;<x;<5;<3;<8;<0 040; <on>;040;<th>;<e 040
224 <da>;<ta>;<ph>;<on>;<e 012
225m3s = .-m3
226m4:
227 <di>;<sc>;<on>;<ne>;<ct>;<ed>;012
228m4s = .-m4
229
230stop:
231 dpof
232 las
233 and o400000
234 sna
235 sys save
236 sys exit
237
238carrier: 0100000
239ilock: 040000
240totime: 300
241disflg: 0
242
243flush: 0
244 lac noc
245 sna
246 jmp flush i
247 law 0104
248 jms message; tbuf
249 law tbuf
250 dac opt
251 dzm noc
252 jmp flush i
253
254gcard: 0
255 lac gcard i
256 isz gcard
257 sna
258 jmp 3f
259 lrss 9
260 sad o45
261 jmp 1f
262 jms putc
263 jmp gcard+1
2641:
265 -1
266 tad gcard i
267 cma
268 dac 2f
269 isz gcard
2701:
271 law 040
272 jms putc
273 isz 2f
274 jmp 1b
275 jmp gcard+1
2762: 0
2773:
278 lac noc
279 sna
280 jmp gcard i
281 sad d80
282 jmp gcard i
283 law 040
284 jms putc
285 jmp 3b
286
287done:
288 jms gcard; <$;<%;6;<e;<n;<d;<c;<o;<p;<y;0
289 jms gcard; <$;<%;6;<s;<y;<s;<o;<u;<t;<%;2;<p;<*;0
290 jms gcard; <$;<%;6;<e;<n;<d;<j;<o;<b;0
291 -1
292 dac disflg
2931:
294 jms gcard; <$;<*;<$;<d;<i;<s;0
295 jmp 1b
296
297putw: 0
298 dac 1f
299 lrss 9
300 jms putc
301 lac 1f
302 jms putc
303 jmp putw i
3041: 0
305
306putc: 0
307 and o177
308 dac opt i
309 -0141
310 tad opt i
311 spa
312 jmp 1f
313 -0173
314 tad opt i
315 sma
316 jmp 1f
317 -040
318 tad opt i
319 dac opt i
3201:
321 isz opt
322 isz noc
323 lac noc
324 sad d160
325 skp
326 jmp putc i
327 dzm noc
328 law tbuf
329 dac opt
330 law 0110
331 jms message; tbuf
332 jmp putc i
333noc: 0
334opt: tbuf
335
336connect: 0
337 dpon
338 dpop
339
340 law 4
341 sys sysloc
342 tad d14
343 dac systime
344 law 11
345 sys sysloc
346 dac dpstat
347 tad d1
348 dac dpread
349 tad d1
350 dac dpwrite
351 tad d1
352 dac dpchar
353
354 dzm dpstat i
355 las
356 dac opch
3571:
358 las
359 sad opch
360 skp
361 jmp abort
362 sys time
363 lac dpstat i
364 and ilock
365 sna
366 jmp 1b
367 law 041
368 dac echoch
369 law 0102
370 jms message; 0
371 jmp i connect
372
373message: 0
374 dac stsch
375
376retry:
377 lac dpstat i
378 and carrier
379 sza
380 jmp retry
381 dprs
382 and ilock
383 sna
384 jmp hangup
385 lac d1
386 dac dpwrite i
387 sys time
388 lacq
389 tad totime
390 dac rctim
391
392" put out 6 sync characters
393 -6
394 dac c2
3951:
396 law 026
397 jms transch
398 isz c2
399 jmp 1b
400
401" put out stx character
402 law 002
403 jms transch
404 dzm sum
405
406" put out the status character
407 lac stsch
408 jms transch
409
410" echo the sequence character
411 lac echoch
412 jms transch
413
414" if there is a buffer pointer
415" put out 160 words of data
416 -1
417 tad i message
418 spa
419 jmp 2f
420 dac 10
421 -160
422 dac c2
4231:
424 lac 10 i
425 jms transch
426 isz c2
427 jmp 1b
428
429" put out etx character
4302:
431 law 003
432 jms transch
433
434" put out lateral parity
435 lac sum
436 jms transch
437
438" put out a sync
439 law 026
440 jms transch
441
442" loop looking for stx
4431:
444 jms recvch
445 sad o2
446 skp
447 jmp 1b
448 dzm sum
449
450" pick up op code
451 jms recvch
452 spa
453 jmp error
454 dac opch
455
456" pick up sequence character
457 jms recvch
458 spa
459 jmp error
460 dac seqch
461 sad echoch
462 jmp error
463
464" skip over data block to etx character
4651:
466 jms recvch
467 spa
468 jmp error
469 sad o3
470 skp
471 jmp 1b
472
473" pick up the lateral parity character
474 jms recvch
475 lac sum
476 and o177
477 sza
478 jmp error
479
480" and exit
481 lac seqch
482 dac echoch
483 -1
484 dac 7
485 isz message
486 lac opch
487 sad o122
488 jmp i message
489 lac distlg
490 sna
491 jmp discon
492 jmp stop
493
494transch: 0
495 lmq
496 xor sum
497 dac sum
4981:
499 jms checktim
500 lac dpwrite i
501 sna
502 jmp 1b
503 dzm dpwrite i
504 lacq
505 dpwc
506 jmp i transch
507
508recvch: 0
5091:
510 jms checktim
511 lac dpread i
512 sna
513 jmp 1b
514 dzm dpread i
515 lac dpchar i
516 xor sum
517 dac sum
518 lac dpchar i
519 jmp i recvch
520
521checktim: 0
522 lac systime i
523 cma
524 tad rctim
525 spa
526 jmp error
527 jmp i checktim
528
529error:
530 lac stsch
531 lmq
532 lac o2
533 omq
534 dac stsch
535 jmp retry
536
537d1: 1
538d4: 4
539o60: 060
540o12: 012
541dm4: -4
542o45: 045
543o177: 0177
544d160: 160
545d80: 80
546d14: 14
547o400000: 0400000
548o577777: 0577777
549o200500: 0200500
550o122: 0122
551o3: 3
552o2: 2
553
554lactab: lac .+1
555 0060;0061;0062;0063;0064;0065;0066;0067
556 0070;0071;0133;0043;0100;0072;0076;0077
557 0040;0101;0102;0103;0104;0105;0106;0107
558 0110;0111;0046;0056;0135;0050;0074;0134
559 0136;0112;0113;0114;0115;0116;0117;0120
560 0121;0122;0055;0044;0052;0051;0073;0047
561 0053;0057;0123;0124;0125;0126;0127;0130
562 0131;0132;0137;0054;0045;0075;0042;0041
563
564dpstat: .=.+1
565dpread: .=.+1
566dpwrite: .=.+1
567dpchar: .=.+1
568systime: .=.+1
569opch: .=.+1
570stsch: .=.+1
571echoch: .=.+1
572seqch: .=.+1
573tbuf: .=.+160
574buf: .=.+48
575ibuf: .=.+64
576rctim: .=.+1
577fi: .=.+1
578c1: .=.+1
579c2: .=.+1
580sum: .=.+1
581
582dpon = 0704701
583dpof = 0704704
584dpwc = 0704722
585dpop = 0704764
586dprs = 0704752