Commit | Line | Data |
---|---|---|
7af5ad59 PH |
1 | /EPIC PROGRAM, V5A |
2 | / | |
3 | / | |
4 | / | |
5 | / | |
6 | / | |
7 | / | |
8 | / | |
9 | // | |
10 | / | |
11 | / | |
12 | / | |
13 | / | |
14 | /COPYRIGHT (C) 1973, 1975, 1977 | |
15 | /DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. | |
16 | / | |
17 | / | |
18 | / | |
19 | /THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A | |
20 | /SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLU- | |
21 | /SION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANT OTHER | |
22 | /COPIES THEREOF, MAY NOT BR PROVIDED OR OTHERWISE MADE AVAILABLE | |
23 | /TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO | |
24 | /AGREES TO THESE LICENSE TERMS. TITLE TO AND OWNERSHIP OF THE | |
25 | /SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC. | |
26 | / | |
27 | / | |
28 | /THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT | |
29 | /NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL | |
30 | /EQUIPMRNT COROPATION. | |
31 | / | |
32 | /DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS | |
33 | /SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. | |
34 | / | |
35 | / | |
36 | / | |
37 | / | |
38 | / | |
39 | / | |
40 | \f/EPIC PROGRAM | |
41 | /COPYRIGHT 1973,1977 | |
42 | /DIGITAL EQUIPMENT CORP. | |
43 | /MAYNARD, MASS.01754 | |
44 | ||
45 | PTAPE=1 | |
46 | *0 | |
47 | VERS, 10 | |
48 | *10 | |
49 | NDX0, 0 | |
50 | NDX1, 0 | |
51 | NDX2, 0 | |
52 | *20 | |
53 | BCC1, 0 | |
54 | BCC2, 0 | |
55 | BLKLEN, 13 | |
56 | BUFFLD, 10 | |
57 | BUFPTR, 0 | |
58 | BYTCNT, 0 | |
59 | CLOC=BYTCNT | |
60 | CHKC, CTRLC | |
61 | CRLF, TYCRLF | |
62 | DATBUF, HDATA | |
63 | DOCRC, CRC | |
64 | EBLKHI, 0 | |
65 | EFLG, -1 | |
66 | EOTFLG, 0 | |
67 | EQBLK, 0 | |
68 | ERCODE, 0 | |
69 | EOLWD=ERCODE | |
70 | FLEN, 0 | |
71 | FNPTR, 0 | |
72 | FRMPTR, 0 | |
73 | MODF=FRMPTR | |
74 | GETCD, DECOD | |
75 | HANADR, 0 | |
76 | IDOFLG, 0 | |
77 | MODB=IDOFLG | |
78 | IMPFLG, 0 | |
79 | INCHR, 0 | |
80 | INPTR, 0 | |
81 | IOERR, PHYSIO | |
82 | LPWT, LPWAIT | |
83 | LSPFLG, 0 | |
84 | MAXCNT, 0 | |
85 | MAXLEN, -MXPBLK | |
86 | MIFLG, 0 | |
87 | M4, -4 | |
88 | NAME, 0 | |
89 | OCNT, 0 | |
90 | OUDEV, 0;0;0 | |
91 | OUTCHR, 0 | |
92 | OUTPTR, 0 | |
93 | PARCHR, 0 | |
94 | MSKWD=PARCHR | |
95 | PARPTR, PARADR | |
96 | PATFLG, 0 | |
97 | P17, 17 | |
98 | P200, 200 | |
99 | RDCHR, 0 | |
100 | SRWD=RDCHR | |
101 | RDPBLK, PREAD | |
102 | RDSWIT, SWITCH | |
103 | RELBLK, HDATA+5 | |
104 | RBLK, 0 | |
105 | SATOL, 0 | |
106 | SBLK, 0 | |
107 | SLPTR, 0 | |
108 | SMTOX, 0 | |
109 | SYTO9, 0 | |
110 | TMP0, 0 | |
111 | TMP1, 0 | |
112 | TMP2, 0 | |
113 | TMP3, 0 | |
114 | TMP4, 0 | |
115 | TNAME, TYPNAM | |
116 | TYDEV, TYPDEV | |
117 | TYPTXT, TTOTXT | |
118 | USR, DOUSR | |
119 | USRDEV, 0 | |
120 | WRCHR, 0 | |
121 | ||
122 | PAGE | |
123 | \f | |
124 | START, NOP | |
125 | CIF 10 /START OF PROG | |
126 | JMS I (7700 | |
127 | USRIN | |
128 | TAD MAXLEN | |
129 | DCA MAXCNT | |
130 | TLS | |
131 | PLS | |
132 | RFC | |
133 | DECOD, TAD (-PTAP | |
134 | TAD MODE | |
135 | SZA CLA | |
136 | JMP .+4 | |
137 | TAD LSPFLG | |
138 | SZA CLA | |
139 | JMS I LPWT | |
140 | JMS I CRLF | |
141 | TSF | |
142 | JMP .-1 | |
143 | CIF 10 | |
144 | JMS I P200 | |
145 | DECODE | |
146 | 0 | |
147 | TLS /INIT. TTY | |
148 | JMS I (SETDV | |
149 | JMS I (CHKMI | |
150 | CDF 10 | |
151 | TAD I (MTOX | |
152 | CDF 0 | |
153 | CLL RTR | |
154 | RAR | |
155 | SNL | |
156 | JMP NOVERS | |
157 | JMS I CRLF | |
158 | JMS I TYPTXT /IF /V,TYPE VERSION NUMBER | |
159 | VERSON | |
160 | JMS I CRLF | |
161 | NOVERS, TAD (FNAME | |
162 | DCA NAME | |
163 | TAD (7600 /GET NAME | |
164 | DCA NDX0 | |
165 | TAD NAME | |
166 | DCA TMP2 | |
167 | TAD DATBUF | |
168 | DCA TMP3 | |
169 | TAD VERS | |
170 | DCA I TMP3 | |
171 | ISZ TMP3 | |
172 | TAD M4 | |
173 | DCA TMP0 | |
174 | CDF 10 | |
175 | TAD I (YTO9 | |
176 | RAL /CHK /Z | |
177 | SMA CLA | |
178 | JMP .+3 | |
179 | DCA EQBLK | |
180 | DCA EBLKHI | |
181 | TAD I (ATOL | |
182 | AND (20 /H ? | |
183 | SZA CLA | |
184 | FOURK /YES | |
185 | DCA TMP1 | |
186 | CLA CLL CMA RAR /=3777 | |
187 | AND I (7642 /HI EQUALS N | |
188 | TAD TMP1 | |
189 | SZA | |
190 | DCA EBLKHI | |
191 | TAD I (7642 | |
192 | DCA TMP1 | |
193 | TAD I (7646 | |
194 | SZA | |
195 | DCA EQBLK /=N LO ORD | |
196 | TAD I (ATOL | |
197 | DCA SATOL | |
198 | TAD I (YTO9 | |
199 | DCA SYTO9 | |
200 | TAD I (MTOX | |
201 | DCA SMTOX | |
202 | JMS I (DODFN | |
203 | TAD TMP1 | |
204 | SMA CLA | |
205 | JMP GOTMOD | |
206 | TAD (MODTBL-1 /GET NEW MODE | |
207 | DCA TMP1 | |
208 | TAD SYTO9 | |
209 | RAL CLL CML | |
210 | RAL | |
211 | ISZ TMP1 | |
212 | SMA /FOUND IT ? | |
213 | JMP .-3 | |
214 | CLA | |
215 | TAD I TMP1 | |
216 | DCA MODE | |
217 | JMS I CRLF | |
218 | GOTMOD, JMP I MODE | |
219 | MODTBL, PTAP | |
220 | FED | |
221 | COMPAR | |
222 | IFNZRO PTAPE < | |
223 | DECOD | |
224 | > | |
225 | DECOD | |
226 | DECOD | |
227 | DECOD | |
228 | DECOD | |
229 | DECOD | |
230 | DECOD | |
231 | MODE, DECOD | |
232 | ||
233 | VERSON, TEXT "V 5A " | |
234 | 0 | |
235 | PAGE | |
236 | \f | |
237 | DODFN, 0 | |
238 | TAD I (7601 | |
239 | SZA CLA | |
240 | JMP LOP0 | |
241 | TAD SYTO9 | |
242 | SPA CLA | |
243 | JMP LOP0 | |
244 | ISZ TMP2 | |
245 | ISZ TMP3 | |
246 | ISZ TMP0 | |
247 | JMP .-3 | |
248 | CDF | |
249 | JMP I DODFN | |
250 | LOP0, CDF 10 | |
251 | TAD I NDX0 | |
252 | CDF | |
253 | DCA I TMP2 | |
254 | TAD I TMP2 | |
255 | DCA I TMP3 | |
256 | ISZ TMP2 | |
257 | ISZ TMP3 | |
258 | ISZ TMP0 | |
259 | JMP LOP0 | |
260 | JMP I DODFN | |
261 | ||
262 | HSPRDR, 0 | |
263 | JMS IOWAIT | |
264 | RSF | |
265 | RRB | |
266 | DCA INCHR | |
267 | RFC | |
268 | TAD INCHR | |
269 | JMP I HSPRDR | |
270 | ||
271 | HSPPCH, 0 | |
272 | DCA OUTCHR | |
273 | JMS IOWAIT | |
274 | PSF | |
275 | TAD OUTCHR | |
276 | PLS | |
277 | CLA | |
278 | JMP I HSPPCH | |
279 | ||
280 | LSPRDR, 0 | |
281 | JMS IOWAIT | |
282 | KSF | |
283 | KRB | |
284 | DCA INCHR | |
285 | TAD INCHR | |
286 | JMP I LSPRDR | |
287 | ||
288 | LSPPCH, 0 | |
289 | DCA OUTCHR | |
290 | JMS IOWAIT | |
291 | TSF | |
292 | TAD OUTCHR | |
293 | TLS | |
294 | CLA | |
295 | JMP I LSPPCH | |
296 | ||
297 | IOWAIT, 0 | |
298 | TAD I IOWAIT | |
299 | DCA IOTSKP | |
300 | ISZ IOWAIT | |
301 | TAD IOTSKP | |
302 | RTL | |
303 | RAL | |
304 | AND (700 | |
305 | TAD VERS | |
306 | IOTSKP, 0 | |
307 | JMP .-1 | |
308 | CLA | |
309 | JMP I IOWAIT | |
310 | ||
311 | CTRLC, 0 | |
312 | KSF | |
313 | JMP I CTRLC | |
314 | TAD [200 /FORCE BIT 8 ON | |
315 | KRS | |
316 | TAD (-203 | |
317 | SZA CLA | |
318 | JMP I CTRLC | |
319 | KCC | |
320 | CTRLC0, JMS I CRLF | |
321 | TAD (336 | |
322 | JMS I (LSPPCH | |
323 | TAD (303 | |
324 | JMS I (LSPPCH | |
325 | JMS I CRLF | |
326 | TSF | |
327 | JMP .-1 | |
328 | JMP I .+1 | |
329 | 7605 | |
330 | ||
331 | PAGE | |
332 | \f | |
333 | /HERE FOR SYS:<PTP | |
334 | ||
335 | PTIN, TAD LSPFLG | |
336 | SNA CLA | |
337 | JMP .+4 | |
338 | IAC | |
339 | DCA I (OUTTBL | |
340 | TAD (LSPRDR-HSPRDR | |
341 | TAD (HSPRDR | |
342 | DCA RDCHR | |
343 | TAD I (OUTTBL | |
344 | DCA USRDEV | |
345 | RFC | |
346 | JMS I RDPBLK /GET 1ST PBLK | |
347 | JMS RDERR | |
348 | TAD DATBUF /GET NAME | |
349 | DCA NDX0 | |
350 | TAD NAME | |
351 | DCA TMP1 | |
352 | TAD M4 | |
353 | DCA TMP0 | |
354 | TAD I NDX0 | |
355 | DCA I TMP1 | |
356 | ISZ TMP1 | |
357 | ISZ TMP0 | |
358 | JMP .-4 | |
359 | ISZ NDX0 /BY RELBLK | |
360 | TAD I NDX0 | |
361 | DCA BLKW /FILE LEN | |
362 | TAD PATFLG | |
363 | SZA CLA /RDING A PATCH? | |
364 | TAD (LOOKUP-ENTER | |
365 | TAD (ENTER /ENTER=NO PATCH | |
366 | JMS I USR | |
367 | CLL | |
368 | TAD FLEN | |
369 | TAD BLKW | |
370 | SNA /DOES IT FIT? | |
371 | JMP .+3 | |
372 | SZL CLA | |
373 | JMP NOFIT | |
374 | TAD BLKW | |
375 | DCA FLEN | |
376 | DCA RBLK | |
377 | TAD FLEN | |
378 | CIA | |
379 | DCA FCNT | |
380 | JMS I (ICHKB /SEE IF WE GOT | |
381 | /THE RIGHT BLK | |
382 | LOP3, TAD SBLK /ABS STR BLK | |
383 | TAD I RELBLK | |
384 | DCA BLKW /=BLK TO DO | |
385 | JMS I HANADR | |
386 | 4200 /WRITE 1 BLK | |
387 | BUFADR | |
388 | BLKW, 0 | |
389 | JMP I IOERR | |
390 | ISZ RBLK | |
391 | ISZ FCNT | |
392 | JMP BY3 | |
393 | TAD (CLOSE | |
394 | JMS I USR | |
395 | JMP I GETCD | |
396 | BY3, JMS I RDPBLK | |
397 | SKP | |
398 | JMP LOP3 | |
399 | MTHREE | |
400 | TAD ERCODE /EOT IS ONLY | |
401 | /LEGAL ERROR | |
402 | SNA CLA | |
403 | JMP IFEOT | |
404 | JMS RDERR /RETRY | |
405 | JMP LOP3-1 | |
406 | IFEOT, TAD PATFLG | |
407 | SZA CLA | |
408 | JMP I GETCD /PATCH MODE | |
409 | /TERMS ON EOT | |
410 | JMS I TYPTXT | |
411 | EOTMSG | |
412 | JMS I TYPTXT | |
413 | NTMSG | |
414 | JMS I CRLF | |
415 | CLA CMA | |
416 | JMS I LPWT | |
417 | JMS I RDPBLK | |
418 | JMS RDERR | |
419 | JMP LOP3-1 | |
420 | ||
421 | \f | |
422 | RDERR, 0 | |
423 | MTWO | |
424 | DCA ERCNT | |
425 | LOP4, TAD ERCODE | |
426 | TAD (AMSG | |
427 | DCA TMP0 | |
428 | TAD I TMP0 | |
429 | DCA .+2 | |
430 | JMS I TYPTXT | |
431 | 0 | |
432 | JMS I CRLF | |
433 | CLA CMA | |
434 | JMS I LPWT | |
435 | JMS I RDCHR | |
436 | CLA | |
437 | JMS I RDPBLK | |
438 | SKP | |
439 | JMP I RDERR | |
440 | ISZ ERCNT | |
441 | JMP LOP4 | |
442 | JMP I IOERR | |
443 | ERCNT, 0 | |
444 | FCNT, 0 | |
445 | ||
446 | NOFIT, TAD (16 | |
447 | JMS I TYDEV | |
448 | TAD NAME | |
449 | JMS I TNAME | |
450 | JMS I TYPTXT | |
451 | BIGMSG | |
452 | TAD USRDEV | |
453 | JMS I TYDEV | |
454 | JMP I GETCD | |
455 | ||
456 | PAGE | |
457 | \f | |
458 | PTAP, JMS I RDSWIT | |
459 | PSTBL | |
460 | TAD I NAME | |
461 | SNA CLA | |
462 | JMP I (PTIN /PTAP INPUT | |
463 | TAD I (OUTTBL | |
464 | DCA USRDEV | |
465 | TAD LSPFLG | |
466 | SNA CLA | |
467 | TAD (HSPPCH-LSPPCH | |
468 | TAD (LSPPCH | |
469 | DCA WRCHR | |
470 | PLS | |
471 | TAD (LOOKUP | |
472 | JMS I USR | |
473 | TAD PATFLG | |
474 | SNA CLA /PUNCH PATCH ? | |
475 | JMP NOPAT | |
476 | CLL | |
477 | TAD EQBLK /CHK FOR =N | |
478 | TAD FLEN /OUT OF RANGE | |
479 | SNL CLA /? | |
480 | JMP .+4 | |
481 | JMS I TYPTXT | |
482 | BEQMSG | |
483 | JMP I GETCD | |
484 | TAD EQBLK | |
485 | NOPAT, DCA TMP0 | |
486 | TAD TMP0 | |
487 | TAD SBLK | |
488 | DCA BLKR /1ST BLK TO PCH | |
489 | TAD TMP0 /PUT REL BLK | |
490 | DCA I TMP3 /IN HDR | |
491 | TAD FLEN | |
492 | CIA /=FILE LEN | |
493 | ISZ TMP3 | |
494 | DCA I TMP3 | |
495 | ISZ TMP3 | |
496 | DCA I TMP3 /0 TO LST HDR | |
497 | /WORD | |
498 | TAD PATFLG /ONLY 1 BLK | |
499 | SZA /PATCHES AT A | |
500 | DCA FLEN /TIME | |
501 | TAD LSPFLG | |
502 | SNA CLA | |
503 | JMP .+3 | |
504 | LOP2, CLA CMA | |
505 | JMS I LPWT /ON PUNCH | |
506 | TAD MAXLEN | |
507 | CIA | |
508 | TAD MAXCNT | |
509 | SZA CLA /PCH L/T ? | |
510 | JMP .+3 /NO | |
511 | JMS WLT | |
512 | JMS WLT | |
513 | LOP1, JMS I HANADR /READ 1 BLK | |
514 | 200 /OF FILE | |
515 | BUFADR | |
516 | BLKR, 0 | |
517 | JMP I IOERR | |
518 | ISZ BLKR | |
519 | JMS I (PWRITE | |
520 | ISZ I RELBLK | |
521 | ISZ FLEN | |
522 | JMP BYDUN | |
523 | TAD EOTFLG | |
524 | SNA CLA /PCH EOT ? | |
525 | JMS EOT /YES | |
526 | JMP I GETCD | |
527 | BYDUN, ISZ MAXCNT | |
528 | JMP LOP1 | |
529 | JMS EOT /PHYSICAL END | |
530 | /OF PTP | |
531 | TAD LSPFLG | |
532 | SZA CLA | |
533 | JMS I LPWT | |
534 | JMS I TYPTXT | |
535 | EOTMSG | |
536 | JMS I CRLF | |
537 | JMP LOP2 /NEXT PTP | |
538 | ||
539 | \f | |
540 | WLT, 0 | |
541 | TAD LTCNT | |
542 | DCA TMP0 | |
543 | TAD P200 | |
544 | JMS I WRCHR | |
545 | JMS I CHKC | |
546 | ISZ TMP0 | |
547 | JMP .-4 | |
548 | JMP I WLT | |
549 | LTCNT, -LTLEN | |
550 | ||
551 | EOT, 0 | |
552 | TAD (377 | |
553 | JMS I WRCHR | |
554 | JMS WLT | |
555 | JMS WLT | |
556 | JMS WLT | |
557 | TAD MAXLEN | |
558 | DCA MAXCNT | |
559 | JMP I EOT | |
560 | ||
561 | PAGE | |
562 | \f | |
563 | PREAD, 0 /READ A PTP BLK | |
564 | JMS I RDCHR | |
565 | SNA | |
566 | JMP PREAD+1 /ITS L/T | |
567 | TAD (-200 | |
568 | SNA | |
569 | JMP PREAD+1 /L/T | |
570 | RAR CLL /201 PCH MUST | |
571 | SNA CLA /SEPARATE L/T | |
572 | /AND DATA | |
573 | JMP ONBLK | |
574 | TAD (-377 /ONLY OTHER | |
575 | TAD INCHR /POSSIBILTY IS | |
576 | SNA CLA /END OF PTP | |
577 | IAC /EOT CODE | |
578 | IAC /L/T ERR | |
579 | BYTERR, IAC | |
580 | BLKERR, DCA ERCODE | |
581 | JMP I PREAD /P+1=ERR RTN | |
582 | ONBLK, JMS I (ISETB | |
583 | DCA PARFLG | |
584 | JMS GETBYT | |
585 | ISZ BYTCNT | |
586 | JMP .-2 | |
587 | JMS I RDCHR | |
588 | CIA | |
589 | TAD BCC1 | |
590 | SZA CLA | |
591 | JMP BLKERR | |
592 | JMS I RDCHR | |
593 | CIA | |
594 | TAD BCC2 | |
595 | SZA CLA | |
596 | JMP BLKERR | |
597 | TAD PARFLG | |
598 | SPA CLA | |
599 | JMP BYTERR | |
600 | ISZ PREAD /GOOD BLK | |
601 | JMP BLKERR+1 | |
602 | ||
603 | \f | |
604 | GETBYT, 0 | |
605 | TAD LSPFLG | |
606 | SNA CLA | |
607 | JMS I CHKC | |
608 | DCA PARCHR | |
609 | TAD M4 | |
610 | DCA CNTR0 | |
611 | LOP6, MTHREE | |
612 | DCA CNTR1 | |
613 | LOP5, JMS I RDCHR | |
614 | DCA I FRMPTR | |
615 | ISZ FRMPTR | |
616 | TAD INCHR | |
617 | JMS I DOCRC | |
618 | ISZ CNTR1 | |
619 | JMP LOP5 | |
620 | MTHREE | |
621 | TAD FRMPTR | |
622 | DCA FRMPTR | |
623 | JMS PACK | |
624 | ISZ CNTR0 | |
625 | JMP LOP6 | |
626 | JMS I RDCHR | |
627 | JMS I DOCRC | |
628 | TAD INCHR | |
629 | CIA | |
630 | TAD PARCHR | |
631 | SNA CLA | |
632 | JMP NOPAR | |
633 | CLA CMA | |
634 | DCA PARFLG | |
635 | TAD ABORT | |
636 | SPA CLA | |
637 | JMP BYTERR | |
638 | FOURK | |
639 | NOPAR, TAD INCHR | |
640 | DCA I PARPTR | |
641 | ISZ PARPTR | |
642 | JMP I GETBYT | |
643 | ||
644 | \f | |
645 | /HERE TO PACK 3 8 BIT FRAMES INTO | |
646 | /2 12 BIT WORDS | |
647 | ||
648 | PACK, 0 | |
649 | TAD I FRMPTR | |
650 | RTL CLL | |
651 | RAL /1ST FRM TO | |
652 | DCA I BUFPTR /B1-B8 | |
653 | ISZ FRMPTR | |
654 | TAD I FRMPTR /PUT HI HALF OF | |
655 | RTR CLL /2ND FRM INTO | |
656 | RTR /B9-B11 AND LNK | |
657 | RAR | |
658 | DCA HOLDW2 | |
659 | TAD HOLDW2 /PUT 1ST FRM IN | |
660 | AND (7 /B0-B7,AND PUT | |
661 | TAD I BUFPTR /HI HALF OF 2ND | |
662 | RAL /IN B8-B11 | |
663 | DCA I BUFPTR /YOU AINT SEEN | |
664 | TAD I BUFPTR /NOTHING YET. | |
665 | JMS I (DOPAR | |
666 | TAD HOLDW2 /LO HAF OF 2ND | |
667 | AND (7400 /FRM IS IN | |
668 | ISZ FRMPTR /B0-B3. PUT | |
669 | TAD I FRMPTR /WITH 3RD FRM | |
670 | ISZ BUFPTR | |
671 | DCA I BUFPTR | |
672 | TAD I BUFPTR | |
673 | JMS I (DOPAR | |
674 | ISZ FRMPTR | |
675 | ISZ BUFPTR | |
676 | JMP I PACK | |
677 | PARFLG, 0 | |
678 | CNTR0, 0 | |
679 | CNTR1, 0 | |
680 | ABORT, -1 | |
681 | HOLDW2, 0 | |
682 | ||
683 | PAGE | |
684 | \f | |
685 | PWRITE, 0 /HERE TO WRITE | |
686 | /1 BLK OF PTP | |
687 | JMS ISETB | |
688 | JMS I (WLT | |
689 | TAD (201 /START OF DATA | |
690 | /BLK CHAR | |
691 | JMS I WRCHR | |
692 | JMS PUTBYT | |
693 | ISZ BYTCNT | |
694 | JMP .-2 | |
695 | TAD BCC1 | |
696 | JMS I WRCHR | |
697 | TAD BCC2 | |
698 | JMS I WRCHR | |
699 | JMP I PWRITE | |
700 | ||
701 | ISETB, 0 | |
702 | TAD (FRMADR | |
703 | DCA FRMPTR | |
704 | TAD (PARADR | |
705 | DCA PARPTR | |
706 | TAD DATBUF | |
707 | DCA BUFPTR | |
708 | DCA BCC1 | |
709 | DCA BCC2 | |
710 | TAD (-NBYTS | |
711 | DCA BYTCNT | |
712 | JMP I ISETB | |
713 | ||
714 | LPWAIT, 0 | |
715 | HLT | |
716 | RFC | |
717 | CLA | |
718 | JMP I LPWAIT | |
719 | ||
720 | \f | |
721 | PUTBYT, 0 | |
722 | DCA PARCHR | |
723 | TAD M4 | |
724 | DCA CNTR2 | |
725 | LOP7, TAD I BUFPTR | |
726 | JMS DOPAR | |
727 | TAD I BUFPTR /PUT 2 WORDS IN | |
728 | RTR CLL /3 8 BIT FRMS | |
729 | RTR | |
730 | DCA F2 | |
731 | TAD F2 /B0-B7 OF 1ST | |
732 | AND (377 /FOR FRM 1 | |
733 | DCA F1 | |
734 | TAD F2 /LO 4 BITS OF | |
735 | RAR /WORD 1 | |
736 | AND (7400 /TO B0-B3 OF | |
737 | DCA F2 /FRM 2 | |
738 | TAD F1 | |
739 | JMS I WRCHR | |
740 | TAD F1 | |
741 | JMS I DOCRC | |
742 | ISZ BUFPTR | |
743 | TAD I BUFPTR | |
744 | JMS DOPAR | |
745 | TAD I BUFPTR /PUT B0-B3 | |
746 | AND (7400 /OF WD2 | |
747 | RTR CLL /INTO B4-B8 | |
748 | RTR | |
749 | TAD F2 /NOW PUT LO 4 | |
750 | RTR /BITS OF WD1 | |
751 | RTR /(B0-B3) AND HI | |
752 | /4 BITS OF W2 | |
753 | /INTO B4-B11 | |
754 | JMS I WRCHR | |
755 | TAD OUTCHR /=CHR JST PCHED | |
756 | JMS I DOCRC | |
757 | TAD I BUFPTR | |
758 | AND (377 /LO 8 OF 2ND | |
759 | JMS I WRCHR | |
760 | TAD OUTCHR /=F3 | |
761 | JMS I DOCRC | |
762 | ISZ BUFPTR | |
763 | ISZ CNTR2 | |
764 | JMP LOP7 | |
765 | TAD PARCHR | |
766 | JMS I WRCHR | |
767 | TAD PARCHR | |
768 | JMS I DOCRC | |
769 | JMS I CHKC | |
770 | JMP I PUTBYT | |
771 | CNTR2, 0 | |
772 | F2, 0 | |
773 | F1, 0 | |
774 | ||
775 | ||
776 | \f | |
777 | /HERE TO COMPUTE PARITY (EVEN ODD) | |
778 | /12 BIT WORD IS IN AC. | |
779 | /AFTER EACH (SPA,CML,RAR) SEQUENCE | |
780 | /AC B0=0 IF THE | |
781 | /NUMBER OF ALREADY PROCESSED 1 | |
782 | /STATE BITS IS EVEN. OTHERWISE AC B0=1. | |
783 | ||
784 | DOPAR, 0 | |
785 | DCA TMP0 | |
786 | TAD (-13 /-13 BECAUSE 2 | |
787 | /BITS ARE | |
788 | /PROCESSED | |
789 | /INITIALLY | |
790 | DCA TMP1 | |
791 | TAD TMP0 | |
792 | RTR /LNK HOLDS | |
793 | /NEWBIT,AC B0 | |
794 | /HOLDS STATUS | |
795 | /TO DATE. | |
796 | SPA /CHNG FROM ODD | |
797 | /TO EVEN ? | |
798 | CML /YES CHANGE | |
799 | /STATUS | |
800 | RAR /GET NXT | |
801 | ISZ TMP1 /DONE ? | |
802 | JMP .-4 /NO | |
803 | CMA RAL /SET LNK=1=EVEN | |
804 | CLA /LNK=0=ODD | |
805 | TAD PARCHR /UPDATE PARITY | |
806 | RAL | |
807 | DCA PARCHR | |
808 | JMP I DOPAR | |
809 | ||
810 | PAGE | |
811 | \f | |
812 | TTOTXT, 0 | |
813 | TAD I TTOTXT | |
814 | DCA TMP0 | |
815 | ISZ TTOTXT | |
816 | LOP8, TAD I TMP0 | |
817 | RTR | |
818 | RTR | |
819 | RTR | |
820 | JMS DOHAF | |
821 | JMP I TTOTXT | |
822 | TAD I TMP0 | |
823 | JMS DOHAF | |
824 | JMP I TTOTXT | |
825 | ISZ TMP0 | |
826 | JMP LOP8 | |
827 | ||
828 | DOHAF, 0 | |
829 | AND (77 | |
830 | SNA | |
831 | JMP I DOHAF | |
832 | ISZ DOHAF | |
833 | TAD (-40 | |
834 | SPA | |
835 | TAD (100 | |
836 | TAD (240 | |
837 | JMS I (LSPPCH | |
838 | JMP I DOHAF | |
839 | ||
840 | TYCRLF, 0 | |
841 | TAD (215 | |
842 | JMS I (LSPPCH | |
843 | TAD (212 | |
844 | JMS I (LSPPCH | |
845 | JMP I TYCRLF | |
846 | ||
847 | PHYSIO, JMS I TYPTXT | |
848 | IOMSG | |
849 | JMP I GETCD | |
850 | ||
851 | \f | |
852 | TYPNAM, 0 | |
853 | DCA TMP2 | |
854 | TAD TMP2 | |
855 | DCA TMP0 | |
856 | MTHREE | |
857 | DCA TMP1 | |
858 | LOP9, TAD I TMP0 | |
859 | RTR | |
860 | RTR | |
861 | RTR | |
862 | JMS DOHAF | |
863 | JMP DOEXT | |
864 | TAD I TMP0 | |
865 | JMS DOHAF | |
866 | JMP DOEXT | |
867 | ISZ TMP0 | |
868 | ISZ TMP1 | |
869 | JMP LOP9 | |
870 | DOEXT, TAD P3 | |
871 | TAD TMP2 | |
872 | DCA TMP0 | |
873 | TAD I TMP0 | |
874 | SNA CLA | |
875 | JMP P3+1 | |
876 | TAD P256 /. | |
877 | JMS I (LSPPCH | |
878 | TAD I TMP0 | |
879 | RTR | |
880 | RTR | |
881 | RTR | |
882 | JMS DOHAF | |
883 | P256, 256 | |
884 | TAD I TMP0 | |
885 | JMS DOHAF | |
886 | P3, 3 | |
887 | TAD (240 | |
888 | JMS I (LSPPCH | |
889 | JMP I TYPNAM | |
890 | ||
891 | \f | |
892 | OCTOUT, 0 | |
893 | RAL | |
894 | DCA TMP0 | |
895 | TAD M4 | |
896 | DCA TMP1 | |
897 | LOP11, TAD TMP0 | |
898 | RTL | |
899 | RAL | |
900 | DCA TMP0 | |
901 | RAL | |
902 | DCA TMP2 | |
903 | TAD TMP0 | |
904 | AND (7 | |
905 | TAD (260 | |
906 | JMS I (LSPPCH | |
907 | TAD TMP2 | |
908 | RAR CLL | |
909 | ISZ TMP1 | |
910 | JMP LOP11 | |
911 | TAD (240 | |
912 | JMS I (LSPPCH | |
913 | JMP I OCTOUT | |
914 | ||
915 | PAGE | |
916 | \f | |
917 | /HERE TO SEE IF WE READ THE CORRECT | |
918 | /BLK OF THE CORRECT FILE. | |
919 | ||
920 | ICHKB, 0 | |
921 | TAD PATFLG /DONT CHK IF | |
922 | SZA CLA /IN PATCH MODE | |
923 | JMP I ICHKB | |
924 | LOP12, TAD M4 | |
925 | DCA TMP0 | |
926 | TAD LSPFLG | |
927 | SNA CLA | |
928 | JMS I CHKC | |
929 | TAD DATBUF /COMPARE NAMES | |
930 | DCA NDX0 | |
931 | TAD NAME | |
932 | DCA TMP1 | |
933 | LOP10, TAD I NDX0 | |
934 | CIA | |
935 | TAD I TMP1 | |
936 | SZA CLA | |
937 | JMP NAMERR | |
938 | ISZ TMP1 | |
939 | ISZ TMP0 | |
940 | JMP LOP10 | |
941 | TAD RBLK /CHK BLK | |
942 | CIA | |
943 | TAD I RELBLK | |
944 | SNA CLA | |
945 | JMP I ICHKB /GOOD BLK | |
946 | JMS I TYPTXT | |
947 | NMSG | |
948 | TAD RBLK | |
949 | JMS I (OCTOUT | |
950 | JMS I TYPTXT | |
951 | FMSG | |
952 | TAD I RELBLK | |
953 | JMS I (OCTOUT | |
954 | RECHK, JMS I CRLF | |
955 | CLA CMA | |
956 | JMS I LPWT | |
957 | JMS I RDPBLK | |
958 | JMS I (RDERR | |
959 | JMP LOP12 | |
960 | NAMERR, JMS I TYPTXT | |
961 | NMSG | |
962 | TAD NAME | |
963 | JMS I TNAME | |
964 | JMS I TYPTXT | |
965 | FMSG | |
966 | TAD DATBUF | |
967 | IAC | |
968 | JMS I TNAME | |
969 | JMP RECHK | |
970 | ||
971 | \f | |
972 | /CRC GENERATOR | |
973 | /COURTESY OF MARIO S. ROOT | |
974 | /COUSIN TO MARIO LEONARD | |
975 | ||
976 | CRC, 0 | |
977 | DCA TMP0 | |
978 | TAD (-7 | |
979 | DCA TMP1 | |
980 | TAD TMP0 | |
981 | AND BCC2 | |
982 | CIA | |
983 | CLL RAL | |
984 | TAD TMP0 | |
985 | TAD BCC2 | |
986 | CLL RTR | |
987 | SPA | |
988 | CML | |
989 | RAR | |
990 | ISZ TMP1 | |
991 | JMP .-4 | |
992 | SPA | |
993 | JMP .+4 | |
994 | DCA TMP1 | |
995 | TAD BCC1 | |
996 | JMP .+5 | |
997 | DCA TMP1 | |
998 | TAD BCC1 | |
999 | RAR | |
1000 | CML RAL | |
1001 | DCA BCC2 | |
1002 | TAD TMP1 | |
1003 | AND (60 | |
1004 | CLL RTL | |
1005 | DCA BCC1 | |
1006 | TAD BCC1 | |
1007 | AND BCC2 | |
1008 | CIA | |
1009 | CLL RAL | |
1010 | TAD BCC1 | |
1011 | TAD BCC2 | |
1012 | DCA BCC2 | |
1013 | TAD TMP1 | |
1014 | CLL RTR | |
1015 | RTR | |
1016 | DCA BCC1 | |
1017 | TAD BCC1 | |
1018 | CLL RAR | |
1019 | CLL RAR | |
1020 | DCA TMP1 | |
1021 | TAD TMP1 | |
1022 | AND BCC1 | |
1023 | CIA | |
1024 | CLL RAL | |
1025 | TAD BCC1 | |
1026 | TAD TMP1 | |
1027 | DCA BCC1 | |
1028 | JMP I CRC | |
1029 | ||
1030 | PAGE | |
1031 | \f | |
1032 | /CHK FOR MASTER INPUT DEVICE ONLY | |
1033 | ||
1034 | CHKMI, 0 | |
1035 | TAD (INTBL-1 | |
1036 | DCA NDX0 | |
1037 | TAD I NDX0 | |
1038 | SNA CLA | |
1039 | JMP BY1 /NO MI | |
1040 | TAD (-10 | |
1041 | DCA TMP0 | |
1042 | ISZ NDX0 | |
1043 | TAD I NDX0 /MUST HAVE NO | |
1044 | SZA CLA /OTHER IN DEVS | |
1045 | JMP BY1 /FOUND 1 | |
1046 | ISZ TMP0 | |
1047 | JMP .-5 | |
1048 | CLA CMA /MI ONLY SET | |
1049 | BY1, DCA MIFLG /MI FLAG | |
1050 | JMP I CHKMI | |
1051 | ||
1052 | ||
1053 | \f | |
1054 | DOUSR, 0 /HERE TO DO A | |
1055 | DCA N1-1 /USR CALL | |
1056 | TAD NAME /EITHER LOOKUP | |
1057 | DCA N1 /,ENTER OR | |
1058 | TAD FLEN /CLOSE | |
1059 | DCA N1+1 | |
1060 | TAD USRDEV | |
1061 | JMS I (GETHAN | |
1062 | CIF 10 | |
1063 | TAD USRDEV | |
1064 | AND P17 | |
1065 | JMS I P200 | |
1066 | 0 | |
1067 | N1, 0;0 | |
1068 | JMP USRERR | |
1069 | TAD N1 | |
1070 | DCA SBLK | |
1071 | TAD N1+1 | |
1072 | DCA FLEN | |
1073 | JMP I DOUSR | |
1074 | USRERR, JMS I TYPTXT | |
1075 | USRMSG | |
1076 | TAD N1-1 | |
1077 | JMS I (OCTOUT | |
1078 | TAD USRDEV | |
1079 | JMS I TYDEV | |
1080 | TAD NAME | |
1081 | JMS I TNAME | |
1082 | JMS I CRLF | |
1083 | JMP I GETCD | |
1084 | ||
1085 | PAGE | |
1086 | \f | |
1087 | SETDV, 0 | |
1088 | JMS CHKP37 | |
1089 | 7600-1 /OUTPUT INFO | |
1090 | OUTTBL-1 | |
1091 | 4 | |
1092 | -3 | |
1093 | JMS CHKP37 | |
1094 | 7617-1 /INPUT INFO | |
1095 | INTBL-1 | |
1096 | 1 | |
1097 | -11 | |
1098 | JMP I SETDV | |
1099 | ||
1100 | CHKP37, 0 | |
1101 | DCA TMP0 | |
1102 | TAD (TM-1 | |
1103 | DCA NDX1 | |
1104 | TAD I CHKP37 /P37 ADDR | |
1105 | DCA NDX0 | |
1106 | ISZ CHKP37 | |
1107 | TAD I CHKP37 | |
1108 | DCA TMP1 /PERM TBL | |
1109 | ISZ CHKP37 | |
1110 | TAD I CHKP37 | |
1111 | DCA TMP3 /ENTRY LEN-1 | |
1112 | ISZ CHKP37 | |
1113 | TAD I CHKP37 | |
1114 | DCA TMP2 /-NUM TO DO | |
1115 | XLOP2, CDF 10 | |
1116 | TAD I NDX0 | |
1117 | SZA /BLANK ENTRY ? | |
1118 | ISZ TMP0 /NO | |
1119 | CDF | |
1120 | DCA I NDX1 /TMP SAV | |
1121 | TAD NDX0 /ADV PTR TO NXT | |
1122 | TAD TMP3 | |
1123 | DCA NDX0 | |
1124 | ISZ TMP2 /DONE? | |
1125 | JMP XLOP2 /NO | |
1126 | TAD TMP0 /WAS P37 | |
1127 | SNA CLA /BLANK ? | |
1128 | JMP BY0 /YES USE SET OF | |
1129 | /DEV LAST | |
1130 | /SPECIFIED | |
1131 | TAD TMP1 | |
1132 | DCA NDX1 | |
1133 | TAD (TM-1 | |
1134 | DCA NDX0 | |
1135 | TAD I CHKP37 | |
1136 | DCA TMP0 | |
1137 | TAD I NDX0 /NEW UNIT | |
1138 | DCA I NDX1 | |
1139 | DCA I NDX1 /0 TO SBLK | |
1140 | ISZ TMP0 | |
1141 | JMP .-4 | |
1142 | DCA I NDX1 | |
1143 | BY0, ISZ CHKP37 | |
1144 | JMP I CHKP37 | |
1145 | ||
1146 | \f | |
1147 | /ROUT TO INTERPRET PS/8 SWITCHES | |
1148 | ||
1149 | SWITCH, 0 | |
1150 | TAD I SWITCH /PTR TO TBL | |
1151 | DCA TMP0 | |
1152 | ISZ SWITCH | |
1153 | CLL | |
1154 | TAD (7757 | |
1155 | AND SATOL | |
1156 | TAD SMTOX | |
1157 | SNA SZL CLA | |
1158 | JMP I SWITCH /NONE TO READ | |
1159 | XLOP0, TAD I TMP0 | |
1160 | SNA /END OF TBL ? | |
1161 | JMP I SWITCH /YES | |
1162 | DCA TMP1 /PTR TO FLAG | |
1163 | CLA CMA /SET TO YES | |
1164 | DCA I TMP1 /STATE | |
1165 | XLOP1, ISZ TMP0 | |
1166 | TAD I TMP0 /AC=P37 SW ADDR | |
1167 | ISZ TMP0 /=PTR TO MASK | |
1168 | SNA /MORE ARGS FOR | |
1169 | /THIS SWIT ? | |
1170 | JMP XLOP0 /NO DO NXT | |
1171 | DCA TMP2 | |
1172 | TAD I TMP2 | |
1173 | AND I TMP0 /CLR NON SWITCH | |
1174 | /BITS | |
1175 | CIA /COMP WITH MASK | |
1176 | TAD I TMP0 | |
1177 | SZA CLA /IF ALL OK | |
1178 | /LEAVE SWITCH | |
1179 | /ALONE | |
1180 | DCA I TMP1 | |
1181 | JMP XLOP1 | |
1182 | ||
1183 | \f PAGE | |
1184 | \f | |
1185 | WRITE, 0 | |
1186 | TAD WRITE | |
1187 | DCA READ | |
1188 | FOURK | |
1189 | JMP READ+1 | |
1190 | ||
1191 | READ, 0 | |
1192 | DCA RWBIT | |
1193 | JMS I CHKC | |
1194 | TAD I READ | |
1195 | DCA DVPTR | |
1196 | ISZ READ | |
1197 | TAD I DVPTR /UNIT | |
1198 | JMS I (GETHAN | |
1199 | ISZ DVPTR | |
1200 | TAD I DVPTR /PUT NUM BLKS | |
1201 | AND P17 /IN B1-B5 | |
1202 | RTL CLL | |
1203 | RTL | |
1204 | RTL | |
1205 | RAL | |
1206 | TAD BUFFLD | |
1207 | TAD RWBIT | |
1208 | DCA IOLST | |
1209 | ISZ DVPTR | |
1210 | TAD I DVPTR | |
1211 | DCA IOLST+2 /SBLK | |
1212 | JMS I HANADR | |
1213 | IOLST, 0 | |
1214 | 2000 | |
1215 | 0 | |
1216 | JMP .+3 | |
1217 | ISZ READ /NON ERR RTN | |
1218 | JMP I READ | |
1219 | CLA | |
1220 | JMS I TYPTXT | |
1221 | IOMSG | |
1222 | MTWO | |
1223 | TAD DVPTR | |
1224 | DCA TMP0 | |
1225 | TAD I TMP0 | |
1226 | JMS I TYDEV | |
1227 | TAD I NAME | |
1228 | SNA CLA | |
1229 | JMP .+3 | |
1230 | TAD NAME | |
1231 | JMS I TNAME | |
1232 | TAD IOLST+2 | |
1233 | JMS I (OCTOUT | |
1234 | TAD RWBIT | |
1235 | SMA CLA | |
1236 | JMP DONALL | |
1237 | TAD (337 | |
1238 | JMS I (LSPPCH /BACK ARROW | |
1239 | DONALL, JMS I CRLF | |
1240 | JMP I READ | |
1241 | RWBIT, 0 | |
1242 | DVPTR, 0 | |
1243 | ||
1244 | PAGE | |
1245 | \f | |
1246 | \f | |
1247 | GETHAN, 0 | |
1248 | AND P17 | |
1249 | DCA TMP1 | |
1250 | TAD TMP1 | |
1251 | TAD (DEVRES-1 | |
1252 | DCA TMP0 | |
1253 | CDF 10 | |
1254 | TAD I TMP0 /IS HANDLER IN | |
1255 | CDF /IN CORE ? | |
1256 | SZA | |
1257 | JMP NOFET /YES | |
1258 | MTWO | |
1259 | TAD TMP1 | |
1260 | SNA CLA | |
1261 | TAD (1200 | |
1262 | TAD (6001 /ENABLE 2 PG HANDLERS | |
1263 | DCA .+5 | |
1264 | TAD TMP1 | |
1265 | CIF 10 | |
1266 | JMS I P200 | |
1267 | FETCH | |
1268 | 0 | |
1269 | JMP FETERR | |
1270 | TAD .-2 | |
1271 | NOFET, DCA HANADR | |
1272 | JMP I GETHAN | |
1273 | ||
1274 | FETERR, JMS I TYPTXT | |
1275 | USRMSG | |
1276 | TAD (FETCH | |
1277 | JMS I (OCTOUT | |
1278 | JMP I GETCD /ABORT | |
1279 | /COMMAND | |
1280 | ||
1281 | TYPDEV, 0 | |
1282 | AND P17 | |
1283 | TAD (DMTBL-1 | |
1284 | DCA TMP0 | |
1285 | TAD I TMP0 | |
1286 | DCA .+2 | |
1287 | JMS I TYPTXT | |
1288 | 0 | |
1289 | JMP I TYPDEV | |
1290 | ||
1291 | PAGE | |
1292 | \f | |
1293 | COMPAR, JMS I RDSWIT | |
1294 | CSTBL | |
1295 | TAD I (OUTTBL | |
1296 | DCA USRDEV | |
1297 | TAD USRDEV | |
1298 | DCA CD1 | |
1299 | TAD (INTBL | |
1300 | DCA INPTR | |
1301 | TAD I NAME | |
1302 | SNA CLA | |
1303 | JMP CDEV | |
1304 | TAD (LOOKUP | |
1305 | JMS I USR | |
1306 | TAD SBLK | |
1307 | DCA CD1+2 | |
1308 | TAD I INPTR | |
1309 | DCA CD2 | |
1310 | CDF 10 | |
1311 | TAD I (7620 | |
1312 | CDF | |
1313 | DCA CD2+2 | |
1314 | JMS DOCOMP | |
1315 | CDEV, JMP I GETCD | |
1316 | ||
1317 | DOCOMP, 0 | |
1318 | LOP14, JMS I (READ | |
1319 | CD1 | |
1320 | JMP I GETCD | |
1321 | TAD (2400 | |
1322 | DCA I (IOLST+1 | |
1323 | JMS I (READ | |
1324 | CD2 | |
1325 | JMP CERR | |
1326 | CLA CMA | |
1327 | DCA BADB | |
1328 | TWOK | |
1329 | DCA I (IOLST+1 | |
1330 | TAD (1777 | |
1331 | DCA NDX0 | |
1332 | TAD (2377 | |
1333 | DCA NDX1 | |
1334 | TAD (-400 | |
1335 | DCA ZCNT | |
1336 | CDF 10 | |
1337 | LOP13, TAD I NDX0 | |
1338 | CIA | |
1339 | TAD I NDX1 | |
1340 | SZA CLA | |
1341 | JMP BADCOM | |
1342 | LOP15, ISZ ZCNT | |
1343 | JMP LOP13 | |
1344 | CDF | |
1345 | ISZ CD1+2 | |
1346 | ISZ CD2+2 | |
1347 | ISZ FLEN | |
1348 | JMP LOP14 | |
1349 | JMP I DOCOMP | |
1350 | BADCOM, CDF | |
1351 | ISZ BADB | |
1352 | JMP BYBLK | |
1353 | TAD CD1 | |
1354 | JMS I TYDEV | |
1355 | TAD CD1+2 | |
1356 | JMS I (OCTOUT | |
1357 | TAD CD2 | |
1358 | JMS I TYDEV | |
1359 | TAD CD2+2 | |
1360 | JMS I (OCTOUT | |
1361 | JMS I CRLF | |
1362 | BYBLK, TAD BADFO | |
1363 | SZA CLA | |
1364 | JMP I GETCD | |
1365 | TAD BADBO | |
1366 | SZA CLA | |
1367 | JMP DOMORE | |
1368 | TAD (400 | |
1369 | TAD ZCNT | |
1370 | JMS I (OCTOUT | |
1371 | TAD NDX0 | |
1372 | DCA TMP0 | |
1373 | CDF 10 | |
1374 | TAD I TMP0 | |
1375 | CDF | |
1376 | JMS I (OCTOUT | |
1377 | TAD NDX1 | |
1378 | DCA TMP0 | |
1379 | CDF 10 | |
1380 | TAD I TMP0 | |
1381 | CDF | |
1382 | JMS I (OCTOUT | |
1383 | JMS I CRLF | |
1384 | DOMORE, JMS I CHKC | |
1385 | CDF 10 | |
1386 | JMP LOP15 | |
1387 | CERR, TWOK | |
1388 | DCA I (IOLST+1 | |
1389 | JMP I GETCD | |
1390 | CD1, 0;1;0 | |
1391 | CD2, 0;1;0 | |
1392 | BADB, 0 | |
1393 | BADBO, 0 | |
1394 | BADFO, 0 | |
1395 | ZCNT, 0 | |
1396 | ||
1397 | PAGE | |
1398 | \f | |
1399 | /FILE EDITOR FOR OS/8. | |
1400 | ||
1401 | FED, TAD I (OUTTBL | |
1402 | AND P17 | |
1403 | DCA USRDEV | |
1404 | TAD I NAME | |
1405 | SZA CLA | |
1406 | JMP ITSNAM | |
1407 | TAD USRDEV | |
1408 | TAD (DLTBL-1 | |
1409 | DCA TMP0 | |
1410 | TAD I TMP0 | |
1411 | DCA FLEN | |
1412 | DCA SBLK | |
1413 | JMP .+3 | |
1414 | ITSNAM, TAD (LOOKUP | |
1415 | JMS I USR | |
1416 | DCA SRWD | |
1417 | CLA CMA | |
1418 | DCA MSKWD | |
1419 | DCA MODF | |
1420 | TAD USRDEV | |
1421 | DCA OUDEV | |
1422 | IAC | |
1423 | DCA OUDEV+1 | |
1424 | JMS I (RD | |
1425 | LOP16, JMS I (GINP | |
1426 | JMS I (G6BIT | |
1427 | JMP GOTCMD | |
1428 | DCA ENDCT | |
1429 | TAD (CMDTBL-2 | |
1430 | DCA NDX0 | |
1431 | ISZ NDX0 | |
1432 | TAD I NDX0 | |
1433 | CIA | |
1434 | TAD ENDCT | |
1435 | SZA CLA | |
1436 | JMP .-5 | |
1437 | TAD I NDX0 | |
1438 | DCA CMDTBL-1 | |
1439 | GOTCMD, JMS I CMDTBL-1 | |
1440 | JMP LOP16 | |
1441 | ||
1442 | QMARK | |
1443 | CMDTBL, 2200 | |
1444 | R | |
1445 | 2700 | |
1446 | W | |
1447 | 0300 | |
1448 | C | |
1449 | 2300 | |
1450 | SR | |
1451 | 1700 | |
1452 | O | |
1453 | 0500 | |
1454 | EX | |
1455 | ENDCT, 0 | |
1456 | QMARK | |
1457 | ||
1458 | QMARK, 0 | |
1459 | TAD (277 | |
1460 | JMS I (LSPPCH | |
1461 | JMS I CRLF | |
1462 | JMP I QMARK | |
1463 | ||
1464 | \f | |
1465 | C, 0 /STATUS COMMAND | |
1466 | TAD RBLK | |
1467 | JMS I (OCTOUT | |
1468 | TAD MODF | |
1469 | SNA CLA | |
1470 | JMP .+3 | |
1471 | TAD (306 | |
1472 | JMS I (LSPPCH | |
1473 | TAD MODB | |
1474 | SNA CLA | |
1475 | JMP .+3 | |
1476 | TAD (302 | |
1477 | JMS I (LSPPCH | |
1478 | TAD (240 | |
1479 | JMS I (LSPPCH | |
1480 | TAD CLOC | |
1481 | JMS I (OCTOUT | |
1482 | TAD SRWD | |
1483 | JMS I (OCTOUT | |
1484 | TAD MSKWD | |
1485 | JMS I (OCTOUT | |
1486 | JMS I CRLF | |
1487 | JMP I C | |
1488 | ||
1489 | PAGE | |
1490 | \f | |
1491 | GETC, 0 /GET AN INPUT | |
1492 | TAD I BUFPTR /CHAR | |
1493 | TAD EOLWD | |
1494 | SNA CLA | |
1495 | JMP I GETC | |
1496 | TAD I BUFPTR | |
1497 | DCA INCHR | |
1498 | ISZ BUFPTR | |
1499 | TAD INCHR | |
1500 | TAD (-254 /, | |
1501 | SNA CLA | |
1502 | JMP I GETC | |
1503 | ISZ GETC | |
1504 | TAD INCHR | |
1505 | JMP I GETC | |
1506 | ||
1507 | G6BIT, 0 /8 TO 6 BIT | |
1508 | JMS GETC | |
1509 | JMP I G6BIT | |
1510 | AND (77 | |
1511 | RTL CLL | |
1512 | RTL | |
1513 | RTL | |
1514 | DCA TMP0 | |
1515 | JMS GETC | |
1516 | JMP EX6 | |
1517 | AND (77 | |
1518 | TAD TMP0 | |
1519 | DCA TMP0 | |
1520 | JMS GETC | |
1521 | JMP EX6 | |
1522 | JMS BUPTR | |
1523 | JMS BUPTR | |
1524 | JMS BUPTR | |
1525 | JMP I G6BIT | |
1526 | EX6, TAD TMP0 | |
1527 | ISZ G6BIT | |
1528 | JMP I G6BIT | |
1529 | ||
1530 | \f | |
1531 | GOCTAL, 0 /GET OCTAL DIGIT | |
1532 | TAD BUFPTR | |
1533 | DCA TMP2 | |
1534 | JMS GETC | |
1535 | JMP I GOCTAL | |
1536 | JMS BUPTR | |
1537 | LOP17, DCA TMP1 | |
1538 | JMS GETC | |
1539 | JMP FOCT | |
1540 | TAD (-260 | |
1541 | DCA TMP0 | |
1542 | TAD TMP0 | |
1543 | AND (7770 | |
1544 | SNA CLA | |
1545 | JMP .+4 | |
1546 | TAD TMP2 | |
1547 | DCA BUFPTR | |
1548 | JMP I GOCTAL | |
1549 | TAD TMP1 | |
1550 | RTL CLL | |
1551 | RAL | |
1552 | TAD TMP0 | |
1553 | JMP LOP17 | |
1554 | FOCT, ISZ GOCTAL | |
1555 | TAD TMP1 | |
1556 | JMP I GOCTAL | |
1557 | ||
1558 | BUPTR, 0 | |
1559 | CLA CMA | |
1560 | TAD BUFPTR | |
1561 | DCA BUFPTR | |
1562 | JMP I BUPTR | |
1563 | ||
1564 | \f | |
1565 | RD, 0 /READ A BLK | |
1566 | DCA TMP0 /=REL BLK TO DO | |
1567 | CLL | |
1568 | TAD FLEN | |
1569 | TAD TMP0 | |
1570 | SNL CLA | |
1571 | JMP .+3 | |
1572 | JMS I (QMARK | |
1573 | JMP I RD | |
1574 | TAD TMP0 | |
1575 | DCA RBLK | |
1576 | TAD RBLK | |
1577 | TAD SBLK | |
1578 | DCA OUDEV+2 | |
1579 | JMS I (READ | |
1580 | OUDEV | |
1581 | JMP I IOERR | |
1582 | DCA MODB | |
1583 | DCA CLOC | |
1584 | JMP I RD | |
1585 | ||
1586 | R, 0 /R COMMAND | |
1587 | JMS GOCTAL | |
1588 | TAD RBLK | |
1589 | JMS RD | |
1590 | JMP I R | |
1591 | ||
1592 | W, 0 /WRITE COMMAND | |
1593 | TAD MODB | |
1594 | SNA CLA | |
1595 | JMP .+5 | |
1596 | JMS I (WRITE | |
1597 | OUDEV | |
1598 | JMP I IOERR | |
1599 | CLA CMA | |
1600 | DCA MODF | |
1601 | TAD RBLK | |
1602 | IAC | |
1603 | JMS RD | |
1604 | DCA MODB | |
1605 | JMP I W | |
1606 | ||
1607 | EX, 0 /EXIT TO DECODE | |
1608 | TAD MODB | |
1609 | SNA CLA | |
1610 | JMP I GETCD | |
1611 | JMS I (WRITE | |
1612 | OUDEV | |
1613 | JMP I IOERR | |
1614 | JMP I GETCD | |
1615 | ||
1616 | PAGE | |
1617 | \f | |
1618 | GINP, 0 /GET KBRD INPUT | |
1619 | TAD MAXLEN | |
1620 | DCA OCNT | |
1621 | TAD (BUFADR | |
1622 | DCA BUFPTR | |
1623 | JMS I [LSPRDR | |
1624 | AND [177 | |
1625 | TAD [200 | |
1626 | DCA INCHR | |
1627 | TAD INCHR | |
1628 | TAD (-212 | |
1629 | SNA | |
1630 | JMP LFEND | |
1631 | TAD (212-203 | |
1632 | SNA | |
1633 | JMP I [CTRLC0 | |
1634 | TAD (203-215 | |
1635 | SNA | |
1636 | JMP LFEND-1 | |
1637 | TAD (215-225 | |
1638 | SZA | |
1639 | JMP TRYRUB | |
1640 | TAD (336 | |
1641 | JMS I (LSPPCH | |
1642 | TAD (325 | |
1643 | JMS I (LSPPCH | |
1644 | JMS I CRLF | |
1645 | JMP GINP+1 | |
1646 | TRYRUB, TAD (225-377 | |
1647 | SZA CLA | |
1648 | JMP PUTC | |
1649 | TAD MAXLEN | |
1650 | CIA | |
1651 | TAD OCNT | |
1652 | SNA CLA | |
1653 | JMP GINP+5 | |
1654 | CLA CMA | |
1655 | TAD OCNT | |
1656 | DCA OCNT | |
1657 | CLA CMA | |
1658 | TAD BUFPTR | |
1659 | DCA BUFPTR | |
1660 | TAD (334 | |
1661 | JMS I (LSPPCH | |
1662 | JMP GINP+5 | |
1663 | PUTC, TAD INCHR | |
1664 | JMS I (LSPPCH | |
1665 | TAD INCHR | |
1666 | TAD (-240 | |
1667 | SNA CLA | |
1668 | JMP GINP+5 | |
1669 | TAD INCHR | |
1670 | DCA I BUFPTR | |
1671 | ISZ BUFPTR | |
1672 | ISZ OCNT | |
1673 | JMP GINP+5 | |
1674 | IAC | |
1675 | LFEND, DCA I BUFPTR | |
1676 | TAD I BUFPTR | |
1677 | CIA | |
1678 | DCA EOLWD | |
1679 | TAD (BUFADR | |
1680 | DCA BUFPTR | |
1681 | JMS I CRLF | |
1682 | JMP I GINP | |
1683 | ||
1684 | \f | |
1685 | O, 0 /OPEN LOC N | |
1686 | JMS I (GOCTAL | |
1687 | JMP .+3 | |
1688 | AND (377 | |
1689 | LOP20, DCA CLOC | |
1690 | JMS DOLOC | |
1691 | TAD EOLWD | |
1692 | SZA CLA | |
1693 | JMP I O | |
1694 | TAD CLOC | |
1695 | IAC | |
1696 | AND (377 | |
1697 | SZA | |
1698 | JMP LOP20 | |
1699 | JMS I (W | |
1700 | JMP LOP20+1 | |
1701 | ||
1702 | DOLOC, 0 | |
1703 | JMS GETWRD | |
1704 | JMS I (OCTOUT | |
1705 | TAD (257 | |
1706 | JMS I (LSPPCH | |
1707 | JMS GINP | |
1708 | JMS I (GOCTAL | |
1709 | JMP I DOLOC | |
1710 | JMS PUTWRD | |
1711 | JMP I DOLOC | |
1712 | ||
1713 | GETWRD, 0 | |
1714 | TAD CLOC | |
1715 | TAD I (IOLST+1 | |
1716 | DCA TMP0 | |
1717 | CDF 10 | |
1718 | TAD I TMP0 | |
1719 | CDF | |
1720 | JMP I GETWRD | |
1721 | ||
1722 | PUTWRD, 0 | |
1723 | DCA TMP0 | |
1724 | TAD CLOC | |
1725 | TAD I (IOLST+1 | |
1726 | DCA TMP1 | |
1727 | TAD TMP0 | |
1728 | CDF 10 | |
1729 | DCA I TMP1 | |
1730 | CDF | |
1731 | CLA CMA | |
1732 | DCA MODB | |
1733 | JMP I PUTWRD | |
1734 | ||
1735 | PAGE | |
1736 | \f | |
1737 | SR, 0 /SEARCH COMM. | |
1738 | JMS I (GOCTAL | |
1739 | SKP | |
1740 | DCA SRWD | |
1741 | JMS I (GOCTAL | |
1742 | SKP | |
1743 | DCA MSKWD | |
1744 | TAD EOLWD | |
1745 | DCA ISVEOL | |
1746 | DCA MATFLG | |
1747 | TAD SRWD | |
1748 | AND MSKWD | |
1749 | CIA | |
1750 | DCA BCC1 | |
1751 | CLA CMA | |
1752 | DCA SRBFLG | |
1753 | LOP18, JMS I (GETWRD | |
1754 | AND MSKWD | |
1755 | TAD BCC1 | |
1756 | SNA CLA | |
1757 | JMP SRMAT | |
1758 | LOP19, ISZ CLOC | |
1759 | TAD CLOC | |
1760 | AND (377 | |
1761 | SZA CLA | |
1762 | JMP LOP18 | |
1763 | TAD (377 | |
1764 | DCA CLOC | |
1765 | TAD ISVEOL | |
1766 | SZA CLA | |
1767 | JMP EXS | |
1768 | JMS I (W | |
1769 | TAD CLOC | |
1770 | SNA CLA | |
1771 | JMP LOP18-2 | |
1772 | JMP EXS | |
1773 | SRMAT, TAD SRBFLG | |
1774 | SNA CLA | |
1775 | JMP .+3 | |
1776 | TAD RBLK | |
1777 | JMS I (OCTOUT | |
1778 | CLA CMA | |
1779 | DCA MATFLG | |
1780 | DCA SRBFLG | |
1781 | TAD CLOC | |
1782 | JMS I (OCTOUT | |
1783 | JMS I CRLF | |
1784 | JMS I (DOLOC | |
1785 | TAD EOLWD | |
1786 | SNA CLA | |
1787 | JMP LOP19 | |
1788 | EXS, TAD MATFLG | |
1789 | SNA CLA | |
1790 | JMS I (QMARK | |
1791 | JMP I SR | |
1792 | SRBFLG, 0 | |
1793 | MATFLG, 0 | |
1794 | ISVEOL, 0 | |
1795 | ||
1796 | PAGE | |
1797 | \f | |
1798 | /TABLES FOR FPIP | |
1799 | ||
1800 | DLTBL, -6260 /DEVICE LENGTHS | |
1801 | -6260 /FOR UNITS 1-17 | |
1802 | 0 /SYS,DSK,TTY | |
1803 | 0 /LPT | |
1804 | -1341;-1341 /DTA0- | |
1805 | -1341;-1341 /DTA7 | |
1806 | -1341;-1341 | |
1807 | -1341;-1341 | |
1808 | 0 | |
1809 | 0 | |
1810 | 0 | |
1811 | ||
1812 | DMTBL, SYMSG | |
1813 | DKMSG | |
1814 | TTMSG | |
1815 | LPMSG | |
1816 | D0MSG | |
1817 | D1MSG | |
1818 | D2MSG | |
1819 | D3MSG | |
1820 | D4MSG | |
1821 | D5MSG | |
1822 | D6MSG | |
1823 | D7MSG | |
1824 | PPMSG | |
1825 | PRMSG | |
1826 | CDMSG | |
1827 | ||
1828 | AMSG, PARMSG | |
1829 | PARMSG | |
1830 | LTMSG | |
1831 | EOTMSG | |
1832 | \f | |
1833 | PSTBL, EOTFLG | |
1834 | SATOL | |
1835 | 200 /E | |
1836 | 0 | |
1837 | LSPFLG | |
1838 | SATOL | |
1839 | 1 /L | |
1840 | 0 | |
1841 | PATFLG | |
1842 | SMTOX | |
1843 | 400 /P | |
1844 | 0;0 | |
1845 | CSTBL, BADBO | |
1846 | SATOL | |
1847 | 2000 /B | |
1848 | 0 | |
1849 | BADFO | |
1850 | SATOL | |
1851 | 4000 | |
1852 | 0;0 | |
1853 | ||
1854 | \f | |
1855 | TM, 0 | |
1856 | 0 | |
1857 | 0 | |
1858 | 0 | |
1859 | 0 | |
1860 | 0 | |
1861 | 0 | |
1862 | 0 | |
1863 | 0 | |
1864 | OUTTBL, 1;0 | |
1865 | 0;0 | |
1866 | 0;0 | |
1867 | 0 | |
1868 | INTBL, 5;0 | |
1869 | 0;0 | |
1870 | 0;0 | |
1871 | 0;0 | |
1872 | 0;0 | |
1873 | 0;0 | |
1874 | 0;0 | |
1875 | 0;0 | |
1876 | 0;0 | |
1877 | 0 | |
1878 | ||
1879 | \f | |
1880 | S0FLG, 0 /CM | |
1881 | \f | |
1882 | SYMSG, TEXT "SYS:" | |
1883 | 0 | |
1884 | DKMSG, TEXT "DSK:" | |
1885 | 0 | |
1886 | TTMSG, TEXT "TTY:" | |
1887 | 0 | |
1888 | LPMSG, TEXT "LPT:" | |
1889 | 0 | |
1890 | D0MSG, TEXT "DTA0:" | |
1891 | 0 | |
1892 | D1MSG, TEXT "DTA1:" | |
1893 | 0 | |
1894 | D2MSG, TEXT "DTA2:" | |
1895 | 0 | |
1896 | D3MSG, TEXT "DTA3:" | |
1897 | 0 | |
1898 | D4MSG, TEXT "DTA4:" | |
1899 | 0 | |
1900 | D5MSG, TEXT "DTA5:" | |
1901 | 0 | |
1902 | D6MSG, TEXT "DTA6:" | |
1903 | 0 | |
1904 | D7MSG, TEXT "DTA7:" | |
1905 | 0 | |
1906 | PPMSG, TEXT "PTP:" | |
1907 | 0 | |
1908 | PRMSG, TEXT "PTR:" | |
1909 | 0 | |
1910 | CDMSG, TEXT "CDR:" | |
1911 | 0 | |
1912 | EOTMSG, TEXT "END OF TAPE " | |
1913 | 0 | |
1914 | NTMSG, TEXT "ENTER NEXT " | |
1915 | 0 | |
1916 | BIGMSG, TEXT "IS TOO BIG FOR " | |
1917 | 0 | |
1918 | PARMSG, TEXT "PARITY ERROR " | |
1919 | 0 | |
1920 | LTMSG, TEXT "L/T ERROR " | |
1921 | 0 | |
1922 | USRMSG, TEXT "USR " | |
1923 | 0 | |
1924 | IOMSG, TEXT "I/O ERROR " | |
1925 | 0 | |
1926 | NMSG, TEXT "NEED: " | |
1927 | 0 | |
1928 | FMSG, TEXT "FOUND: " | |
1929 | 0 | |
1930 | BEQMSG, TEXT "BAD =BLK" | |
1931 | 0 | |
1932 | ||
1933 | \f | |
1934 | PARADR, 0 | |
1935 | *PARADR+41 | |
1936 | FNAME, 0;0;0;0;0 | |
1937 | FRMADR, 0 | |
1938 | *614+FRMADR | |
1939 | AAFREE, 0 | |
1940 | *6600-10 | |
1941 | HDATA, 0 /TYPE (HOLDS | |
1942 | /VERS FOR NOW) | |
1943 | 0;0;0;0 /NAME | |
1944 | 0 /REL BLK | |
1945 | 0 /LEN | |
1946 | 0 /CONTINUATION | |
1947 | /WD 0 FOR NOW | |
1948 | BUFADR, 0 | |
1949 | ||
1950 | LTLEN=124 | |
1951 | MXPBLK=40 | |
1952 | NBYTS=41 | |
1953 | MTHREE=7346 /CLA CLL CMA RTL | |
1954 | MTWO=7344 /CLA CLL CMA RAL | |
1955 | TWOK=7332 /CLA CLL CML RTR | |
1956 | FOURK=7330 /CLL CML CLA RAR | |
1957 | FETCH=1 | |
1958 | LOOKUP=2 | |
1959 | ENTER=3 | |
1960 | CLOSE=4 | |
1961 | DECODE=5 | |
1962 | CHAINE=6 | |
1963 | ERROR=7 | |
1964 | USRIN=10 | |
1965 | USROUT=11 | |
1966 | INQUIRE=12 | |
1967 | RESET=13 | |
1968 | PLS=6026 | |
1969 | PSF=6021 | |
1970 | RFC=6014 | |
1971 | RRB=6012 | |
1972 | RSF=6011 | |
1973 | DEVRES=7647 | |
1974 | ATOL=7643 | |
1975 | MTOX=7644 | |
1976 | YTO9=7645 | |
1977 | IFZERO PTAPE < | |
1978 | NSLOTS=S0END-S0FLG | |
1979 | > | |
1980 | ||
1981 | ||
1982 | $ | |
1983 | \f |