software: Added more and more
[pdp8.git] / sw / os8 / v3d / sources / system / dectapes / dectape6 / RESORC.PA
1 /14 OS/8 RESOURCES PROGRAM
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 \f
46
47 / S.R.
48
49 /SAVE INFO:
50
51 / .R ABSLDR
52 / *RESORC$
53 / .SAVE SYS RESORC;12000=6003
54
55 /CORE MAP:
56
57 /0000-1777 C.D.
58 /2000-2377 DEVICE NAME AND LENGTH TABLE
59 /2400-2777 OUTPUT BUFFER (DOESN'T OVERLAP BETA REGISTER)
60 /3000-3377 INPUT HANDLER
61 /3400-3777 OUTPUT HANDLER
62 /4000-7377 INPUT DIRECTORY
63 /4000-7577 INPUT HANDLERS (LOSE 2ND HALF OF LAST ONE)
64
65 /FIELD 1
66
67 /10000-11777 USR
68 /11400-11777 INPUT KBM
69 /12000-15577 PROGRAM
70 /15600-16177 INPUT BLOCK 0
71 /16200-17577 INPUT USR
72
73 INPBL0=5600
74 INPKBM=1400
75 INPUSR=6200
76 INPHND=4000
77
78 FAST=20
79 DIG=21
80 EXTEN=22
81
82 DEVNUM=23 /DEVICE NUMBER OF HANDLER
83 CNT=24
84 PDNT=25 /PTS TO DEVICE NAME TABLE
85 TEMP=26
86 PUDNT=27 /PTS TO USER DEVICE NAME TABLE
87 PDHIT=30 /PTS TO DEVICE HANDLER INFO TABLE
88 PDCWT=31 /PTS TO DEVICE CONTROL WORD TABLE
89 PTYP=32
90 LFT=33
91 RT=LFT+1
92 DVNO=35
93 BLOC=36
94 PDHRT=37 /POINTS TO DEVICE HANDLER RESIDENCY TABLE
95 UN=6
96 X0=10
97 XR1=11
98
99 RESVERSION="A
100
101 /FIXES SINCE FIELD TEST RELEASE:
102
103 /1. 'INPUT ERROR' MESSAGE NO LONGER GARBLED
104 /2. '%NON SYSTEM DEVICE' NEVER PRINTS HANDLERS
105
106 /FIXES FOR MAINTENANCE RELEASE (V3C):
107
108 /3. INCORPORATED PATCH SEQ NO 1 ALLOWS DISTINGUISHING BETWEEN
109 / HIGH AND LOW SPEED PTR'S AND ADDITIONAL CASSETTES
110 / [DSN FEB 1975]
111
112 /4. FIXED LENGTHS OF DF32'S AND RF08'S [SUPERSEDES PATCH SEQ #2
113 / DSN APR 1975]
114
115 /5. CHANGED VERSION NUMBER TO V3, UPDATED COPYRIGHT
116 /6. ADDED DUMP, LST, AND RX-- TO INTERNAL NAME TABLES
117
118 /7. ADDED DETAILS ABOUT DUMP AND FLOPPIES TO TABLES
119
120 /V3D CHANGES:
121
122 /8. ADDED NAMES SLU AND LQP TO TABLES
123 /9. CAN DISTINGUISH LQP KIND OF LPTR
124 /10. FIXED BUG ABOUT DUMPING BUFFER FULL OF NULLS
125 /11. REMOVED LITTLE-USED 'OUT', 'DEV' FROM NAME TABLES
126 \f FIELD 1
127
128 *2000
129
130 START, SKP
131 JMP NOCD /CHAIN ENTRY POINT
132 / JMS I (7700 /WE ASSUME THE USR IS IN CORE
133 / 10 /DON'T HAVE TO LOCK USR IN CORE IF JSW SET RIGHT
134 CD, JMS I (200
135 5 /COMMAND DECODE
136 2331 /DEFAULT INPUT EXTENSION = 'SY'
137 NOCD, DCA CTRLO
138 JMS OPENO /OPEN OUTPUT FILE
139 DCA FILENO
140 TAD (7617
141 DCA INPTR /POINT TO FIRST INPUT FILE
142 TAD I (7644
143 AND (4 / V OPTION?
144 SZA CLA
145 JMS TYPEV /OUTPUT VERSION #
146 JMS SETSW
147 DCA FLAG
148 TAD I (7617
149 SNA CLA
150 JMS SPCASE /NO FIRST ARG MEANS USE SYS: IN SPECIAL SENSE
151 JMP INL2
152 INLOOP, TAD I INPTR /GET INPUT FILE # AND LENGTH
153 SNA CLA
154 JMP FINI /NO MORE INPUT
155 JMS PRDASH
156 INL2, TAD I INPTR
157 AND (17
158 DCA DVNO /GET 4-BIT DEVICE #
159 ISZ FILENO
160 TAD I INPTR
161 AND (7760 /GET NEGATIVE OF FILE LENGTH
162 DCA FILEN
163 ISZ INPTR
164 TAD I INPTR /GET STARTING BLOCK OF FILE
165 DCA SBLOCK
166 ISZ INPTR
167 TAD DVNO
168 JMS GETDCW
169 SMA CLA
170 JMP NOFLST /DEVICE IS NOT FILE STRUCTURED
171 JMS OPENI /GET INPUT HANDLER
172 JMS DIRECT /ASCERTAIN DIRECTORY INFO
173 JMS HNDLRS /ASCERTAIN HANDLERS
174 TAD EXTEN
175 SZA CLA
176 JMS CNTSLT
177 JMS MONVER /ASCERTAIN MONITOR VERSION #
178 NEXT, JMS CRLF
179 DCA FLAG
180 JMP INLOOP
181 \fNOFLST, JMS PRINT
182 TEXT /%DEV IS NOT FILE STRUCTURED/
183 JMP NEXT
184
185 FINI, JMS CLOSEO /CLOSE OUTPUT FILE
186 FINIS, TAD I (7642
187 SMA CLA
188 JMP CD /COMMAND LINE ENDED WITH CR
189 CIF CDF 0 /COMMAND LINE ENDED WITH ALTMODE
190 JMP I (7605 /GO BACK TO MONITOR
191
192 /CURRENT PIP /Y FILES ARE 50 (DEC) = 62 (OCTAL) BLOCKS LONG
193
194 GETDCW, 0
195 AND (17
196 TAD (7757 /GET PTR INTO DEVICE CONTROL WORD TABLE
197 DCA DCW
198 TAD I DCW /GET D.C.W.
199 DCA DCW /SAVE (WHY?)
200 TAD DCW
201 JMP I GETDCW
202
203 SETSW, 0
204 DCA FAST
205 DCA EXTEN
206 CLA IAC
207 AND I (7643
208 SNA CLA
209 JMP NOTF
210 ISZ FAST
211 JMP I SETSW
212 NOTF, TAD I (7643
213 AND (200
214 SNA CLA
215 JMP I SETSW
216 ISZ EXTEN
217 ISZ FAST
218 JMP I SETSW
219
220 /FAST GT 0 IF /L OR /E SWITCH SET
221 /EXTEN=1 IF /E SWITCH SET AND /L NOT SET
222 \fINPTR, 0 /POINTS TO INPUT FILE LIST
223 FILEN, 0 /INPUT FILE LENGTH (NEG IN BITS 0-7)
224 DCW, 0 /INPUT DEVICE CONTROL WORD
225 FILENO, 0 /INPUT FILE NUMBER IN INPUT LIST
226 SBLOCK, 0 /STARTING BLOCK # OF INPUT FILE
227 FLAG, 0 /NON-ZERO MEANS SPECIAL CASE OF NO FIRST ARG
228
229 SPCASE, 0
230 ISZ FLAG /NOTE SPECIAL CASE
231 CLA IAC
232 DCA I (7617 /FORCE FIRST INPUT TO BE SYS:
233 JMP I SPCASE
234 PAGE
235 \fPRINT, 0
236 TAD I PRINT
237 DCA PRT
238 ISZ PRINT
239 TAD PRT
240 JMS RTR6
241 JMS PR
242 JMP I PRINT
243 TAD PRT
244 JMS PR
245 JMP I PRINT
246 JMP PRINT+1
247 PRT, 0
248 RTR6, 0
249 TTY212, RTR
250 RTR
251 RTR
252 JMP I RTR6
253
254 PR, 0
255 AND (77
256 SNA
257 JMP I PR
258 TAD (240
259 AND (77
260 TAD (240
261 JMS PUTO
262 ISZ PR
263 JMP I PR
264
265 TPRINT, 0 /PRINT TO TELETYPE
266 CLA
267 TAD I TPRINT
268 DCA PRT
269 ISZ TPRINT
270 TAD PRT
271 JMS RTR6
272 JMS TPUT
273 TAD PRT
274 JMS TPUT
275 JMP TPRINT+1
276
277 TPUT, 0
278 AND (77
279 SNA
280 JMP PUTCR
281 TAD (240
282 AND (77
283 TAD (240
284 JMS TYPE
285 JMP I TPUT
286
287 PUTCR, JMS TCRLF
288 JMP I TPRINT
289 \fTYPE, 0
290 DCA TYTEM
291 TAD CTRLO
292 SZA CLA
293 JMP I TYPE /DON'T TYPE IF CONTROL/O FLAG SET
294 KSF
295 SKP
296 JMS LOOKC
297 TAD TYTEM
298 JMS TYPE2
299 JMP I TYPE
300
301 TYTEM, 0
302 CTRLO, 0 /NON-ZERO MEANS CTRLO/O WAS STRUCK
303
304 TYPE2, 0
305 TLS
306 TSF
307 JMP .-1
308 CLA
309 JMP I TYPE2
310
311 LOOKC, 0
312 KRB
313 AND (177
314 TAD (-17
315 SNA /IS IT ^O?
316 JMP CTROLO /YES
317 TAD (17-3 /NO
318 SZA CLA /IS IT ^C?
319 JMP I LOOKC /NO
320 CIF CDF 0 /YES
321 JMP I (7605
322 CTROLO, TAD ("^
323 JMS TYPE2
324 TAD ("O
325 JMS TYPE2
326 ISZ CTRLO
327 TAD (215
328 JMS TYPE2
329 TAD TTY212
330 JMS TYPE2
331 JMP I TYPE
332 \fTYPEV, 0
333 JMS PRINT
334 TEXT /RESORC V4 /
335 *.-2
336 RESVERSION&77+6300
337 *.+1
338 JMS CRLF
339 JMP I TYPEV
340
341 CRLF, 0
342 TAD (215
343 JMS PUTO
344 TAD TTY212
345 JMS PUTO
346 JMP I CRLF
347
348 TCRLF, 0
349 TAD (215
350 JMS TYPE
351 TAD (212
352 JMS TYPE
353 JMP I TCRLF
354
355 DLST, -1750 /1000
356 -144 /100
357 -12 /10
358 -1 /1
359 0 /END
360 PAGE
361 \fCLOSEO, 0 /CLOSE OUTPUT FILE
362 TAD (232 /PUT ^Z IN BUFFER
363 JMS PUTO
364 TAD (-577 /V3D
365 DCA KNT /SEND 577 NULLS TO OUTPUT BUFFER
366 JMS PUTO /THIS GUARANTEES TO PURGE IT
367 ISZ KNT
368 JMP .-2
369 TAD I (7600
370 JMS I (200
371 4 /CLOSE
372 L7601, 7601 /POINTER TO OUTPUT FILE NAME
373 OUTLEN, 0 /LENGTH OF OUTPUT FILE
374 HLT /SYSTEM ERROR, CANNOT OCCUR
375 JMP I CLOSEO
376 OPENO, 0
377 JMS OINIT
378 DCA OUTLEN
379 TAD (3401
380 DCA OENTRY
381 TAD I (7600
382 SNA CLA
383 JMP DEFALT
384 TAD I (7600
385 JMS GETDCW
386 RAL
387 SPA CLA
388 JMP NOWR /READ ONLY
389 TAD I (7600
390 JMS I (200
391 1 /FETCH DEVICE HANDLER (POSSIBLY 2-PAGE)
392 OENTRY, 3401 /INTO PAGE 3400
393 HLT /SYSTEM ERROR CANNOT OCCUR
394 O2, TAD L7601
395 DCA SBLKO
396 TAD I L7601
397 SNA
398 TAD (2205 /RE
399 DCA I L7601 /DEFAULT OUTPUT NAME IS RE
400 DCA OLEN
401 TAD I (7604
402 SNA
403 TAD (1423 /LS
404 DCA I (7604 / .LS IS DEFAULT OUTPUT EXTENSION
405 TAD I (7600
406 JMS I (200
407 3 /ENTER OUTPUT FILE
408 SBLKO, 7601 /POINTS TO OUTPUT FILE NAME
409 OLEN, 0 /COMPLEMENT OF ACTUAL OUTPUT FILE LENGTH
410 JMP DEVFUL /OUTPUT DEVICE FULL
411 TAD SBLKO
412 DCA OBLOCK
413 TAD OLEN
414 SZA
415 TAD (-1
416 DCA OLEN
417 JMP I OPENO
418
419 KNT, 0
420 \fDEFALT, TAD (3100 /SET TTY: AS DEFAULT OUTPUT DEVICE
421 DCA DVN
422 TAD (3401
423 DCA OENT
424 JMS I (200
425 1 /FETCH HANDLER BY NAME
426 2424 /TT
427 DVN, 3100 /DEVICE TTY:
428 OENT, 3401 /INTO 3400
429 JMP NOTTY /NO TTY: ON SYS:
430 TAD OENT
431 DCA OENTRY
432 TAD DVN
433 DCA I (7600
434 JMP O2
435
436 OUTERR, JMS TPRINT
437 TEXT /?OUTPUT ERROR/
438 JMS CRLF
439 JMP FINIS
440 \fTRY09, 0
441 TAD (60
442 CIA
443 TAD NAM
444 DCA DIG
445 TAD DIG
446 CLL
447 TAD (-10 /TRY DIGITS 0-7
448 SZL CLA
449 JMP I TRY09
450 TAD DIG
451 TAD (60
452 TAD RT
453 DCA RT
454 JMP GOTIT
455
456 PUTSP, 0
457 TAD (40
458 JMS PUTO
459 JMP I PUTSP
460 PAGE
461 \fPUTO, 0
462 AND (377
463 CDF 0
464 JMP I PUTJMP
465 PUTJMP, X1
466 X1, DCA I PUTPT1
467 TAD (X2
468 DCA PUTJMP
469 PUTLV, CDF 10
470 JMP I PUTO /RETURN
471
472 X2, DCA I PUTPT2
473 TAD (X3
474 DCA PUTJMP
475 JMP PUTLV
476
477 X3, DCA TMP
478 TAD TMP
479 CLL RTL
480 RTL
481 AND (7400
482 TAD I PUTPT1
483 DCA I PUTPT1
484 TAD TMP
485 CLL RTR
486 RTR
487 RAR
488 AND (7400
489 TAD I PUTPT2
490 DCA I PUTPT2
491 ISZ PUTPT1
492 ISZ PUTPT1
493 ISZ PUTPT2
494 ISZ PUTPT2
495 TAD (X1
496 DCA PUTJMP
497 ISZ PUTKNT
498 JMP PUTLV
499 CDF 10 /BUFFER FILLED
500 ISZ OLEN
501 SKP
502 JMP DEVFUL /CAN'T WRITE ANYMORE
503 CIF 0
504 TAD OENTRY
505 DCA OENTR /GET ON SAME PAGE
506 JMS I OENTR
507 4200 /WRITE 1 BLOCK
508 2400 /FIELD 0, LOC 2400
509 OBLOCK, 0 /OUTPUT BLOCK #
510 JMP OUTERR
511 ISZ OUTLEN
512 ISZ OBLOCK /POINT TO NEXT BLOCK
513 JMS OINIT
514 JMP I PUTO /RETURN
515 \fPUTPT1, 0
516 PUTPT2, 0
517 PUTKNT, 0
518
519 ZLQP, IAC /23
520 PLAT4, IAC /22
521 PLAT3, IAC /21
522 PLAT2, IAC /20
523 PLAT1, IAC /17
524 ZXTRA, IAC /16
525 ZKL8E, IAC /15
526 ZRK8E, IAC /14
527 ZRK8, IAC /13
528 ZASR, IAC /12
529 ZTA8, IAC /11
530 ZTD8, IAC /10
531 ZL645, IAC /7
532 ZLPSV, IAC /6
533 ZLV8E, IAC /5
534 Z026, IAC /4
535 Z029, IAC /3
536 ZLSPT, IAC /2
537 ZPT8E, IAC /1
538 NOKIND, CLL RAL
539 /PRINTS NAME FROM TABLE, ENTER WITH ENTRY # IN AC
540 PRNAM, TAD (TABASE
541 JMS PUTNAM
542 JMS UNIT
543 JMP KINDRET
544 \fTMP,
545 GETD77, 0
546 TAD (7707
547 DCA MASK
548 TAD (-6704 /V3C
549 JMS SRCH
550 RTR
551 RAR
552 AND (7
553 JMP I GETD77
554
555 QTTY, TAD I PDHIT
556 SMA CLA /1 OR 2 PAGE?
557 JMP ZASR /1 PAGE
558 JMP ZKL8E /2 PAGE
559
560 QRK8E, TAD I PDHIT
561 AND (7
562 CLL RAR
563 DCA UN
564 JMP ZRK8E
565
566 OENTR,
567 TSTUN, 0
568 TAD I PDHIT
569 AND (7
570 DCA UN
571 JMP I TSTUN
572
573
574 QRK8, JMS TSTUN
575 JMP ZRK8
576 PAGE
577 \fNAME, 0
578 DCA NAM
579 TAD FAST
580 SZA CLA
581 JMP TRY1
582 STA
583 TAD DEVNUM
584 SNA CLA
585 JMP TRY1
586 TAD (",
587 JMS PUTO
588 TRY1, TAD (LIST1
589 DCA NM1
590 LP1, TAD I NM1
591 SNA
592 JMP TRY2
593 DCA LFT
594 ISZ NM1 /TRY A-B
595 TAD (-2 /CHANGE TO -4 TO TRY A-D
596 DCA TEMP
597 DCA RT
598 LP1X, TAD RT
599 TAD (100
600 DCA RT
601 JMS COMB
602 JMS TRY09
603 ISZ TEMP
604 JMP LP1X
605 JMP LP1
606
607 NAM, 0 /SPECIFIED NAME
608 NM1, 0
609
610 TRY2, TAD (LIST2
611 DCA NM1
612 LP2, TAD I NM1
613 SNA
614 JMP TRY3
615 DCA LFT
616 ISZ NM1
617 TAD I NM1
618 ISZ NM1
619 DCA RT
620 JMS COMB
621 DCA TEMP
622 TAD TEMP
623 CIA
624 TAD NAM
625 SNA CLA
626 JMP GOTIT
627 TAD TEMP
628 JMS TRY09
629 JMP LP2
630 \f/TRY0 SHOULD BE SPECIAL CASE TESTS
631
632 TRY3, TAD NAM
633 JMS RTR6
634 AND (37
635 SNA
636 JMP TRY4
637 JMS SETIFA
638 CLL RAR
639 JMS RTR6
640 DCA LFT
641 TAD NAM
642 AND (77
643 JMS SETIFA
644 TAD LFT
645 DCA LFT
646 DCA RT
647 JMP GOTIT
648
649 SETIFA, 0
650 SNA
651 JMP I SETIFA
652 TAD (-33
653 SPA
654 JMP LETR
655 TAD (33-60
656 CLL
657 TAD (-12
658 SZL
659 JMP NODI
660 TAD (12+60-33
661 LETR, TAD (33
662 JMP I SETIFA
663 NODI, CLA
664 TRY4, TAD NAM
665 JMS NNAME
666 NAMLV, JMP I NAME
667 \fCMFLG, 0
668
669 /COMB, 0
670 / TAD RT
671 / SZA CLA
672 / STA
673 / DCA CMFLG
674 / TAD LFT
675 / TAD RT
676 / ISZ CMFLG
677 / JMP I COMB
678 / CLL RAL
679 / STL RAR
680 / JMP I COMB /TURN ON BIT 0 OF 1 WORD NAME
681
682 LIST1, TEXT /DTMTLTTDCSRKRFRX/
683 / ZBLOCK 1 /PATCH SPACE
684
685 PRDASH, 0
686 JMS PRINT
687 TEXT /------/
688 JMS CRLF
689 JMS CRLF
690 JMP I PRDASH
691 \fRTL6, 0
692 RTL
693 RTL
694 RTL
695 JMP I RTL6
696 PAGE
697 \fDEVFUL, JMS TPRINT
698 TEXT /?OUTPUT DEV FULL/
699 JMP FINIS
700
701 NOWR, JMS TPRINT
702 TEXT /?OUTPUT DEV IS READ-ONLY/
703 JMP FINIS
704 NOTTY, JMS TPRINT
705 TEXT /?TTY DOES NOT EXIST/
706 JMP FINIS
707 \fOINIT, 0
708 TAD (-200
709 DCA PUTKNT
710 TAD (2400
711 DCA PUTPT1
712 TAD (2401
713 DCA PUTPT2
714 TAD (X1
715 DCA PUTJMP
716 JMP I OINIT
717 \fREADI, 0
718 TAD I READI
719 DCA ARG1
720 ISZ READI
721 TAD I READI
722 DCA ARG2
723 ISZ READI
724 TAD I READI
725 DCA ARG3
726 ISZ READI
727 CIF 0
728 JMS I IENTRY
729 ARG1, 0
730 ARG2, 0
731 ARG3, 0
732 JMP INERR
733 JMP I READI /REURN
734
735 INERR, JMS TPRINT
736 TEXT /?INPUT ERROR/
737 JMP FINIS
738
739 OPENI, 0 /FECTH INPUT HANDLER
740 TAD (3001 /INTO PAGES 3000, 3200
741 DCA IENTRY
742 TAD DVNO
743 JMS I (200
744 1 /FETCH HANDLER
745 IENTRY, 3001
746 HLT /SYSTEM ERROR, CAN'T OCCUR
747 JMP I OPENI
748 \fPRFREE, 0
749 JMS PRINT
750 TEXT /FREE DEVICE SLOTS: /
751 TAD FREEDV
752 JMS XPRINT
753 JMS PRINT
754 TEXT /, FREE BLOCK SLOTS: /
755 TAD SLKNT
756 JMS XPRINT
757 JMP I PRFREE
758 PAGE
759 \fDIRECT, 0
760 TAD SBLOCK
761 SZA CLA
762 JMP I DIRECT /NO DIRECTORY INFO FOR FILES
763 JMS READI
764 1400 /READ 6 BLOCKS
765 4000 /INTO 04000
766 1 /FROM BLOCK 1
767 JMS DVALID /CHECK IF VALID DIRECTORY
768 TAD FAST
769 SNA CLA
770 JMP I DIRECT /NO DIRECT IN FAST MODE
771 JMS CRLF
772 DCA USED
773 DCA UNUSED
774 DCA NFILES
775 DCA NMTS
776 DCA NSEGS
777 STL CLA RAR /4000
778 DIRLUP, DCA DIRPTR
779 ISZ NSEGS
780 JMS GETDIR
781 DCA NENTRY /- NO. OF ENTRIES IN SEGMENT
782 JMS GETDIR
783 DCA STBLK /STARTING BLOCK # OF FIRST FILE IN SEGMENT
784 JMS GETDIR
785 DCA LINK /LINK TO NEXT SEGMENT
786 JMS GETDIR
787 CLA /IGNORE FLAG WORD TO TENTATIVE FILE
788 JMS GETDIR
789 DCA AIW /# OF ADDITIONAL INFO WORDS
790 TAD NENTRY
791 DCA DKNT
792 SEGLUP, JMS GETDIR
793 SNA CLA
794 JMP EMPTY /AN EMPTY ENTRY
795 TAD AIW
796 CIA
797 TAD (3
798 TAD DIRPTR
799 DCA DIRPTR /POINT TO FILE LENGTH
800 JMS GETDIR /GET NEG OF NUMBER OF BLOCKS IN FILE
801 SNA
802 JMP NEXTF /A TENTATIVE FILE, IGNORE
803 CIA
804 TAD USED
805 DCA USED
806 ISZ NFILES
807 JMP NEXTF
808 EMPTY, JMS GETDIR
809 CIA
810 TAD UNUSED
811 DCA UNUSED
812 ISZ NMTS
813 NEXTF, ISZ DKNT /ANY MORE ENTRIES IN THIS SEGMENT?
814 JMP SEGLUP /YES
815 TAD LINK
816 SNA CLA
817 JMP GOTINFO
818 TAD NSEGS
819 CMA
820 TAD LINK /ASSUME LINKS ARE IN ORDER
821 SZA CLA
822 JMP BADDIR
823 STA /GO TO NEXT SEGMENT
824 TAD DIRPTR
825 AND (7400
826 TAD (400
827 JMP DIRLUP
828 \fDKNT, 0
829 USED, 0 /NO. OF BLOCKS USED
830 UNUSED, 0 /# OF UNUSED BLOCKS ON DEVICE
831 NFILES, 0 /# OF FILES
832 NMTS, 0 /# OF EMPTIES
833 NSEGS, 0 /# OF DIRECTORY SEGMENTS USED
834 GOTINFO,JMS PRINFO
835 LVDIR, JMS CRLF
836 JMS CRLF
837 JMP I DIRECT
838
839 NENTRY, 0 /- # OF ENTRIES IN SEGMENT
840 STBLK, 0 /STARTING BLOCK # OF FIRST FILE IN SEGMENT
841 LINK, 0 /LINK TO NEXT SEGMENT
842 AIW, 0 /# OF ADDITIOANAL INFORMATION WORDS
843
844 GETDIR, 0
845 CDF 0
846 TAD I DIRPTR
847 CDF 10
848 ISZ DIRPTR
849 JMP I GETDIR
850
851 DIRPTR, 0
852 \fXPRINT, 0
853 SNA
854 JMP NONEPR
855 JMS OPRINT
856 JMP I XPRINT
857
858 NONEPR, JMS PRINT
859 TEXT /NONE/
860 JMP I XPRINT
861
862 SLOTAB, ZBLOCK 10 /KEEPS TRACK OF USED SLOTS
863
864 GETTYP, 0
865 CDF 0
866 TAD I PTYP
867 CDF 10
868 JMP I GETTYP
869
870 QTC08,
871 QLINC, JMS TSTUN
872 JMP NOKIND
873 PAGE
874 \fPRINFO, 0
875 TAD EXTEN
876 SNA CLA
877 JMP NOFLS /JUST # OF FREE BLOCKS UNLESS /E
878 TAD NFILES
879 SNA
880 JMP NOFLS
881 STL
882 JMS DPRINT
883 JMS PRINT
884 TEXT / FILES IN /
885 TAD USED
886 STL
887 JMS DPRINT
888 JMS PRINT
889 TEXT / BLOCKS/
890 STA
891 TAD NSEGS
892 SNA CLA
893 JMP ONESEG
894 JMS PRINT
895 TEXT / USING /
896 TAD NSEGS
897 STL
898 JMS DPRINT
899 JMS PRINT
900 TEXT / SEGMENTS/
901 ONESEG, JMS CRLF
902 NOFLS, TAD UNUSED
903 STL
904 JMS DPRINT
905 JMS PRINT
906 TEXT / FREE BLOCKS/
907 TAD EXTEN
908 SNA CLA
909 JMP I PRINFO
910 TAD NMTS
911 CLL RAR
912 SNA CLA
913 JMP MT1
914 JMS PRINT
915 TEXT / (/
916 TAD NMTS
917 STL
918 JMS DPRINT
919 JMS PRINT
920 TEXT / EMPTIES)/
921 MT1, CLA IAC
922 TAD AIW
923 SZA CLA
924 JMS PRAIW
925 JMP I PRINFO
926
927 PRAIW, 0
928 JMS CRLF
929 TAD AIW
930 CIA
931 STL
932 JMS DPRINT
933 JMS PRINT
934 TEXT / EXTRA INFO WDS/
935 JMP I PRAIW
936 \f/HNDGET GETS VALUE IN HANDLER FROM REL LOC IN AC
937
938 HNDGET, 0
939 TAD BLOC
940 DCA TEMP
941 CDF 0
942 TAD I TEMP
943 CDF 10
944 JMP I HNDGET
945
946 PUTNAM, 0
947 DCA PUTNMT
948 TAD I PUTNMT
949 JMS PUTPAK
950 ISZ PUTNMT
951 TAD I PUTNMT
952 JMS PUTPAK
953 JMP I PUTNAM
954 PUTNMT, 0
955 /THIS PRINTS A 4 CHAR NAME, ARG IN AC.
956
957 COMB, 0 /TEMP
958 TAD LFT
959 TAD RT
960 SMA
961 TAD (4000
962 JMP I COMB
963 PAGE
964 \fKIND, 0
965 JMS PUTSP
966 TAD BLOC
967 SNA CLA
968 JMP NOKIND
969 JMS GETTYP
970 SNA
971 JMP NOKIND
972 DCA TEMP
973 JMP I TEMP /BRANCH TO APPROPRIATE SUBROUTINE
974 KINDRET,JMP I KIND
975
976 /KIND SUBROUTINES
977 /ENTER WITH BLOC POINTING TO HANDLER BLOCK IN CORE
978
979 /SRCH SEARCHES THE HANDLER FOR THE NEGATIVE
980 /OF THE NON-ZERO VALUE IN THE AC.
981 /MASKED BY MASK.
982 /IF FOUND, RETURN IS MADE WITH VALUE(WITHOUT MASK) IN AC
983 /IF NOT FOUND, AC IS 0 UPON RETURN
984
985 SRCH, 0
986 DCA LOOK4
987 STA
988 TAD BLOC
989 DCA XR1
990 TAD (-230 /V3C MUST SEARCH 2 PAGES; TROUBLE IF TA8E IS IN LAST SLOT
991 DCA SRCHCNT
992 SRCHLP, CDF 0
993 TAD I XR1
994 CDF 10
995 DCA TEMP
996 TAD TEMP
997 AND MASK
998 TAD LOOK4
999 SNA CLA
1000 JMP SRCHGOT
1001 ISZ SRCHCNT
1002 JMP SRCHLP
1003 JMP I SRCH
1004
1005 SRCHGOT,TAD TEMP
1006 JMP I SRCH
1007
1008 SRCHCNT,-400
1009 LOOK4, 0
1010 / **** NOTE: ALL HANDLERS SHOULD BE PADDED OUT TO FILL PAGE
1011 / WITH ZEROES
1012 /BUILD SHOULD WRITE ZEROES IN 2ND PAGE OF ONE PAGE HANDLER
1013 \f/SPECIAL PURPOSE ROUTINES
1014
1015 QPTP,
1016 QPTR, STA
1017 DCA MASK
1018 TAD (-6021
1019 JMS SRCH
1020 SZA CLA
1021 JMP ZPT8E
1022 JMP ZLSPT
1023
1024 /FOR TYPE PTR
1025 / IF HANDLER CONTAINS A 6021 IT IS A PT8E
1026 / OTHERWISE IT IS A LSPT
1027
1028 QCR8E, TAD (104
1029 JMS HNDGET
1030 TAD (-3203
1031 SNA
1032 JMP Z029
1033 TAD (3203-7735
1034 SNA CLA
1035 JMP Z026
1036 JMP NOKIND
1037
1038 /FOR TYPE CR8E
1039 / IF REL LOC 104 IS A 3203 IT IN 029 KIND
1040 / IF REL LOC 104 IS A 7735 IT IS AN 026 KIND
1041 / OTHERWISE IT IS AN UNKNOWN KIND
1042
1043 QLPTR, STA
1044 DCA MASK
1045 TAD (-6652 /SEARCH FOR A 6652
1046 JMS SRCH
1047 SZA CLA
1048 JMP ZL645 /FOUND IT
1049 CLA IAC /LOOK AT REL LOC 1
1050 JMS HNDGET
1051 TAD (-4
1052 SNA
1053 JMP ZLV8E
1054 TAD (4-14
1055 SNA CLA
1056 JMP ZLPSV
1057 JMP NOKIND
1058
1059 /IF HANDLER CONTAINS A 6652 IT'S AN L645
1060 /OTHERWISE, DEPENDS ON REL LOC 1
1061 / IF REL LOC 1 IS A 14, IT'S A LPSV
1062 / IF REL LOC 1 IS A 4, IT'S A LV8E
1063 / OTHERWISE IT'S UNKNOWN (POSSIBLY OLD LP08 OR LS8E KIND)
1064
1065 MASK, 0
1066 \fQTD8E, JMS GETD77
1067 CIA
1068 TAD (10
1069 DCA TEMP
1070 TAD KTD8+1
1071 AND (7700
1072 TAD TEMP
1073 DCA KTD8+1
1074 TAD I PDHIT
1075 RTR
1076 RAR
1077 STA
1078 TAD TEMP
1079 CML RAL /TIMES 2 + LINK
1080 DCA UN
1081 JMP ZTD8
1082
1083 /FIGURE OUT KIND OF TD8E BY DEVICE CODE FOUND IN 67N1 INSTRUCTION
1084 / N TYPE
1085 / 7 TD8A
1086 / 6 TD8B
1087 /..
1088 / 1 TD8G
1089 / 0 TD8H
1090
1091 QTA8E, JMS GETD77
1092 IAC
1093 DCA TEMP
1094 TAD KTA8+1
1095 AND (7700
1096 TAD TEMP
1097 DCA KTA8+1
1098 STA
1099 TAD I PDHIT
1100 AND (177
1101 SNA CLA
1102 CLA IAC
1103 DCA UN
1104 STA
1105 TAD TEMP
1106 CLL RAL
1107 TAD UN
1108 DCA UN
1109 JMP ZTA8
1110 \f/FIGURE OUT KIND OF TA8E BY DEVICE CODE FOUND IN 67N1 INSTRUCTION
1111
1112 / N KIND
1113 / 0 TA8A
1114 / 1 TA8B
1115 /...
1116 / 6 TA8G
1117 / 7 TA8H
1118 PAGE
1119 \f/DECIMAL PRINT
1120 /LINK OFF MEANS PRINT LEADING SPACES
1121 /LINK ON MEANS DON'T PRINT LEADING SPACES OR ZEROS
1122
1123 DPRINT, 0
1124 DCA DTM
1125 RAR
1126 DCA LNK
1127 DCA ZFLG
1128 TAD (DLST
1129 DCA PLST
1130 DPL2, DCA DYG
1131 DPLUP, TAD I PLST
1132 SNA
1133 JMP I DPRINT
1134 CLL
1135 TAD DTM
1136 SNL
1137 JMP NEGG
1138 ISZ DYG
1139 DCA DTM
1140 JMP DPLUP
1141
1142 NEGG, CLA
1143 TAD DYG
1144 TAD ZFLG
1145 SNA
1146 JMP PRBLNK
1147 TAD (60
1148 JMS PUTO
1149 STL CLA RAR /4000
1150 DCA ZFLG
1151 ISZZ, ISZ PLST
1152 JMP DPL2
1153
1154 PRBLNK, TAD LNK
1155 CLL RAL
1156 TAD L40
1157 SNL
1158 JMS PUTO
1159 CLA
1160 JMP ISZZ
1161 DYG, 0
1162 PLST, 0
1163 ZFLG, 0 /4000 MEANS PASSED LEADING ZEROES
1164 \f/PRINTS A 2-DIGIT OCTAL NUMBER WITH LEADING 0'S
1165
1166 OPRINT, 0
1167 DCA OTEM
1168 TAD OTEM
1169 RTR
1170 RAR
1171 JMS OPRI
1172 TAD OTEM
1173 JMS OPRI
1174 JMP I OPRINT
1175
1176 OPRI, 0
1177 AND (7
1178 TAD (260
1179 JMS PUTO
1180 JMP I OPRI
1181
1182 PRINT4, 0
1183 DCA DTM
1184 TAD DTM
1185 JMS RTR6
1186 JMS OPRINT
1187 TAD DTM
1188 JMS OPRINT
1189 JMP I PRINT4
1190
1191 DTM, 0
1192
1193 PUTPAK, 0
1194 DCA DTM
1195 TAD DTM
1196 JMS RTR6
1197 JMS PR
1198 JMS BLNKIT
1199 TAD DTM
1200 JMS PR
1201 JMS BLNKIT
1202 JMP I PUTPAK
1203
1204 BLNKIT, 0
1205 TAD FAST
1206 SZA CLA
1207 TAD L40
1208 JMS PR
1209 L40, 40 /CAN'T HURT TO CALL PR WITH A 0
1210 JMP I BLNKIT
1211 \fLNK,
1212 VERSN, 0
1213 JMS PUTSP
1214 TAD BLOC
1215 SNA CLA
1216 JMP SYSV /TEMP (ENTRY PT IS IN FIELD 1 7600
1217 TAD I PDHIT
1218 AND (177
1219 TAD BLOC
1220 GOVR, DCA DTM
1221 JMS GETV
1222 CLL IAC
1223 TAD (-34
1224 SZL CLA
1225 JMP NOOOP
1226 JMS GETV
1227 PUTVR, SZA
1228 TAD L40
1229 TAD L40
1230 JMS PUTO
1231 JMP I VERSN
1232
1233 OTEM,
1234 GETV, 0
1235 CDF 0
1236 TAD I DTM
1237 CDF 10
1238 JMP I GETV
1239
1240 NOOOP, STA
1241 TAD DTM /SCAN BACKWARDS FOR HANDLER VERSION # (LT 33)
1242 JMP GOVR
1243
1244 SYSV, TAD I PDHRT
1245 AND (177
1246 TAD (INPBL0+200
1247 DCA DTM
1248 TAD I DTM
1249 CLL
1250 TAD (-34
1251 SNL CLA
1252 TAD I DTM /PRINT BAD VERSION # AS SPACE
1253 JMP PUTVR
1254 PAGE
1255 \fMONVER, 0
1256 TAD FAST
1257 SNA CLA
1258 JMP I MONVER
1259 TAD I (1400
1260 TAD (-7607
1261 SNA
1262 JMP NOTV3
1263 TAD (7607+60
1264 DCA TEMPX
1265 TAD I (1400+31
1266 DCA TMPTWO
1267 OS8, TAD ("O
1268 JMS PUTO
1269 MONV2, JMS PRINT
1270 TEXT \S/8 V\
1271 TAD TEMPX
1272 JMS PUTO
1273 TAD TMPTWO
1274 JMS PUTO
1275 JMS CRLF
1276 JMP I MONVER
1277
1278 TMPTWO, 0
1279 TEMPX, 0
1280
1281 NOTV3, TAD (40
1282 DCA TMPTWO
1283 /CHECK FOR PS/8 AND COS
1284 JMP OS8
1285 \fLIST2, DEVICE LPT
1286 DEVICE TTY
1287 DEVICE PTR
1288 DEVICE PTP
1289 DEVICE CDR
1290 DEVICE SYS
1291 DEVICE DSK
1292 DEVICE CDP
1293 / DEVICE DEV
1294 / DEVICE OUT
1295 / DEVICE INP
1296 DEVICE BAT
1297 DEVICE NULL /SHOULD BE IN NEXT TABLE
1298 DEVICE LST /V3C
1299 DEVICE DUMP
1300 DEVICE SLU
1301 DEVICE LQP
1302 ZBLOCK 10 /PATCH SPACE
1303 0
1304
1305 /LIST3, DEVICE NULL
1306 / DEVICE TEST
1307 / DEVICE LIST
1308 / DEVICE DUMP /V3C
1309 / ZBLOCK 2 /PATCH SPACE
1310 / 0
1311
1312 /INTERESTING NOTE: 'BAT', 'FOO2' AND 'RKC6' ALL HASH OUT TO 6601
1313 /** WANT TO CHANGE AIW PRINTER TO SAY 'NO' ADDITIONAL INFO WORDS
1314 /IF THERE ARE NONE.
1315 \f/DTN
1316 /DKN
1317 GOTIT, TAD FAST
1318 SZA CLA
1319 JMS PUTSP
1320 TAD (LFT
1321 JMS PUTNAM
1322 TAD FAST
1323 SZA CLA
1324 JMS PUTSP
1325 JMP NAMLV
1326 \fTABASE, 4040;4040 /0
1327 DEVICE PT8E /1
1328 DEVICE KS33 /2
1329 DEVICE 029 /3
1330 DEVICE 026 /4
1331 DEVICE LV8E /5
1332 DEVICE LPSV /6
1333 DEVICE L645 /7
1334 KTD8, DEVICE TD8 /10
1335 KTA8, DEVICE TA8 /11
1336 DEVICE AS33 /12
1337 DEVICE RK01 /13
1338 DEVICE RK05 /14
1339 DEVICE KL8E /15
1340 DEVICE XTRA /16
1341 TEXT / =1/ /17
1342 TEXT / =2/ /20
1343 TEXT / =3/ /21
1344 TEXT / =4/ /22
1345 DEVICE LQP /23
1346 PAGE
1347 \f/FORMAT OF SYSTEM HEAD FILE
1348
1349 /REL BLK CONTENTS ABS BLK ON DEV
1350
1351 /0 BOOTSTRAP & PAGE 0'S 0
1352 /1-4 KEYBOARD MONITOR 7-12
1353 /5-7 USR 13-15
1354 /10-17 DEVICE HANDLERS 16-25
1355 /20 ENTER 26
1356 /21-42 SCRATCH BLOCKS 27-50
1357 /43-45 COMMAND DECODER 51-53
1358 /46-47 SAVE,DATE 54-55
1359 /50 ERROR OVERLAY 56
1360 /51 CHAIN OVERLAY 57
1361 /52-55 ODT 60-63
1362 /56 RESERVED FOR EXPN 64
1363 /57 CCL SCRATCH 65
1364 /60 12K TD8E HANDLER 66
1365 /61 CCL OVERLAY 67
1366 \f/DIR DID NOT GET IN CORE ON /F?
1367
1368 DEV, DCA BLCK0
1369 TAD (66
1370 DCA BLCK66
1371 TAD (7
1372 DCA KBM
1373 TAD (13
1374 DCA USRBLK
1375 CDF 0
1376 TAD I (4001 /GET STARTING BLOCK # OF FILES
1377 CDF 10
1378 TAD (-7
1379 SNA CLA
1380 JMP NONSYS /FILES START AT BLOCK 7 OF DEVICE
1381 TAD (16
1382 /CHECK TO SEE THAT DEVICE HAS SYSTEM ON IT
1383 JMP RD
1384
1385 NONSYS, JMS PRINT
1386 TEXT /%NON SYSTEM DEVICE/
1387 JMP NEXT
1388
1389 BADFIL, JMS PRINT
1390 TEXT /%NOT A SYSTEM HEAD/
1391 JMP NEXT
1392
1393 BADMON, JMS PRINT
1394 TEXT /%BAD MONITOR/
1395 JMP NEXT
1396 \fDVALID, 0
1397 STL CLA RAR /4000
1398 DCA DIRPTR
1399 JMS GETDIR
1400 CLL
1401 TAD (200
1402 SNL CLA
1403 JMP BADDIR
1404 JMS GETDIR
1405 SNA
1406 JMP BADDIR
1407 TAD (-400 /REMEMBER COS
1408 SMA CLA
1409 JMP BADDIR
1410 JMS GETDIR
1411 CLA /LINKS THOROUGHLY CHECKED ELSEWHERE
1412 JMS GETDIR
1413 SNA
1414 JMP OKDIR
1415 TAD (-1400
1416 CLL
1417 TAD (-1000
1418 SZL CLA
1419 JMP BADDIR
1420 OKDIR, JMS GETDIR
1421 SPA SNA CLA
1422 JMP I DVALID
1423 BADDIR, JMS PRINT
1424 TEXT \?BAD DIRECTORY\
1425 JMP LVDIR
1426 \fUNIT, 0
1427 JMS PUTSP
1428 TAD BLOC
1429 SNA CLA
1430 JMP TSTSUN
1431 TAD UN
1432 SPA
1433 TAD (40+1-60
1434 ZOUN, TAD (60
1435 JMS PUTO
1436 JMP I UNIT
1437
1438 TSTSUN, TAD I PDHRT
1439 TAD (-7607
1440 SZA CLA
1441 CLA IAC /ASSUME CORESIDENT HANDLERS ARE UNIT 1
1442 JMP ZOUN /ELSE, NO UNIT
1443 PAGE
1444 \fHNDLRS, 0
1445 TAD SBLOCK
1446 SNA /IS IT A FILE?
1447 JMP DEV /NO
1448 DCA BLCK0 /YES
1449 TAD BLCK0
1450 TAD (60
1451 DCA BLCK66
1452 TAD FILEN
1453 TAD (-6340
1454 SZA CLA
1455 JMP BADFIL /FILE DOESN'T HAVE LENGTH 50 (DECIMAL)
1456 TAD BLCK0
1457 IAC
1458 DCA KBM
1459 TAD BLCK0
1460 TAD (5
1461 DCA USRBLK
1462 TAD BLCK0
1463 TAD (10
1464 RD, DCA HNDBLK
1465 JMS READI /READ IN BLOCK 0
1466 210 /2 PAGES
1467 INPBL0
1468 FREEDV, /# OF FREE DEVICE NUMBERS
1469 BLCK0, 0
1470 TAD I (INPBL0+212 /** DEPENDS ON TD8E HANDLER
1471 TAD (-3
1472 SZA CLA /IS IT 12K TD8E?
1473 JMP NOTD8E /NO
1474 JMS READI /YES
1475 110 /1 PAGE
1476 INPBL0
1477 BLCK66, 66
1478 NOTD8E, TAD I (INPBL0+200
1479 TAD (-4207
1480 SZA CLA
1481 JMP BADMON /BAD MONITOR ON DEVICE
1482 DCA 7 /DELETE CURRENT USR DIRECTORY SEGMENT
1483 /SINCE KBM READS OVER IT
1484 JMS READI /READ IN KEYBOARD MONITOR
1485 211 /ONLY FIRST 2 PAGES
1486 INPKBM
1487 KBM, 7
1488 JMS READI /READ IN USR
1489 611 /6 PAGES
1490 INPUSR
1491 USRBLK, 13
1492 JMS READI /READ IN ALL HANDLERS (EXCEPT 2ND PAGE OF LAST ONE)
1493 1700 /17 PAGES
1494 INPHND
1495 HNDBLK, 16
1496 TAD (-17
1497 DCA CNT
1498 DCA FREEDV
1499 JMS ZEROSL
1500 DCA DEVNUM
1501 JMS SETPTS
1502 JMS HEADING
1503 LOOP, ISZ DEVNUM /PT TO NEXT HANDLER
1504 TAD I PDNT /LOOK AT DEVICE NAME
1505 SNA CLA
1506 JMP NOXXT
1507 TAD EXTEN
1508 SNA CLA
1509 JMP NONUM
1510 TAD DEVNUM
1511 JMS OPRINT
1512 NONUM, TAD I PDNT
1513 JMS NAME /PRINT NAME
1514 TAD FAST
1515 SNA CLA
1516 JMP NEXXT
1517 JMS TIPE /PRINT TYPE
1518 TAD EXTEN
1519 SNA CLA
1520 JMP PUSER
1521 JMS MODE /PRINT MODE
1522 JMS SIZE /PRINT SIZE
1523 JMS BLOCK /PRINT BLOCK # OF LOC OF HANDLER
1524 STA
1525 DCA UN
1526 JMS KIND /PRINT KIND
1527 JMS VERSN /PRINT HANDLER VERSION #
1528 JMS ENTRY
1529 PUSER, TAD I PUDNT
1530 SNA CLA
1531 JMP EOL
1532 TAD I PUDNT
1533 JMS NAME /PRINT USER NAME
1534 EOL, JMS CRLF
1535 NEXXT, ISZ PDNT
1536 ISZ PUDNT
1537 ISZ PDHIT
1538 ISZ PDCWT
1539 ISZ PDHRT
1540 ISZ CNT
1541 JMP LOOP
1542 JMS CRLF
1543 JMP I HNDLRS
1544
1545 NOXXT, ISZ FREEDV
1546 JMP NEXXT
1547 \f PAGE
1548 \fHEADING,0
1549 TAD FAST
1550 SNA CLA
1551 JMP I HEADING
1552 TAD EXTEN
1553 SNA CLA
1554 JMP REGLR
1555 JMS PRINT
1556 TEXT /# NAME TYPE MODE SIZ BLK KIND U V ENT USER/
1557 JMP HDLV
1558 REGLR, JMS PRINT
1559 TEXT / NAME TYPE USER/
1560 HDLV, JMS CRLF
1561 JMP I HEADING
1562 \fSETPTS, 0
1563 TAD I (INPUSR+36
1564 TAD (INPUSR
1565 DCA PDNT
1566 TAD FLAG
1567 SZA CLA
1568 TAD (7741-141-INPBL0
1569 TAD (INPBL0+141
1570 DCA PUDNT
1571 /CHANGE FOR FLAG?
1572 TAD I (INPUSR+37
1573 TAD (INPUSR
1574 DCA PDHIT
1575 /FLAG?
1576 TAD (INPBL0+160
1577 DCA PDCWT
1578 TAD (INPBL0+47
1579 DCA PDHRT /DEVICE HANDLER RESIDENCY TABLE
1580 JMP I SETPTS
1581 \fCODE, 0 /DEVICE CODE
1582
1583 NNAME, 0
1584 DCA TIPE
1585 TAD ("(
1586 JMS PUTO
1587 TAD TIPE
1588 JMS PRINT4
1589 TAD (")
1590 JMS PUTO
1591 JMP I NNAME
1592
1593 TIPE, 0
1594 TAD I PDCWT
1595 RTR
1596 RAR
1597 AND (77
1598 DCA CODE
1599 TAD CODE
1600 CLL RTL
1601 TAD (TYPTBL
1602 DCA PTYP
1603 JMS GETTYP
1604 ISZ PTYP
1605 SNA
1606 JMP UNKN
1607 JMS PUTPAK
1608 JMS GETTYP
1609 JMS PUTPAK
1610 ISZ PTYP /POINT TO SIZE
1611 JMP I TIPE
1612 UNKN, JMS PUTSP
1613 TAD CODE
1614 JMS OPRINT
1615 JMS PUTSP
1616 ISZ PTYP
1617 JMP I TIPE
1618 \fSIZE, 0
1619 JMS GETTYP
1620 CIA
1621 CLL
1622 JMS DPRINT
1623 JMS PUTSP
1624 ISZ PTYP /POINT TO KIND SUBROUTINE
1625 JMP I SIZE
1626
1627 QLPTRX, TAD I PDHIT
1628 SMA CLA /1 OR 2 PAGE?
1629 JMP QLPTR /1 PG
1630 JMP ZLQP /2 PG
1631 PAGE
1632 \fMODE, 0
1633 JMS PUTSP
1634 TAD (-4
1635 DCA MKNT
1636 TAD I PDCWT
1637 RTL
1638 RAL
1639 JMS MSET
1640 "R
1641 TAD I PDCWT
1642 RTL
1643 JMS MSET
1644 "W
1645 TAD I PDCWT
1646 RAL
1647 CML
1648 JMS MSET
1649 "F
1650 JMS PUTSP
1651 ISZ MKNT
1652 JMP .-3
1653 JMP I MODE
1654
1655 MSET, 0
1656 CLA
1657 TAD I MSET
1658 DCA MCHAR
1659 ISZ MSET
1660 SZL
1661 JMP I MSET
1662 ISZ MKNT
1663 TAD MCHAR
1664 JMS PUTO
1665 JMP I MSET
1666
1667 MKNT, 0
1668 \fET,
1669 BLOCK, 0
1670 TAD I PDHIT
1671 JMS RTL6
1672 AND (17
1673 SNA
1674 JMP SYS
1675 DCA SLTM
1676 STA
1677 TAD SLTM
1678 CLL RTR
1679 RTR
1680 RAR
1681 TAD (INPHND
1682 DCA BLOC
1683 TAD SLTM
1684 TAD (15
1685 JMS OPRINT
1686 TAD I PDHIT
1687 SMA CLA
1688 TAD (40-"+
1689 TAD ("+
1690 JMS PUTO /"+" MEANS 2 PAGE HANDLER
1691 TAD SLTM
1692 TAD (SLOTAB-1
1693 DCA SLTM
1694 ISZ I SLTM
1695 JMP I BLOCK
1696 SYS, JMS PRINT
1697 TEXT /SYS/
1698 DCA BLOC /0 MEANS RESIDENT WITH SYS:
1699 JMP I BLOCK
1700
1701 MCHAR,
1702 ENTRY, 0
1703 JMS PUTSP
1704 TAD BLOC
1705 SNA CLA
1706 JMP SYSENT
1707 TAD I PDHIT
1708 EN2, DCA ET
1709 TAD ET
1710 JMS RTR6
1711 AND (1
1712 SZA
1713 TAD (20
1714 TAD (40
1715 JMS PUTO
1716 TAD ET
1717 JMS OPRINT
1718 JMP I ENTRY
1719
1720 SYSENT, TAD I PDHRT
1721 JMP EN2
1722 \fSLTM, 0
1723
1724 SLKNT,
1725 ZEROSL, 0
1726 TAD (-10
1727 DCA SLTM
1728 TAD (SLOTAB-1
1729 DCA X0
1730 DCA I X0
1731 ISZ SLTM
1732 JMP .-2
1733 JMP I ZEROSL
1734
1735 CNTSLT, 0
1736 TAD (-10
1737 DCA SLTM
1738 DCA SLKNT
1739 TAD (SLOTAB-1
1740 DCA X0
1741 CNSLP, TAD I X0
1742 SNA CLA
1743 ISZ SLKNT
1744 ISZ SLTM
1745 JMP CNSLP
1746 JMS PRFREE
1747 JMS CRLF
1748 JMP I CNTSLT
1749 PAGE
1750 \f FIELD 0
1751
1752 *2000
1753
1754 / DEVICE LENGTH TABLE
1755
1756 /FORMAT OF THIS TABLE:
1757
1758 /1,2 DEVICE GENERALIZED NAME (CORR TO TYPE)
1759 /3 NEG OF LENGTH
1760 /4 ADDRESS OF SUBR IN FIELD 1 FOR SPECIALIZATION
1761
1762 TYPTBL, DEVICE TTY ;0000;QTTY /0
1763 DEVICE PTR ;0000;QPTR /1
1764 DEVICE PTP ;0000;QPTP /2
1765 DEVICE CR8E;0000;QCR8E /3
1766 DEVICE LPTR;0000;QLPTRX /4 V3D
1767 DEVICE RK8 ;1520;QRK8 /5
1768 DEVICE RF08;6001;PLAT1 /6 V3C
1769 DEVICE RF08;4002;PLAT2 /7
1770 DEVICE RF08;2003;PLAT3 /10
1771 DEVICE RF08;0004;PLAT4 /11 RF'S NOW ONLY HAVE LOGICALLY 1777 BLOCKS
1772 DEVICE DF32;7601;PLAT1 /12
1773 DEVICE DF32;7402;PLAT2 /13 V3C
1774 DEVICE DF32;7203;PLAT3 /14
1775 DEVICE DF32;7004;PLAT4 /15 DF'S HAVE 177 BLOCKS
1776 DEVICE TC08;6437;QTC08 /16
1777 DEVICE LINC;6437;QLINC /17
1778 DEVICE TM8E;0000;0 /20
1779 DEVICE TD8E;6437;QTD8E /21
1780 DEVICE BAT ;0000;0 /22
1781 DEVICE RK8E;1520;QRK8E /23
1782 DEVICE NULL;0000;0 /24
1783 DEVICE RX8E;7022;0 /25
1784 ZBLOCK 4 /26
1785 DEVICE TA8E;0000;QTA8E /27
1786 DEVICE VR12;0000;0 /30
1787 ZBLOCK 4 /31
1788 ZBLOCK 4 /32
1789 ZBLOCK 4 /33
1790 ZBLOCK 4 /34
1791 ZBLOCK 4 /35
1792 DEVICE DUMP;0000;0 /36
1793 ZBLOCK 4 /37
1794 ZBLOCK TYPTBL+400-.
1795 PAGE
1796 \f FIELD 1
1797 *2000
1798 $