Commit | Line | Data |
---|---|---|
7af5ad59 PH |
1 | /11 OS8 CAMP |
2 | ||
3 | / | |
4 | /S.R. | |
5 | / | |
6 | / | |
7 | /CASSETTE & MAGTAPE POSITIONER (CAMP) | |
8 | / | |
9 | / | |
10 | / | |
11 | / | |
12 | / | |
13 | / | |
14 | /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE VITHOUT NOTICE | |
15 | /AND SHOULD NOT BE CONTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT | |
16 | /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY | |
17 | /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. | |
18 | / | |
19 | /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER | |
20 | /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED | |
21 | /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH | |
22 | /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. | |
23 | / | |
24 | /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE | |
25 | /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY | |
26 | /DIGITAL. | |
27 | / | |
28 | / | |
29 | / COPYRIGHT (C) 1973,1975,1977 BY DIGITAL EQUIPMENT CORPORATION. | |
30 | / | |
31 | / | |
32 | / | |
33 | / | |
34 | \f | |
35 | / MUST SKIP LOCS 1000-1377 | |
36 | ||
37 | LINBUF=1000 | |
38 | ||
39 | XR1=11 | |
40 | XR2=12 | |
41 | XR3=13 | |
42 | ||
43 | *20 | |
44 | ||
45 | TEMP, 0 | |
46 | T, 0 | |
47 | T2, 0 | |
48 | LINPTR, 0 | |
49 | T3, 0 | |
50 | FLAG, 0 | |
51 | SPKNT, 0 | |
52 | DEVTYP, 0 /DEVICE TYPE (BITS 6-11) | |
53 | ENTRY, 0 /HANDLER ENTRY POINT | |
54 | NUM, 0 | |
55 | TYP, 0 /0 MEANS 'F', 1 MEANS 'R' | |
56 | T4, 0 | |
57 | DEVNUM, 0 | |
58 | DCW, 0 /DEVICE CONTROL WORD | |
59 | DCWPTR, 0 | |
60 | USR, 200 /POINTS TO USR ENTRY POINT | |
61 | ESCBIT, 0 /1 MEANS USER TYPED ALTMODE | |
62 | CNT, 0 | |
63 | CTOFLG, 0 /-1 MEANS SAW ^O | |
64 | COUNT, 0 | |
65 | PTR, 0 | |
66 | DHIT, 0 /DEVICE HANDLER INFO TABLE - 1 | |
67 | DHI, 0 /DEVICE HANDLER INFO | |
68 | DBLK, 0 /DEVICE HANDLER BLOCK | |
69 | VNOPTR, 0 /PTS TO VERSION # IN HANDLER | |
70 | VNO, 0 /CURRENT HANDLER VERSION NUMBER | |
71 | SAVPTR, 0 | |
72 | NO, 0 /1 MEANS 'NO' | |
73 | FLG, 1 /1 MEANS SAW NO DIGITS | |
74 | P, 0 | |
75 | RR, 0 | |
76 | NUCODE, 0 | |
77 | ||
78 | / MAGTAPE SPECIAL CODES | |
79 | ||
80 | REWKOD=1 | |
81 | SKFKOD=3 /SKIP FORWARD FILE | |
82 | UNLKOD=4 | |
83 | EOFKOD=5 | |
84 | SKPKOD=2 /FORWARD RECORD | |
85 | BAKKOD=SKPKOD+4000 | |
86 | BKFKOD=SKFKOD+4000 | |
87 | ||
88 | DTLA=6766 | |
89 | ||
90 | /0000-0777 /CAMP | |
91 | /1000-1377 /OS/8 LINE BUFFER | |
92 | /1400-1777 /PS/8 LINE BUFFER | |
93 | /2000- /CAMP | |
94 | /7000-7177 /I/O BUFFER | |
95 | /7200-7577 /OS/8 HANDLER | |
96 | /7600-7777 /OS/8 | |
97 | ||
98 | DLDC=6746 | |
99 | DLAG=6743 | |
100 | PAGE | |
101 | \f *200 | |
102 | ||
103 | START, SKP | |
104 | JMP CHN | |
105 | TAD ("# | |
106 | JMS I [TYPE | |
107 | JMS I [READ /READ A LINE INTO OS/8 LINE BUFFER | |
108 | CHN, TAD [LINBUF /CHAIN ENTRY ADDRESS | |
109 | DCA LINPTR /INITIALIZE POINTER TO LINE BUFFER | |
110 | STA | |
111 | JMS I [SPACE /IGNORE LEADING SPACES | |
112 | JMS GETTWO /GET TWO CHARS | |
113 | DCA TEMP | |
114 | JMS I [SCAN /SCAN PAST EXTRA LETTERS OR DIGITS | |
115 | TAD TEMP | |
116 | JMS I [BRANCH /GO TO APPROPRIATE ROUTINE | |
117 | -2313;SKIP /SK | |
118 | -0517;EOF /EO | |
119 | -0201;BACK /BA | |
120 | -2205;REWIND /RE | |
121 | -2516;UNLOAD /UN | |
122 | -2605;VERSION /VE | |
123 | -1005;HELP /HE | |
124 | -2664;V4 /V4 | |
125 | -2305;SYNTAX /SE | |
126 | SETLOC=.-1 | |
127 | 0 | |
128 | SNA CLA | |
129 | JMP I [GOAWAY | |
130 | JMP I [SYNTAX /NONE OF THESE | |
131 | ||
132 | /V1 FEATURES: | |
133 | /FIXES SINCE FIELD TEST RELEASE: | |
134 | ||
135 | /1. ADDED CASSETTE SUPPORT | |
136 | /2. FIXED BUG RE IMMEDIATE ALTMOD | |
137 | /3. CHANGED SPECIAL CODES TO AGREE WITH NEW MAGTAPE HANDLER | |
138 | /4. IGNORE NULLS ON INPUT | |
139 | /5. ALLOW UNLOADING AN RK8E | |
140 | ||
141 | /CHANGES MADE TO V3: | |
142 | ||
143 | /1. SET COMMAND IMPLEMENTED | |
144 | ||
145 | /MAINTENANCE RELEASE CHANGES: | |
146 | ||
147 | /1. TOOK OUT 'SET' SINCE WE DON'T WANT TO SUPPORT IT | |
148 | / UNTIL OS/8 V4 | |
149 | /2. FIXED BUG RE AT EOF AND BOF MESSAGES | |
150 | /3. CHANGED CAMP TO USE NEW TM8E HANDLER | |
151 | / NOTE: CAMP WILL NOT WORK PROPERLY WITH | |
152 | / TM8E HANDLERS PRIOR TO VERSION F | |
153 | /4. PROPERLY FIND EOT EVEN IF WE'RE JUST | |
154 | / BEFORE A FILE MARK. | |
155 | /5. GIVE AT BOT OR EOT MESSAGE IF SEE REFLECTIVE SPOT | |
156 | /6. CHANGED VERSION NUMBER TO V4 | |
157 | /7. ENSURE THAT USER CAN'T PASS OVER EOD | |
158 | ||
159 | /V3D CHANGES: | |
160 | ||
161 | /1. FIXED BUG WITH UNLOADING RKS | |
162 | \f/ GETTWO | |
163 | ||
164 | /GET TWO LETTERS OR DIGITS FROM INPUT LINE, PACK IN SIXBIT | |
165 | /ADVANCE PAST THEM. SUBSTITUTE NULL IF NOT FOUND. | |
166 | ||
167 | GETTWO, 0 | |
168 | JMS GETSIX | |
169 | CLL RTL | |
170 | RTL | |
171 | RTL | |
172 | DCA T2 | |
173 | JMS GETSIX | |
174 | TAD T2 /COMBINE | |
175 | JMP I GETTWO | |
176 | ||
177 | GETSIX, 0 /GET A SIXBIT LETTER OR DIGIT (OR NULL) | |
178 | JMS ALPHA /IS IT ALPHANUMERIC? | |
179 | JMP NOTALPH /NO | |
180 | AND [77 /YES | |
181 | JMP I GETSIX /TRUNCATE TO SIXBIT | |
182 | NOTALPH,CLA | |
183 | JMS BACKC | |
184 | JMP I GETSIX /RETURN NULL | |
185 | ||
186 | GETC, 0 /GET A CHARACTER, ADVANCE POINTER | |
187 | TAD I LINPTR | |
188 | AND [177 /ALWAYS RETURN 8-BIT | |
189 | SZA | |
190 | TAD [200 /WITH HIGH ORDER BIT ON | |
191 | ISZ LINPTR /ADVANCE SCAN | |
192 | JMP I GETC /RETURN | |
193 | ||
194 | BACKC, 0 /MOVE SCAN POINTER BACK ONE | |
195 | STA | |
196 | TAD LINPTR | |
197 | DCA LINPTR | |
198 | JMP I BACKC /RETURN | |
199 | \f/RETURN 1 NOT OF TYPE DESIRED | |
200 | /RETURN 2 DESIRED TYPE | |
201 | /IN BOTH CASES, CHAR IS LEFT IN AC | |
202 | ||
203 | ALPHA, 0 /LOOK FOR ALPHANUMERIC | |
204 | JMS I [GETC | |
205 | JMS LETTER /IS IT A LETTER? | |
206 | JMP TRYDIG /NO, TRY DIGIT | |
207 | JMP GOTAL /YES | |
208 | TRYDIG, JMS DIGIT /IS IT A DIGIT? | |
209 | JMP I ALPHA /NO, AINT LETTER OR DIGIT | |
210 | GOTAL, ISZ ALPHA /YES, EITHER LETTER OR DIGIT | |
211 | JMP I ALPHA /RETURN WITH IT IN AC | |
212 | ||
213 | LETTER, 0 /LOOK FOR LETTER | |
214 | TAD (-"A | |
215 | CLL | |
216 | TAD ("A-"Z-1 | |
217 | SNL | |
218 | ISZ LETTER | |
219 | TAD ("Z+1 /RESTORE CHAR | |
220 | JMP I LETTER | |
221 | ||
222 | DIGIT, 0 /LOOK FOR DIGIT | |
223 | TAD (-"0 | |
224 | CLL | |
225 | TAD ("0-"9-1 /(DECIMAL) | |
226 | SNL | |
227 | ISZ DIGIT | |
228 | TAD ("9+1 /RESTORE DIGIT TO CHARACTER FORM | |
229 | JMP I DIGIT /AND RETURN WITH IT IN AC | |
230 | PAGE | |
231 | \fSYNTAX, CLA | |
232 | JMS PRINT | |
233 | TEXT /? SYNTAX ERROR/ | |
234 | GOAWAY, TAD ESCBIT | |
235 | SZA CLA | |
236 | JMP I [7605 /LINE ENDED WITH ESCAPE | |
237 | TAD I [READ /WAS 'READ' EVER CALLED? | |
238 | SZA CLA | |
239 | JMP I [START /YES, GET A NEW LINE | |
240 | JMP I [7605 /NO, WE MUST'VE BEEN CHAINED TO, RECALL KBM | |
241 | ||
242 | PRINT, 0 | |
243 | TAD I PRINT | |
244 | RTR | |
245 | RTR | |
246 | RTR | |
247 | JMS PRIN | |
248 | TAD I PRINT | |
249 | JMS PRIN | |
250 | ISZ PRINT | |
251 | JMP PRINT+1 | |
252 | LV, JMS I [CRLF | |
253 | ISZ PRINT | |
254 | JMP I PRINT | |
255 | ||
256 | PRIN, 0 | |
257 | AND [77 | |
258 | SNA | |
259 | JMP LV | |
260 | TAD [240 | |
261 | AND [77 | |
262 | TAD [240 | |
263 | DCA T3 | |
264 | TAD [200 | |
265 | KRS | |
266 | TAD (-203 | |
267 | SNA | |
268 | JMP CTRLC | |
269 | TAD (203-217 /^O | |
270 | SNA CLA | |
271 | JMS CTRLO | |
272 | TAD T3 | |
273 | JMS I [TYPE | |
274 | JMP I PRIN | |
275 | \fCTRLC, TAD ["^ | |
276 | JMS I [TYPE | |
277 | TAD ("C | |
278 | JMS I [TYPE /ECHO "^C" | |
279 | JMS I [DELAYY | |
280 | JMP I [7600 /THEN GO AWAY | |
281 | CTRLO, 0 | |
282 | KCC /CLEAR OUT ^O | |
283 | TAD ["^ | |
284 | JMS I [TYPE | |
285 | TAD ("O | |
286 | JMS I [TYPE | |
287 | JMS I [CRLF | |
288 | STA | |
289 | DCA CTOFLG /STOP ECHOING | |
290 | JMP I CTRLO | |
291 | ||
292 | VERSION,JMS PRINT | |
293 | TEXT \OS/8 CAMP V5A\ | |
294 | JMP I [START | |
295 | NUMBIG, JMS PRINT | |
296 | TEXT /? NUMBER TOO BIG/ | |
297 | JMP I [GOAWAY | |
298 | \fNONEX, JMS PRINT | |
299 | TEXT /? CAN'T - DEVICE DOESN'T EXIST/ | |
300 | JMP I [GOAWAY | |
301 | ||
302 | SYSERR, JMS PRINT | |
303 | TEXT \? I/O ERROR ON SYS:\ | |
304 | JMP I [GOAWAY | |
305 | PAGE | |
306 | \fHELP, JMS I [PRINT | |
307 | TEXT /BACKSPACE DEV: N FILES/ | |
308 | JMS I [PRINT | |
309 | TEXT /BACKSPACE DEV: N RECORDS/ | |
310 | JMS I [PRINT | |
311 | TEXT /EOF DEV:/ | |
312 | H2, JMP H1 / JMS I [PRINT | |
313 | TEXT /SET DEV: [NO] ATTRIB [N]/ | |
314 | H1, JMS I [PRINT | |
315 | TEXT /SKIP DEV: N FILES/ | |
316 | JMS I [PRINT | |
317 | TEXT /SKIP DEV: N RECORDS/ | |
318 | JMS I [PRINT | |
319 | TEXT /SKIP DEV: EOD/ | |
320 | \f JMS I [PRINT | |
321 | TEXT /REWIND DEV:/ | |
322 | JMS I [PRINT | |
323 | TEXT /UNLOAD DEV:/ | |
324 | JMS I [PRINT | |
325 | TEXT /VERSION/ | |
326 | JMS I [PRINT | |
327 | TEXT /HELP/ | |
328 | JMP I [START | |
329 | \fBADEV, CLA | |
330 | JMS I [PRINT | |
331 | TEXT /? CAN'T FOR THIS DEVICE/ | |
332 | JMP I [GOAWAY | |
333 | ||
334 | V4, TAD (SET | |
335 | DCA I (SETLOC | |
336 | TAD H1 | |
337 | DCA H2 | |
338 | JMP I [START | |
339 | PAGE | |
340 | \f *2000 | |
341 | ||
342 | /ORIGIN PAST OS/8 LINE BUFFER AT 1000. | |
343 | /SKIP PAST PS/8 LINE BUFFER (AT 1400) JUST IN CASE | |
344 | /PS/8 USERS WISH TO PATCH THIS PROGRAM | |
345 | ||
346 | /SCAN PAST EXTRA LETTERS OR DIGITS | |
347 | ||
348 | SCAN, 0 | |
349 | JMS I [ALPHA | |
350 | JMP NOPE | |
351 | CLA | |
352 | JMP SCAN+1 | |
353 | NOPE, CLA | |
354 | JMS I [BACKC | |
355 | JMP I SCAN | |
356 | ||
357 | /SCAN PAST SPACES; GIVE ERROR IF NO SPACES FOUND UNLESS AC=-1 | |
358 | ||
359 | SPACE, 0 | |
360 | DCA FLAG /SET AC=-1 TO PREVENT ERROR ON NO SPACES FOUND | |
361 | DCA SPKNT /INITIALIZE SPACE COUNTER | |
362 | SKP /JUMP INTO LOOP | |
363 | GOTSP, ISZ SPKNT | |
364 | JMS I [GETC /GET NEXT CHAR | |
365 | TAD (-240 | |
366 | SNA CLA /IS IT A SPACE? | |
367 | JMP GOTSP /YES, COUNT IT | |
368 | JMS I [BACKC /NO, PUT IT BACK | |
369 | ISZ FLAG /CHECK FLAG | |
370 | SKP /USER DIDN'T SPECIFY FLAG | |
371 | JMP I SPACE /-0 MEANT DON'T CHECK IF FOUND SPACE | |
372 | TAD SPKNT /HOW MANY SPACES DID WE FIND? | |
373 | SZA CLA | |
374 | JMP I SPACE /SOME. OK | |
375 | JMP I [SYNTAX /NONE. TSK. TSK. | |
376 | \fBRANCH, 0 | |
377 | DCA T | |
378 | BR2, TAD I BRANCH | |
379 | ISZ BRANCH | |
380 | SNA | |
381 | JMP NOTFND | |
382 | TAD T | |
383 | SNA CLA | |
384 | JMP FOUND | |
385 | ISZ BRANCH | |
386 | JMP BR2 | |
387 | ||
388 | FOUND, TAD I BRANCH | |
389 | DCA T | |
390 | JMP I T /FOUND ITEM IN COLUMN 1, JUMP TO ADDRESS IN COL 2 | |
391 | ||
392 | NOTFND, TAD T | |
393 | JMP I BRANCH /IF NOT FOUND IN COL 1, RETURN WITH AC INTACT | |
394 | CHECKR, 0 | |
395 | TAD DCW | |
396 | RAL | |
397 | SMA CLA | |
398 | JMP I CHECKR | |
399 | RONLY, JMS I [PRINT | |
400 | TEXT /? CAN'T - DEVICE IS READ-ONLY/ | |
401 | JMP I [GOAWAY | |
402 | \fCHECKW, 0 | |
403 | TAD DCW | |
404 | RTL | |
405 | SMA CLA | |
406 | JMP I CHECKW | |
407 | WONLY, JMS I [PRINT | |
408 | TEXT /? CAN'T - DEVICE IS WRITE-ONLY/ | |
409 | JMP I [GOAWAY | |
410 | \fONUM, 0 | |
411 | DCA NUM | |
412 | CLA IAC | |
413 | DCA FLG | |
414 | ONM1, JMS I [GETC | |
415 | TAD (-"0-10 /CONVERT TO DIGIT | |
416 | CLL | |
417 | TAD (10 | |
418 | SNL | |
419 | JMP OEON | |
420 | DCA T4 | |
421 | DCA FLG | |
422 | TAD NUM | |
423 | AND [7000 | |
424 | SZA CLA | |
425 | JMP I [NUMBIG | |
426 | TAD NUM | |
427 | CLL RTL | |
428 | RAL | |
429 | TAD T4 | |
430 | DCA NUM | |
431 | JMP ONM1 | |
432 | OEON, CLA | |
433 | JMS I [BACKC | |
434 | TAD NUM | |
435 | JMP I ONUM | |
436 | PAGE | |
437 | \f/READ A LINE INTO OS/8 LINE BUFFER | |
438 | ||
439 | READ, 0 | |
440 | DCA CTOFLG /ALLOW ECHOING | |
441 | RD1, TAD [LINBUF | |
442 | DCA LINPTR | |
443 | DCA ESCBIT | |
444 | GT, JMS GET | |
445 | LOOK, JMS I [BRANCH | |
446 | -377;RUBOUT | |
447 | -217;GT /^O | |
448 | -203;CTRLC /^C | |
449 | -212;LF /LINE FEED | |
450 | -215;CR /CARRIAGE RETURN | |
451 | -375;ESCAPE /ALTMODE | |
452 | -376;ESCAPE /ALTMODE (2ND FLAVOR) | |
453 | -233;ESCAPE /ESCAPE | |
454 | -225;CTRLU /^U | |
455 | -200;GT /IGNORE NULLS | |
456 | 0 | |
457 | DCA TEMP /NONE OF THESE | |
458 | TAD LINPTR | |
459 | TAD (-LINBUF-377 | |
460 | SNA CLA /AT END OF LINE BUFFER? | |
461 | JMP GT /YES, DON'T ACCEPT CHAR | |
462 | TAD TEMP /NO, RETRIEVE CHAR | |
463 | JMS TYPE /ECHO IT | |
464 | TAD TEMP /INSERT IN BUFFER | |
465 | DCA I LINPTR | |
466 | ISZ LINPTR /BUMP POINTER | |
467 | JMP GT /NEXT | |
468 | ||
469 | CTRLU, TAD ["^ | |
470 | JMS TYPE | |
471 | TAD ("U | |
472 | JMS TYPE /ECHO "^U" <CR><LF> | |
473 | JMS I [CRLF | |
474 | JMP RD1 | |
475 | \fRUBOUT, TAD LINPTR | |
476 | TAD [-LINBUF | |
477 | SNA | |
478 | JMP BOL /AT BEGIN OF LINE | |
479 | TAD [LINBUF-1 | |
480 | DCA LINPTR /MOVE POINTER BACK ONE | |
481 | TAD ["\ | |
482 | JMS TYPE /ECHO "\" | |
483 | RUB3, TAD I LINPTR | |
484 | JMS TYPE /ECHO RUBBED-OUT CHARACTER | |
485 | GT2, JMS GET | |
486 | JMS I [BRANCH | |
487 | -377;RUB2 | |
488 | -216;GT2 /IGNORE ^O | |
489 | -203;CTRLC /^C | |
490 | 0 | |
491 | DCA TEMP /A NEW CHAR | |
492 | TAD ["\ | |
493 | JMS TYPE /ENCLOSE RUBBED-OUT CHARS IN \'S | |
494 | TAD TEMP | |
495 | JMP LOOK | |
496 | ||
497 | RUB2, TAD LINPTR | |
498 | TAD [-LINBUF | |
499 | SNA | |
500 | JMP BOL2 | |
501 | TAD [LINBUF-1 | |
502 | DCA LINPTR | |
503 | JMP RUB3 | |
504 | ||
505 | BOL2, TAD ["\ | |
506 | JMS TYPE | |
507 | BOL, JMS I [CRLF | |
508 | JMP RD1 | |
509 | ||
510 | ESCAPE, TAD ("$ /ECHO ESCAPE AS DOLLAR SIGN | |
511 | JMS TYPE | |
512 | ISZ ESCBIT /NOTE ESCAPE | |
513 | CR, DCA I LINPTR /INSERT 0 AT END | |
514 | JMS I [CRLF | |
515 | JMP I READ /RETURN, WE GOT LINE | |
516 | \fGET, 0 | |
517 | KSF | |
518 | JMP .-1 | |
519 | KRB | |
520 | AND [177 | |
521 | TAD [200 /FORCE TO 8-BIT | |
522 | JMP I GET | |
523 | ||
524 | TYPE, 0 | |
525 | DCA TYPEM | |
526 | JMS I [DELAYY | |
527 | DCA .-1 /DELAY FIRST TIME THRU TO LET THINGS QUIET DOWN | |
528 | TAD CTOFLG | |
529 | SZA CLA | |
530 | JMP I TYPE /NO ECHOING | |
531 | TAD TYPEM | |
532 | TLS | |
533 | TSF | |
534 | JMP .-1 | |
535 | CLA | |
536 | JMP I TYPE | |
537 | ||
538 | TYPEM, 0 | |
539 | ||
540 | LF, DCA I LINPTR /TEMPORARILY INSERT A 0 SENTINEL | |
541 | TAD [LINBUF-1 | |
542 | DCA XR1 | |
543 | JMS I [CRLF | |
544 | TAD ["# | |
545 | JMS I [TYPE | |
546 | LFLP, TAD I XR1 | |
547 | SNA | |
548 | JMP I [GT /FINHSHED, GET SOME MORE CHARS | |
549 | JMS I [TYPE /ECHO CURRENT CHARS | |
550 | JMP LFLP | |
551 | PAGE | |
552 | \fEOF, JMS I [SPACE /SPAN OVER SPACES | |
553 | JMS I [GETDEV /GET DEVICE | |
554 | JMS I [CHECKR | |
555 | TAD DEVTYP | |
556 | JMS I [BRANCH | |
557 | -20;MAGEOF | |
558 | -27;CASEOF | |
559 | ZBLOCK 2 | |
560 | 0 | |
561 | JMP I [BADEV | |
562 | ||
563 | SKIP, JMS I [SPACE | |
564 | JMS I [GETDEV | |
565 | JMS I [CHECKW | |
566 | JMS GETNUM | |
567 | TAD DEVTYP | |
568 | JMS I [BRANCH | |
569 | -20;MAGSKP | |
570 | -27;CASSKP | |
571 | 0 | |
572 | JMP I [BADEV | |
573 | ||
574 | REWIND, JMS I [SPACE | |
575 | JMS I [GETDEV | |
576 | JMS I [CHECKW | |
577 | TAD DEVTYP | |
578 | JMS I [BRANCH | |
579 | -20;MAGREW | |
580 | -27;CASREW | |
581 | -16;TCREW | |
582 | / -17;LTREW | |
583 | ZBLOCK 4 /PATCH SPACE | |
584 | 0 | |
585 | TAD DCW | |
586 | SMA CLA | |
587 | JMP I [BADEV /NOT FILE STRUCTURED | |
588 | CLA IAC /READ BLOCK 0 TO REWIND | |
589 | DCA I [BLK | |
590 | TAD (100 | |
591 | JMS I [GO | |
592 | JMP I [GOAWAY | |
593 | \fUNLOAD, JMS I [SPACE | |
594 | JMS I [GETDEV | |
595 | JMS I [CHECKW | |
596 | TAD DEVTYP | |
597 | JMS I [BRANCH | |
598 | -20;MAGUNL | |
599 | / -27;CASUNL | |
600 | -16;TCUNL | |
601 | -21;TDUNL | |
602 | / -17;LTUNL | |
603 | -23;RKEUNL | |
604 | ZBLOCK 2 | |
605 | 0 | |
606 | JMP I [BADEV | |
607 | ||
608 | BACK, JMS I [SPACE | |
609 | JMS I [GETDEV | |
610 | JMS I [CHECKW | |
611 | JMS GETNUM | |
612 | TAD TYP | |
613 | SPA CLA | |
614 | JMP I [SYNTAX /CAN'T BACKSPACE TO EOD | |
615 | TAD DEVTYP | |
616 | JMS I [BRANCH | |
617 | -20;MAGBAK | |
618 | -27;CASBAK | |
619 | 0 | |
620 | JMP I [BADEV | |
621 | \fGETNUM, 0 /PARSE OFF :NNNN [F ! R] OR EOD | |
622 | CLA IAC | |
623 | DCA NUM | |
624 | DCA TYP | |
625 | JMS I [GETC | |
626 | SNA | |
627 | JMP I GETNUM /EOL | |
628 | TAD (-": | |
629 | SZA CLA | |
630 | JMP I [SYNTAX | |
631 | STA | |
632 | JMS I [SPACE /OPTIONAL SPACES | |
633 | TAD I LINPTR | |
634 | SNA | |
635 | JMP I GETNUM /EOL | |
636 | TAD (-"E | |
637 | SNA CLA | |
638 | JMP EO | |
639 | JMS I [NUMBER | |
640 | DCA NUM | |
641 | STA | |
642 | JMS I [SPACE /MORE OPTIONAL SPACES | |
643 | DCA TYP | |
644 | JMS I [GETC | |
645 | SNA | |
646 | JMP I GETNUM /NO F OR R. F ASSUMED | |
647 | TAD (-"F | |
648 | SNA | |
649 | JMP R /0 MEANS 'F' | |
650 | TAD ("F-"R | |
651 | SZA CLA | |
652 | JMP I [SYNTAX | |
653 | CLA IAC /1 MEANS 'R' | |
654 | R, DCA TYP | |
655 | JMP I GETNUM | |
656 | EO, STA /-1 MEANS 'E' | |
657 | JMP R | |
658 | PAGE | |
659 | \f/GET A DECIMAL NUMBER, RETURN IT IN AC | |
660 | ||
661 | NUMBER, 0 | |
662 | DCA NUM | |
663 | CLA IAC | |
664 | DCA FLG | |
665 | NM1, JMS I [GETC | |
666 | JMS I [DIGIT | |
667 | JMP EON | |
668 | TAD (-"0 /CONVERT TO DIGIT | |
669 | DCA T4 | |
670 | DCA FLG /NOTE PASSAGE OF A DIGIT | |
671 | TAD NUM | |
672 | AND [7000 | |
673 | SZA CLA | |
674 | JMP I [NUMBIG | |
675 | TAD NUM | |
676 | CLL RTL | |
677 | TAD NUM | |
678 | CLL RAL | |
679 | TAD T4 | |
680 | SZL | |
681 | JMP I [NUMBIG | |
682 | DCA NUM | |
683 | JMP NM1 | |
684 | ||
685 | EON, CLA | |
686 | JMS I [BACKC | |
687 | TAD FLG | |
688 | SZA | |
689 | DCA NUM /IF NO DIGITS, RETURN A 1 | |
690 | TAD NUM | |
691 | JMP I NUMBER | |
692 | \f/ GETDEV | |
693 | ||
694 | /PARSES OFF A DEVICE NAME (1-4 CHARS) | |
695 | /DETERMINES IF IT EXISTS | |
696 | /LOADS HANDLER INTO 7200-7577 IF NOT ALREADY IN CORE | |
697 | /SETS ENTRY POINT ADDRESS AT 'ENTRY' | |
698 | /SETS DEVICE NUMBER AT 'DEVNUM' | |
699 | /SETS DEVICE CONTROL WORD AT 'DCW' | |
700 | /SETS 'DEVTYP' | |
701 | ||
702 | GETDEV, 0 | |
703 | JMS I [GETTWO | |
704 | DCA WD1 | |
705 | JMS I [GETTWO | |
706 | DCA WD2 | |
707 | TAD WD1 | |
708 | TAD WD2 | |
709 | DCA WD1 /COMBINE TWO WORDS INTO 1 (IN WD1) | |
710 | TAD WD2 | |
711 | SNA CLA | |
712 | JMP INQ | |
713 | TAD WD1 /OS/8 KLUDGE FOR UNIQUENESS | |
714 | CLL RAL | |
715 | STL RAR /FORCE BIT 0 ON IF 2ND WORD WAS NON-ZERO | |
716 | DCA WD1 | |
717 | INQ, DCA WD2 | |
718 | CIF 10 | |
719 | JMS I USR | |
720 | 12 /INQUIRE | |
721 | WD1, 0 /DEVICE NAME | |
722 | WD2, 0 /GETS DEVICE NUMBER | |
723 | WD3, 0 /GETS ENTRY POINT | |
724 | JMP I [NONEX /DEVICE DOESN'T EXIST | |
725 | TAD WD3 | |
726 | SZA /IS HANDLER ALREADY IN CORE? | |
727 | JMP INCORE /YES | |
728 | TAD WD1 | |
729 | DCA DW1 | |
730 | TAD (7201 /ALLOW TWO PAGE HANDLER IN 7200 | |
731 | DCA DW3 | |
732 | DCA DW2 | |
733 | CIF 10 | |
734 | JMS I USR | |
735 | 1 /FETCH | |
736 | DW1, 0 /DEVICE NAME | |
737 | DW2, 0 /GETS DEVICE NUMBER | |
738 | DW3, 0 /GETS ENTRY POINT | |
739 | JMP I [NONEX /DOESN'T EXIST | |
740 | TAD DW2 | |
741 | DCA DEVNUM | |
742 | TAD DW3 | |
743 | DCA ENTRY | |
744 | JMP GETYP | |
745 | \fINCORE, DCA ENTRY | |
746 | TAD WD2 | |
747 | DCA DEVNUM | |
748 | GETYP, TAD DEVNUM | |
749 | TAD (7757 | |
750 | DCA DCWPTR /POILT INTO DEVICE CONTROL WGRD TABLE | |
751 | CDF 10 | |
752 | TAD I DCWPTR /GET DCW | |
753 | DCA DCW | |
754 | TAD DCW | |
755 | RTR | |
756 | RAR | |
757 | AND [77 | |
758 | DCA DEVTYP | |
759 | STA | |
760 | TAD I (37 /GET ADDRESS OF DHIT | |
761 | DCA DHIT | |
762 | TAD DHIT | |
763 | TAD DEVNUM | |
764 | DCA DHI | |
765 | TAD I DHI | |
766 | CDF 0 | |
767 | DCA DHI | |
768 | TAD DHI | |
769 | RTL | |
770 | RTL | |
771 | RTL | |
772 | AND (17 | |
773 | SZA | |
774 | TAD (15 | |
775 | DCA DBLK | |
776 | JMP I GETDEV | |
777 | ||
778 | DELAYY, 0 | |
779 | TAD (-10 | |
780 | DCA OUTER | |
781 | ISZ ZER | |
782 | JMP .-1 | |
783 | ISZ OUTER | |
784 | JMP .-3 | |
785 | JMP I DELAYY | |
786 | ZER, 0 | |
787 | OUTER, -10 | |
788 | PAGE | |
789 | \fLOADPT, TAD I (FUNCT | |
790 | TAD (-REWKOD | |
791 | SNA CLA | |
792 | JMP I [GOAWAY /LOAD POINT ON A REWIND IS NOT AN ERROR | |
793 | READBT, JMS I [PRINT | |
794 | TEXT /? CAN'T - AT BOT OR EOT/ | |
795 | JMP I [GOAWAY | |
796 | \fREADEOF,JMS I [PRINT | |
797 | TEXT /% CAN'T - AT EOF/ | |
798 | JMP I [GOAWAY | |
799 | ||
800 | READBOF,JMS I [PRINT | |
801 | TEXT /% CAN'T - AT BOF/ | |
802 | JMP I [GOAWAY | |
803 | ||
804 | \fCASSKP, DCA I (DIR | |
805 | TAD TYP | |
806 | SNA CLA | |
807 | JMP CSKPF | |
808 | JMP I (NOTIMPL | |
809 | ||
810 | CGO, 0 | |
811 | DCA CFUNCT | |
812 | JMS I ENTRY | |
813 | CFUNCT, 0 | |
814 | CBUFR, 7000 | |
815 | CBLK, -1 | |
816 | SKP | |
817 | JMP I CGO | |
818 | DCA TEMP | |
819 | TAD TEMP | |
820 | SMA CLA | |
821 | JMP I (END /SOFT ERROR | |
822 | JMS I [PRINT | |
823 | TEXT \? CAN'T - I/O ERROR\ | |
824 | JMP I [GOAWAY | |
825 | ||
826 | CASEOF, JMS CGO | |
827 | JMP I [GOAWAY | |
828 | ||
829 | CASREW, TAD (REWKOD | |
830 | JMS CGO | |
831 | JMP I [GOAWAY | |
832 | \fCSKPF, TAD NUM | |
833 | SNA | |
834 | IAC | |
835 | CIA | |
836 | DCA COUNT | |
837 | TAD (SKFKOD | |
838 | JMS CGO | |
839 | ISZ COUNT | |
840 | JMP .-3 | |
841 | JMP I [GOAWAY | |
842 | ||
843 | CASBAK, CLA IAC | |
844 | DCA I (DIR | |
845 | TAD TYP | |
846 | SZA CLA | |
847 | JMP CBAKBLK | |
848 | TAD NUM | |
849 | CMA | |
850 | DCA COUNT | |
851 | TAD (BKFKOD | |
852 | JMS CGO | |
853 | ISZ COUNT | |
854 | JMP .-3 | |
855 | JMP I [GOAWAY | |
856 | ||
857 | CBAKBLK,TAD NUM | |
858 | SNA | |
859 | IAC | |
860 | CIA | |
861 | DCA COUNT | |
862 | TAD (BAKKOD | |
863 | JMS CGO | |
864 | ISZ COUNT | |
865 | JMP .-3 | |
866 | JMP I [GOAWAY | |
867 | PAGE | |
868 | \fTCREW, JMS TCR | |
869 | JMP I [GOAWAY | |
870 | ||
871 | TCUNL, JMS TCR | |
872 | TAD ENTRY | |
873 | IAC | |
874 | RTR | |
875 | RTR | |
876 | AND [7000 | |
877 | DTLA /SELECT ANOTHER UNIT | |
878 | JMP I [GOAWAY | |
879 | ||
880 | TCR, 0 | |
881 | TAD ENTRY | |
882 | TAD (-7607 | |
883 | SZA CLA /SYSTEM TC08 DECTAPE MUST BE UNIT 0 | |
884 | TAD ENTRY | |
885 | RTR | |
886 | RTR | |
887 | AND [7000 /ISOLATE UNIT # IN BITS 0-2 | |
888 | TAD (600 /GO REVERSE | |
889 | DTLA | |
890 | JMP I TCR | |
891 | \fTDUNL, TAD (-7607 | |
892 | SZA CLA | |
893 | TAD ENTRY | |
894 | DCA TEMP | |
895 | TAD TEMP | |
896 | RTR | |
897 | RAR | |
898 | CLA RAR | |
899 | DCA UNIT | |
900 | TAD TEMP | |
901 | AND [3 | |
902 | CIA | |
903 | TAD [77 /GET DEV CODE | |
904 | CLL RTL | |
905 | RAL | |
906 | TAD (6004 /BUILD 'SDLC' | |
907 | DCA BSDLC | |
908 | TAD UNIT | |
909 | TAD (3000 /GO, REVERSE | |
910 | BSDLC, HLT | |
911 | CLA | |
912 | JMP I [GOAWAY | |
913 | UNIT, 0 | |
914 | \fTTCODE, 0 | |
915 | TAD NO | |
916 | SZA CLA | |
917 | JMP I [SYNTAX | |
918 | JMS I [ONUM | |
919 | SNA | |
920 | JMP I [SYNTAX | |
921 | DCA NUCODE | |
922 | TAD NUCODE | |
923 | AND [7700 | |
924 | SZA CLA | |
925 | JMP I [NUMBIG | |
926 | JMS I [TTST1 | |
927 | TAD (7200 | |
928 | DCA RR | |
929 | JMS GETIOT | |
930 | JMP I [OLDERR | |
931 | CIA | |
932 | DCA T2 | |
933 | TTLP, JMS GETIOT | |
934 | JMP I [OLDERR | |
935 | CIA | |
936 | DCA T3 | |
937 | TAD T3 | |
938 | CIA | |
939 | TAD T2 | |
940 | SNA | |
941 | JMP TTLP | |
942 | SMA CLA | |
943 | JMP .+3 | |
944 | TAD T3 | |
945 | DCA T2 /T2 CONTAINS NEG OF SMALLER IOT | |
946 | TAD (7200 | |
947 | DCA RR | |
948 | TTLP2, JMS GETIOT | |
949 | JMP I TTCODE | |
950 | TAD T2 | |
951 | SZA CLA | |
952 | CLA IAC | |
953 | TAD NUCODE | |
954 | CLL RTL | |
955 | RAL | |
956 | DCA T3 | |
957 | TAD I RR | |
958 | AND (7007 | |
959 | TAD T3 | |
960 | DCA I RR | |
961 | JMP TTLP2 | |
962 | \fGETIOT, 0 | |
963 | ISZ RR | |
964 | TAD RR | |
965 | TAD (-7600 | |
966 | SNA CLA | |
967 | JMP I GETIOT | |
968 | TAD I RR | |
969 | AND [7000 | |
970 | TAD [-6000 | |
971 | SZA CLA | |
972 | JMP GETIOT+1 | |
973 | TAD I RR | |
974 | RTR | |
975 | RAR | |
976 | AND [77 | |
977 | TAD (-20 | |
978 | CLL RAR | |
979 | SNA | |
980 | JMP GETIOT+1 | |
981 | RAL | |
982 | TAD (20 | |
983 | ISZ GETIOT | |
984 | JMP I GETIOT | |
985 | PAGE | |
986 | \fMAGSKP, DCA DIR | |
987 | TAD TYP | |
988 | SNA | |
989 | JMP SKPF | |
990 | SPA CLA | |
991 | JMP SKPEOD | |
992 | TAD NUM | |
993 | SNA | |
994 | CLA IAC | |
995 | CIA | |
996 | DCA WC | |
997 | TAD (SKPKOD | |
998 | JMS GO | |
999 | JMP I [GOAWAY | |
1000 | ||
1001 | MAGEOF, TAD (EOFKOD | |
1002 | JMS GO | |
1003 | JMP I [GOAWAY | |
1004 | ||
1005 | SKPF, TAD NUM | |
1006 | SNA | |
1007 | JMP SKP0 | |
1008 | CIA | |
1009 | DCA WC | |
1010 | JMS I (FUDGE /DON'T LET GUY TRICK US INTO GOING PAST EOD | |
1011 | TAD (SKFKOD | |
1012 | JMS GO | |
1013 | JMP I [GOAWAY | |
1014 | ||
1015 | SKPEOD, JMS I (FUDGE /DON'T LET GUY TRICK US INTO GOING PAST EOD | |
1016 | JMS I ENTRY | |
1017 | SKFKOD | |
1018 | 0 | |
1019 | 0 /SKIP 4096 FILES | |
1020 | SMA | |
1021 | SKP CLA | |
1022 | JMP CHKBOT | |
1023 | JMP I [GOAWAY | |
1024 | ||
1025 | MAGBAK, CLA IAC | |
1026 | DCA DIR | |
1027 | TAD TYP | |
1028 | SNA CLA | |
1029 | JMP BAKF | |
1030 | TAD NUM | |
1031 | SNA | |
1032 | CLA IAC | |
1033 | CIA | |
1034 | DCA WC | |
1035 | TAD (BAKKOD | |
1036 | JMS GO | |
1037 | JMP I [GOAWAY | |
1038 | \fBAKF, TAD NUM | |
1039 | CMA | |
1040 | DCA WC2 | |
1041 | JMS I ENTRY | |
1042 | BKFKOD | |
1043 | 0 | |
1044 | WC2, -1 / | |
1045 | SMA | |
1046 | SKP CLA | |
1047 | JMP CHKBOT | |
1048 | TAD (SKPKOD /SKIP 1 RECORD FORWARD | |
1049 | JMP SKY | |
1050 | ||
1051 | CHKBOT, DCA TEMP | |
1052 | TAD TEMP | |
1053 | AND (1000 | |
1054 | SNA CLA | |
1055 | JMP IOE | |
1056 | JMP I (READBT | |
1057 | \fMAGUNL, TAD (UNLKOD | |
1058 | JMS GO | |
1059 | JMP I [GOAWAY | |
1060 | ||
1061 | MAGREW, TAD (REWKOD | |
1062 | JMS GO | |
1063 | JMP I [GOAWAY | |
1064 | ||
1065 | GO, 0 | |
1066 | DCA FUNCT | |
1067 | JMS I ENTRY | |
1068 | FUNCT, 0 | |
1069 | BUFR, 7000 | |
1070 | WC, | |
1071 | BLK, -1 | |
1072 | SKP /I/O ERROR | |
1073 | JMP I GO | |
1074 | DCA TEMP | |
1075 | TAD TEMP | |
1076 | SMA CLA | |
1077 | JMP END /SOFT ERROR | |
1078 | TAD TEMP | |
1079 | AND (1000 | |
1080 | SZA CLA | |
1081 | JMP I [LOADPT | |
1082 | IOE, TAD TEMP | |
1083 | JMP I [IOERR | |
1084 | ||
1085 | DIR, 0 /0- FORWARD ; 1- BACKWARDS | |
1086 | ||
1087 | END, TAD TYP | |
1088 | SNA CLA | |
1089 | JMP I (EODERR /V3C NEW HANDLER CALL | |
1090 | TAD DIR /SAW FILE MARK | |
1091 | SNA CLA /V3C | |
1092 | JMP I [READEOF /AT END OF FILE | |
1093 | JMP I [READBOF /AT BEGIN OF FILE | |
1094 | \fSKP0, JMS I ENTRY | |
1095 | SKFKOD | |
1096 | 0 /IRRELEVANT | |
1097 | -1 /ADVANCE 1 FILE | |
1098 | SMA | |
1099 | SKP CLA | |
1100 | JMP I [IOERR /HARD ERROR | |
1101 | TAD (BAKKOD | |
1102 | SKY, DCA SKX /V3C | |
1103 | JMS I ENTRY | |
1104 | SKX, BAKKOD | |
1105 | 0 /IRREL | |
1106 | -1 /BACK OVER FILE MARK | |
1107 | SMA | |
1108 | SKP CLA | |
1109 | JMP I [IOERR | |
1110 | JMP I [GOAWAY | |
1111 | PAGE | |
1112 | \fIOERR, AND (3777 | |
1113 | CLL RAL | |
1114 | DCA TEMP | |
1115 | JMS I [PRINT | |
1116 | TEXT \? CAN'T - I/O ERROR\ | |
1117 | TAD (-13 /11 BITS TO LOOK AT | |
1118 | DCA CNT | |
1119 | TAD (JLIST | |
1120 | DCA JM | |
1121 | IOLUP, TAD TEMP | |
1122 | RAL | |
1123 | DCA TEMP | |
1124 | SZL | |
1125 | JMP I JM | |
1126 | IOCONT, ISZ JM | |
1127 | ISZ CNT | |
1128 | JMP IOLUP | |
1129 | JMP I [GOAWAY | |
1130 | ||
1131 | JM, 0 | |
1132 | ||
1133 | JLIST, JMP BIT1 | |
1134 | JMP BIT2 | |
1135 | JMP BIT3 | |
1136 | JMP BIT4 | |
1137 | JMP BIT5 | |
1138 | JMP BIT6 | |
1139 | JMP BIT7 | |
1140 | JMP BIT8 | |
1141 | JMP I (BIT9 | |
1142 | JMP I (BIT10 | |
1143 | JMP I (BIT11 | |
1144 | \fBIT1, JMS I [PRINT | |
1145 | TEXT /(REWINDING)/ | |
1146 | JMP IOCONT | |
1147 | BIT2, JMS I [PRINT | |
1148 | TEXT /(BOT)/ | |
1149 | JMP IOCONT | |
1150 | BIT3, JMS I [PRINT | |
1151 | TEXT /(SELECT ERROR)/ | |
1152 | JMP IOCONT | |
1153 | BIT4, JMS I [PRINT | |
1154 | TEXT /(PARITY ERROR)/ | |
1155 | JMP IOCONT | |
1156 | BIT5, JMS I [PRINT | |
1157 | TEXT /(EOF)/ | |
1158 | JMP IOCONT | |
1159 | \fBIT6, JMS I [PRINT | |
1160 | TEXT /(RECORD LENGTH INCORRECT)/ | |
1161 | JMP IOCONT | |
1162 | BIT7, JMS I [PRINT | |
1163 | TEXT /(TIMING ERROR)/ | |
1164 | JMP IOCONT | |
1165 | BIT8, JMS I [PRINT | |
1166 | TEXT /(EOT)/ | |
1167 | JMP IOCONT | |
1168 | \fRKEUNL, CLL | |
1169 | TAD ENTRY | |
1170 | TAD (200 | |
1171 | SNL CLA | |
1172 | TAD ENTRY | |
1173 | AND (6 /ISOLATE UNIT | |
1174 | TAD (2000 /WRITE PROTECT DISK | |
1175 | DLDC /LOAD COMMAND REGISTER | |
1176 | DLAG | |
1177 | JMP I [GOAWAY | |
1178 | PAGE | |
1179 | \fBIT9, JMS I [PRINT | |
1180 | TEXT /(WRITE LOCK-OUT)/ | |
1181 | JMP I (IOCONT | |
1182 | BIT10, JMS I [PRINT | |
1183 | TEXT /(READ COMPARE ERROR)/ | |
1184 | JMP I (IOCONT | |
1185 | BIT11, JMS I [PRINT | |
1186 | TEXT /(ILLEGAL FUNCTION)/ | |
1187 | JMP I (IOCONT | |
1188 | \fNOTIMPL,JMS I [PRINT | |
1189 | TEXT /% OPERATION NOT YET IMPLEMENTED/ | |
1190 | JMP I [GOAWAY | |
1191 | EODERR, JMS I [PRINT | |
1192 | TEXT /? CAN'T - AT EOD/ | |
1193 | JMP I [GOAWAY | |
1194 | \f/THIS ROUTINE PREVENTS US FROM GOING PAST EOD WHEN | |
1195 | /SKIPPING FORWARD FILES. | |
1196 | /IT DOES THIS BY THE FOLLOWING ALGORITHM: | |
1197 | /FIRST WE BACKSPACE A RECORD. | |
1198 | /IF WE SAW DATA, THEN OK, WE RETURN TO THE USER; | |
1199 | /THIS WILL NOT AFFECT HIS SKIP FILE COUNT. | |
1200 | /IF WE SAW A FILE MARK, THEN WE SKIP FORWARD | |
1201 | /BACK OVER THAT FILE, IGNORING THE FILE MARK ERROR. | |
1202 | /IF WE SAW BOT, THEN, OK NO ERROR. | |
1203 | ||
1204 | FUDGE, 0 | |
1205 | JMS I ENTRY /V3C ALL NEW | |
1206 | BAKKOD | |
1207 | TM, 0 | |
1208 | -1 | |
1209 | SKP | |
1210 | JMP I FUDGE | |
1211 | SPA | |
1212 | JMS BER | |
1213 | SZA CLA | |
1214 | JMS FRWD | |
1215 | JMP I FUDGE | |
1216 | ||
1217 | /IF ERROR WAS BOT, OK | |
1218 | ||
1219 | BER, 0 | |
1220 | DCA TM | |
1221 | TAD TM | |
1222 | AND (1000 | |
1223 | SZA CLA | |
1224 | JMP I BER /BOT OK, NO FRWD | |
1225 | TAD TM | |
1226 | JMP I [IOERR | |
1227 | ||
1228 | FRWD, 0 | |
1229 | JMS I ENTRY | |
1230 | SKPKOD | |
1231 | 0 | |
1232 | -1 | |
1233 | SMA | |
1234 | SKP CLA | |
1235 | JMP I [IOERR | |
1236 | JMP I FRWD | |
1237 | PAGE | |
1238 | \fSET, JMS I [SPACE | |
1239 | DCA VNO /V3C | |
1240 | JMS I [GETDEV | |
1241 | JMS I [GETC | |
1242 | JMS I [BRANCH | |
1243 | -":;COLN | |
1244 | -" ;COLN | |
1245 | -"-;HYPH | |
1246 | 0 | |
1247 | JMP I [SYNTAX /NO : OR BLANK AFTER NAME | |
1248 | COLN, STA | |
1249 | JMS I [SPACE /IGNORE OPTIONAL SPACES | |
1250 | JMS I [GETC | |
1251 | SNA | |
1252 | JMP I [SYNTAX | |
1253 | TAD (-"- | |
1254 | SNA CLA | |
1255 | JMP HYPH | |
1256 | JMS I [BACKC | |
1257 | COLN2, DCA NAM1 | |
1258 | DCA NAM2 | |
1259 | TAD (MAIN-1 /LOOK FOR DEVICE TYPE IN MAIN TABLE | |
1260 | MNLUP, DCA XR1 | |
1261 | TAD I XR1 | |
1262 | SMA SZA | |
1263 | JMP NOTYP /NOT FOUND | |
1264 | TAD DEVTYP | |
1265 | SNA CLA | |
1266 | JMP FNDTYP | |
1267 | TAD XR1 | |
1268 | TAD (3 /POINT TO NEXT ENTRY | |
1269 | JMP MNLUP | |
1270 | FNDTYP, TAD I XR1 /GET GENERIC NAME | |
1271 | DCA NAM1 | |
1272 | TAD I XR1 | |
1273 | DCA NAM2 | |
1274 | DCA AUXFLG | |
1275 | TAD I XR1 /GET PTR TO DEVICE TABLE | |
1276 | INTO, DCA PTR | |
1277 | DCA NO | |
1278 | TAD LINPTR | |
1279 | DCA SAVPTR /SAVE SCAN POINTER | |
1280 | JMS I [GETTWO | |
1281 | TAD (-1617 | |
1282 | SNA CLA /ARE NEXT TWO CHARS 'NO'? | |
1283 | JMS SAWNO /YES | |
1284 | TAD SAVPTR /NO | |
1285 | DCA LINPTR /RESTORE PTR | |
1286 | SCNLUP, TAD I PTR | |
1287 | SNA /GET NEXT KEYWORD POINTER | |
1288 | JMP NOKEY | |
1289 | ISZ PTR /POINT TO PTR TO ROUTINE | |
1290 | JMS I [KEYSRCH | |
1291 | JMP NOF /NOT FOUND | |
1292 | TAD I PTR /FOUND | |
1293 | DCA PTR /GET PTR TO ROUTINE | |
1294 | JMS I (HREAD /READ HANDLER | |
1295 | JMS I PTR /CALL ROUTINE | |
1296 | JMS I (HWRITE /REWRITE HANDLER | |
1297 | JMP I [GOAWAY | |
1298 | \fHYPH, JMS I [ALPHA | |
1299 | JMP I [BADV | |
1300 | DCA VNO | |
1301 | TAD VNO | |
1302 | SNA | |
1303 | JMP I [BADV | |
1304 | AND [17 | |
1305 | DCA VNO | |
1306 | JMS I [SPACE /IGNORE SPACE | |
1307 | JMP COLN2 | |
1308 | \fNOKEY, TAD AUXFLG | |
1309 | SNA CLA | |
1310 | JMP NOO | |
1311 | JMS I [PRINT | |
1312 | TEXT \? UNKNOWN ATTRIBUTE FOR DEVICE \ | |
1313 | *.-1 | |
1314 | NAM1, 0 | |
1315 | NAM2, 0 | |
1316 | 0 | |
1317 | JMP I [GOAWAY | |
1318 | ||
1319 | SAWNO, 0 | |
1320 | ISZ NO | |
1321 | STA | |
1322 | JMS I [SPACE | |
1323 | TAD LINPTR | |
1324 | DCA SAVPTR | |
1325 | JMP I SAWNO | |
1326 | ||
1327 | NOTYP, CLA | |
1328 | ISZ AUXFLG | |
1329 | TAD (AUX /SEARCH AUXILIARY TABLE | |
1330 | JMP INTO | |
1331 | \fNOF, ISZ PTR | |
1332 | TAD SAVPTR | |
1333 | DCA LINPTR | |
1334 | JMP SCNLUP | |
1335 | ||
1336 | AUXFLG, 0 | |
1337 | ||
1338 | NOO, ISZ AUXFLG | |
1339 | TAD (AUX | |
1340 | DCA PTR | |
1341 | JMP SCNLUP | |
1342 | PAGE | |
1343 | \fHREAD, 0 | |
1344 | TAD DBLK | |
1345 | SNA | |
1346 | JMP RESERR | |
1347 | DCA BLOCK | |
1348 | JMS I (7607 | |
1349 | 200 /READ 2 PAGES | |
1350 | L7200, 7200 /INTO 7200-7577 | |
1351 | BLOCK, 0 /FROM THIS BLOCK ON SYSTEM DEVICE | |
1352 | JMP I [SYSERR | |
1353 | TAD DHI | |
1354 | AND (177 /GET RELATIVE ENTRY PT | |
1355 | TAD L7200 | |
1356 | DCA ENTRY | |
1357 | TAD VNO | |
1358 | SZA CLA /V3C | |
1359 | JMP I HREAD /VNO ALREADY SET BY - COMMAND | |
1360 | TAD ENTRY | |
1361 | VLOOP, DCA VNOPTR | |
1362 | TAD I VNOPTR | |
1363 | CLL | |
1364 | TAD (-33 | |
1365 | SZL CLA | |
1366 | JMP BACKV | |
1367 | TAD I VNOPTR | |
1368 | SNA | |
1369 | JMP OLDERR | |
1370 | DCA VNO | |
1371 | JMP I HREAD | |
1372 | BACKV, STA | |
1373 | TAD VNOPTR | |
1374 | JMP VLOOP | |
1375 | ||
1376 | RESERR, JMS I [PRINT | |
1377 | TEXT /? CAN'T - DEVICE IS RESIDENT/ | |
1378 | JMP I [GOAWAY | |
1379 | \fOLDERR, CLA | |
1380 | JMS I [PRINT | |
1381 | TEXT /? CAN'T - OBSOLETE HANDLER/ | |
1382 | JMP I [GOAWAY | |
1383 | ||
1384 | HWRITE, 0 | |
1385 | TAD BLOCK | |
1386 | DCA BLKTWO | |
1387 | JMS I (7607 | |
1388 | 4200 | |
1389 | 7200 | |
1390 | BLKTWO, 0 | |
1391 | JMP I [SYSERR | |
1392 | JMP I HWRITE | |
1393 | \fNEWERR, CLA | |
1394 | JMS I [PRINT | |
1395 | TEXT /? CAN'T - UNKNOWN VERSION OF THIS HANDLER/ | |
1396 | JMP I [GOAWAY | |
1397 | PAGE | |
1398 | \fMAIN, -0; DEVICE TTY; TTYTBL | |
1399 | -1; DEVICE PTR; PTRTBL | |
1400 | -2; DEVICE PTP; PTPTBL | |
1401 | -3; DEVICE CDR; CDRTBL | |
1402 | -4; DEVICE LPT; LPTTBL | |
1403 | -20; DEVICE MTA; MTATBL | |
1404 | 1 | |
1405 | ZBLOCK 20 | |
1406 | /TABLE ENDS WITH A POSITIVE NON-ZERO NUMBER | |
1407 | \fCDRTBL, CODE;CDCODE | |
1408 | ZBLOCK 4 | |
1409 | 0 | |
1410 | ||
1411 | LPTTBL, WIDTH;LPWDTH | |
1412 | LC;LPLC | |
1413 | LV8E;LPLV | |
1414 | ZBLOCK 4 | |
1415 | 0 | |
1416 | ||
1417 | MTATBL, PARITY;MTAPAR | |
1418 | DENSITY;MTADEN | |
1419 | FILES;MTAFIL | |
1420 | ZBLOCK 4 | |
1421 | 0 | |
1422 | \fTTYTBL, WIDTH;TTWIDTH | |
1423 | CODE;TTCODE | |
1424 | ALT;TTALT | |
1425 | ECHO;TTECHO | |
1426 | LC;TTLC | |
1427 | PAYGE;TTPAGE | |
1428 | TAB;TTTAB | |
1429 | FILL;TTFILL | |
1430 | FLAGG;TTFLAG | |
1431 | CTRL;TTCTRL | |
1432 | GAG;TTGAG | |
1433 | DELAY;TTDELAY | |
1434 | ZBLOCK 10 | |
1435 | 0 | |
1436 | ||
1437 | AUX, LOC;GENLOC | |
1438 | FILES;GENFIL | |
1439 | READO;GENREA | |
1440 | VERS;GENVER | |
1441 | ZBLOCK 10 | |
1442 | 0 | |
1443 | PAGE | |
1444 | \fWIDTH, "W;"I;"D;"T;"H;0 | |
1445 | LC, "L;"C;0 | |
1446 | LV8E, "L;"V;4000+"8;4000+"E;0 | |
1447 | CODE, "C;"O;"D;"E;0 | |
1448 | ALT, "A;"L;"T;4000+"M;4000+"O;4000+"D;4000+"E;0 | |
1449 | ECHO, "E;"C;"H;"O;0 | |
1450 | PAYGE, "P;"A;"G;"E;0 | |
1451 | TAB, "T;"A;"B;0 | |
1452 | LOC, "L;"O;"C;4000+"A;4000+"T;4000+"I;4000+"O;4000+"N;0 | |
1453 | FILES, "F;"I;"L;"E;4000+"S;0 | |
1454 | READO, "R;"E;"A;"D;4000+"O;4000+"N;4000+"L;4000+"Y;0 | |
1455 | VERS, "V;"E;"R;4000+"S;4000+"I;4000+"O;4000+"N;0 | |
1456 | PARITY, "P;"A;"R;4000+"I;4000+"T;4000+"Y;0 | |
1457 | DENSITY,"D;"E;"N;4000+"S;4000+"I;4000+"T;4000+"Y;0 | |
1458 | FILL, "F;"I;"L;"L;0 | |
1459 | FLAGG, "F;"L;"A;"G;0 | |
1460 | CTRL, "C;"T;"R;"L;0 | |
1461 | EVEN, "E;4000+"V;4000+"E;4000+"N;0 | |
1462 | ODD, "O;4000+"D;4000+"D;0 | |
1463 | DELAY, "D;"E;"L;"A;"Y;0 | |
1464 | GAG, "G;"A;"G;0 | |
1465 | PAGE | |
1466 | \fLPWDTH, 0 | |
1467 | JMS I (GETWID | |
1468 | JMS LPTST1 | |
1469 | TAD NUM | |
1470 | CMA | |
1471 | DCA I (7200 | |
1472 | JMP I LPWDTH | |
1473 | ||
1474 | LPTST1, 0 | |
1475 | TAD I (7201 | |
1476 | SPA CLA | |
1477 | JMP L645 | |
1478 | TAD VNO | |
1479 | JMS I [BRANCH | |
1480 | -1;OLDERR | |
1481 | -2;LPTOK | |
1482 | ZBLOCK 4 | |
1483 | 0 | |
1484 | JMP I [NEWERR | |
1485 | LPTOK, JMP I LPTST1 | |
1486 | ||
1487 | L645, JMS I [PRINT | |
1488 | TEXT /? CAN'T AFFECT ANNALEX LPT/ | |
1489 | JMP I [GOAWAY | |
1490 | \fASRTST, 0 | |
1491 | TAD DHI | |
1492 | SPA CLA | |
1493 | JMP I ASRTST | |
1494 | JMS I [PRINT | |
1495 | TEXT /? CAN'T - NOT KL8E HANDLER/ | |
1496 | JMP I [GOAWAY | |
1497 | \fGENVER, 0 | |
1498 | TAD NO | |
1499 | SZA CLA | |
1500 | JMP I [SYNTAX | |
1501 | JMS I [ALPHA | |
1502 | JMP BADV | |
1503 | DCA NUM | |
1504 | TAD NUM | |
1505 | AND (40 | |
1506 | SZA CLA | |
1507 | JMP BADV | |
1508 | TAD NUM | |
1509 | AND (37 | |
1510 | DCA I VNOPTR | |
1511 | JMP I GENVER | |
1512 | ||
1513 | GENREA, 0 | |
1514 | CDF 10 | |
1515 | TAD I DCWPTR | |
1516 | CLL RTL | |
1517 | CLL RAL | |
1518 | TAD NO | |
1519 | RAR | |
1520 | CML RAR | |
1521 | RAR | |
1522 | DCA I DCWPTR | |
1523 | CDF 0 | |
1524 | JMP I GENREA | |
1525 | ||
1526 | GENFIL, 0 | |
1527 | CDF 10 | |
1528 | TAD I DCWPTR | |
1529 | CLL RAL | |
1530 | CLL RAL /ZERO LINK | |
1531 | TAD NO | |
1532 | RAR | |
1533 | CML RAR | |
1534 | DCA I DCWPTR | |
1535 | CDF 0 | |
1536 | JMP I GENFIL | |
1537 | \fBADV, CLA | |
1538 | JMS I [PRINT | |
1539 | TEXT /? BAD VERSION LETTER/ | |
1540 | JMP I [GOAWAY | |
1541 | ||
1542 | CRLF, 0 | |
1543 | TAD [215 | |
1544 | JMS I (TYPE | |
1545 | TAD [212 | |
1546 | JMS I (TYPE | |
1547 | JMP I CRLF | |
1548 | PAGE | |
1549 | \fLPLV, 0 | |
1550 | JMS I (LPTST1 | |
1551 | TAD NO | |
1552 | CLL RTL | |
1553 | RTL | |
1554 | TAD (4 | |
1555 | DCA I (7201 | |
1556 | JMP I LPLV | |
1557 | ||
1558 | LPLC, 0 | |
1559 | JMS I (LPTST1 | |
1560 | TAD NO | |
1561 | CLL RTL | |
1562 | RTL | |
1563 | RAL | |
1564 | CIA | |
1565 | DCA I (7202 | |
1566 | JMP I LPLC | |
1567 | ||
1568 | TTALT, 0 | |
1569 | JMS I [TTST1 | |
1570 | JMP I [NOTIMPL | |
1571 | JMP I TTALT | |
1572 | ||
1573 | TTECHO, 0 | |
1574 | JMS I [TTST1 | |
1575 | TAD NO | |
1576 | SZA CLA | |
1577 | TAD (SKP CLA-SZA | |
1578 | TAD (SZA | |
1579 | DCA I (7200+120 | |
1580 | JMP I TTECHO | |
1581 | ||
1582 | TTPAGE, 0 | |
1583 | JMS I (ASRTST | |
1584 | TAD VNO | |
1585 | JMS I [BRANCH | |
1586 | -1;OLDERR | |
1587 | -2;OLDERR | |
1588 | -3;OLDERR | |
1589 | -4;PAGOK | |
1590 | ZBLOCK 2 | |
1591 | 0 | |
1592 | JMP I [NEWERR | |
1593 | \fPAGOK, TAD I (7200+216 | |
1594 | TAD (-SNA | |
1595 | SZA CLA | |
1596 | JMP I [REASEM | |
1597 | TAD NO | |
1598 | SNA CLA | |
1599 | TAD (SZA CLA-CLA | |
1600 | TAD (CLA | |
1601 | DCA I (7200+216 | |
1602 | JMP I TTPAGE | |
1603 | \fTTTAB, 0 | |
1604 | JMS I [TTST1 | |
1605 | JMS I [GETC | |
1606 | SNA | |
1607 | JMP TTEO | |
1608 | TAD (-"/ | |
1609 | SNA CLA | |
1610 | JMS I [GETC | |
1611 | TAD (-"N | |
1612 | SZA CLA | |
1613 | JMP I [SYNTAX | |
1614 | JMP NOTEC | |
1615 | TTEO, TAD NO | |
1616 | SNA CLA | |
1617 | TAD (5000 | |
1618 | TAD L200 | |
1619 | JMS I (TECO | |
1620 | NOTEC, JMS I [SRCH | |
1621 | L200, 200;100;7 | |
1622 | JMP I [REASEM | |
1623 | DCA TEMP | |
1624 | STA CLL RAL /-2 | |
1625 | TAD TEMP | |
1626 | DCA T2 | |
1627 | TAD TEMP | |
1628 | TAD (3 | |
1629 | DCA T3 | |
1630 | TAD NO | |
1631 | SNA CLA | |
1632 | JMP SETAB | |
1633 | TAD TEMP | |
1634 | TAD (-4 | |
1635 | DCA T4 | |
1636 | TAD T4 | |
1637 | AND (77 | |
1638 | TAD (1200 /TAD TTY240 | |
1639 | DCA I T2 | |
1640 | TAD (SZA CLA | |
1641 | DCA I T3 | |
1642 | JMP I TTTAB | |
1643 | SETAB, TAD TEMP | |
1644 | TAD (-12 | |
1645 | DCA T4 | |
1646 | TAD I T4 | |
1647 | DCA I T2 | |
1648 | TAD (SKP CLA | |
1649 | DCA I T3 | |
1650 | JMP I TTTAB | |
1651 | PAGE | |
1652 | \fTTFILL, 0 | |
1653 | JMS I [TTST1 | |
1654 | JMS I [SRCH | |
1655 | 200;100;1377 | |
1656 | JMP I [REASEM | |
1657 | TAD (-1 | |
1658 | DCA TEMP | |
1659 | TAD NO | |
1660 | CLL RAL | |
1661 | TAD (2 | |
1662 | TAD TEMP | |
1663 | DCA T2 | |
1664 | TAD I T2 | |
1665 | DCA I TEMP | |
1666 | JMP I TTFILL | |
1667 | ||
1668 | REASEM, JMS I [PRINT | |
1669 | TEXT /? CAN'T - MUST REASSEMBLE KL8E SOURCE/ | |
1670 | JMP I [GOAWAY | |
1671 | ||
1672 | TTDELAY,0 | |
1673 | JMS I [TTST1 | |
1674 | JMP I [NOTIMPL | |
1675 | JMP I TTDELAY | |
1676 | \f/ENTER WITH PTR TO POSSIBLE KEYWORD IN AC | |
1677 | ||
1678 | KEYSRCH,0 | |
1679 | DCA KPTR | |
1680 | KL, TAD I KPTR | |
1681 | ISZ KPTR | |
1682 | SNA | |
1683 | JMP GOTKEY | |
1684 | CIA | |
1685 | DCA TEMP | |
1686 | JMS I [ALPHA /IS IT ALPHANUMERIC? | |
1687 | JMP EOK /NO | |
1688 | TAD TEMP /COMPARE | |
1689 | CLL RAL /LOW ORDER 11 BITS | |
1690 | SNA CLA | |
1691 | JMP KL /MATCHED, KEEP LOOKING | |
1692 | JMP I KEYSRCH /DIDN'T MATCH | |
1693 | EOK, JMS I [BACKC | |
1694 | TAD TEMP | |
1695 | CIA /INPUT STREAM RAN OUT OR HIT SPACE | |
1696 | SPA CLA | |
1697 | JMP GOTKEY /SPACE OR EOL MATCH FLAGGED CHARACTER | |
1698 | JMP I KEYSRCH | |
1699 | ||
1700 | KPTR, 0 | |
1701 | ||
1702 | GOTKEY, JMS I [SCAN | |
1703 | STA /SKIP EXTRA STUFF | |
1704 | JMS I [SPACE | |
1705 | ISZ KEYSRCH /TAKE GOOD RETURN 2 | |
1706 | JMP I KEYSRCH | |
1707 | ||
1708 | PTRTBL, ZBLOCK 4 | |
1709 | 0 | |
1710 | ||
1711 | PTPTBL, ZBLOCK 4 | |
1712 | 0 | |
1713 | PAGE | |
1714 | \fTTGAG, 0 | |
1715 | JMS TTST1 | |
1716 | JMP I [NOTIMPL | |
1717 | JMP I TTGAG | |
1718 | ||
1719 | TTFLAG, 0 | |
1720 | JMS TTST1 | |
1721 | JMS I [SRCH | |
1722 | 200;200;247 | |
1723 | JMP I [REASEM | |
1724 | TAD (-2 | |
1725 | DCA TEMP | |
1726 | TAD NO | |
1727 | SNA CLA | |
1728 | TAD (SZA CLA-CLA | |
1729 | TAD (CLA | |
1730 | DCA I TEMP | |
1731 | JMP I TTFLAG | |
1732 | ||
1733 | TTLC, 0 | |
1734 | JMS TTST1 | |
1735 | JMS I [SRCH | |
1736 | 200;200;377 | |
1737 | JMP I [REASEM | |
1738 | TAD (5 | |
1739 | DCA TEMP | |
1740 | TAD I TEMP | |
1741 | CLL | |
1742 | TAD [200 | |
1743 | SNL CLA | |
1744 | JMP I [REASEM | |
1745 | TAD NO | |
1746 | SNA CLA | |
1747 | TAD [40 /SNA CLA | |
1748 | TAD (7610 /SKP CLA | |
1749 | DCA I TEMP | |
1750 | JMP I TTLC | |
1751 | ||
1752 | TTCTRL, 0 | |
1753 | JMS TTST1 | |
1754 | JMP I [NOTIMPL | |
1755 | JMP I TTCTRL | |
1756 | \fTTWIDTH,0 | |
1757 | JMS GETWID | |
1758 | JMS TTST1 | |
1759 | TAD NUM | |
1760 | AND [7 | |
1761 | SZA CLA | |
1762 | JMP I [BADWID | |
1763 | TAD NUM | |
1764 | TAD [-200 | |
1765 | SNA CLA | |
1766 | JMP I [BADWID | |
1767 | JMS I [SRCH | |
1768 | 200;200;7600 | |
1769 | JMP I [REASEM | |
1770 | IAC | |
1771 | DCA TEMP | |
1772 | TAD I TEMP | |
1773 | AND [177 | |
1774 | TAD (177+7200 | |
1775 | DCA T2 | |
1776 | TAD TEMP | |
1777 | IAC | |
1778 | DCA T3 | |
1779 | TAD NUM | |
1780 | CIA | |
1781 | DCA I T3 | |
1782 | TAD I T3 | |
1783 | DCA I T2 | |
1784 | JMP I TTWIDTH | |
1785 | \fGETWID, 0 | |
1786 | TAD NO | |
1787 | SZA CLA | |
1788 | JMP I [SYNTAX | |
1789 | JMS OPTEQ | |
1790 | JMS I [NUMBER | |
1791 | SNA | |
1792 | JMP I (BADWID | |
1793 | DCA NUM | |
1794 | TAD FLG | |
1795 | SZA CLA | |
1796 | JMP I [SYNTAX /NO DIGITS | |
1797 | TAD NUM | |
1798 | AND [7400 | |
1799 | SZA CLA | |
1800 | JMP I [NUMBIG | |
1801 | JMP I GETWID | |
1802 | ||
1803 | TTST1, 0 | |
1804 | JMS I (ASRTST | |
1805 | TAD VNO | |
1806 | JMS I [BRANCH | |
1807 | -1;OLDERR | |
1808 | -2;OLDERR | |
1809 | -3;TTOK | |
1810 | -4;TTOK /V3C | |
1811 | ZBLOCK 4 | |
1812 | 0 | |
1813 | JMP I [NEWERR | |
1814 | TTOK, JMP I TTST1 | |
1815 | \fOPTEQ, 0 | |
1816 | JMS I [GETC | |
1817 | TAD (-"= | |
1818 | SZA CLA | |
1819 | JMP NOE | |
1820 | JMS I [SPACE | |
1821 | JMP I OPTEQ | |
1822 | NOE, JMS I [BACKC | |
1823 | JMP I OPTEQ | |
1824 | PAGE | |
1825 | \fBADWID, JMS I [PRINT | |
1826 | TEXT /? ILLEGAL WIDTH/ | |
1827 | JMP I [GOAWAY | |
1828 | ||
1829 | OPRIN, 0 | |
1830 | DCA N3 | |
1831 | TAD (-4 | |
1832 | DCA OKNT | |
1833 | OPLP, TAD N3 | |
1834 | JMS DGP | |
1835 | TAD N3 | |
1836 | RTL | |
1837 | RAL | |
1838 | DCA N3 | |
1839 | ISZ OKNT | |
1840 | JMP OPLP | |
1841 | JMP I OPRIN | |
1842 | ||
1843 | DGP, 0 | |
1844 | RTL | |
1845 | RTL | |
1846 | AND [7 | |
1847 | TAD [60 | |
1848 | JMS I [TYPE | |
1849 | JMP I DGP | |
1850 | ||
1851 | OKNT, 0 | |
1852 | N3, 0 | |
1853 | NUM2, 0 | |
1854 | GTEM, 0 | |
1855 | \fSRCH, 0 | |
1856 | TAD I SRCH | |
1857 | ISZ SRCH | |
1858 | TAD (7200-1 | |
1859 | DCA XR1 | |
1860 | TAD I SRCH | |
1861 | ISZ SRCH | |
1862 | CIA | |
1863 | DCA CNT | |
1864 | TAD I SRCH | |
1865 | CIA | |
1866 | DCA TEMP | |
1867 | ISZ SRCH | |
1868 | SRLUP, TAD I XR1 | |
1869 | TAD TEMP | |
1870 | SNA CLA | |
1871 | JMP SRFND | |
1872 | ISZ CNT | |
1873 | JMP SRLUP | |
1874 | JMP I SRCH | |
1875 | SRFND, ISZ SRCH | |
1876 | TAD XR1 | |
1877 | JMP I SRCH | |
1878 | \fGENLOC, 0 | |
1879 | TAD NO | |
1880 | SZA CLA | |
1881 | JMP I [SYNTAX | |
1882 | JMS I [ONUM | |
1883 | DCA NUM2 | |
1884 | TAD FLG | |
1885 | SZA CLA | |
1886 | JMP I [SYNTAX | |
1887 | JMS I [GETC | |
1888 | DCA TEMP | |
1889 | TAD TEMP | |
1890 | SNA | |
1891 | JMP ENOL | |
1892 | TAD (-"= | |
1893 | SZA CLA | |
1894 | JMP I [SYNTAX | |
1895 | ENOL, TAD DHI | |
1896 | SPA CLA | |
1897 | TAD (-200 | |
1898 | TAD (-200 | |
1899 | CLL | |
1900 | TAD NUM2 | |
1901 | SZL CLA | |
1902 | JMP I [NUMBIG | |
1903 | TAD NUM2 | |
1904 | TAD (7200 /BASE OF HANDLER | |
1905 | DCA NUM2 | |
1906 | TAD TEMP | |
1907 | SNA CLA | |
1908 | JMP ODT | |
1909 | GETNEW, JMS I [ONUM | |
1910 | DCA NUM | |
1911 | TAD FLG | |
1912 | SZA CLA | |
1913 | JMP I GENLOC | |
1914 | JMS I [GETC | |
1915 | SZA CLA | |
1916 | JMP I [SYNTAX | |
1917 | TAD NUM | |
1918 | DCA I NUM2 | |
1919 | JMP I GENLOC | |
1920 | \fODT, TAD I NUM2 | |
1921 | JMS OPRIN | |
1922 | TAD ("/ | |
1923 | JMS I [TYPE | |
1924 | TAD I [READ | |
1925 | DCA GTEM /SAVE CHAIN STATUS | |
1926 | JMS I [READ | |
1927 | TAD [LINBUF | |
1928 | DCA LINPTR | |
1929 | TAD GTEM | |
1930 | DCA I [READ | |
1931 | JMP GETNEW | |
1932 | PAGE | |
1933 | \fMTAPAR, 0 | |
1934 | TAD NO | |
1935 | SZA CLA | |
1936 | JMP I [SYNTAX | |
1937 | JMS MTST1 | |
1938 | TAD LINPTR | |
1939 | DCA SAVPTR | |
1940 | TAD (EVEN | |
1941 | JMS I [KEYSRCH | |
1942 | SKP | |
1943 | JMP SETE | |
1944 | TAD SAVPTR | |
1945 | DCA LINPTR | |
1946 | TAD (ODD | |
1947 | JMS I [KEYSRCH | |
1948 | JMP I [SYNTAX | |
1949 | TAD (400 | |
1950 | SETE, TAD (2 | |
1951 | DCA I (7200 | |
1952 | JMP I MTAPAR | |
1953 | ||
1954 | MTST1, 0 | |
1955 | TAD VNO | |
1956 | JMS I [BRANCH | |
1957 | -1;OLDERR | |
1958 | -2;OLDERR | |
1959 | -3;OLDERR | |
1960 | -4;MTOK | |
1961 | -5;MTOK | |
1962 | -6;MTOK | |
1963 | ZBLOCK 4 | |
1964 | 0 | |
1965 | JMP I [NEWERR | |
1966 | MTOK, JMP I MTST1 | |
1967 | ||
1968 | MTADEN, 0 | |
1969 | JMS MTST1 | |
1970 | TAD NO | |
1971 | SZA CLA | |
1972 | JMP I [SYNTAX | |
1973 | JMP I [NOTIMP | |
1974 | JMP I MTADEN | |
1975 | \fMTAFIL, 0 | |
1976 | JMS MTST1 | |
1977 | TAD NO | |
1978 | DCA I (7201 | |
1979 | JMP I MTAFIL | |
1980 | ||
1981 | BADCOD, JMS I [PRINT | |
1982 | TEXT /? UNKNOWN CARD CODE/ | |
1983 | JMP I [GOAWAY | |
1984 | ||
1985 | /SUPPOSED TO WORK ON ALL VERSIONS | |
1986 | ||
1987 | CDCODE, 0 | |
1988 | TAD NO | |
1989 | SZA CLA | |
1990 | JMP I [SYNTAX | |
1991 | JMS I (OPTEQ | |
1992 | JMS I [NUMBER | |
1993 | TAD (-32 /026 | |
1994 | SNA | |
1995 | JMP C026 | |
1996 | TAD (32-35 /029 | |
1997 | SZA CLA | |
1998 | JMP BADCOD | |
1999 | JMS CHANGE | |
2000 | LIST1;LIST2 | |
2001 | JMP I CDCODE | |
2002 | C026, JMS CHANGE | |
2003 | LIST1;LIST3 | |
2004 | JMP I CDCODE | |
2005 | \fCHANGE, 0 | |
2006 | TAD I CHANGE | |
2007 | DCA P1 | |
2008 | ISZ CHANGE | |
2009 | TAD I CHANGE | |
2010 | DCA P2 | |
2011 | ISZ CHANGE | |
2012 | CHLUP, TAD I P1 | |
2013 | SNA | |
2014 | JMP I CHANGE | |
2015 | TAD (7200 /BASE OF HANDLER | |
2016 | DCA P3 | |
2017 | TAD I P2 | |
2018 | DCA I P3 | |
2019 | ISZ P1 | |
2020 | ISZ P2 | |
2021 | JMP CHLUP | |
2022 | ||
2023 | P1, 0 | |
2024 | P2, 0 | |
2025 | P3, 0 | |
2026 | PAGE | |
2027 | \fLIST1, 304;305;306 | |
2028 | 314;315;316 | |
2029 | 324;325;326;327 | |
2030 | 334;335;336 | |
2031 | 0 | |
2032 | ||
2033 | LIST2, 3203;4007;3502 | |
2034 | 7514;0577;3637 | |
2035 | 0104;1211;3374;0641 | |
2036 | 7316;3410;1376 | |
2037 | ||
2038 | LIST3, 7735;4076;0774 | |
2039 | 3314;1002;0305 | |
2040 | 3204;1273;3606;1341 | |
2041 | 3716;1175;3401 | |
2042 | \fTECNAM, FILENAME TECO.SV | |
2043 | ||
2044 | TECO, 0 | |
2045 | DCA SA | |
2046 | TAD (TECNAM | |
2047 | DCA ARG1 | |
2048 | CLA IAC /LOOKUP ON SYS | |
2049 | CIF 10 | |
2050 | JMS I USR | |
2051 | 2 | |
2052 | ARG1, TECNAM /STARTING BLOCK | |
2053 | 0 | |
2054 | JMP I TECO /NOT FOUND | |
2055 | TAD ARG1 | |
2056 | DCA BLKN | |
2057 | JMS I (7607 | |
2058 | 100 /READ 1 PAGE FROM TECO | |
2059 | 7000 /BUFFER | |
2060 | BLKN, 0 | |
2061 | JMP I [SYSERR | |
2062 | TAD BLKN | |
2063 | DCA BLKN2 | |
2064 | TAD SA | |
2065 | DCA I (7002 /REL LOC 2 IS S.A. | |
2066 | JMS I (7607 | |
2067 | 4100 | |
2068 | 7000 | |
2069 | BLKN2, 0 | |
2070 | JMP I [SYSERR | |
2071 | JMP I TECO | |
2072 | ||
2073 | SA, 0 | |
2074 | PAGE | |
2075 | ||
2076 | /7000-7177 BUFFER FOR TECO CCB | |
2077 | /7200-7577 BUFFER FOR HANDLER | |
2078 | \f FIELD 0 | |
2079 | *200 | |
2080 | $ |