1 /CD.PA FOR OS278 2 3 /ADAPTED FROM: 4 /8 COMMAND DECODER FOR OS/8 MONITOR 5 / 6 / 7 / 8 / 9 / 10 / 11 / 12 / 13 / 14 /COPYRIGHT (C) 1974, 1975, 1977, 1982 BY DIGITAL EQUIPMENT CORPORATION 15 / 16 / 17 / 18 / 19 / 20 / 21 / 22 / 23 / 24 / 25 /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE 26 /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT 27 /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY 28 /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. 29 / 30 /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER 31 /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED 32 /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH 33 /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. 34 / 35 /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE 36 /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY 37 /DIGITAL. 38 / 39 / 40 / 41 / 42 / 43 / 44 / 45 / 46 / 47 / 48 /APRIL 1977 RL/EF/HJ/SR 49 50 /ABSTRACT-- 51 /COMMAND DECODER (CD) ACCEPTS TTY INPUT AND INTERPRETS 52 /THAT INPUT AS A LIST OF OPTIONS AND FILE SPECIFICATIONS 53 /FOR OS/8 CUSPS. TABLES ARE SETUP INDICATING THE SPECIFIED 54 /FILES AND OPTIONS. 55 /THIS VERSION OF CD IS CAPABLE OF RUNNING OS/8 BATCH. 56 /MODIFICATIONS TO INITIALIZATION CODE HAVE BEEN MADE TO 57 /ALLOW THIS. 58 59 60 DCB=7760 61 SHNDLR=7607 62 USERFG=40 /LOCATION IN MAIN OS/8 ASSEMBLY - VOLATILE 63 T1=41 /DITTO 64 MCDREC=51 /ALSO PRETTY VOLATILE 65 MOFILE=7600 66 MIFILE=7617 67 MPARAM=7643 68 FIELD 0 /JUSTINCASE 69 70 CDVERSION="B&77^100+62 71 ODTVERSION="B&77^100+60 72 73 /V3 CHANGES TO CD: 74 75 /1. FIXED LOTS OF BUGS 76 / A:B:C IS ILLEGAL 77 / 15-BIT = OPTION DOESN'T DESTROY ALTMODE BIT 78 /2. ADDED ? SUPPORT IN SPECIAL MODE 79 /3. ALLOWED SPECIAL MODE UNDER BATCH 80 /4. REMOVED DCC CODE 81 /5. ^U, RO TO BOL, AND LF ALL REPRINT * 82 /6. VERSION # AT LOC ZERO 83 /7. DON'T LOAD HANDLERS FOR OUTPUT DEVICE 84 /8. CHANGED _ TO < STANDARD 85 86 /V3 CHANGES TO ODT 87 88 /1. REMOVED DCC CODE 89 /2. FIXED CORE SIZE ROUTINE 90 /3. ALLOWED SOFTWARE CORE SIZE 91 /4. MODIFIED 'GO' COMMAND SO THAT IT DOESN'T RESTORE TRAP 92 / LOCATION TO UNMODIFIED VALUE 93 /5. FIXED BUG RE: JMS'S OUT OF FIELD WITH MAGIC LOCATION SET 94 /6. TURN OFF INTERRUPTS ON BREAKPOINT 95 96 /CHANGES AFTER FIELD TEST RELEASE: 97 98 /1. FIXED BUG RE FILE LENGTHS GT 2047 BLOCKS 99 100 /MAINTENANCE RELEASE: 101 102 / NO CHANGES 103 104 /V3D CHANGES: 105 106 /CHANGED FORMAT OF VERSION NUMBERS 107 108 /V4 CHANGES TO CD: CHANGED TTY ROUTINES TO WORK ON A VT278 109 110 /V4 CHANGES TO ODT: MODIFIED TO WORK ON A VT278. WHEN IN 278 MODE DOES 111 /NOT USE KT8A EXTENDED MEMORY INSTRUCTIONS. (ILLEGAL ON A VT278) 112 113 /OS278 CHANGES 114 /VB1 (VB0 INITIAL OS278 VERSION) 115 /INSTALLED DSN 73.03.01 CD FIX FOR RUNNING UNDER BATCH 116 /VB2 117 /04-JAN-83 ADDED LOWER CASE INPUT ABILITY 118 *200 119 000200 5740 CD, JMP I NUMBER /EXECUTED IN SYSGEN 120 000201 5420 NUM, JMP I T 121 000202 1177 ANALYZ, TAD [BEGLN-1 122 000203 3016 DCA XR 123 000204 1416 TAD I XR 124 000205 7450 SNA 125 000206 5213 JMP NOBKAR 126 000207 1176 TAD [-"< 127 000210 7640 SZA CLA 128 000211 5204 JMP .-5 129 000212 7240 CLA CMA 130 000213 3041 NOBKAR, DCA OUTSW 131 000214 1177 TAD [BEGLN-1 132 000215 3015 DCA LXR 133 000216 1041 BEGGRP, TAD OUTSW 134 000217 7650 SNA CLA 135 000220 1046 TAD BEGDIF /DIFF BETWEEN INPUT & OUTPUT AREAS 136 000221 1175 TAD [MOFILE-1 137 000222 3017 DCA CLXR 138 000223 7240 STA 139 000224 3037 DCA DVFLAG 140 000225 3033 DCA DEV1 141 000226 3034 FILLP1, DCA DEV2 142 000227 4574 FILLP, JMS I [GNAME 143 000230 1173 TAD ["A-": /AC CONTAINED DELIM - "A 144 000231 7650 SNA CLA 145 000232 5320 JMP DEVNAM 146 000233 4572 JMS I [ASSIGN 147 000234 1041 TAD OUTSW 148 000235 7650 SNA CLA 149 000236 1047 TAD LIMDIF /DIFF BETWWEN END OF OUTPUT & INPUT AREAS 150 000237 1050 TAD OUTLIM /END OF OUTPUT AREA 151 000240 1017 TAD CLXR 152 000241 7700 SMA CLA 153 000242 5377 JMP CDER1 154 000243 1041 TAD OUTSW 155 000244 7650 SNA CLA 156 000245 5261 LKUPSW, JMP INFILE /ZEROED IF IN "SPECIAL DECODE" MODE 157 000246 6211 CDF 10 158 000247 1043 TAD DVICE 159 000250 3417 DCA I CLXR 160 000251 1025 TAD NAME1 161 000252 3417 DCA I CLXR 162 000253 1026 TAD NAME2 163 000254 3417 DCA I CLXR 164 000255 1027 TAD NAME3 165 000256 3417 DCA I CLXR 166 000257 1030 TAD NAME4 167 000260 7410 CDSKP, SKP 168 000261 4571 INFILE, JMS I [LOOKUP 169 000262 3417 DCA I CLXR 170 000263 6201 DLOOK, CDF 0 171 000264 7240 STA 172 000265 3037 DCA DVFLAG 173 000266 1040 TAD DELIM 174 000267 7450 SNA 175 000270 5326 JMP CDOVER 176 000271 1170 TAD [-"[ 177 000272 7450 SNA 178 000273 5567 JMP I [OLENGT 179 000274 1166 TAD ["[-", 180 000275 7450 SNA 181 000276 5227 JMP FILLP 182 000277 1165 TAD [",-"< 183 000300 7450 SNA 184 000301 5315 JMP BKAROW 185 000302 1164 TAD ["<-"= 186 000303 7640 SZA CLA 187 000304 5563 JMP I [CDER2 188 000305 3036 EQUAL, DCA NUMFUJ 189 000306 4340 JMS NUMBER 190 000307 3562 DCA I [MPARAM+3 191 000310 7330 CLA CLL CML RAR 192 000311 0561 AND I [MPARAM-1 /PRESERVE ALTMODE 193 000312 1022 TAD HIORD 194 000313 3561 DCA I [MPARAM-1 195 000314 5263 JMP DLOOK 196 000315 2041 BKAROW, ISZ OUTSW 197 000316 5563 JMP I [CDER2 198 000317 5216 JMP BEGGRP 199 000320 1025 DEVNAM, TAD NAME1 200 000321 3033 DCA DEV1 201 000322 2037 ISZ DVFLAG 202 000323 5563 JMP I [CDER2 /CATCHES A:B: 203 000324 1026 TAD NAME2 204 000325 5226 JMP FILLP1 205 000326 6046 CDOVER, TLS /V4: JUST ENABLE THE "PRINTER" 206 000327 6032 KCC /*FIX FOR DSN 73.03.01 207 000330 7000 NOP //V3: TSF 208 //V3: JMP .-1 /LET PRINTER QUIET DOWN 209 //V3: TCF /AND CLEAR FLAG 210 000331 6213 CDF CIF 10 211 000332 1052 TAD TMONIT 212 000333 3560 DCA I [200 /RESTORE "MONITO" 213 000334 1053 TAD TUSRFG 214 000335 3557 DCA I [USERFG /RESTORE "USER FLAG" 215 /* KCC /V4: SERVES AS KEYBOARD ENABLE TO VT278, JUST IN CASE 216 000336 1054 TAD TFPUTX /LOAD "USER CALLING FIELD" INTO AC 217 000337 5600 JMP I CD /RETURN - MONITOR RESTORES CORE IF NECESSARY 218 /* NOP /V4: PLACE HOLDER. OS/8 CODE IS VERY POSITION 219 / SENSITIVE! 220 221 000340 4000 NUMBER, 4000 /USED BY SYSGEN 222 000341 1260 TAD CDSKP 223 000342 3366 DCA NUMADD /SET NUMADD TO EITHER "SKP" OR "TAD NUM" 224 000343 3022 DCA HIORD 225 000344 3201 NUMLP, DCA NUM 226 000345 4002 JMS NUMTST /INTO PAGE 0 FOR RANGE TEST 227 000346 7420 SNL 228 000347 5372 JMP EONUM 229 000350 3020 DCA T 230 000351 7346 CLA CLL CMA RTL 231 000352 3040 DCA DELIM 232 000353 1201 TAD NUM 233 000354 7104 ROTLP, CLL RAL 234 000355 3023 DCA NUMX 235 000356 1022 TAD HIORD 236 000357 7004 RAL 237 000360 7510 SPA 238 000361 5563 JMP I [CDER2 239 000362 3022 DCA HIORD 240 000363 1023 TAD NUMX 241 000364 2040 ISZ DELIM 242 000365 5354 JMP ROTLP 243 000366 1201 NUMADD, TAD NUM /SKP IF OCTAL 244 000367 1201 TAD NUM 245 000370 1020 TAD T 246 000371 5344 JMP NUMLP 247 000372 1156 EONUM, TAD ["0 248 000373 3040 DCA DELIM 249 000374 1201 TAD NUM 250 000375 6211 CDF 10 251 000376 5740 JMP I NUMBER 252 000377 4555 CDER1, JMS I [PRMESG 253 000400 2417 TEXT /TOO MANY FILES/ 000401 1740 000402 1501 000403 1631 000404 4006 000405 1114 000406 0523 000407 0000 254 255 256 IFZERO .&400 <*400> 257 000410 0000 ASSIGN, 0 258 000411 1017 TAD CLXR 259 000412 0037 AND DVFLAG 260 000413 1050 TAD OUTLIM 261 000414 7740 SMA SZA CLA /CHECK FOR OUTPUT OR FIRST INPUT 262 000415 5225 JMP ASNORM /IF DEVICE WAS SPECIFIC, OR IF WE ARE ON THE INPUT SIDE, 263 /PROCEED NORMALLY 264 000416 1025 TAD NAME1 265 000417 7650 SNA CLA 266 000420 5252 JMP ASGNST 267 000421 1045 TAD DFLTNM+1 268 000422 3034 DCA DEV2 269 000423 1044 TAD DFLTNM 270 000424 3033 DCA DEV1 271 000425 1033 ASNORM, TAD DEV1 272 000426 3245 DCA AS+1 273 000427 1034 TAD DEV2 274 000430 3246 DCA AS+2 275 000431 1041 TAD OUTSW 276 000432 7650 SNA CLA /DON'T LOAD HANDLER IF WE ARE ON OUTPUT SIDE OF "_" 277 000433 1025 TAD NAME1 278 000434 7650 SPKLG1, SNA CLA /OR IF THERE IS NO FILE NAME TO LOOK UP 279 000435 1051 TAD GETHND /GETHND=11 NORMALLY, 0 IF IN "SPECIAL DECODE" MODE 280 000436 7001 IAC 281 000437 3244 DCA AS 282 000440 1154 TAD [1401 /ALLOW TWO PAGE HANDLERS 283 000441 3247 DCA ASADR 284 000442 6212 CIF 10 285 000443 4560 JMS I [200 286 000444 0000 AS, 0 287 000445 0000 0 288 000446 0000 0 289 000447 1401 ASADR, 1401 290 000450 5553 JMP I [CDER0 291 000451 1246 TAD AS+2 292 000452 3043 ASGNST, DCA DVICE 293 000453 5610 JMP I ASSIGN 294 000454 0000 GNAME, 0 295 000455 3025 DCA NAME1 296 000456 3026 DCA NAME2 297 000457 3027 DCA NAME3 298 000460 3030 DCA NAME4 299 000461 1152 TAD [NAME1 300 000462 3032 DCA NMBASE 301 000463 7240 CLA CMA 302 000464 3035 DCA PERDSW 303 000465 3031 DCA NAMECT 304 000466 4551 GTNMLP, JMS I [GCH 305 000467 3040 DCA DELIM 306 000470 1040 TAD DELIM 307 000471 1150 TAD [-"? 308 000472 7440 SZA 309 000473 1152 TAD ["?-"* 310 000474 7450 SNA 311 000475 5563 STARSW, JMP I [CDER2 /"JMP STARNM" IF "SPECIAL DECODE" MODE 312 000476 1147 TAD ["*-". 313 000477 7650 SNA CLA 314 000500 5331 JMP PERIOD 315 000501 4546 JMS I [DECODE 316 000502 5654 JMP I GNAME 317 000503 7200 STARNM, CLA /THIS CODE HANDLES *'S AND ?'S CORRECTLY 318 000504 1040 TAD DELIM 319 000505 0145 AND [77 320 000506 3040 DCA DELIM 321 000507 1031 TAD NAMECT 322 000510 1144 TAD [-6 323 000511 7700 SMA CLA 324 000512 5266 JMP GTNMLP 325 000513 1031 TAD NAMECT 326 000514 7110 CLL RAR 327 000515 1032 TAD NMBASE 328 000516 3021 DCA TT 329 000517 1040 TAD DELIM 330 000520 7430 SZL 331 000521 5325 JMP .+4 332 000522 7006 RTL 333 000523 7006 RTL 334 000524 7006 RTL 335 000525 1421 TAD I TT 336 000526 3421 DCA I TT 337 000527 2031 ISZ NAMECT 338 000530 5266 JMP GTNMLP 339 000531 1025 PERIOD, TAD NAME1 340 000532 7640 SZA CLA 341 000533 2035 ISZ PERDSW 342 000534 5563 JMP I [CDER2 343 000535 2032 ISZ NMBASE 344 000536 1143 TAD [4 345 000537 5265 JMP GTNMLP-1 346 000540 0000 LOOKUP, 0 347 000541 3353 DCA LNAME 348 000542 1025 TAD NAME1 349 000543 7650 SNA CLA 350 000544 5366 JMP LKUPST 351 000545 5055 JMP EXT1 352 000546 3353 LKUPLP, DCA LNAME 353 000547 1246 TAD AS+2 354 000550 6212 CIF 10 355 000551 4560 JMS I [200 356 000552 0002 2 357 000553 0000 LNAME, 0 /NAME1 358 000554 0000 LENGTH, 0 359 000555 5373 JMP LFAILD 360 000556 1354 TAD LENGTH 361 000557 7100 CLL 362 000560 1142 TAD [400 363 000561 7420 SNL 364 000562 7200 CLA 365 000563 7106 CLL RTL 366 000564 7006 RTL 367 000565 0165 AND [7760 368 000566 6211 LKUPST, CDF 10 369 000567 1043 TAD DVICE 370 000570 3417 DCA I CLXR 371 000571 1353 TAD LNAME 372 000572 5740 JMP I LOOKUP 373 000573 1031 LFAILD, TAD NAMECT 374 000574 7650 SNA CLA /WAS THERE AN EXPLICIT EXTENSION? 375 000575 1042 TAD DEFALT /NO - WAS THERE A DEFAULT EXTENSION? 376 000576 7650 SNA CLA 377 000577 5541 JMP I [CDER3 /YES OR NO - FILE NOT FOUND 378 000600 2031 ISZ NAMECT /NO AND YES - SET FLAG TO FAIL NEXT TIME 379 000601 5062 JMP EXT2 /ZERO OUT THE EXTENSION AND TRY AGAIN 380 000602 4540 CDER3, JMS I [PRNAME 381 000603 4555 JMS I [PRMESG 382 000604 4016 TEXT / NOT FOUND/ 000605 1724 000606 4006 000607 1725 000610 1604 000611 0000 383 384 385 386 IFZERO .+200&1000 <*600> 387 000612 0000 0 /V3 [FREE LOC] 388 000613 0000 SLSHCH, 0 389 /V3 SNA 390 /V3 JMP I [CDER2 391 000614 3040 DCA DELIM 392 000615 1161 TAD [MPARAM-1 393 000616 3020 DCA T 394 000617 4546 JMS I [DECODE 395 000620 5563 JMP I [CDER2 396 000621 7430 SZL 397 000622 1137 TAD [32 398 000623 7160 CMA STL /THE FOLLOWING TURNS ON THE CORRECT OPTION BIT 399 000624 3021 DCA TT 400 000625 7430 SLSHLP, SZL 401 000626 2020 ISZ T 402 000627 7010 RAR 403 000630 7420 SNL 404 000631 2021 ISZ TT 405 000632 5225 JMP SLSHLP 406 000633 3021 DCA TT 407 000634 6211 CDF 10 408 000635 1021 TAD TT 409 000636 7040 CMA 410 000637 0420 AND I T 411 000640 1021 TAD TT 412 000641 3420 DCA I T 413 000642 6201 CDF 0 414 000643 5613 JMP I SLSHCH 415 000644 0000 DECODE, 0 416 000645 1040 TAD DELIM 417 000646 1136 TAD [-"9-1 418 000647 7100 CLL 419 000650 1135 TAD ["9+1-"0 420 000651 7430 SZL 421 000652 5257 JMP DCDYES 422 000653 1134 TAD ["0-"Z-1 423 000654 7120 CLL CML 424 000655 1137 TAD ["Z-"A+1 425 000656 7420 SNL 426 000657 2244 DCDYES, ISZ DECODE 427 000660 5644 JMP I DECODE 428 000661 1033 CDER0, TAD DEV1 429 000662 4533 JMS I [PRWD 430 000663 1034 TAD DEV2 431 000664 4533 JMS I [PRWD 432 000665 4555 JMS I [PRMESG 433 000666 4004 TEXT / DOES NOT EXIST/ 000667 1705 000670 2340 000671 1617 000672 2440 000673 0530 000674 1123 000675 2400 434 435 436 437 000676 4532 RESTRT, JMS I [CRLF 438 000677 6211 CDF 10 439 000700 1175 TAD [MOFILE-1 440 000701 3016 DCA XR 441 000702 1131 TAD [-47 442 000703 3020 DCA T 443 000704 3416 DCA I XR /ZERO OUT THE COMMAND DECODER OUTPUT AREA 444 000705 2020 ISZ T 445 000706 5304 JMP .-2 446 000707 6201 CDF 0 447 000710 5530 JMP I [GLINE 448 000711 0000 GCH, 0 449 000712 1415 TAD I LXR 450 000713 1127 TAD [-240 451 000714 7450 SNA 452 000715 5312 JMP GCH+1 453 000716 1126 TAD [240-"/ 454 000717 7450 SNA 455 000720 5326 JMP SLASH 456 000721 1173 TAD ["/-"( 457 000722 7450 SNA 458 000723 5331 JMP OPENP 459 000724 1125 TAD ["( 460 000725 5711 JMP I GCH 461 000726 1415 SLASH, TAD I LXR 462 000727 4524 JMS I [SLSHCH 463 000730 5312 JMP GCH+1 464 000731 1415 OPENP, TAD I LXR 465 000732 1123 TAD [-") 466 000733 7450 SNA 467 000734 5312 JMP GCH+1 468 000735 1122 TAD [") 469 000736 4524 JMS I [SLSHCH 470 000737 5331 JMP OPENP 471 000740 1041 OLENGT, TAD OUTSW 472 000741 0025 AND NAME1 /[N] IS ONLY LEGAL ON THE OUTPUT SIDE OF THE "_" 473 000742 7650 SNA CLA /AND ONLY AFTER A FILE NAME 474 000743 5563 JMP I [CDER2 475 000744 1147 TAD [-4 476 000745 1017 TAD CLXR 477 000746 3032 DCA NMBASE 478 000747 7326 CLA CLL CML RTL 479 000750 3036 DCA NUMFUJ /SET "NUMBER" TO ACCEPT DIGITS 8 AND 9 480 000751 1367 TAD OLFUDJ /LOAD FUDGE SO THAT "NUMBER" WILL BE DECIMAL 481 000752 4521 JMS I [NUMBER 482 000753 7106 CLL RTL 483 000754 7006 RTL 484 000755 0165 AND [7760 485 000756 1432 TAD I NMBASE 486 000757 3432 DCA I NMBASE 487 000760 6201 CDF 0 488 000761 1040 TAD DELIM 489 000762 1120 TAD [-"] /IS THERE A CLOSING BRACKET? 490 000763 7450 SNA /IF NOT, "DLOOK" ROUTINE WILL DETECT IT 491 000764 4551 JMS I [GCH 492 000765 3040 DCA DELIM 493 000766 5517 JMP I [DLOOK 494 000767 1571 OLFUDJ, NUM&177+1570 495 496 000770 7200 CDER2, CLA 497 000771 4555 JMS I [PRMESG 498 000772 1114 TEXT /ILLEGAL SYNTAX/ 000773 1405 000774 0701 000775 1440 000776 2331 000777 1624 001000 0130 001001 0000 499 500 501 IFZERO .&1000 <*1000> 502 /TELETYPE INPUT ROUTINE FOR COMMAND DECODER 503 001002 1377 GLINE, TAD (252 /SETS 1177=252 FOR * IN MESSAGE 504 001003 4466 JMS I PRINT 505 001004 3024 DCA RBFLAG 506 001005 1177 TAD [BEGLN-1 507 001006 3015 DCA LXR 508 509 /V4 CHANGES FOR VT278 SUPPORT: 510 511 001007 6032 CHLOOP, KCC /RENABLES KEYBOARD 512 //V3: CHLOOP, 6031 /KSF 513 001010 6031 KSF // JMP CHLOOP 514 001011 5210 JMP .-1 // TAD [200 515 001012 1160 TAD [200 // 6034 /KRS 516 001013 6034 KRS // DCA NAME1 517 001014 3025 DCA NAME1 // 6032 /KCC 518 001015 1116 TAD [SPADR-1 519 001016 3016 DCA XR 520 001017 1416 DSPCHL, TAD I XR 521 001020 7440 K7440, SZA 522 001021 1025 TAD NAME1 523 001022 7650 SNA CLA 524 001023 5416 JMP I XR 525 001024 5217 JMP DSPCHL 526 001025 7553 SPADR, -225;JMP CTRLU 001026 5273 527 001027 7563 -215;JMP CARRET 001030 5265 528 001031 7401 -377;JMP RUBOUT 001032 5331 529 //LOCATIONS MARKED + GET CHANGED BY SET TTY SCOPE. 530 001033 7557 -221;JMP CHLOOP /Ignore ^Q 001034 5207 531 001035 7555 -223;JMP CHLOOP /Ignore ^S 001036 5207 532 001037 7545 -233;JMP ALTMOD 001040 5321 533 001041 7600 -200;JMP CHLOOP 001042 5207 534 001043 7561 -217;JMP CHLOOP /^O 001044 5207 535 001045 7441 -"_;JMP LESSTN 001046 5270 536 001047 7566 -212;JMP CHLOOP /Ignore LF 001050 5207 537 001051 7575 -203;JMP CTRLC /MUST BE LAST - SEE CLRLIN CODE 001052 5273 538 001053 0000 0 539 001054 4355 JMS PRNT 540 001055 1025 CINSRT, TAD NAME1 541 001056 3415 DCA I LXR 542 001057 1015 TAD LXR 543 001060 1115 TAD [-EOBUFR+2 544 001061 7710 SPA CLA 545 001062 5207 JMP CHLOOP 546 001063 4312 JMS CRLF 547 001064 5563 JMP I [CDER2 548 549 001065 4312 CARRET, JMS CRLF 550 001066 3415 CLFINI, DCA I LXR 551 001067 5514 JMP I [ANALYZ 552 001070 4355 LESSTN, JMS PRNT 553 001071 1113 TAD ["< 554 001072 5256 JMP CINSRT+1 555 CTRLC, 556 001073 1112 CTRLU, TAD [336 557 001074 4466 JMS I PRINT 558 001075 1025 TAD NAME1 559 001076 1111 TAD [100 560 001077 4466 CLRLIN, JMS I PRINT 561 001100 4312 JMS CRLF 562 001101 1416 TAD I XR 563 001102 7640 SZA CLA 564 001103 5202 JMP GLINE 565 001104 6211 CDF 10 566 001105 7240 CLA CMA 567 001106 3510 DCA I [7700 568 001107 7000 NOP //V3: NO NEED TO WAIT IN V4. TSF 569 001110 7000 NOP // JMP .-1 570 001111 5507 JMP I [7605 /7605=CDF CIF 10 571 001112 0000 CRLF, 0 572 001113 1106 TAD [215 573 001114 3025 DCA NAME1 574 001115 4355 JMS PRNT 575 001116 1105 TAD [212 576 001117 4466 JMS I PRINT 577 001120 5712 JMP I CRLF 578 001121 1104 ALTMOD, TAD [244 579 001122 3025 DCA NAME1 580 001123 7330 CLA CLL CML RAR 581 001124 6211 CDF 10 582 001125 3561 DCA I [MPARAM-1 583 001126 6201 CDF 0 584 001127 4355 JMS PRNT 585 001130 5266 JMP CLFINI 586 587 588 /*** LOCATIONS ON THIS PAGE ARE MODIFIED BY SET 589 /SEE SET FOR DETAILS. DO NOT CHANGE. 590 591 001131 1015 RUBOUT, TAD LXR 592 001132 1103 TAD [1-BEGLN 593 001133 7650 SNA CLA 594 001134 5351 JMP RBSPCL 595 001135 1102 TAD [334 //+ GET MODIFIED BY SET TTY SCOPE 596 001136 2024 ISZ RBFLAG //+ 597 001137 4466 JMS I PRINT 598 001140 7240 CLA CMA //+ 599 001141 3024 DCA RBFLAG //+ 600 001142 1015 TAD LXR 601 001143 3020 DCA T 602 001144 1420 TAD I T //+ END OF LOCS MODIFIED IN CD BY SET TTY SCOPE. 603 001145 4466 JMS I PRINT 604 001146 7240 LBCKUP, CLA CMA 605 001147 1015 TAD LXR 606 001150 5206 JMP CHLOOP-1 607 001151 2024 RBSPCL, ISZ RBFLAG 608 001152 5300 JMP CLRLIN+1 609 001153 1102 TAD [334 610 001154 5277 JMP CLRLIN 611 612 001155 0000 PRNT, 0 613 001156 1025 TAD NAME1 /GET CHARACTER 614 001157 4466 JMS I PRINT /ECHO CHARACTER 615 001160 1025 TAD NAME1 /CONVERT CHARACTER TO UPPERCASE 616 001161 1220 TAD K7440 617 001162 7500 SMA 618 001163 1376 TAD (7740 619 001164 1121 TAD [340 620 001165 3025 DCA NAME1 /SAVE IT 621 001166 5755 JMP I PRNT 622 623 IFNZRO RUBOUT-1131 <_ERROR_> 624 001176 7740 *1200 /INITIALIZATION - STORED OVER BY LINE BUFFER 001177 0252 625 BEGLN=. /LINE BUFFER 626 001200 3054 CDINIT, DCA TFPUTX 627 001201 6211 CDF 10 628 001202 7201 CLA IAC 629 001203 1560 TAD I [200 630 001204 3052 DCA TMONIT /SAVE AWAY MONITOR CALL ADDRESS SINCE WE CALL 631 001205 1557 TAD I [USERFG /THE MONITOR RECURSIVELY, LIKEWISE SAVE 632 001206 3053 DCA TUSRFG /THE "USER FLAG" AND THE FIELD WE WERE CALLED FROM 633 001207 1501 TAD I [T1 /FETCH THE USERS ARGUMENT 634 001210 3042 DCA DEFALT /STORE IN THE DEFAULT EXTENSION WORD 635 001211 3573 DCA I [7 /ZERO "DIRECTORY SEGMENT IN CORE" KEY 636 001212 6201 CDF 0 637 001213 6212 CIF 10 638 001214 4560 JMS I [200 639 001215 0013 13 /RESET ALL HANDLERS 640 001216 0000 0 /BUT NOT OUTPUT FILES 641 001217 1042 TAD DEFALT 642 001220 1245 TAD M5200 643 001221 7640 SZA CLA /IS THIS A REQUEST FOR A "SPECIAL DECODE"? 644 001222 5237 JMP CDCONT /NO 645 001223 1246 TAD ALTLIM 646 001224 3050 DCA OUTLIM /YES - SET UP ALL THE PROPER LOCATIONS 647 001225 1247 TAD ALTDF1 648 001226 3047 DCA LIMDIF /TO YIELD 1 OUTPUT FILE AND 5 INPUT FILES 649 001227 1250 TAD ALTDF2 650 001230 3046 DCA BEGDIF /ALL OF WHICH ARE 5-WORD ENTRIES 651 001231 3651 DCA I PLKUPS 652 001232 1252 TAD STARJM 653 001233 3653 DCA I PSTARS /AND ALLOW * AS A FILE OR EXTENSION NAME 654 001234 3042 DCA DEFALT /NO DEFAULT EXTENSION IN "SPECIAL" MODE 655 001235 1254 TAD CCLA /STOPS FETCHES IN SPECIAL MODE 656 001236 3655 DCA I PSPKG1 /NO HANDLER FETCHES NECESSARY EITHER SINCE NO LOOKUPS 657 001237 1725 CDCONT, TAD I PRWD /SEE IF BATCH FLAG IS UP 658 001240 7004 RAL 659 001241 7710 SPA CLA /IF YES, GO TO PAGE0 CODE 660 001242 5021 JMP TT /TT ETC. IS ONCE-ONLY CODE 661 001243 5644 JMP I CDRST 662 663 664 001244 0677 CDRST, RESTRT+1 665 /CONSTANTS NECESSARY TO SUPPORT "SPECIAL DECODE" MODE 666 001245 2600 M5200, -5200 667 001246 0174 ALTLIM, 1-MOFILE-5 668 001247 7747 ALTDF1, MOFILE+5-MPARAM+5 669 001250 0005 ALTDF2, 5 670 001251 0245 PLKUPS, LKUPSW 671 001252 5303 STARJM, STARNM&177+5200 /"JMP STARNM" 672 001253 0475 PSTARS, STARSW 673 001254 7200 CCLA, CLA 674 001255 0434 PSPKG1, SPKLG1 675 676 677 *1314 678 EOBUFR=. 679 001314 0000 PRMESG, 0 680 001315 1714 TAD I PRMESG 681 001316 4325 JMS PRWD 682 001317 1714 TAD I PRMESG 683 001320 2314 ISZ PRMESG 684 001321 0145 AND [77 685 001322 7640 SZA CLA 686 001323 5315 JMP PRMESG+1 687 001324 5500 JMP I [RESTRT 688 001325 7777 PRWD, 7777 689 001326 3020 DCA T 690 001327 1020 TAD T 691 001330 7012 RTR 692 001331 7012 RTR 693 001332 7012 RTR 694 001333 4337 JMS PCHAR 695 001334 1020 TAD T 696 001335 4337 JMS PCHAR 697 001336 5725 JMP I PRWD 698 001337 0000 PCHAR, 0 699 001340 0145 AND [77 700 001341 7450 SNA 701 001342 5737 JMP I PCHAR /IGNORE NULLS 702 001343 1077 TAD [240 703 001344 0145 AND [77 704 001345 1077 TAD [240 705 001346 4367 JMS TYPE 706 001347 5737 JMP I PCHAR 707 001350 0000 PRNAME, 0 708 001351 1025 TAD NAME1 709 001352 4325 JMS PRWD 710 001353 1026 TAD NAME2 711 001354 4325 JMS PRWD 712 001355 1027 TAD NAME3 713 001356 4325 JMS PRWD 714 001357 1030 TAD NAME4 715 001360 7650 SNA CLA 716 001361 5750 JMP I PRNAME 717 001362 1076 TAD [256 718 001363 4337 JMS PCHAR 719 001364 1030 TAD NAME4 720 001365 4325 JMS PRWD 721 001366 5750 JMP I PRNAME 722 001367 0000 TYPE, 0 723 001370 6046 TLS /V4: CANNOT START WITH TSF. //V3: JMP .+3 724 001371 6041 TSF 725 001372 5371 JMP .-1 726 001373 7000 NOP /NOP PRESERVES POSITIONS //V3: TLS 727 001374 7200 CLA 728 001375 7000 NOP // TAD [7000 729 001376 7000 NOP // DCA TYPE+1 730 001377 5767 TYPRET, JMP I TYPE 731 IFNZRO TYPRET-1377 732 733 734 *4001 /PROG TO WRITE CD AND ODT ONTO NEW SYSTEM DEVICE 735 /4000=JMS SYSSWP TO SWAP PGS 6600 AND 7600 736 004001 1777 TAD I (7777 /SET TO PROPER RECORD FOR FIELD 1 STUFF 737 004002 3220 DCA F1STUF 738 004003 4630 JMS I SYSHND 739 004004 4600 4600 740 004005 0000 0 741 004006 0051 MCDREC 742 004007 5224 JMP CERR 743 004010 4630 JMS I SYSHND 744 004011 5011 5011 745 004012 0000 0 746 004013 0060 ODTREC 747 004014 5224 JMP CERR 748 004015 4630 JMS I SYSHND 749 004016 0110 0110 /READ IN UPPER PG 7600 750 004017 7600 7600 751 004020 0000 F1STUF, 0 752 004021 5224 JMP CERR 753 004022 5623 JMP I .+1 754 004023 7605 7605 /START HER UP 755 004024 1227 CERR, TAD .+3 756 004025 3201 DCA 4001 757 004026 5200 JMP 4000 /RESWAP AND HALT 758 004027 7402 HLT 759 004030 7607 SYSHND, 7607 760 004177 7777 PAGE 761 *0 762 000000 0262 CDVERSION 763 000001 7402 HLT /POWER FAIL RESTART PROTECTION 764 000002 7777 NUMTST, 7777 765 000003 4551 JMS I [GCH 766 000004 7040 CMA 767 000005 1036 TAD NUMFUJ 768 000006 1075 TAD ["8 /TEST INPUT CHARACTER FOR RANGE 769 000007 7140 CLL CMA /0-7 IF NUMFUJ=0 770 000010 1074 TAD [10 /0-9 IF NUMFUJ=2 771 000011 1036 TAD NUMFUJ 772 000012 5402 JMP I NUMTST 773 *15 774 000015 0000 LXR, 0 775 000016 0000 XR, 0 776 000017 0000 CLXR, 0 777 000020 1200 T, CDINIT 778 000021 6201 TT, CDF 0 /***GETS SET TO CDF BATCH 779 000022 1443 HIORD, TAD I DVICE /CHECK TO SEE IF BOS IS REALLY THERE 780 000023 1041 NUMX, TAD OUTSW /IF NOT, SIGNAL ERROR 781 000024 7650 RBFLAG, SNA CLA 782 000025 5031 NAME1, JMP NAMECT /IT'S O.K.....PROBABLY! 783 000026 6201 NAME2, CDF 0 /BAD. SIGNAL ERROR TO MONITOR 784 000027 2402 NAME3, ISZ I NUMTST 785 000030 5507 NAME4, JMP I [7605 /AND RESTART BATCH MONITOR 786 000031 6203 NAMECT, CIF CDF 0 /*****GETS ALTERED****** 787 000032 5433 NMBASE, JMP I .+1 /START UP IN CD AREA OF BATCH 788 000033 0677 DEV1, RESTRT+1 /***GETS ADDRESS OF CD AREA 789 000034 0000 DEV2, 0 790 000035 0000 PERDSW, 0 791 000036 0000 NUMFUJ, 0 792 000037 0000 DVFLAG, 0 793 000040 0000 DELIM, 0 794 000041 0000 OUTSW, 0 795 000042 0000 DEFALT, 0 796 000043 0000 DVICE, 0 797 000044 0423 DFLTNM, 0423;1300 /DSK 000045 1300 798 000046 0017 BEGDIF, MIFILE-MOFILE 799 000047 7756 LIMDIF, MIFILE-MPARAM+2 800 000050 0162 OUTLIM, 1-MIFILE 801 000051 0011 GETHND, 11 802 000052 0000 TMONIT, 0 803 000053 0000 TUSRFG, 0 804 000054 0000 TFPUTX, 0 805 000055 1030 EXT1, TAD NAME4 806 000056 3031 DCA NAMECT /REMEMBER TYPED EXTENSION 807 000057 1031 TAD NAMECT 808 000060 7450 SNA 809 000061 1042 TAD DEFALT /SUBSTITUTE DEFAULT IF ZERO 810 000062 3030 EXT2, DCA NAME4 811 000063 1152 TAD [NAME1 812 000064 5465 JMP I .+1 813 000065 0546 LKUPLP 814 000066 1367 PRINT, TYPE 815 000074 0010 FIELD 1 000075 0270 000076 0256 000077 0240 000100 0676 000101 0041 000102 0334 000103 6601 000104 0244 000105 0212 000106 0215 000107 7605 000110 7700 000111 0100 000112 0336 000113 0274 000114 0202 000115 6466 000116 1024 000117 0263 000120 7443 000121 0340 000122 0251 000123 7527 000124 0613 000125 0250 000126 7761 000127 7540 000130 1002 000131 7731 000132 1112 000133 1325 000134 7725 000135 0012 000136 7506 000137 0032 000140 1350 000141 0602 000142 0400 000143 0004 000144 7772 000145 0077 000146 0644 000147 7774 000150 7501 000151 0711 000152 0025 000153 0661 000154 1401 000155 1314 000156 0260 000157 0040 000160 0200 000161 7642 000162 7646 000163 0770 000164 7777 000165 7760 000166 0057 000167 0740 000170 7445 000171 0540 000172 0410 000173 0007 000174 0454 000175 7577 000176 7504 000177 1177 816 817 EJECT ODT V4 (OS78) 818 819 820 /LOADS INTO FIELD 1 NOW, BUT LOADS & EXECUTES IN FIELD 0 821 /DEFINITIONS OF MONITOR SYMBOLS - VOLATILE! 822 ODTREC=60 823 UDNAME=7741 824 MREAD=7757 825 MGET=7667 826 KMREC=7 827 MTEMP=27 828 MARG1=7740 829 JSBITS=7746 830 LXM=6200 /EXTENDED MEMORY REGISTER LOAD 831 RXM=6230 /EXTENDED MEMORY REGISTER READ 832 RACA=6175 /EXTENDED MEMORY BIT MANIPULATION 833 RACB=6176 /" " 834 RACC=6177 /" " 835 *200 836 010200 4577 READ, JMS I [OCRLF 837 010201 3020 READ5, DCA WORD 838 010202 3021 DCA WORD+1 839 010203 1176 TAD [-7 / SET CHARACTER LIMIT 840 010204 3012 DCA TOTE 841 010205 6031 REA, KSF /CHARACTER INPUT 842 010206 5205 JMP .-1 843 010207 4575 JMS I [CTCTST /CONTROL 'C' TEST 844 010210 1377 TAD (203 845 010211 3034 DCA TEMP /STORE CHARACTERS 846 010212 6032 KCC 847 010213 1034 TAD TEMP 848 010214 4574 JMS I [TYPN /ECHO INPUT CHARACTERS 849 010215 1352 TAD TABL1A /SET UP COMMAND TABLE SEARCH 850 010216 3010 DCA 10 851 010217 1410 CHFLP, TAD I 10 /CHARACTER I.D. 852 010220 7510 SPA 853 010221 5301 JMP SEX /NO COMMAND -NUMERIC INPUT 854 010222 7041 CIA 855 010223 1034 TAD TEMP 856 010224 7640 SZA CLA 857 010225 5217 JMP CHFLP /NOT THIS ONE-TRY NEXT ONE 858 010226 1010 TAD 10 /THIS IS THE COMMAND 859 010227 1373 TAD TABL2A /SET UP JUMP TO COMMAND SUBROUTINE 860 010230 3034 DCA TEMP 861 010231 1434 TAD I TEMP 862 010232 3034 DCA TEMP 863 010233 1020 TAD WORD 864 010234 4573 JMS I [XLODE /BANK AND FIELD ADJUSTMENT 865 010235 3020 DCA WORD 866 010236 5044 JMP FLDTST /SEE IF FIELD SETTING IS LEGAL 867 010237 4572 CTRC, JMS I [DUMP /CONTROL 'C' 868 010240 6200 MOD5, LXM /DISABLE KT8A. //V4: GETS CLA FROM SET SYS VT278 869 010241 5571 JMP I [7605 870 TABL1=. /COMMAND TABLE 871 010242 0240 240 /SPACE 872 010243 0212 212 /LINE FEED 873 010244 0215 215 /CR 874 010245 0257 257 /SLASH 875 010246 0302 302 /B 876 010247 0307 307 /G 877 010250 0273 273 /; 878 010251 0303 303 /C 879 010252 0327 327 /W 880 010253 0336 336 /^ 881 010254 0315 315 /M 882 010255 0301 301 /A 883 010256 0314 314 /L 884 010257 0304 304 /D 885 010260 0337 337 /<-ARROW 886 010261 0306 306 /F 887 010262 0377 377 /RUBOUT 888 010263 0253 253 /+ 889 010264 0255 255 /- 890 010265 7510 -270 /USED - SEE "SEX" 891 010266 4052 EXAM, JMS TOTTST /SLASH SUBROUTINE-LOCATION EXAMINATION 892 010267 5274 JMP EX2 893 010270 1020 TAD WORD /FIELD 894 010271 3024 DCA CAD 895 010272 1021 TAD WORD+1 /ADDRESS 896 010273 3025 DCA CAD+1 897 010274 4064 EX2, JMS LOAD /GET LOCATION CONTENTS 898 010275 0024 CAD 899 010276 4570 JMS I [PNUM /ECHO CONTENTS 900 010277 3015 DCA SHUT 901 010300 5201 JMP READ5 902 010301 1034 SEX, TAD TEMP /ADDRESS & FIELD ADJUSTMENT 903 010302 7100 CLL 904 010303 1167 TAD [10 /TEST FOR NUMBER 905 010304 7420 SNL 906 010305 5326 JMP NO 907 010306 3034 DCA TEMP 908 010307 7346 CLA CLL CMA RTL 909 010310 3332 DCA CRL 910 010311 1021 SROT, TAD WORD+1 /FIELD & ADDRESS PROCESSING 911 010312 7104 CLL RAL 912 010313 3021 DCA WORD+1 913 010314 1020 TAD WORD 914 010315 7004 RAL 915 010316 3020 DCA WORD /FIELD AND BANK STORAGE 916 010317 2332 ISZ CRL 917 010320 5311 JMP SROT 918 010321 1021 TAD WORD+1 919 010322 1034 TAD TEMP 920 010323 3021 DCA WORD+1 /ADDRESS STORAGE 921 010324 2012 ISZ TOTE /TEST FOR TOO MANY CHARACTERS 922 010325 5205 JMP REA 923 010326 7200 NO, CLA /UNACCEPTABLE INPUT ECHOS ? 924 010327 1166 TAD [277 925 010330 4574 JMS I [TYPN 926 010331 5200 JMP READ 927 010332 0000 CRL, 0 928 010333 4052 JMS TOTTST 929 010334 5732 JMP I CRL 930 010335 1021 TAD WORD+1 931 010336 2015 ISZ SHUT 932 010337 4565 JMS I [STORE 933 010340 0024 CAD 934 010341 7200 CLA 935 010342 5732 JMP I CRL 936 010343 4332 CRL1, JMS CRL /CARRAIGE RETURN 937 010344 5200 JMP READ 938 010345 1164 CRL2, TAD [215 /LINE FEED 939 010346 4574 JMS I [TYPN 940 010347 4332 JMS CRL 941 010350 4574 JMS I [TYPN 942 010351 2025 ISZ CAD+1 943 010352 0241 TABL1A, TABL1-1 944 010353 4563 UPAR3, JMS I [TYPD 945 010354 0024 CAD 946 010355 1162 TAD [257 947 010356 4574 JMS I [TYPN 948 010357 5274 JMP EX2 949 010360 4332 OPIN, JMS CRL /BKARROW/UNDERLINE 950 010361 4064 JMS LOAD 951 010362 0024 CAD 952 010363 3025 DCA CAD+1 953 010364 1037 TAD INDFLD 954 010365 4573 JMS I [XLODE 955 010366 3024 DCA CAD 956 010367 4577 UPAR2, JMS I [OCRLF 957 010370 5353 JMP UPAR3 958 010371 4332 SEMI, JMS CRL /SEMI COLON 959 010372 2025 ISZ CAD+1 960 010373 0530 TABL2A, TABL2-TABL1 961 010374 5201 JMP READ5 962 010377 0203 *400 963 /NOTE THAT LOCATIONS BURP,BURP+1 GET ALTERED AFTER BRKTST 964 /IS EXECUTED. THEY BECOME: CDF 10; TAD I [MARG1 965 010400 5601 BURP, JMP I .+1 /RETURN FROM BREAKPOINT -GO REDETERMINE CORE SIZE 966 010401 1410 BRKTST /TO MAKE ILLEGAL FIELD GIVE ? 967 010402 3023 DCA SAC 968 /IOF /COMMENTED OUT FOR HIGH GROUND SUPPORT 969 010403 1561 TAD I [MTRAD /RESTABLISH ADDRESS,FIELD,ETC. 970 010404 3016 DCA TRAD 971 010405 1560 TAD I [MTRAD1 /THESE ARE ALL 972 010406 3017 DCA TRAD+1 973 010407 1557 TAD I [MKEEP /BREAKPOINT PARAMETERS 974 010410 3013 DCA KEEP 975 010411 1556 TAD I [MPUNN / 976 010412 3003 DCA PUNN 977 010413 7201 CLA IAC 978 010414 0777 AND I (7700 979 010415 3022 DCA LINK 980 010416 1777 TAD I (7700 981 010417 6201 CDF 0 982 010420 4555 JMS I [T174 /BANK AND FIELD MANIPULATION 983 010421 1036 TAD DATFLD 984 010422 3037 DCA INDFLD 985 010423 1154 TAD [KMREC 986 010424 6211 CDF 10 987 010425 3776 DCA I (MGET+4 988 010426 7344 CLA CLL CMA RAL 989 010427 0553 AND I [MGET+2 990 010430 3553 DCA I [MGET+2 /REMOVE LOW-ORDER BIT FROM CONTROL WORD 991 010431 6201 CDF 0 992 010432 1013 TAD KEEP 993 010433 4565 JMS I [STORE 994 010434 0016 TRAD 995 010435 1017 TAD TRAD+1 996 010436 7001 IAC 997 010437 3031 DCA GAME+1 /ESTABLISH CONTINUE PARAMETERS 998 010440 1016 TAD TRAD 999 010441 3030 DCA GAME 1000 010442 1013 TAD KEEP 1001 010443 3014 DCA INST 1002 010444 4074 JMS IOTTST 1003 010445 7410 SKP 1004 010446 5260 JMP JMPLIP 1005 010447 1016 TAD TRAD 1006 010450 3024 DCA CAD /ESTABLISH EXAM PARAMETERS 1007 010451 1017 TAD TRAD+1 1008 010452 3025 DCA CAD+1 1009 010453 4552 JMS I [EFFADR 1010 010454 1024 TAD CAD 1011 010455 3032 DCA FROG 1012 010456 1025 TAD CAD+1 1013 010457 3033 DCA FROG+1 1014 010460 4575 JMPLIP, JMS I [CTCTST 1015 010461 7200 CLA 1016 010462 5775 JMP I (LIP 1017 010463 0000 CTCTST, 0 /CONTROL 'C' TEST 1018 010464 1151 TAD [200 1019 010465 6034 KRS /CALLING ROUTINE MUST ENABLE KEYBOARD WITH KCC OR KRB! 1020 010466 1374 TAD (-203 1021 010467 7450 SNA 1022 010470 5550 JMP I [CTRC 1023 010471 5663 JMP I CTCTST 1024 1025 010472 0000 OCRLF, 0 /CARRAIGE RETURN-LINE FEED 1026 010473 1164 TAD [215 1027 010474 4574 JMS I [TYPN 1028 010475 1147 TAD [212 1029 010476 4574 JMS I [TYPN 1030 010477 7240 CLA CMA 1031 010500 3015 DCA SHUT 1032 010501 5672 JMP I OCRLF 1033 010502 4052 TRAP, JMS TOTTST /ESTABLISHES BREAKPOINT 1034 010503 1146 TAD [SHNDLR 1035 010504 1021 TAD WORD+1 1036 010505 3017 DCA TRAD+1 /ADDRESS 1037 010506 1020 TAD WORD 1038 010507 3016 DCA TRAD /FIELD 1039 010510 1145 TAD [7000 1040 010511 3546 DCA I [SHNDLR 1041 010512 1144 TAD [4 1042 010513 3021 DCA WORD+1 1043 010514 1143 TAD [UDNAME-MPUNN-1 1044 010515 3034 DCA TEMP 1045 010516 1142 TAD [BRKCOD-1 /MOVE UP RETURN CODE 1046 010517 3010 DCA 10 1047 010520 1141 TAD [UDNAME-1 1048 010521 3011 DCA 11 1049 010522 1410 TAD I 10 1050 010523 6211 CDF 10 1051 010524 3411 DCA I 11 1052 010525 6201 CDF 0 1053 010526 2034 ISZ TEMP 1054 010527 5322 JMP .-5 1055 010530 1540 TAD I [JSBITS 1056 010531 7012 RTR 1057 010532 7630 SZL CLA 1058 010533 1137 TAD [5 1059 010534 6211 CDF 10 1060 010535 1536 TAD I [J7600 1061 010536 3536 DCA I [J7600 /CHANGE JMP 7600 TO JMP 7605 IF ODT AREA NOT USED 1062 010537 6201 CDF 0 1063 010540 1540 TAD I [JSBITS 1064 010541 3035 DCA JSTEMP /SAVE JSBITS BEFORE SETTING BRKPT 1065 010542 1135 TAD [CIF 10 1066 010543 4565 JMS I [STORE 1067 010544 0020 WORD 1068 010545 2021 ISZ WORD+1 1069 010546 1134 TAD [JMP I 6 /STORE RETURN JMP 1070 010547 4565 JMS I [STORE 1071 010550 0020 WORD 1072 010551 2021 ISZ WORD+1 1073 010552 1006 TAD DNAME 1074 010553 4565 JMS I [STORE 1075 010554 0020 WORD 1076 010555 1035 TAD JSTEMP 1077 010556 3540 DCA I [JSBITS /RESTORE JSBITS 1078 010557 5551 JMP I [READ 1079 010560 7020 SUBT, CML 1080 010561 1021 ADD, TAD WORD+1 /MODIFY CURRENT LOCATION POINTER 1081 010562 7450 SNA 1082 010563 7001 IAC /1 IS DEFAULT VALUE 1083 010564 7430 SZL /+ OR -? 1084 010565 7041 CIA /- 1085 010566 1025 TAD CAD+1 1086 010567 3025 DCA CAD+1 1087 010570 5533 JMP I [UPAR2 /AND DISPLAY LOC AND CONTENTS 1088 010574 7575 *600 /MONITOR ENTERS ODT HERE 010575 0600 010576 7673 010577 7700 1089 010600 7402 LIP, HLT /ERROR. AT INIT, THE CODE AT 600 1090 010601 5602 JMP I .+1 /IS CHANGED TO: ISZ PUNN; 1091 010602 1400 TTYTST, INIT /JMP XCONT; TSF 1092 010603 5365 JMP TTYOFF 1093 010604 4563 LIPTYP, JMS I [TYPD 1094 010605 0016 TRAD 1095 010606 1325 TAD P250 1096 010607 4574 JMS I [TYPN 1097 010610 1022 TAD LINK 1098 010611 1132 TAD [260 1099 010612 4574 JMS I [TYPN 1100 010613 1131 TAD [273 1101 010614 4574 JMS I [TYPN 1102 010615 1023 TAD SAC 1103 010616 4570 JMS I [PNUM 1104 010617 5551 JMP I [READ 1105 010620 4052 JUMP, JMS TOTTST /TEST FOR 'G' WITH NO ADDRESS 1106 010621 5451 JMP I PNO 1107 010622 1020 TAD WORD 1108 010623 3030 DCA GAME 1109 010624 1021 TAD WORD+1 1110 010625 3031 DCA GAME+1 1111 010626 1020 TAD WORD 1112 010627 4555 JMS I [T174 /FIELD ADJUSTMENT -STORED IN DATFLD 1113 010630 1145 TAD [7000 1114 010631 3014 DCA INST 1115 010632 3023 DCA SAC 1116 010633 3022 DCA LINK 1117 010634 5240 JMP CONTX 1118 CONTIN, 1119 1120 010635 1021 TAD WORD+1 / 'C'-CONTINUE COMMAND 1121 010636 7041 CIA 1122 010637 7450 SNA 1123 010640 7040 CONTX, CMA 1124 010641 3003 DCA PUNN 1125 010642 3546 DCA I [7607 /IN CASE THERE WAS NO BREAKPOINT 1126 010643 4064 JMS LOAD /V3 1127 010644 0016 TRAD /V3 1128 010645 3013 DCA KEEP /V3 1129 010646 4577 JMS I [OCRLF 1130 010647 1130 XCONT, TAD [JMP 4 1131 010650 4565 JMS I [STORE 1132 010651 0016 TRAD 1133 010652 6211 CDF 10 1134 010653 1016 TAD TRAD 1135 010654 3561 DCA I [MTRAD 1136 010655 1017 TAD TRAD+1 1137 010656 3560 DCA I [MTRAD1 1138 010657 1013 TAD KEEP 1139 010660 3557 DCA I [MKEEP 1140 010661 1003 TAD PUNN 1141 010662 3556 DCA I [MPUNN 1142 010663 6201 CDF 0 1143 010664 1007 TAD EXTEMP 1144 010665 6200 MOD6, LXM //V4: GETS CLA FROM SET SYS VT278. FIXED LOCATION 1145 010666 4527 JMS I [SIM /SIMULATE THE BRKPOINTED INST HERE 1146 010667 1022 TAD LINK /SAVE LINK 1147 010670 3526 DCA I [MLINK /ESTABLISH RETURN CODE---MXXXX'S 1148 010671 1023 TAD SAC /SAVE AC 1149 010672 3576 DCA I [MAC 1150 010673 1030 TAD GAME /ESTABLISH START CDF 1151 010674 1125 TAD [CIF 0 1152 010675 3524 DCA I [MSTCDF 1153 010676 1036 TAD DATFLD /ESTABLISH 'B' CDF 1154 010677 4573 JMS I [XLODE 1155 010700 1123 TAD [CDF 0 1156 010701 3522 DCA I [MCDF 1157 010702 1031 TAD GAME+1 /ESTABLISH START ADDRESS 1158 010703 3521 DCA I [MSTADR 1159 010704 4572 JMS I [DUMP 1160 010705 1540 TAD I [JSBITS 1161 010706 7012 RTR 1162 010707 7630 SZL CLA 1163 010710 5520 JMP I [MSWITC 1164 010711 5556 JMP I [MREAD /EXECUTION TIME 1165 010712 4517 UPAR1, JMS I [CRL /UP-ARROW COMMAND- CLOSE LOCATION 1166 010713 4552 JMS I [EFFADR 1167 010714 5533 JMP I [UPAR2 /PRINT REFERENCED LOCATION CONTENTS 1168 010715 0000 EFFADR, 0 /USE CONTENTS AS MRI 1169 010716 4064 JMS LOAD 1170 010717 0024 CAD 1171 010720 0116 AND [177 /ISOLATE LOCATION REFERENCED 1172 010721 3034 DCA TEMP 1173 010722 4064 JMS LOAD 1174 010723 0024 CAD 1175 010724 0151 AND [200 /IS IT 'THIS PAGE'? 1176 010725 7650 P250, SNA CLA 1177 010726 5331 JMP .+3 1178 010727 1025 TAD CAD+1 1179 010730 0115 AND [7600 1180 010731 1034 TAD TEMP 1181 010732 3034 DCA TEMP 1182 010733 4064 JMS LOAD 1183 010734 0024 CAD 1184 010735 0366 AND T400 /IS IT INDIRECT-TEST '400' BIT 1185 010736 7650 SNA CLA 1186 010737 5362 JMP NOIND 1187 010740 1034 TAD TEMP 1188 010741 3025 DCA CAD+1 1189 010742 4064 JMS LOAD 1190 010743 0024 CAD 1191 010744 3034 DCA TEMP 1192 010745 1025 TAD CAD+1 1193 010746 0353 AND P7770 /IS IT AUTO-INDEXED? 1194 010747 1353 TAD P7770 1195 010750 7640 SZA CLA 1196 010751 5357 JMP NOAUTO 1197 010752 2034 ISZ TEMP 1198 010753 7770 P7770, 7770 /COVERS ISZ.... 1199 010754 1034 TAD TEMP 1200 010755 4565 JMS I [STORE 1201 010756 0024 CAD 1202 010757 1037 NOAUTO, TAD INDFLD /NO INDEXING 1203 010760 4573 JMS I [XLODE 1204 010761 3024 DCA CAD 1205 010762 1034 NOIND, TAD TEMP /NOT INDIRECT 1206 010763 3025 DCA CAD+1 1207 010764 5715 JMP I EFFADR 1208 TTYOFF, /WASTE SOME TIME 1209 010765 4074 JMS IOTTST 1210 010766 0400 T400, AND I 0 1211 010767 2063 ISZ NOUGHT 1212 010770 5202 JMP TTYTST 1213 010771 5204 JMP LIPTYP /IF THE TTY FLAG ISN'T UP NOW, IT'LL NEVER GO UP 1214 TABL2=. /COMMAND TABLE SUBROUTINE INFO 1215 010772 0205 REA /IGNORE BLANKS 1216 010773 0345 CRL2 1217 010774 0343 CRL1 1218 010775 0266 EXAM 1219 010776 0502 TRAP 1220 010777 0620 JUMP 1221 011000 0371 SEMI 1222 011001 0635 CONTIN 1223 011002 1071 WSER 1224 011003 0712 UPAR1 1225 011004 1127 MASKX 1226 011005 1125 ACX 1227 011006 1126 LINKX 1228 011007 1131 DATF 1229 011010 0360 OPIN 1230 011011 1130 INDF 1231 011012 1173 RBOUT 1232 011013 0561 ADD 1233 011014 0560 SUBT 1234 IFZERO 1000&. <*1000> 1235 011015 0000 PNUM, 0 /PRINTS CONTENTS OF ADDRESS LOCATION 1236 011016 3003 DCA PUNN /OR ADDRESS...ITSELF 1237 011017 1114 TAD [-4 1238 011020 3034 DCA TEMP 1239 011021 1003 PN2, TAD PUNN 1240 011022 7006 RTL 1241 011023 7004 RAL 1242 011024 3003 DCA PUNN 1243 011025 1003 TAD PUNN 1244 011026 7004 RAL 1245 011027 0154 AND [7 1246 011030 1132 TAD [260 1247 011031 4574 JMS I [TYPN 1248 011032 2034 ISZ TEMP 1249 011033 5221 JMP PN2 1250 011034 1113 TAD [240 1251 011035 4574 JMS I [TYPN 1252 011036 5615 JMP I PNUM 1253 011037 0000 TYPD, 0 /PRINTS BANK AND FIELD OF ACCESSED LOC. 1254 011040 1637 TAD I TYPD 1255 011041 3034 DCA TEMP 1256 011042 1434 TAD I TEMP 1257 011043 4653 JMS I TYPDXX 1258 011044 4574 JMS I [TYPN /TYPE BANK 1259 011045 1061 TAD NWD 1260 011046 4574 JMS I [TYPN /TYPE FIELD 1261 011047 1434 TAD I TEMP 1262 011050 4570 JMS I [PNUM /PRINT ADDRESS 1263 011051 2237 ISZ TYPD 1264 011052 5637 JMP I TYPD 1265 011053 1257 TYPDXX, TYPDX 1266 011054 0000 TYPN, 0 /PRINTS CHARACTERS PREPARED BY TYPD;PNUM,ETC. 1267 011055 6046 TLS 1268 011056 6041 TSF 1269 011057 5256 JMP .-1 1270 011060 7200 CLA 1271 011061 6031 KSF //V4: KEEP THE LOGIC FOR REA, CTCTST, AND TYPN INTACT 1272 011062 5654 JMP I TYPN //FOR VT278. ^O WILL MAKE 2 PASSES THROUGH HERE. THE 1273 011063 4575 JMS I [CTCTST //SECOND PASS MUST NOT FIND KEYBOARD DATA AVAILABLE FLAG! 1274 011064 1120 TAD [-14 1275 011065 7640 SZA CLA 1276 011066 5654 JMP I TYPN 1277 011067 6032 KCC 1278 011070 5551 JMP I [READ /FOUND ^O. STOP OUTPUT AND RESTART ODT. 1279 1280 011071 4577 WSER, JMS I [OCRLF / 'W'---WORD SEARCH 1281 011072 1041 TAD LIMLO 1282 011073 3027 DCA CKT+1 /ESTABLISH LOWER LIMIT 1283 011074 1037 TAD INDFLD 1284 011075 4573 JMS I [XLODE /ADJUST WORD SEARCH BANK AND FIELD 1285 011076 3026 DCA CKT 1286 011077 4064 WSER1, JMS LOAD 1287 011100 0026 CKT 1288 011101 0040 AND MASK /SEARCH MASK 1289 011102 7041 CIA 1290 011103 1021 TAD WORD+1 1291 011104 7640 SZA CLA 1292 011105 5316 JMP WSER2 1293 011106 4563 JMS I [TYPD /WORD FOUND GO TYPE IT 1294 011107 0026 CKT 1295 011110 1162 TAD [257 1296 011111 4574 JMS I [TYPN 1297 011112 4064 JMS LOAD 1298 011113 0026 CKT 1299 011114 4570 JMS I [PNUM 1300 011115 4577 JMS I [OCRLF 1301 011116 1027 WSER2, TAD CKT+1 /TEST NEXT LOCATION 1302 011117 7041 CIA 1303 011120 1042 TAD LIMHI /IF IT ISN'T ABOVE THE LIMIT 1304 011121 7650 SNA CLA 1305 011122 5551 JMP I [READ /OVER LIMIT GO GET NEXT COMMAND 1306 011123 2027 ISZ CKT+1 1307 011124 5277 JMP WSER1 /SEARCH NEXT LOCATION 1308 1309 011125 1112 ACX, TAD [SAC-LINK / 'A' COMMAND 1310 011126 1111 LINKX, TAD [LINK-MASK / 'L' COMMAND 1311 011127 1112 MASKX, TAD [MASK-INDFLD / 'M' COMMAND 1312 011130 1112 INDF, TAD [INDFLD-DATFLD /'F' COMMAND 1313 011131 1110 DATF, TAD [DATFLD / 'D' COMMAND 1314 011132 3021 DCA WORD+1 1315 011133 7240 CLA CMA 1316 011134 3020 DCA WORD 1317 011135 3012 DCA TOTE 1318 011136 1162 TAD [257 1319 011137 4574 JMS I [TYPN 1320 011140 5507 JMP I [EXAM 1321 BRKCOD=. /RETURN CODE --- FROM 'G','C' COMMANDS 1322 NOPUNC 1323 *UDNAME /STORED IN UPPER FIELD ZERO 1324 ENPUNC 1325 1326 017741 3340 DCA MARG1 1327 017742 7004 RAL 1328 017743 6214 RDF 1329 017744 3300 DCA 7700 1330 017745 1352 TAD PODT 1331 017746 3273 DCA MGET+4 1332 017747 2271 ISZ MGET+2 /DON'T REVERSE TAPE MOTION TO PICK UP ODT 1333 017750 6203 CDF CIF 0 1334 017751 5200 J7600, JMP 7600 1335 017752 0060 PODT, ODTREC 1336 017753 7603 P7603, 7603 1337 017754 0000 MTRAD, 0 1338 017755 0000 MTRAD1, 0 1339 017756 0000 MKEEP, 0 1340 017757 0000 MPUNN, 0 1341 1342 NOPUNC 1343 *BRKCOD+MPUNN-UDNAME+1 1344 ENPUNC 1345 1346 011160 0000 DUMP, 0 /SUBROUTINE TO STORE ADJUSTED CODE 1347 011161 1060 TAD STOFLG /LT 1348 011162 7650 SNA CLA 1349 011163 5760 JMP I DUMP 1350 011164 4546 JMS I [SHNDLR 1351 011165 4200 4200 1352 011166 1400 1400 1353 011167 0000 GREC, 0 /SET BY GETADR 1354 011170 7402 HLT 1355 011171 3060 DCA STOFLG 1356 011172 5760 JMP I DUMP 1357 1358 011173 1166 RBOUT, TAD [277 /RUBOUT COMMAND 1359 011174 4574 JMS I [TYPN 1360 011175 1113 TAD [240 1361 011176 4574 JMS I [TYPN 1362 011177 5467 JMP I REDE5 1363 IFNZRO .-1200&4000 <*1200> 1364 011200 0000 SIM, 0 /SIMULATES BREAKPOINTED INST 1365 011201 4074 JMS IOTTST 1366 011202 4064 JMS LOAD 1367 011203 0032 FROG 1368 011204 3034 DCA TEMP 1369 011205 4572 JMS I [DUMP 1370 011206 3506 DCA I [GREC 1371 011207 4546 JMS I [SHNDLR /DUE TO 128K CODE -SIM IS LOADED INTO 1600 1372 011210 0100 0100 1373 011211 1600 SIMXT, 1600 1374 011212 0064 64 1375 011213 7402 HLT 1376 011214 4611 JMS I SIMXT 1377 011215 4565 JMS I [STORE 1378 011216 0032 FROG 1379 011217 5600 JMP I SIM 1380 011220 0000 XLODE, 0 /TRANSFORMS 'ABCDE' TO 'ACDEB0' FOR CDF 1381 011221 3061 DCA NWD 1382 011222 1034 TAD TEMP /TEST FOR GO COMMAND 1383 011223 7041 CIA /A 'GO' ABOVE 32K REQUIRES SETTING EXTEMP 1384 011224 1062 TAD TJUMP /FOR LXM ENABLE 1385 011225 7650 SNA CLA 1386 011226 1377 TAD (30 1387 011227 0061 AND NWD 1388 011230 7650 SNA CLA 1389 011231 5234 JMP LT32K 1390 011232 1145 TAD [7000 1391 011233 3007 DCA EXTEMP 1392 011234 1061 LT32K, TAD NWD /TRANFORMATION IS HERE 1393 011235 0376 AND (17 1394 011236 1375 TAD (7770 1395 011237 7510 SPA 1396 011240 1376 TAD (17 1397 011241 1176 TAD [7771 1398 011242 1061 TAD NWD 1399 011243 7106 CLL RTL 1400 011244 5620 JMP I XLODE 1401 1402 011245 0000 T174, 0 /TRANSFORMS 174 TO 37 1403 011246 7112 CLL RTR 1404 011247 7010 RAR 1405 011250 0376 AND (17 1406 011251 1167 TAD [10 1407 011252 0122 AND [7767 /... 0027 ARE THE RELEVANT BITS IN 7767 1408 011253 7430 SZL 1409 011254 1167 TAD [10 1410 011255 3036 DCA DATFLD 1411 011256 5645 JMP I T174 1412 011257 0000 TYPDX, 0 /PROCESSES BANK & FIELD FOR PRINTING 1413 011260 7510 SPA /ADJUSTMENT FOR LINE FEED AFTER 1414 011261 7200 CLA /REFERENCE TO M,D,F,ETC. COMMANDS 1415 011262 7112 CLL RTR 1416 011263 7010 RAR 1417 011264 3245 DCA T174 1418 011265 1245 TAD T174 1419 011266 0154 AND [7 1420 011267 1132 TAD [260 1421 011270 3061 DCA NWD 1422 011271 1245 TAD T174 1423 011272 0167 AND [10 1424 011273 7430 SZL 1425 011274 1144 TAD [4 1426 011275 7112 CLL RTR 1427 011276 1132 TAD [260 1428 011277 2034 ISZ TEMP 1429 011300 5657 JMP I TYPDX 1430 1431 1432 011301 0000 STORE, 0 /SUBROUTINE TO ADJUST CODE 1433 011302 3064 DCA LOAD 1434 011303 1701 TAD I STORE 1435 011304 4505 JMS I [GETADR 1436 011305 2060 ISZ STOFLG /INDICATE THAT WE'RE CHANGING THIS RECORD 1437 011306 1064 TAD LOAD 1438 011307 3443 DCA I ADR 1439 011310 6201 CDF 0 1440 011311 2301 ISZ STORE 1441 011312 5701 JMP I STORE 1442 011313 0000 GETADR, 0 /GETS ADDRESS.... 1443 011314 3043 DCA ADR 1444 011315 1443 TAD I ADR 1445 011316 3331 DCA FADR 1446 011317 2043 ISZ ADR 1447 011320 1443 TAD I ADR 1448 011321 3043 DCA ADR 1449 011322 1331 TAD FADR 1450 011323 7450 SNA /ONLY NEED TO FOOL WITH ADDRESS IF IT'S IN FIELD 0 1451 011324 5334 JMP CKADR 1452 011325 7510 SPA 1453 011326 7200 CLA 1454 011327 1123 TAD [CDF 0 1455 011330 3331 DCA .+1 1456 011331 0000 FADR, 0 1457 011332 2313 ISZ GETADR 1458 011333 5713 JMP I GETADR 1459 011334 1043 CKADR, TAD ADR /MANIPULATES FIELD 0 OF ODT'D PROGRAM 1460 011335 7004 RAL /ACCESSES IT IN LOCS 1400-1777 1461 011336 7730 SZL SPA CLA / 1462 011337 5332 JMP FADR+1 1463 011340 7346 CLA CLL CMA RTL 1464 011341 0540 AND I [JSBITS 1465 011342 3540 DCA I [JSBITS /MODIFY THE JSW TO INDICATE ODT AREA VIOLATION 1466 011343 1043 TAD ADR 1467 011344 7106 CLL RTL 1468 011345 7006 RTL 1469 011346 7004 RAL 1470 011347 0154 AND [7 /CALCULATE BLOCK OF STORAGE 1471 011350 1104 TAD [MTEMP+4 1472 011351 3363 DCA GIREC 1473 011352 1506 TAD I [GREC /MAYBE IT'S ALREADY IN CORE 1474 011353 7041 CIA 1475 011354 1363 TAD GIREC 1476 011355 7650 SNA CLA 1477 011356 5367 JMP NOREAD /IT IS!! 1478 011357 4572 JMS I [DUMP /MAYBE... ...IT ISN'T 1479 011360 4546 JMS I [SHNDLR /LOADS RELEVANT PROGRAM CODE 1480 011361 0200 0200 1481 011362 1400 G1400, 1400 1482 011363 0000 GIREC, 0 1483 011364 7402 HLT 1484 011365 1363 TAD GIREC 1485 011366 3506 DCA I [GREC 1486 011367 1043 NOREAD, TAD ADR /ADJUST THE ADDRESS FOR PROPER ACCESS 1487 011370 0374 AND (377 1488 011371 1362 TAD G1400 1489 011372 3043 DCA ADR 1490 011373 5713 JMP I GETADR 1491 1492 1493 011374 0377 *1400 011375 7770 011376 0017 011377 0030 1494 /INITIALIZATION CODE TO SET UP THE "MREAD" AREA IN FIELD 0 1495 /WITH THE ODT CODE TO START UP A PROGRAM 1496 1497 011400 1410 INIT, TAD I 10 1498 011401 3411 DCA I 11 1499 011402 2034 ISZ TEMP 1500 011403 5200 JMP .-3 1501 011404 4250 JMS CORE /DETERMINE CORE FIELD SIZE 1502 011405 6036 KRB //V4: CANNOT WAIT FOR TTY FLAG IN VT278. V3: TSF 1503 011406 7300 CLA CLL //ENSURE KEYBOARD AVAILABLE INSTEAD. JMP .-1 1504 011407 5551 JMP I [READ 1505 1506 011410 4250 BRKTST, JMS CORE /GET CORE SIZE NOW THAT WE WERE 1507 011411 1326 TAD KLIP 1508 011412 3731 DCA I PLIP /SETUP LOCATIONS AT 600 1509 011413 1327 TAD KLIP+1 1510 011414 3732 DCA I PLIP+1 1511 011415 1330 TAD KLIP+2 1512 011416 3733 DCA I PLIP+2 1513 011417 1224 TAD KCDF10 /JUST BREAKPOINTED IN. THEN RESTORE 1514 011420 3626 DCA I BURPO /LOCS AT BURP SO WE NEVER COME BACK 1515 011421 1225 TAD KCDF10+1 /HERE AGAIN UNTIL WE'RE SWAPPED 1516 011422 3627 DCA I BURP2 1517 011423 5626 JMP I BURPO 1518 011424 6211 KCDF10, CDF 10 1519 011425 1541 TAD I [MARG1 /SIMULATE LOCS AT BURP 1520 011426 0400 BURPO, BURP 1521 011427 0401 BURP2, BURP+1 1522 RSTCOD=. /RESTORES ODT AFTER 'C','G' COMMANDS 1523 NOPUNC 1524 *MREAD-1 1525 ENPUNC 1526 1527 017756 7607 SHNDLR 1528 017757 4756 JMS I .-1 1529 017760 1000 1000 1530 017761 0000 0 1531 017762 0033 MTEMP+4 1532 017763 7402 HLT 1533 017764 1372 MSWITC, TAD MLINK 1534 017765 7110 CLL RAR 1535 017766 1371 TAD MAC 1536 017767 6201 MCDF, CDF 0 /CDF OF PREVIOUS BRKPOINTED INST 1537 017770 5373 JMP MSTCDF 1538 017771 0000 MAC, 0 /SAVED AC 1539 017772 0000 MLINK, 0 /LIKEWISE LINK 1540 017773 6202 MSTCDF, CIF 0 /START CDF 1541 017774 5775 JMP I .+1 1542 017775 0000 MSTADR, 0 /START ADDRESS 1543 1544 NOPUNC 1545 *RSTCOD+MSTADR-MREAD+2 1546 ENPUNC 1547 011450 0000 CORE, 0 /DETERMINES AVAILABLE CORE 1548 011451 6230 MOD7, RXM /READ AND STORE EXT MEM INFO. //V4: GETS NOP FROM 1549 //SET SYS VT278 1550 011452 3007 DCA EXTEMP 1551 011453 1145 TAD [7000 1552 011454 6200 MOD8, LXM /SETS LXM FOR ODT PURPOSES. //V4: GETS CLA FROM SET SYS VT278 1553 011455 7200 CLA 1554 011456 6201 CDF 0 1555 011457 1724 TAD I M1 /FIELD INFO STORED IN 7777(IF AVAILABLE) 1556 011460 0301 AND COR70 1557 011461 7112 CLL RTR 1558 011462 7010 RAR 1559 011463 7440 SZA /HAS CORE SIZE BEEN SET? 1560 011464 5317 JMP USERCR /VERILY 1561 011465 6201 COR0, CDF 0 1562 011466 1325 TAD CORSIZ /GET FIELD TO TEST 1563 /JMS I [XLODE GETS A CLL RTL;RAL FROM SET SYS VT278 1564 011467 4573 JMS I [XLODE /EXTENDED MEMORY BANK&FIELD ADJUSTMENT 1565 011470 7000 NOP 1566 011471 1314 TAD COREX 1567 011472 3273 DCA .+1 /SET UP CDF TO FIELD 1568 011473 6201 COR1, CDF 1569 011474 1722 TAD I CORLOC /SAVE CURRENT CONTENTS 1570 011475 7000 COR2, NOP 1571 011476 3273 DCA COR1 1572 011477 1275 TAD COR2 1573 011500 3722 DCA I CORLOC 1574 011501 0070 COR70, 70 /ACTS AS NOP 1575 011502 1722 TAD I CORLOC /TRY TO READ BACK 7000 1576 011503 7400 CORX, 7400 1577 011504 1303 TAD CORX 1578 011505 1323 TAD CORV 1579 011506 7640 SZA CLA 1580 011507 5314 JMP COREX /NON-EXISTENT FIELD EXIT 1581 011510 1273 TAD COR1 /RESTORES CONTENTS DESTROYED 1582 011511 3722 DCA I CORLOC 1583 011512 2325 ISZ CORSIZ /TRY NEXT HIGHER FIELD 1584 011513 5265 JMP COR0 1585 1586 011514 6201 COREX, CDF 0 /STORE AWAY LAST REAL FIELD IN 'ZERO' 1587 011515 1325 TAD CORSIZ 1588 011516 1324 TAD M1 1589 011517 7041 USERCR, CIA 1590 011520 3000 DCA ZERO 1591 011521 5650 JMP I CORE 1592 011522 1503 CORLOC, CORX 1593 011523 1400 CORV, 1400 1594 011524 7777 M1, -1 1595 011525 0001 CORSIZ, 1 1596 011526 2003 KLIP, ISZ PUNN 1597 011527 5247 XCONT&177+5200 1598 011530 6041 TSF 1599 011531 0600 PLIP, LIP 1600 011532 0601 LIP+1 1601 011533 0602 LIP+2 1602 1603 *1600 1604 011600 0000 SIMX, 0 /SIMULATES BREAKPOINTED INST 1605 011601 1034 TAD TEMP 1606 011602 3000 DCA 0 1607 011603 4074 JMS IOTTST /IS IT AN IOT? 1608 011604 1263 TAD T777 1609 011605 7040 CMA 1610 011606 0014 AND INST 1611 011607 7004 RAL 1612 011610 7020 CML 1613 011611 7520 SNL SMA /IS IT A JMS OR A JMP? 1614 011612 5247 JMP JMSJMP 1615 011613 7030 CML RAR 1616 011614 3225 DCA SOPR /STORE INST IN SOPR 1617 011615 1036 TAD DATFLD /PREPARE CDF 1618 011616 4573 JMS I [XLODE 1619 011617 1123 TAD [CDF 0 1620 011620 3221 DCA .+1 1621 011621 7402 HLT 1622 011622 1022 TAD LINK /AND LINK 1623 011623 7110 CLL RAR 1624 011624 1023 TAD SAC /AND AC 1625 011625 7402 SOPR, HLT /EXECUTE INSTRUCTION 1626 011626 7410 SKP 1627 011627 2031 ISZ GAME+1 1628 011630 3023 DCA SAC /RESAVE AC,LINK,DATFLD 1629 011631 7004 RAL 1630 011632 3022 DCA LINK 1631 011633 6214 RDF 1632 011634 4555 JMS I [T174 1633 011635 6203 CDF CIF 0 1634 011636 1000 EOSIM, TAD 0 /PREPARE TO RETURN 1635 011637 7041 CIA /HAS LOC 0 BEEN CHANGED?BY A TAD...DCA...ISZ... 1636 011640 1034 TAD TEMP 1637 011641 7650 EOTST, SNA CLA /IF SO,THEN... 1638 011642 5245 JMP .+3 1639 011643 1000 TAD 0 /...DO A STORE(ON RETURN TO SIM) 1640 011644 5600 JMP I SIMX 1641 011645 2200 ISZ SIMX 1642 011646 5600 JMP I SIMX 1643 011647 7006 JMSJMP, RTL /PROCESS JMP,JMS 1644 011650 7630 SZL CLA 1645 011651 5257 JMP JMPX 1646 011652 1016 TAD TRAD 1647 011653 3032 DCA FROG 1648 011654 1031 TAD GAME+1 1649 011655 3000 DCA 0 1650 011656 7301 CLA IAC CLL 1651 011657 1033 JMPX, TAD FROG+1 1652 011660 3031 DCA GAME+1 1653 011661 7024 CML RAL /PUT -LINK IN AC (0 IF JMP, 1 IF JMS) 1654 011662 5241 JMP EOTST 1655 011663 0777 T777, 777 1656 1657 *0 1658 010000 0260 ZERO, ODTVERSION 1659 /HLT /IN CASE BKPT WITH INTER ON 1660 010001 6232 CIF 30 /SYMBIONT CODE 1661 010002 5001 JMP .-1 1662 010003 0000 PUNN, 0 1663 *4 /PAGE 0 LITERALS AND CELLS 1664 010004 6212 CIF 10 /PROTOTYPE BREAKPOINT 1665 010005 5406 JMP I 6 /USED BY PROGRAMS WITH JSBITS(10)=1 1666 010006 7741 DNAME, UDNAME /WHEN ODT IS RELOADED ON A BREAKPOINT 1667 1668 *7 1669 010007 0000 EXTEMP, 0 1670 010010 1427 RSTCOD-1 1671 010011 7755 MREAD-2 1672 *12 1673 010012 0000 TOTE, 0 1674 010013 0000 KEEP, 0 1675 010014 0000 INST, 0 1676 010015 7777 SHUT, -1 1677 010016 0000 TRAD, 0;SHNDLR 010017 7607 1678 010020 0000 WORD, 0;0 010021 0000 1679 010022 0000 LINK, 0 1680 010023 0000 SAC, 0 1681 010024 0000 CAD, 0;0 010025 0000 1682 010026 0000 CKT, 0;0 010027 0000 1683 010030 0000 GAME, 0;0 010031 0000 1684 010032 0000 FROG, 0;0 010033 0000 1685 010034 7760 TEMP, MREAD-MSTADR-2 1686 010035 0000 JSTEMP, 0 1687 010036 0000 DATFLD, 0 1688 010037 0000 INDFLD, 0 1689 010040 7777 MASK, 7777 1690 010041 0000 LIMLO, 0 1691 010042 7577 LIMHI, 7577 1692 010043 0000 ADR, 0 1693 010044 1000 FLDTST, TAD ZERO /LOC. 0 HAS LAST REAL CORE FIELD 1694 010045 1061 TAD NWD /IF USER TRIES TO ADDRESS NON- 1695 010046 7740 SMA SZA CLA /EXISTENT CORE, A ? RETURNS 1696 010047 5451 JMP I PNO 1697 010050 5434 JMP I TEMP /HE'S OK. 1698 010051 0326 PNO, NO 1699 010052 0000 TOTTST, 0 /TEST FOR COMMAND WITHOUT ADDRESS 1700 010053 1012 TAD TOTE 1701 010054 1154 TAD [7 1702 010055 7640 SZA CLA 1703 010056 2052 ISZ TOTTST 1704 010057 5452 JMP I TOTTST 1705 010060 0000 STOFLG, 0 1706 010061 0000 NWD, 0 1707 010062 0620 TJUMP, JUMP 1708 010063 0000 NOUGHT, 0 1709 010064 0000 LOAD, 0 /SUBROUTINE TO LOAD PROGRAM CODE 1710 010065 1464 TAD I LOAD 1711 010066 4505 JMS I [GETADR 1712 010067 0201 REDE5, READ5 1713 010070 1443 TAD I ADR /RETURNS ADDRESS CONTENTS IN AC 1714 010071 6201 CDF 0 1715 010072 2064 ISZ LOAD 1716 010073 5464 JMP I LOAD 1717 010074 0000 IOTTST, 0 /TEST FOR ISOLATING I/O 1718 010075 7332 CLA CLL CML RTR 1719 010076 1014 TAD INST 1720 010077 7630 SZL CLA 1721 010100 2074 ISZ IOTTST 1722 010101 5474 JMP I IOTTST 1723 010104 0033 $ 010105 1313 010106 1167 010107 0266 010110 0036 010111 7762 010112 0001 010113 0240 010114 7774 010115 7600 010116 0177 010117 0332 010120 7764 010121 7775 010122 7767 010123 6201 010124 7773 010125 6202 010126 7772 010127 1200 010130 5004 010131 0273 010132 0260 010133 0367 010134 5406 010135 6212 010136 7751 010137 0005 010140 7746 010141 7740 010142 1140 010143 7761 010144 0004 010145 7000 010146 7607 010147 0212 010150 0237 010151 0200 010152 0715 010153 7671 010154 0007 010155 1245 010156 7757 010157 7756 010160 7755 010161 7754 010162 0257 010163 1037 010164 0215 010165 1301 010166 0277 010167 0010 010170 1015 010171 7605 010172 1160 010173 1220 010174 1054 010175 0463 010176 7771 010177 0472 ACX 1125 ADD 0561 ADR 0043 ALTDF1 1247 ALTDF2 1250 ALTLIM 1246 ALTMOD 1121 ANALYZ 0202 AS 0444 ASADR 0447 ASGNST 0452 ASNORM 0425 ASSIGN 0410 BEGDIF 0046 BEGGRP 0216 BEGLN 1200 BKAROW 0315 BRKCOD 1141 BRKTST 1410 BURP 0400 BURP2 1427 BURPO 1426 CAD 0024 CARRET 1065 CCLA 1254 CD 0200 CDCONT 1237 CDER0 0661 CDER1 0377 CDER2 0770 CDER3 0602 CDINIT 1200 CDOVER 0326 CDRST 1244 CDSKP 0260 CDVERS 0262 CERR 4024 CHFLP 0217 CHLOOP 1007 CINSRT 1055 CKADR 1334 CKT 0026 CLFINI 1066 CLRLIN 1077 CLXR 0017 CONTIN 0635 CONTX 0640 COR0 1465 COR1 1473 COR2 1475 COR70 1501 CORE 1450 COREX 1514 CORLOC 1522 CORSIZ 1525 CORV 1523 CORX 1503 CRL 0332 CRL1 0343 CRL2 0345 CRLF 1112 CTCTST 0463 CTRC 0237 CTRLC 1073 CTRLU 1073 DATF 1131 DATFLD 0036 DCB 7760 unreferenced DCDYES 0657 DECODE 0644 DEFALT 0042 DELIM 0040 DEV1 0033 DEV2 0034 DEVNAM 0320 DFLTNM 0044 DLOOK 0263 DNAME 0006 DSPCHL 1017 DUMP 1160 DVFLAG 0037 DVICE 0043 EFFADR 0715 EOBUFR 1314 EONUM 0372 EOSIM 1636 unreferenced EOTST 1641 EQUAL 0305 unreferenced EX2 0274 EXAM 0266 EXT1 0055 EXT2 0062 EXTEMP 0007 F1STUF 4020 FADR 1331 FILLP 0227 FILLP1 0226 FLDTST 0044 FROG 0032 G1400 1362 GAME 0030 GCH 0711 GETADR 1313 GETHND 0051 GIREC 1363 GLINE 1002 GNAME 0454 GREC 1167 GTNMLP 0466 HIORD 0022 INDF 1130 INDFLD 0037 INFILE 0261 INIT 1400 INST 0014 IOTTST 0074 J7600 7751 JMPLIP 0460 JMPX 1657 JMSJMP 1647 JSBITS 7746 JSTEMP 0035 JUMP 0620 K7440 1020 KCDF10 1424 KEEP 0013 KLIP 1526 KMREC 0007 LBCKUP 1146 unreferenced LENGTH 0554 LESSTN 1070 LFAILD 0573 LIMDIF 0047 LIMHI 0042 LIMLO 0041 LINK 0022 LINKX 1126 LIP 0600 LIPTYP 0604 LKUPLP 0546 LKUPST 0566 LKUPSW 0245 LNAME 0553 LOAD 0064 LOOKUP 0540 LT32K 1234 LXM 6200 LXR 0015 M1 1524 M5200 1245 MAC 7771 MARG1 7740 MASK 0040 MASKX 1127 MCDF 7767 MCDREC 0051 MGET 7667 MIFILE 7617 MKEEP 7756 MLINK 7772 MOD5 0240 unreferenced MOD6 0665 unreferenced MOD7 1451 unreferenced MOD8 1454 unreferenced MOFILE 7600 MPARAM 7643 MPUNN 7757 MREAD 7757 MSTADR 7775 MSTCDF 7773 MSWITC 7764 MTEMP 0027 MTRAD 7754 MTRAD1 7755 NAME1 0025 NAME2 0026 NAME3 0027 NAME4 0030 NAMECT 0031 NMBASE 0032 NO 0326 NOAUTO 0757 NOBKAR 0213 NOIND 0762 NOREAD 1367 NOUGHT 0063 NUM 0201 NUMADD 0366 NUMBER 0340 NUMFUJ 0036 NUMLP 0344 NUMTST 0002 NUMX 0023 NWD 0061 OCRLF 0472 ODTREC 0060 ODTVER 0260 OLENGT 0740 OLFUDJ 0767 OPENP 0731 OPIN 0360 OUTLIM 0050 OUTSW 0041 P250 0725 P7603 7753 unreferenced P7770 0753 PCHAR 1337 PERDSW 0035 PERIOD 0531 PLIP 1531 PLKUPS 1251 PN2 1021 PNO 0051 PNUM 1015 PODT 7752 PRINT 0066 PRMESG 1314 PRNAME 1350 PRNT 1155 PRWD 1325 PSPKG1 1255 PSTARS 1253 PUNN 0003 RACA 6175 unreferenced RACB 6176 unreferenced RACC 6177 unreferenced RBFLAG 0024 RBOUT 1173 RBSPCL 1151 REA 0205 READ 0200 READ5 0201 REDE5 0067 RESTRT 0676 ROTLP 0354 RSTCOD 1430 RUBOUT 1131 RXM 6230 SAC 0023 SEMI 0371 SEX 0301 SHNDLR 7607 SHUT 0015 SIM 1200 SIMX 1600 SIMXT 1211 SLASH 0726 SLSHCH 0613 SLSHLP 0625 SOPR 1625 SPADR 1025 SPKLG1 0434 SROT 0311 STARJM 1252 STARNM 0503 STARSW 0475 STOFLG 0060 STORE 1301 SUBT 0560 SYSHND 4030 T 0020 T1 0041 T174 1245 T400 0766 T777 1663 TABL1 0242 TABL1A 0352 TABL2 0772 TABL2A 0373 TEMP 0034 TFPUTX 0054 TJUMP 0062 TMONIT 0052 TOTE 0012 TOTTST 0052 TRAD 0016 TRAP 0502 TT 0021 TTYOFF 0765 TTYTST 0602 TUSRFG 0053 TYPD 1037 TYPDX 1257 TYPDXX 1053 TYPE 1367 TYPN 1054 TYPRET 1377 UDNAME 7741 UPAR1 0712 UPAR2 0367 UPAR3 0353 USERCR 1517 USERFG 0040 WORD 0020 WSER 1071 WSER1 1077 WSER2 1116 XCONT 0647 XLODE 1220 XR 0016 ZERO 0000