Commit | Line | Data |
---|---|---|
7af5ad59 PH |
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 | $ |