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