1 /DAQUAN MS- DATA ACQUISITION AND ANALYSIS FOR LAB-8E. 2 / 3 /DEC-8E-ADAQA-A-LA 4 / 5 /COPYRIGHT 1972 6 /DIGITAL EQUIPMENT CORPORATION 7 /MAYNARD, MASSACHUSETTS 01754 8 / 9 10 /DAQUAN: 11 /FILE DAQ.5 12 /DAQUAN FOR PS8 13 /COPYRIGHT 1972 DIGITAL EQUIPMENT CORP. MAYNARD, MASS. 01754. 14 /DATA ACQUISITION AND ANALYSIS FOR 8K LAB8/E 15 /THE COMPUTER OF AVERAGE TRANSIENTS AND 16 /USING MANY OF THE CONCEPTS AND CODE AS WAS IN 17 /LORCAP-MADCAP PACKAGES (DECUS #8-237) AND CATACAL 18 19 FIXMRI CALL=4400 /USED TO CALL SUBR'S INDIRECTLY 20 FIXMRI FADD=1000 21 FIXMRI FSUB=2000 22 FIXMRI FMPY=3000 23 FIXMRI FDIV=4000 24 FIXMRI FGET=5000 25 FIXMRI FPUT=6000 26 FEXT= 0000 27 28 CDF= 6201 29 CLZE= 6130 30 CLSK= 6131 31 CLDE= 6132 32 CLAB= 6133 33 CLEN= 6134 34 CLSA= 6135 35 CLBA= 6136 36 CLCA= 6137 37 DBSO= 7000 /NOP 38 DILC= 6050 39 DICD= 6051 40 DISD= 6052 41 DILX= 6053 42 DILY= 6054 43 DIXY= 6055 44 DILE= 6056 45 DIRE= 6057 46 ADCL= 6530 47 ADLM= 6531 48 ADST= 6532 49 ADRB= 6533 50 ADSK= 6534 51 ADSE= 6535 52 ADLE= 6536 53 ADRS= 6537 54 CAF= 6007 55 PCE= 6020 56 KIE= 6035 57 SET1= CLL CLA IAC 58 SET2= SET1 RAL 59 SET3= SET2 STL 60 SET4= SET1 RTL 61 SET6= SET4 STL 62 SETM2= STA CLL RAL 63 SETM3= STA CLL RTL 64 65 /SHORT HAND SUBR. CALLS 66 FIXT= JMS I FIXER 67 FLOAT= JMS I FLOTER 68 INITAR= JMS I INIT 69 HEDIT1= JMS I HEADR1 70 HEDIT2= JMS I HEADR2 71 FLOUT= JMS I 6 72 ENTR= JMS I 7 73 GETNO= JMS I READXY 74 RDTTY= JMS I TELRED 75 ASK= JMS I QUERY 76 CRLFD= JMS I CRTLFD 77 FOUTCM= JMS I FOTCM 78 DISPLAY=JMP I DISM2 /COMMON EXIT TO DISPLAY 79 80 /THE FOLLOWING ARE USED TO CALL CERTAIN 81 /OPERATIONS WHILE IN INTERPRETER MODE. 82 83 SQUARE= 1 84 SQROOT= 2 85 NEGATE= 10 /NEGATE FL. PT. AC 86 READ= 11 /READ FP#, IGNORE NON-NUMERICS 87 OUTPUT= 12 /PRINT FAC. IN E FORMAT 88 FLOT=14 89 HEDIT= 15 /PRINT HEADING WITH 'HEDER2' 90 FNOR= 7000 /NORMALIZE C(FAC) 91 92 /EQUATES TO FLOATING PT. PKG: 93 DNORM=7265 94 FPIN=6200 95 FPNT=7400 96 EW= 44 97 HW= 45 98 LW= 46 99 AC0= 40 100 AC1= 41 101 AC2= 42 102 INPSW=52 103 DP=57 104 EFLG= 56 105 FLDW= 57 106 DADP= 60 107 /THESE DEFINE X-Y DAC RANGE AND PLOTTER 108 /LIMITS AS USED BY THIS PRGM. 109 110 AXR=1750 /X RANGE=1000(10) 111 AYR=1750 /Y RANGE=1000(10) 112 AXL=-764 /LOWER X LIMIT=-500 113 AYL=-764 /LOWER Y LIMIT=-500(10) 114 115 /THESE ARE USED BY 'MARKER' TO SET 116 /UP QUADRANT COORDINATES NEEDED. 117 118 AX1=AXL+372 /1ST X QUAD.,=-250(10) 119 AX2=AXL+764 /2ND " =0 120 AX3=AXL+1356 /3RD " =250(10) 121 AY1=AYL+372 /1ST Y QUAD.,=-250(10) 122 AY2=AYL+764 /2ND " =0 123 AY3=AYL+1356 /3RD " =250(10) 124 125 126 BUF1=-1 /STARTING ADDR.-1 OF FIRST BUFFER 127 DLBUF=4000 /ARRAY SIZE OR OFFSET 128 129 FIELD 0 130 *1 /INTERRUPT FOR CLOCK IN LOOK 131 000001 5402 JMP I .+1 132 000002 4200 STAVR 133 134 *6 135 000006 0763 FOUTX /START OUTPUT CONTROLLER 136 000007 7400 FPNT /START INTERPRETER 137 138 000010 0000 XIND, 0 /AUTO-INDEX REGISTERS 139 000011 0000 YIND, 0 140 000012 0000 ZIND, 0 141 000013 0000 AUTO, 0 /USED FOR TEMPORARY WORK. 142 000014 0000 AUTO2, 0 /TEMP AUTO. 143 144 *20 /SUBROUTINE TABLE 145 000020 2544 FLOTER, FLOATR /FLOAT C(AC) INTO FAC 146 000021 0323 FIXER, FIXR /FIX C(FAC) INTO AC AND LOC'N 45 147 000022 0600 READXY, READER /INPUT A FP # 148 000023 1103 HOLD, STALL /RC CLOCK DELAY SUBR. 149 000024 0555 TELRED, MODTTI /GET & PRINT CHAR. ON ASR 150 000025 3610 INIT, INITIZ /INITIALIZE STORAGE POINTERS 151 000026 0610 OUT, SELECT /OUTPUT CHAR TO ASR OR HSP 152 000027 0565 CRTLFD, MODCR /ISSUE CR-LF 153 000030 1724 HEADR1, HEDER1 /OUTPUT STRIPPED ASCII;ADDR. AFTER JMS 154 000031 1734 HEADR2, HEDER2 /DITTO; NO ADDRESS 155 000032 1066 QUERY, ASKER /ACCEPT Y OR N IN ANSWER TO QUESTION 156 000033 1146 PENUP, UPPEN /CLOSE RELAY ONE TO LIFT PEN 157 000034 1153 PENDN, DNPEN /OPEN " TO DROP PEN 158 000035 1134 DISMOV, RESET /RESET DAC OUTPUT TO NEW COORD'S 159 000036 1427 IOASK, ASKIO /ASK WHICH I/O DEVICE TO USE 160 000037 1125 ADCON, ADCONV /ADC SUBR. FOR GENERAL USE 161 162 163 *63 /MORE SUBR'S AND OPERATIONAL CONTROLS 164 000063 3171 FOTCM, FLTCM /FLOATING OUTPUT OF FAC FOLLOWED BY A COMMA 165 000064 3147 CLKSET, SETCLK /CLOCK CONTROL SUBR. 166 000065 1213 XSET, XSETUP /COMPUTE X AXIS INCREMENT FOR DISPLAY 167 000066 0222 DISM2, BEGDIS /BEGIN OF SCOPE DISPLAY ROUTINE 168 000067 1552 ADINX, ADDMX /SET UP X DISPLAY COORD'S 169 000070 0000 NPTS, 0 /NUMBER OF POINTS 170 000071 1161 HUNDRD, HNDRD /FLOATING 100(10) 171 000072 7014 XLIM, AXL /MIN. X FOR DISPLAY 172 000073 7014 YLIM, AYL /SAME FOR Y 173 000074 1750 XRNG, AXR /X DISPLAY RANGE 174 000075 1750 YRNG, AYR / " FOR Y 175 000076 7777 YONE, BUF1 /STARTING INDEX-1 FOR Y ARRAY 176 000077 4000 OFFSET, DLBUF /ARRAY OFFSET 177 000100 0000 YDIS, 0 /CURRENT DISPLAY COORD. FOR Y 178 000101 0000 XDIS, 0 /CURRENT X COORDINATE FOR DISPLAY 179 180 /XNC AND TXSM HAVE ASSUMED DECIMAL 181 /POINT AFTER BIT 11 OF HI ORDER WORD. 182 000102 0000 XNC, 0 /DOUBLE PRECISION VALUE FOR X 183 000103 0000 0 /INCREMENT FOR DISPLAY 184 000104 0000 TXSM, 0 /IS CURRENT DOUBLE PREC. 185 000105 0000 0 /VALUE FOR X DISPLAY. 186 187 188 000106 0002 FK3, 2;3000;0 000107 3000 000110 0000 189 000111 0027 P27, 27 /A CONSTANT. 190 /THESE 4 LOC'NS ARE USED BY AVERAGER 191 000112 0000 RUN, 0 /NO. OF SCANS 192 000113 0000 MCHAN, 0 /MULTIPLEXOR CHANNEL 193 000114 0000 AVSUM, 0 /NO. OF SAMPLES PER PT. (2'S COMP.) 194 000115 0000 EXPFC, 0 /EXPONENT FACTOR REDUCES ADC SUM 195 196 197 /TABLE OF CONSTANTS, COUNTERS, & TEMP. LOC'NS. 198 000116 0005 FIVE, 5 199 000117 0000 HALF, 0 /THIS IS USED TO AVOID TRUNCATION 200 000120 2000 2000 /WHEN FIXING THE FAC TO AN INTEGER. 201 000121 0000 0 202 000122 7774 NEG4, -4 203 000123 0077 RM77, 77 204 000124 1000 K1000, 1000 205 000125 0000 PCTR, 0 206 000126 0000 CNTR, 0 207 000127 0000 LNCTR, 0 208 000130 0000 MCTR, 0 209 000131 0000 TEMP, 0 210 000132 0000 TEMP1, 0 211 000133 0000 TEM2, 0 212 000134 0000 TEM3, 0 213 000135 0000 MIN, 0 214 000136 0000 MAX, 0 215 000137 0000 MODE, 0 216 000140 0000 BLOCK, 0 217 000141 0000 HIORD, 0 218 FTEM1, 219 000142 0000 CLTM, 0 220 000143 0000 DLATM, 0 221 000144 0000 0 222 FTEM2, 223 000145 0000 LOORD, 0 224 000146 0000 TMXP, 0 225 000147 0000 TMCTR, 0 226 TEMFP, 227 000150 0000 PS1, 0 228 000151 0000 PS2, 0 229 000152 0000 S1C, 0 230 XMIN, 231 000153 0000 S2C, 0 232 000154 0000 MNT, 0 233 000155 0000 MXT, 0 234 YMIN, 235 000156 0000 KMIN, 0 236 000157 0000 KMNT, 0 237 000160 0000 0 238 000161 0000 XSCLFC, 0 239 000162 0000 0 240 000163 0000 0 241 000164 0000 YSCLFC, 0 242 000165 0000 0 243 000166 0000 0 244 /MAIN CALLING ROUTINE AND 245 /DISPLAY LOOP PLUS SMALL SUBR'S. 246 *200 247 000200 4777 JMS M76TF1 /MOVE PS8 7600,FIELD 1 TO FIELD 0 248 /TO MAKE ROOM FOR DATA. 249 /DO NOT RESTART AT 200. 250 000201 5203 JMP START 251 000202 5221 JMP BEGDIS-1 /SA=202 TO RE-ENTER DISPLAY 252 000203 7300 START, CLA CLL 253 000204 6201 CDF 0 254 000205 3054 DCA IOSWT /CLR I/O SWITCH FOR LOW SPD 255 000206 4430 HEDIT1 /DAQUAN LIVES!^TITLE: 256 000207 5131 HD1 257 000210 4424 RDTTY /READ IN TEXT UNTIL CTRL/A 258 000211 1322 TAD MALT /IS ENTERED, THEN GO ON TO INPUT 259 000212 7640 SZA CLA 260 000213 5210 JMP .-3 261 000214 3140 DCA BLOCK /CLEAR FOR CHANNEL 1 262 000215 3137 DCA MODE /NO CURSORS 263 000216 7001 IAC 264 000217 3070 DCA NPTS /SET # PTS TO ONE FOR INITIAL COMMAND 265 000220 4431 HEDIT2 /OK, HIT ME! 266 000221 4433 CALL PENUP /BE SURE PLOTTER PEN IS UP 267 268 /START OF SCOPE DISPLAY ROUTINE: 269 000222 6201 BEGDIS, CDF 0 /NORMAL EXIT POINT FROM ROUTINES 270 000223 4465 CALL XSET 271 000224 3054 DCA IOSWT /CLR FOR LO SPD I/O 272 000225 3056 DCA EFLG /SET FPP E FORMAT. 273 000226 4427 CRLFD 274 000227 6032 KCC /KNOCK DOWN TTY FLAG 275 000230 1137 SCPINT, TAD MODE 276 000231 7640 SZA CLA /WANT CURSORS? 277 000232 4720 CALL DSPTS /YES 278 000233 3131 DCA TEMP /CLR SWITCH USED TO SWAP BLOCKS 279 000234 3132 DCA TEMP1 /IS Y AXIS OFFSET IF BLOCK=2 280 000235 3133 DCA TEM2 /IS X AXIS OFFSET 281 000236 1140 TAD BLOCK 282 000237 7640 SZA CLA /BLOCK 1? 283 000240 1077 STYN, TAD OFFSET /YES, ADD ARRAY OFFSET 284 000241 1076 TAD YONE 285 000242 3011 DCA YIND 286 000243 1070 TAD NPTS 287 000244 7041 CIA 288 000245 3126 DCA CNTR 289 000246 1133 TAD TEM2 290 000247 1072 TAD XLIM 291 000250 3101 DCA XDIS 292 000251 1073 TAD YLIM 293 000252 1132 TAD TEMP1 294 000253 3132 DCA TEMP1 295 000254 3105 DCA TXSM+1 296 000255 6031 KSF /GET CHAR. FROM TTY? 297 000256 7410 SKP 298 000257 5721 JMP I INTRP /YES, GO GET REST AND DECODE. 299 000260 6211 CDF 10 300 301 000261 1411 SCPLOP, TAD I YIND /GET Y VALUE (0-1000) 302 000262 1132 TAD TEMP1 303 000263 3100 DCA YDIS 304 000264 4435 CALL DISMOV 305 000265 1103 TAD XNC+1 /INCR. X DISPLAY SUM 306 000266 1105 TAD TXSM+1 307 000267 3105 DCA TXSM+1 308 000270 7004 RAL 309 000271 1101 TAD XDIS 310 000272 1102 TAD XNC 311 000273 3101 DCA XDIS 312 000274 2126 ISZ CNTR /MORE PTS? 313 000275 5261 JMP SCPLOP /YES 314 000276 6201 CDF 0 315 000277 7240 STA 316 000300 1140 TAD BLOCK 317 000301 7750 SPA SNA CLA /BLOCK #=2? 318 000302 5230 JMP SCPINT /NO, CONTINUE WITH CDA 319 000303 2131 ISZ TEMP /IS SWITCH SET FOR CHANNEL 1? 320 000304 5310 JMP .+4 /NO 321 000305 3133 DCA TEM2 /YES CLEAR X AND Y OFFSET 322 000306 3132 DCA TEMP1 323 000307 5241 JMP STYN+1 /AND RETURN 324 000310 7240 STA /SET SWITCH TO SKIP 325 000311 3131 DCA TEMP 326 000312 7001 IAC 327 000313 4437 CALL ADCON /GET A NEW Y OFFSET FROM KNOB 1 328 000314 3132 DCA TEMP1 329 000315 4437 CALL ADCON /GET NEW X OFFSET FROM KNOB 0 330 000316 3133 DCA TEM2 331 000317 5240 JMP STYN /AND RETURN TO SET CHAN 2 332 000320 3326 DSPTS, DISPTS 333 000321 2000 INTRP, SERVIS /DECODE KBD CHAR'S AND ACT 334 000322 7577 MALT, -201 /-CTRL/A 335 336 337 000323 0000 FIXR, 0 /THIS SUBR. TRUNCATES FAC TO INTEGER 338 000324 7200 CLA /AND LEAVES IT IN THE AC & LOC'N HW. 339 000325 1044 TAD EW 340 000326 7750 SPA SNA CLA /EXPO.<1? 341 000327 5360 JMP DONE-1 /YES; TRUNCATE TO ZERO 342 000330 1044 TAD EW 343 000331 1363 TAD M13 344 000332 7450 SNA /EXPO=13? 345 000333 5361 JMP DONE /YES; C(45) ARE INTEGER PART 346 000334 7500 SMA /EXPO.<13? 347 000335 5353 JMP LRG /NO, IS TOO LARGE 348 000336 3776 DCA FLOATR /USE FLOATR AS TEMP REG. 349 000337 7100 FIXR1, CLL /ROTATE FAC 1 RIGHT;LEAVE 350 000340 1045 TAD HW 351 000341 7510 SPA 352 000342 7120 STL 353 000343 7010 RAR /VALUE AT LW=ADD 46. 354 000344 3045 DCA HW 355 000345 1046 TAD LW 356 000346 7010 RAR 357 000347 3046 DCA LW 358 000350 2776 ISZ FLOATR /FRACTION AS C(46) 359 000351 5337 JMP FIXR1 360 000352 5361 JMP DONE 361 000353 7300 LRG, CLA CLL 362 000354 1045 TAD HW 363 000355 7710 SPA CLA /WAS IT NEG.? 364 000356 7046 CMA RTL /YES; SET AC=7775 365 000357 7050 CMA RAR /IF +,=3777;IF -,=4001 366 000360 3045 DCA HW 367 000361 1045 DONE, TAD HW 368 000362 5723 JMP I FIXR 369 000363 7765 M13, -13 370 371 /THIS IS A SHORT DEBUG AND CORE MODIFIER ROUTINE 372 /THE RETURN LOCATION IS SPECIFIED BY 373 /TYPING 'R' THEN RETURN LOC'N. 374 /TYPE 'N' TO OPEN NEXT LOCATION; TYPE 'C' 375 /AFTER A CORRECTION TO ENTER IT; 376 /AND TYPE 'S' TO REOPEN LAST LOCATION USED. 377 /'RUBOUT' WILL TERMINATE ANY OPERATION 378 /THEN RESTART ROUTINE. 379 /WILL BE CLOBBERED BY PARA'S IF USE CA: 380 381 000376 2544 *400 000377 2336 382 000400 4365 STRTIT, JMS MODCR 383 000401 4272 JMS OCTIN /GET A LOCATION TO OPEN 384 000402 5200 JMP .-2 385 000403 7440 SZA /GET A NUMBER>0? 386 000404 5231 JMP GOTIT /YES 387 000405 1352 TAD LSCHR /IS LAST CHARACTER READ 388 000406 1345 TAD MEN 389 000407 7450 SNA /WAS IT 'N'? 390 000410 5225 JMP NLOC /YES 391 000411 1346 TAD MES 392 000412 7450 SNA /WAS IT 'S'? 393 000413 5226 JMP NLOC+1 /YES 394 000414 7001 IAC 395 000415 7640 SZA CLA /WAS IT 'R'? 396 000416 5200 JMP STRTIT /NO, IGNORE IT 397 000417 4272 JMS OCTIN /YES; GET EXIT LOC'N 398 000420 5200 JMP STRTIT /IF ERROR, RESTART 399 000421 7650 SNA CLA /MUST BE NONZERO ADDR. 400 000422 5200 JMP STRTIT 401 000423 4365 JMS MODCR /WAS OK 402 000424 5753 JMP I VALU /EXIT TO THERE. 403 404 000425 2351 NLOC, ISZ LSLOC 405 000426 1351 TAD LSLOC 406 000427 4252 JMS OCTOUT 407 000430 7410 SKP 408 000431 3351 GOTIT, DCA LSLOC 409 000432 1343 TAD EQUAL 410 000433 4426 CALL OUT 411 000434 1751 TAD I LSLOC /GET CONTENTS OF OPEN LOC'N 412 000435 4252 JMS OCTOUT /PRINT IT 413 000436 1344 TAD COLON 414 000437 4426 CALL OUT 415 000440 4272 JMS OCTIN /GET CORRECTION 416 000441 5200 JMP STRTIT 417 000442 7200 CLA 418 000443 1352 TAD LSCHR 419 000444 1336 TAD MSEE 420 000445 7640 SZA CLA /WAS LAST CHAR. A 'C'? 421 000446 5200 JMP STRTIT /NO, RESTART. 422 000447 1353 TAD VALU /YES 423 000450 3751 DCA I LSLOC /STORE CORRECTION 424 000451 5200 JMP STRTIT 425 000452 0000 OCTOUT, 0 426 000453 7104 CLL RAL /CAME WITH OCTAL # IN AC; 427 000454 3354 DCA DTEM /ROTATE 1ST DIGIT INTO LINK 428 000455 1122 TAD NEG4 429 000456 3350 DCA NCNTR 430 000457 1354 SETIT, TAD DTEM 431 000460 7006 RTL 432 000461 7004 RAL 433 000462 3354 DCA DTEM 434 000463 1354 TAD DTEM 435 000464 0342 AND P7M0 /MASK RIGHTMOST 3 BITS 436 000465 1337 TAD AS260 437 000466 4426 CALL OUT 438 000467 2350 ISZ NCNTR /PRINTED 4 DIGITS? 439 000470 5257 JMP SETIT /NO 440 000471 5652 JMP I OCTOUT /YES, WE'RE DONE. 441 442 000472 0000 OCTIN, 0 443 000473 7200 CLA /OCTAL INPUT ROUTINE 444 000474 3353 DCA VALU /ANY NON OCTAL CHAR TERMINATES 445 000475 3350 DCA NCNTR />4 DIGITS OR RUBOUT GENERATE ERROR RETURN 446 000476 4355 GTCHR, JMS MODTTI /GET A CHARACTER 447 000477 3352 DCA LSCHR 448 000500 1352 TAD LSCHR 449 000501 1341 TAD MN7 450 000502 7540 SMA SZA / ASCII '0'? 454 000506 5323 JMP FNISH /NO, DEFINITELY NOT DIGIT. 455 000507 3354 DCA DTEM /IS DIGIT, KEEP IT. 456 000510 1353 TAD VALU /IS CURRENTLY ASSEMBLED LOC'N 457 000511 7106 CLL RTL 458 000512 7004 RAL 459 000513 1354 TAD DTEM /ADD NEW DIGIT 460 000514 3353 DCA VALU 461 000515 2350 ISZ NCNTR 462 000516 1350 TAD NCNTR /HAVE MORE THAN 4 CHAR'S? 463 000517 1122 TAD NEG4 464 000520 7740 SZA SMA CLA 465 000521 5333 JMP BAD /YES, ERROR 466 000522 5276 JMP GTCHR /NO, GET ANOTHER 467 000523 7200 FNISH, CLA /EXIT HERE WITH OPEN LOC'N IN AC 468 000524 1352 TAD LSCHR 469 000525 1340 TAD MRBT 470 000526 7650 SNA CLA /WAS LAST CHAR A RUBOUT? 471 000527 5333 JMP .+4 /YES, ERROR! 472 000530 2272 ISZ OCTIN /INDEX RETURN IF NO ERROR 473 000531 1353 TAD VALU /AND LEAVE RESULT IN AC 474 000532 5672 JMP I OCTIN 475 000533 1347 BAD, TAD QUEST 476 000534 4426 CALL OUT 477 000535 5672 JMP I OCTIN 478 479 000536 7475 MSEE, -303 480 000537 0260 AS260, 260 481 000540 7401 MRBT, -377 482 000541 7511 MN7, -267 483 000542 0007 P7M0, 267-260 484 000543 0275 EQUAL, 275 485 000544 0272 COLON, 272 486 000545 7462 MEN, -316 487 000546 7773 MES, 316-323 488 000547 0277 QUEST, 277 489 000550 0000 NCNTR, 0 490 000551 0000 LSLOC, 0 491 000552 0000 LSCHR, 0 492 000553 0000 VALU, 0 493 000554 0000 DTEM, 0 494 495 000555 0000 MODTTI, 0 496 000556 6031 KSF 497 000557 5356 JMP .-1 498 000560 6036 KRB 499 000561 6046 TLS 500 000562 6041 TSF 501 000563 5362 JMP .-1 502 000564 5755 JMP I MODTTI 503 504 000565 0000 MODCR, 0 505 000566 7200 CLA 506 000567 1374 TAD MDCR 507 000570 4426 CALL OUT 508 000571 1375 TAD MDLF 509 000572 4426 CALL OUT 510 000573 5765 JMP I MODCR 511 000574 0215 MDCR, 215 512 000575 0212 MDLF, 212 513 *600 514 000600 0000 READER, 0 /FP INPUT SUBR. TO IGNORE NON-NUMERICS. 515 000601 4607 CALL FLIN /GET CONVERSION 516 000602 7000 NOP /LEAVE ROOM FOR DAFFT AND PAFFT TO INSERT 517 / A SWBA INSTRUCTION 518 000603 1052 TAD INPSW 519 000604 7650 SNA CLA /NUMERIC INPUT? 520 000605 5202 JMP .-3 /NO, TRY AGAIN 521 000606 5600 JMP I READER /YES, EXIT. 522 000607 6200 FLIN, FPIN 523 524 000610 0000 SELECT, 0 /OUTPUT SELECTOR ACCORDING TO IOSWT 525 000611 3230 DCA OUTCHR /KEEP CHAR. 526 000612 1054 TAD IOSWT 527 000613 7650 SNA CLA /WAS IT >0? 528 000614 5222 JMP TTOUT /NO, USE TELETYPE 529 000615 1230 TAD OUTCHR 530 000616 6026 PLS 531 000617 6021 PSF 532 000620 5217 JMP .-1 533 000621 5226 JMP .+5 534 000622 1230 TTOUT, TAD OUTCHR 535 000623 6046 TLS 536 000624 6041 TSF 537 000625 5224 JMP .-1 538 000626 7200 CLA 539 000627 5610 JMP I SELECT 540 000630 0000 OUTCHR, 0 541 542 000631 0000 MARKER, 0 /TABLE DRIVEN AXIS MARKER ROUTINE 543 000632 1262 TAD CORTAB /INITIALIZE COORD. TABLE POINTER 544 000633 3013 DCA AUTO 545 000634 1413 LOKIN, TAD I AUTO /GET STATUS WORD 546 000635 3131 DCA TEMP 547 000636 1131 TAD TEMP 548 000637 7001 IAC 549 000640 7650 SNA CLA /END OF TABLE? 550 000641 5631 JMP I MARKER /YES 551 000642 1131 TAD TEMP 552 000643 7700 SMA CLA /NEED X COORD.? 553 000644 5247 JMP .+3 /NO 554 000645 1413 TAD I AUTO 555 000646 3101 DCA XDIS 556 000647 1131 TAD TEMP 557 000650 7004 RAL 558 000651 7700 SMA CLA /NEED Y COORD.? 559 000652 5255 JMP .+3 /NO 560 000653 1413 TAD I AUTO 561 000654 3100 DCA YDIS 562 000655 7201 CLA IAC /IF BIT 11=1, MOVE TO COORD'S 563 000656 0131 AND TEMP /THEN PUT PEN DOWN; IF =0, 564 000657 4661 CALL PLTMV /INCREMENT TO COORD'S W/PEN DOWN. 565 000660 5234 JMP LOKIN /CONTINUE SCANNING TABLE 566 000661 1600 PLTMV, PLTINC 567 568 /THE FOLLOWING TABLE OF COORD'S IS STRUCTURED 569 /THUSLY: 1ST WORD=STATUS, BIT 0=1 MEANS 570 /X COORD. FOLLOWS, BIT 1=1 Y COORD. FOLLOWS, 571 /BOTH SET MEANS X THEN Y COORD'S FOLLOW. 572 /BIT 11 DESCRIBES PEN STATUS: =0 573 /LEAVE PEN AS IS, AND =1 RAISE PEN. 574 575 PX=4000;PY=2000;PU=1 576 577 000662 0662 CORTAB, . 578 579 /THESE DRAW A BOX STARTING FROM AXES ORIGIN 580 000663 6001 PX+PY+PU /GO TO AXES ORIGIN 581 000664 7007 AXL-5 582 000665 7007 AYL-5 583 000666 4000 PX /GO TO RIGHT 584 000667 0771 AXL+AXR+5 585 000670 2000 PY /GO TO TOP 586 000671 0771 AYL+AYR+5 587 000672 4000 PX /GO TO LEFT TOP 588 000673 7007 AXL-5 589 000674 2000 PY /GO TO AXES ORIGIN 590 000675 7007 AYL-5 591 592 /THESE DRAW TICS ON X AXIS 593 000676 4001 PX+PU 594 000677 7014 AXL 595 000700 2000 PY 596 000701 7012 AYL-2 597 000702 6001 PX+PY+PU 598 000703 7406 AX1 599 000704 7007 AYL-5 600 000705 2000 PY 601 000706 7012 AYL-2 602 000707 6001 PX+PY+PU 603 000710 0000 AX2 604 000711 7007 AYL-5 605 000712 2000 PY 606 000713 7012 AYL-2 607 000714 6001 PX+PY+PU 608 000715 0372 AX3 609 000716 7007 AYL-5 610 000717 2000 PY 611 000720 7012 AYL-2 612 000721 6001 PX+PY+PU 613 000722 0764 AXR+AXL 614 000723 7007 AYL-5 615 000724 2000 PY 616 000725 7012 AYL-2 617 618 619 620 /TICS ON Y AXIS 621 000726 6001 PX+PY+PU 622 000727 7007 AXL-5 623 000730 7014 AYL 624 000731 4000 PX 625 000732 7012 AXL-2 626 000733 6001 PX+PY+PU 627 000734 7007 AXL-5 628 000735 7406 AY1 629 000736 4000 PX 630 000737 7012 AXL-2 631 000740 6001 PX+PY+PU 632 000741 7007 AXL-5 633 000742 0000 AY2 634 000743 4000 PX 635 000744 7012 AXL-2 636 000745 6001 PX+PY+PU 637 000746 7007 AXL-5 638 000747 0372 AY3 639 000750 4000 PX 640 000751 7012 AXL-2 641 000752 6001 PX+PY+PU 642 000753 7007 AXL-5 643 000754 0764 AYR+AYL 644 000755 4000 PX 645 000756 7012 AXL-2 646 000757 6001 PX+PY+PU 647 000760 7014 AXL 648 000761 7014 AYL 649 000762 7777 MIN1, -1 /END OF TABLE. 650 651 000763 0000 FOUTX, 0 /ENTRY TO FLOATING OUTPUT. 652 000764 3060 DCA DADP 653 000765 4770 JMS I .+3 /CALL FPP OUTPUT. 654 000766 7000 NOP /LEAVE ROOM FOR DAFFT AND PAFFT TO INSERT 655 / A SWBA INSTRUCTION. 656 000767 5763 JMP I FOUTX 657 000770 5600 5600 658 *1000 659 001000 4430 CALBRT, HEDIT1 /CALIBRATE:^LINE PLOT? 660 001001 5171 HD3 661 001002 4432 ASK 662 001003 3663 DCA I PTPLT /=0 FOR LINE PLOT;=1 FOR POINT 663 001004 4427 CLSTRT, CRLFD 664 001005 4433 CALL PENUP 665 001006 5250 JMP ORGN /START PEN AT ORIGIN OF DATA 666 001007 4435 INSTRK, CALL DISMOV /BEGIN INTERROGATION 667 001010 6031 KSF 668 001011 5207 JMP .-2 /MUST REFRESH DISPLAY 669 001012 6036 KRB 670 001013 6046 TLS 671 001014 1256 TAD YES /LEGAL CHARACTERS ARE 672 001015 7450 SNA /X,Y,O,M, OR G 673 001016 5244 JMP YMAX /WAS Y, GO TO YMAX 674 001017 7001 IAC /WAS IT X? 675 001020 7450 SNA 676 001021 5240 JMP XMAX /YES, GO TO XMAX. 677 001022 1260 TAD MGEE /WAS IT G? 678 001023 7450 SNA 679 001024 5665 JMP I PLTXIT /YES, EXIT. 680 001025 1261 TAD MEM /WAS IT M? 681 001026 7440 SZA 682 001027 5232 JMP .+3 /NO 683 001030 4664 CALL MARKR /YES, MARK COORDINATE AXES. 684 001031 5204 JMP CLSTRT 685 001032 1262 TAD MOH /WAS IT O? 686 001033 7650 SNA CLA 687 001034 5250 JMP ORGN /YES, GO TO DATA MINIMA. 688 001035 1255 TAD QUES /NO, FOUND INVALID CHARACTER 689 001036 4426 CALL OUT 690 001037 5207 JMP INSTRK 691 692 001040 1072 XMAX, TAD XLIM 693 001041 1074 TAD XRNG 694 001042 3101 DCA XDIS 695 001043 5207 JMP INSTRK 696 697 001044 1073 YMAX, TAD YLIM 698 001045 1075 TAD YRNG 699 001046 3100 DCA YDIS 700 001047 5207 JMP INSTRK 701 702 001050 1072 ORGN, TAD XLIM 703 001051 3101 DCA XDIS 704 001052 1073 TAD YLIM 705 001053 3100 DCA YDIS 706 001054 5207 JMP INSTRK 707 708 001055 0277 QUES, 277 /? 709 001056 7447 YES, -331 /-Y 710 001057 0013 NO, 331-316 /Y-N 711 001060 0021 MGEE, 330-307 /X-G 712 001061 7772 MEM, 307-315 /G-M 713 001062 7776 MOH, 315-317 /M-O 714 001063 1363 PTPLT, PNTPLT 715 001064 0631 MARKR, MARKER 716 001065 1335 PLTXIT, PLTINT 717 718 /SUBR. ACCEPTS ONLY 'Y' OR 'N' FROM 719 001066 0000 ASKER, 0 /ASR. GIVES '?' IF NOT. SETS AC=1 720 001067 4424 RDTTY /FOR 'N' ANSWER, AC=0 FOR 'Y' 721 001070 1256 TAD YES 722 001071 7450 SNA 723 001072 5666 JMP I ASKER /=0 FOR YES 724 001073 1257 TAD NO 725 001074 7640 SZA CLA 726 001075 5300 JMP .+3 727 001076 7001 IAC /=1 FOR NO 728 001077 5666 JMP I ASKER 729 001100 1255 TAD QUES 730 001101 4426 CALL OUT 731 001102 5267 JMP ASKER+1 732 733 001103 0000 STALL, 0 734 001104 7300 CLA CLL 735 001105 1321 TAD SET 736 001106 7650 SNA CLA /WANT FAST CLOCK? 737 001107 1324 TAD K100 /NO SET FOR 1KC 738 001110 1323 TAD K5400 /IF SKIPPED SET FOR 10KC 739 001111 3317 DCA CCLDR 740 001112 7325 SET3 741 001113 4437 CALL ADCON /GET VARIABLE COUNT FROM CHAN 3 742 001114 1322 TAD K7000 743 001115 7130 STL RAR /RANGE OF 7000 TO 7777 744 001116 4464 CALL CLKSET /INSERT DELAY TIME 745 001117 0000 CCLDR, 0 746 001120 5703 JMP I STALL 747 001121 0000 SET, 0 748 001122 7000 K7000, 7000 749 001123 5401 K5400, 5401 750 001124 7700 K100, -100 751 752 001125 0000 ADCONV, 0 753 001126 6531 ADLM /LOAD MUX 754 001127 6532 ADST /START CONV 755 001130 6534 ADSK 756 001131 5330 JMP .-1 757 001132 6533 ADRB /READ RESULT 758 001133 5725 JMP I ADCONV 759 760 001134 0000 RESET, 0 /RESET DISPLAY COORD'S 761 001135 7200 CLA 762 001136 6055 DIXY 763 001137 1100 TAD YDIS 764 001140 6054 DILY 765 001141 7200 CLA 766 001142 1101 TAD XDIS 767 001143 6053 DILX 768 001144 7300 CLA CLL 769 001145 5734 JMP I RESET 770 771 /THESE TWO SUBR'S CAN OPEN AND CLOSE A RELAY 772 /USING RELAY DRIVER TIED TO CHANNEL SELECT BIT. 773 001146 0000 UPPEN, 0 774 001147 4423 CALL HOLD 775 001150 6056 DILE 776 001151 4423 CALL HOLD 777 001152 5746 JMP I UPPEN 778 779 001153 0000 DNPEN, 0 780 001154 4423 CALL HOLD 781 001155 7305 SET2 782 001156 6056 DILE 783 001157 4423 CALL HOLD 784 001160 5753 JMP I DNPEN 785 786 001161 0007 HNDRD, 7;3100;0 001162 3100 001163 0000 787 788 *1200 789 001200 0000 LEADER, 0 /OUTPUT 10 INCHES OF LDR-TRLR. 790 001201 4427 CRLFD 791 001202 1211 TAD LNUM 792 001203 3125 DCA PCTR 793 001204 1212 TAD C200 794 001205 4426 CALL OUT 795 001206 2125 ISZ PCTR 796 001207 5204 JMP .-3 797 001210 5600 JMP I LEADER 798 001211 7634 LNUM, -144 799 001212 0200 C200, 200 800 801 001213 0000 XSETUP, 0 802 001214 7240 STA /FOLLOWING ROUTINE COMPUTES 803 001215 1070 TAD NPTS /X DISPLAY INCREMENT SCALED 804 001216 4420 FLOAT /TO THE NO. OF PTS., NPTS. 805 001217 4407 ENTR 806 001220 6161 FPUT XSCLFC 807 001221 5074 FGET XRNG 808 001222 0014 FLOT 809 001223 4161 FDIV XSCLFC /LEAVES X UNITS/PT IN FAC 810 001224 6161 FPUT XSCLFC /AND XSCLFC. 811 001225 0000 FEXT 812 001226 1044 TAD EW 813 001227 7740 SZA SMA CLA /WAS FAC<1? 814 001230 5240 JMP GTZR /NO 815 001231 3102 DCA XNC /YES, CLEAR INTEGER PART 816 001232 1045 TAD HW /ASSUMES FACTOR IS ALWAYS 817 001233 7104 CLL RAL /0.25 OR GREATER;RAL FOR SIGN BIT 818 001234 2044 ISZ EW /WAS C(44)=-1? 819 001235 7410 SKP /NO, WAS 0 820 001236 7110 CLL RAR /YES, DIVIDE BY 2 821 001237 5243 JMP .+4 822 001240 4421 GTZR, FIXT 823 001241 3102 DCA XNC 824 001242 1046 TAD LW 825 001243 3103 DCA XNC+1 826 001244 5613 JMP I XSETUP 827 001245 4307 ISDIG, JMS DATYP 828 001246 4431 HEDIT2 /PTS. TO SKIP: 829 001247 4422 GETNO 830 001250 4421 FIXT 831 001251 7040 CMA /KEEP AS ONE'S COMP. 832 001252 3125 DCA PCTR 833 001253 4430 HEDIT1 /Y RANGE AND MIN.: 834 001254 5307 DIHD1 835 001255 4422 GETNO 836 001256 4324 JMS YSVAL 837 001257 4407 ENTR 838 001260 0011 READ /READ MINIMUM Y 839 001261 6156 FPUT YMIN 840 001262 0000 FEXT 841 001263 4436 CALL IOASK /LOW SPEED I/O? 842 001264 6014 RFC 843 001265 4425 INITAR 844 001266 4407 XYSCAL, ENTR /READ A Y VALUE 845 001267 0011 READ 846 001270 2156 FSUB YMIN 847 001271 3164 FMPY YSCLFC 848 001272 1117 FADD HALF 849 001273 0000 FEXT 850 001274 4421 FIXT 851 001275 6211 CDF 10 852 001276 3411 DCA I YIND 853 001277 6201 CDF 0 854 001300 2125 ISZ PCTR /KEEPING THIS POINT? 855 001301 5265 JMP XYSCAL-1 /NO, RE-INIT. TO IGNORE PTS. 856 001302 7240 STA /AFTER FIRST SKIP, ALWAYS SKIP 857 001303 3125 DCA PCTR 858 001304 2126 ISZ CNTR 859 001305 5266 JMP XYSCAL 860 001306 5466 DISPLAY /EXIT FOR DISPLAY 861 862 001307 0000 DATYP, 0 863 001310 4430 HEDIT1 864 001311 5153 HD2 /NO. PTS= 865 001312 4422 GETNO 866 001313 4421 FIXT 867 001314 7041 CIA 868 001315 1077 TAD OFFSET 869 001316 7710 SPA CLA /LESS THAN ARRAY SIZE? 870 001317 5310 JMP DATYP+1 /NO, TRY AGAIN 871 001320 1045 TAD HW 872 001321 3070 DCA NPTS 873 001322 4465 CALL XSET /SET X DISPLAY INCREMENT 874 001323 5707 JMP I DATYP 875 876 001324 0000 YSVAL, 0 877 001325 4407 ENTR 878 001326 6164 FPUT YSCLFC /DATA RANGE IN FAC ON ENTRY 879 001327 5075 FGET YRNG /FIND YRNG/D.R.=YSCLFC 880 001330 0014 FLOT 881 001331 4164 FDIV YSCLFC / AND LEAVE FACTOR IN FAC 882 001332 6164 FPUT YSCLFC 883 001333 0000 FEXT 884 001334 5724 JMP I YSVAL 885 886 001335 4425 PLTINT, INITAR /INCREMENTAL X-Y ANALOG PLOTTING ROUTINE 887 001336 4433 CALL PENUP /RAISE PEN 888 001337 4465 CALL XSET 889 001340 7001 IAC /SET SWITCH FOR 1 ST PT ONLY 890 001341 3127 DCA LNCTR 891 001342 6211 PLTLOP, CDF 10 /SET UP Y VALUE 892 001343 1411 TAD I YIND 893 001344 6201 CDF 0 894 001345 1073 TAD YLIM 895 001346 3100 DCA YDIS 896 001347 1363 TAD PNTPLT /=0 FOR LINE PLOT; =1 FOR POINT 897 001350 1127 TAD LNCTR 898 001351 4764 CALL PLTMOV /MOVE PEN 899 001352 3127 DCA LNCTR /CLEAR 1 ST PT SWITCH 900 001353 4467 CALL ADINX /INCR. X DISPLAY SUM 901 001354 2126 ISZ CNTR /MORE PTS? 902 001355 5342 JMP PLTLOP /YES 903 001356 4433 CALL PENUP /LIFT PEN + EXIT 904 001357 4430 HEDIT1 /DONE. IS PLOTTER OFF? 905 001360 5217 HD6 906 001361 4432 ASK /IGNORE RESPONSE 907 001362 5466 DISPLAY 908 001363 0000 PNTPLT, 0 909 001364 1600 PLTMOV, PLTINC 910 911 001365 4425 YFLIP, INITAR /INVERT Y AXIS 912 001366 6211 CDF 10 /Y(I)=YRNG-Y(I) 913 001367 1411 FLY, TAD I YIND 914 001370 7041 CIA 915 001371 1075 TAD YRNG 916 001372 3412 DCA I ZIND 917 001373 2126 ISZ CNTR 918 001374 5367 JMP FLY 919 001375 5466 DISPLAY 920 921 922 923 924 *1400 925 /SUBR. PRINTS DEC. NOS. IN 10 COLUMNS 926 001400 4436 FPOUT, CALL IOASK /OF UP TO 4 DIGIT INTEGERS. 927 001401 4626 CALL LEDER 928 001402 4425 INITAR 929 001403 7327 SET6 930 001404 3057 DCA DP /NO. OF DIGITS TO OUTPUT 931 001405 2056 ISZ EFLG /SET F FORMAT. 932 001406 1225 NULINE, TAD NLIN 933 001407 3130 DCA MCTR 934 001410 6211 LOOP6, CDF 10 935 001411 1411 TAD I YIND 936 001412 4420 FLOAT 937 001413 4463 FOUTCM 938 001414 2126 ISZ CNTR 939 001415 7410 SKP 940 001416 5223 JMP DNE 941 001417 2130 ISZ MCTR 942 001420 5210 JMP LOOP6 943 001421 4427 CRLFD 944 001422 5206 JMP NULINE 945 001423 4626 DNE, CALL LEDER 946 001424 5466 DISPLAY 947 001425 7766 NLIN, -12 948 001426 1200 LEDER, LEADER 949 950 /CHECK WHICH I/O DEVICES TO USE 951 001427 0000 ASKIO, 0 952 001430 4430 HEDIT1 953 001431 1440 HDIO 954 001432 4432 ASK 955 001433 7110 CLL RAR /KEEP ANSWER IN LINK 956 001434 4427 CRLFD /MUST HAVE LOW I/O FOR CR-LF 957 001435 7004 RAL /NOW SET UP SWITCH 958 001436 3054 DCA IOSWT /=1,HIGH;=0,LOW 959 001437 5627 JMP I ASKIO 960 001440 2424 HDIO, TEXT \TTY I/O?\ 001441 3140 001442 1157 001443 1777 001444 0000 961 962 /SCAN DATA FOR MIN AND MAX: 963 001445 0000 SCANY, 0 964 001446 4425 INITAR 965 001447 6211 CDF 10 966 001450 7132 STL RTR 967 001451 3135 DCA MIN 968 001452 3136 DCA MAX 969 001453 1411 LOOP4, TAD I YIND /FIND YMAX AND YMIN IN DATA 970 001454 3131 DCA TEMP 971 001455 1131 TAD TEMP /SUB Y FROM MIN 972 001456 7041 CIA 973 001457 1135 TAD MIN 974 001460 7700 SMA CLA /MINY? 980 001466 5274 JMP INCR 981 001467 1131 TAD TEMP /NO, SET MAX=Y 982 001470 3136 DCA MAX 983 001471 5274 JMP INCR 984 001472 1131 LOW, TAD TEMP 985 001473 3135 DCA MIN 986 001474 2126 INCR, ISZ CNTR 987 001475 5253 JMP LOOP4 988 001476 6201 CDF 0 989 001477 5645 JMP I SCANY 990 991 001500 4245 SCALY, JMS SCANY /GET YMIN & MAX 992 001501 1135 TAD MIN 993 001502 7041 CIA 994 001503 1136 TAD MAX 995 001504 4420 FLOAT 996 001505 4751 CALL YSCVAL 997 001506 4430 HEDIT1 /^MIN= 998 001507 5206 HD5 999 001510 7327 SET6 1000 001511 3057 DCA DP 1001 001512 2056 ISZ EFLG 1002 001513 1135 TAD MIN 1003 001514 4420 FLOAT 1004 001515 4406 FLOUT /OUTPUT 4 DIGIT INTEGER 1005 001516 4431 HEDIT2 /MAX= 1006 001517 1136 TAD MAX 1007 001520 4420 FLOAT 1008 001521 4406 FLOUT 1009 001522 4407 ENTR 1010 001523 0015 HEDIT /MPY= 1011 001524 5164 FGET YSCLFC 1012 001525 0000 FEXT 1013 001526 2057 ISZ DP /SET FIELD TO 7 1014 001527 7325 SET3 /FOR 3 DEC. PLACES 1015 001530 4406 FLOUT 1016 001531 4425 INITAR 1017 001532 1135 SKL, TAD MIN /SCALE DATA AFTER SUB'G MIN Y. 1018 001533 7041 CIA 1019 001534 6211 CDF 10 1020 001535 1411 TAD I YIND 1021 001536 4420 FLOAT 1022 001537 4407 ENTR 1023 001540 3164 FMPY YSCLFC 1024 001541 1117 FADD HALF /CORRECT FOR TRUNCATION. 1025 001542 0000 FEXT 1026 001543 4421 FIXT 1027 001544 6211 CDF 10 1028 001545 3412 DCA I ZIND 1029 001546 2126 ISZ CNTR 1030 001547 5332 JMP SKL 1031 001550 5466 DISPLAY 1032 001551 1324 YSCVAL, YSVAL 1033 1034 /LOADS CURRENT XDIS AND READYS NEXT. 1035 001552 0000 ADDMX, 0 1036 001553 7300 CLA CLL 1037 001554 1105 TAD TXSM+1 /GET LOW ORDER 1038 001555 7104 CLL RAL /PUT BIT 0 IN 11 FOR ROUNDOFF 1039 001556 7204 CLA RAL 1040 001557 1104 TAD TXSM /GET HIGH ORDER 1041 001560 1072 TAD XLIM 1042 001561 3101 DCA XDIS /IS CURRENT X DISPLAY VALUE. 1043 001562 7100 CLL 1044 001563 1105 TAD TXSM+1 /FOR NEXT TIME: GET FRACTIONS 1045 001564 1103 TAD XNC+1 1046 001565 3105 DCA TXSM+1 1047 001566 7004 RAL /PUT OVERFLOW IN BIT 11 1048 001567 1104 TAD TXSM /GET INTEGER PARTS 1049 001570 1102 TAD XNC 1050 001571 3104 DCA TXSM 1051 001572 5752 JMP I ADDMX 1052 1053 1054 001573 0000 HSR, 0 1055 001574 6011 RSF 1056 001575 5374 JMP .-1 1057 001576 6016 RRB RFC 1058 001577 5773 JMP I HSR 1059 *1600 1060 /ENTER WITH CONTROL VALUE IN AC: 1061 /NEG=SCOPE,0=INCREMENT, & POS=FIRST 1062 /POINT (FOR PLOTTING ONLY, NOT SCOPE) 1063 /OR MAKE A POINT PLOT. 1064 1065 001600 0000 PLTINC, 0 1066 001601 7500 SMA /IS AC NEG? 1067 001602 5205 JMP .+3 /NO 1068 001603 4435 CALL DISMOV /YES, USE FAST JUMP 1069 001604 5314 JMP PLEXT 1070 001605 7650 SNA CLA /WAS AC>0? 1071 001606 5215 JMP GSCAN /NO, USE INCREMENTER 1072 001607 4433 CALL PENUP /YES; GO TO COORD'S AND WAIT 1073 001610 4435 CALL DISMOV 1074 001611 4433 CALL PENUP 1075 001612 4433 CALL PENUP 1076 001613 4434 CALL PENDN /THEN PUT PEN DOWN 1077 001614 5314 JMP PLEXT 1078 1079 001615 1322 GSCAN, TAD OLDX /IS OLD X 1080 001616 7041 CIA 1081 001617 1101 TAD XDIS 1082 001620 3125 DCA PCTR /IS DELTA X 1083 001621 1323 TAD OLDY /IS OLD Y 1084 001622 7041 CIA 1085 001623 1100 TAD YDIS 1086 001624 3132 DCA TEMP1 /IS DELTA Y 1087 001625 1125 TAD PCTR 1088 001626 7510 SPA 1089 001627 7041 CIA 1090 001630 3130 DCA MCTR /IS ABS. VALUE OF DX 1091 001631 1132 TAD TEMP1 1092 001632 7510 SPA 1093 001633 7041 CIA /NOW HAVE ABS(DY) 1094 001634 1130 TAD MCTR /ADD ABS(DX) 1095 001635 3130 DCA MCTR /ABS(DX)+ABS(DY)=# OF MOVES=MCTR 1096 001636 1130 TAD MCTR 1097 001637 7450 SNA /IS MCTR>0? 1098 001640 5314 JMP PLEXT /NO, NO MOVES TO MAKE, EXIT. 1099 001641 7041 CIA 1100 001642 3127 DCA LNCTR 1101 001643 4407 ENTR 1102 001644 5130 FGET MCTR /# MOVES 1103 001645 0014 FLOT 1104 001646 6150 FPUT TEMFP 1105 001647 5322 FGET OLDX 1106 001650 0014 FLOT 1107 001651 6153 FPUT XMIN 1108 001652 5323 FGET OLDY 1109 001653 0014 FLOT 1110 001654 6156 FPUT YMIN 1111 001655 5125 FGET PCTR /DELTA X 1112 001656 0014 FLOT 1113 001657 4150 FDIV TEMFP 1114 001660 6161 FPUT XSCLFC /X UNITS/MOVE 1115 001661 5132 FGET TEMP1 /DELTA Y 1116 001662 0014 FLOT 1117 001663 4150 FDIV TEMFP 1118 001664 6164 FPUT YSCLFC /Y UNITS/MOVE 1119 001665 0000 FEXT 1120 001666 2721 ISZ I CSET /USE FAST CLOCK CYCLE 1121 001667 4407 SCANIT, ENTR 1122 001670 5153 FGET XMIN 1123 001671 1161 FADD XSCLFC 1124 001672 6153 FPUT XMIN 1125 001673 1117 FADD HALF 1126 001674 0000 FEXT 1127 001675 4421 FIXT /TRUNCATE XPOS TO NEAREST INTEGER 1128 001676 3101 DCA XDIS 1129 001677 4407 ENTR 1130 001700 5156 FGET YMIN 1131 001701 1164 FADD YSCLFC 1132 001702 6156 FPUT YMIN 1133 001703 1117 FADD HALF 1134 001704 0000 FEXT 1135 001705 4421 FIXT /DO SAME FOR Y. 1136 001706 3100 DCA YDIS 1137 001707 4435 CALL DISMOV /MOVE PEN TO NEW COORD'S 1138 001710 4423 CALL HOLD /WAIT FOR FAST CLOCK CYCLE 1139 001711 2127 ISZ LNCTR /MORE MOVES? 1140 001712 5267 JMP SCANIT /YES. 1141 001713 3721 DCA I CSET /RESTORE FOR SLOW CLOCK 1142 001714 1101 PLEXT, TAD XDIS 1143 001715 3322 DCA OLDX 1144 001716 1100 TAD YDIS 1145 001717 3323 DCA OLDY 1146 001720 5600 JMP I PLTINC 1147 001721 1121 CSET, SET 1148 001722 0000 OLDX, 0 1149 001723 0000 OLDY, 0 1150 1151 /ENTER HEDER1 WITH MESSAGE ADDRESS IN 1152 /LOCATION FOLLOWING THE JMS (HEDER1). 1153 /ENTER HEDER2 TO CONTINUE ON WITH A 1154 /BROKEN STRING (E.G., SEE 'HD1' BELOW) 1155 /AND DO NOT SUPPLY ADDRESS AFTER THE JMS. 1156 001724 0000 HEDER1, 0 /THESE SUBR'S OUTPUT PACKED ASCII 1157 001725 7301 CLA CLL IAC /AS GENERATED BY MACRO-8 ASSEMBLER. 1158 001726 1324 TAD HEDER1 /A SINGLE CODE,UP ARROW,=CR+LF 1159 001727 3334 DCA HEDER2 /ALWAYS RETURN THRU HEDER2 1160 001730 7240 STA 1161 001731 1724 TAD I HEDER1 /GET MESSAGE ADDRESS-1 1162 001732 3324 DCA HEDER1 /USE HEDER1 AS TEMP REG 1163 001733 7410 SKP 1164 001734 0000 HEDER2, 0 /ENTER HERE IF NO ADDRESS GIVEN 1165 001735 4427 CRLFD /BEGIN ALL MESSAGES WITH THIS 1166 001736 2324 NPR, ISZ HEDER1 1167 001737 1724 TAD I HEDER1 1168 001740 7012 RTR 1169 001741 7012 RTR 1170 001742 7012 RTR /SWAP HALVES 1171 001743 4347 JMS TYPCH /SET UP & TYPE ORIGINAL LEFT HALF 1172 001744 1724 TAD I HEDER1 1173 001745 4347 JMS TYPCH / " RIGHT HALF 1174 001746 5336 JMP NPR 1175 1176 001747 0000 TYPCH, 0 1177 001750 0123 AND RM77 /DELETE CURRENT LEFT HALF 1178 001751 7450 SNA /ZERO IN EITHER HALF SIGNIFIES 1179 001752 5734 JMP I HEDER2 /END OF STRING; RETURN 1180 001753 1370 TAD M36 1181 001754 7510 SPA /CODE 300 SERIES? 1182 001755 5363 JMP PRTT /YES 1183 001756 7440 SZA /SPECIAL CODE? 1184 001757 5362 JMP .+3 1185 001760 4427 CRLFD /YES, CODE 36: CARR.RET.+LN.FEED 1186 001761 5747 JMP I TYPCH 1187 001762 1367 TAD P236 1188 001763 1366 PRTT, TAD P336 1189 001764 4426 CALL OUT 1190 001765 5747 JMP I TYPCH 1191 001766 0336 P336, 336 1192 001767 7700 P236, 236-336 1193 001770 7742 M36, -36 1194 1195 *2000 1196 002000 6036 SERVIS, KRB /DISPLAY INTERRUPT SERVICE ROUTINE 1197 002001 6046 TLS /PRINT LAST CHAR. 1198 002002 6041 TSF 1199 002003 5202 JMP .-1 1200 002004 3131 DCA TEMP 1201 002005 1131 TAD TEMP 1202 002006 1377 TAD (-203 /TEST FOR ^C 1203 002007 7650 SNA CLA 1204 002010 5677 JMP I PS8XJ 1205 002011 1131 TAD TEMP 1206 002012 1271 TAD M300 1207 002013 7550 SPA SNA /WAS IT A LETTER? 1208 002014 5256 JMP NMCHK /NO, MAY BE NEW BLOCK # 1209 002015 7106 CLL RTL 1210 002016 7006 RTL 1211 002017 7006 RTL 1212 002020 3131 DCA TEMP 1213 002021 4424 RDTTY /GET NEXT CHAR 1214 002022 1271 TAD M300 1215 002023 7550 SPA SNA /LETTER? 1216 002024 5240 JMP INVAL /NO, ERROR 1217 002025 1131 TAD TEMP 1218 002026 3131 DCA TEMP /KEEP 6-BIT PR AS 2'S COMP. 1219 002027 1276 TAD CHTAB /SET UP SEARCH TABLE 1220 002030 3013 DCA AUTO 1221 002031 4424 MRRED, RDTTY /GET MORE INPUT 1222 002032 1273 TAD M272 1223 002033 7450 SNA /WAS IT A COLON? 1224 002034 5245 JMP CHLOP+1 /YES, LOOKUP JUMP ADDR. 1225 002035 1274 TAD RUBIT 1226 002036 7640 SZA CLA /RUBOUT? 1227 002037 5231 JMP MRRED /NO, GET MORE 1228 002040 7200 INVAL, CLA 1229 002041 1270 TAD ERRQ /OUTPUT '?' 1230 002042 4426 CALL OUT 1231 002043 5466 DISPLAY /AND EXIT TO DISPLAY 1232 002044 2013 CHLOP, ISZ AUTO 1233 002045 1413 TAD I AUTO /GET 6 BIT PAIR 1234 002046 7450 SNA /END OF TABLE? 1235 002047 5240 JMP INVAL /YES, INVALID COMMAND 1236 002050 1131 TAD TEMP 1237 002051 7640 SZA CLA /GET A MATCH? 1238 002052 5244 JMP CHLOP /NO, TRY NEXT ENTRY 1239 002053 1413 TAD I AUTO /YES, GET TABLE POINTER 1240 002054 3131 DCA TEMP 1241 002055 5531 JMP I TEMP /AND GO THERE 1242 1243 /SET UP BLOCK PARAMETER. 0=BUFFER 1, 1=BUFFER 2 1244 002056 1272 NMCHK, TAD M261 /AND 2= BOTH BUFFERS W/OFFSETS FOR 2 1245 002057 7510 SPA /<261? 1246 002060 5240 JMP INVAL /YES 1247 002061 3140 DCA BLOCK /KEEP IT TEMPORARILY 1248 002062 7346 SETM3 1249 002063 1140 TAD BLOCK 1250 002064 7710 SPA CLA />2? 1251 002065 5675 JMP I CDISPL /NO, EXIT TO DISPLAY W/O CR-LF 1252 002066 3140 DCA BLOCK /YES, CLR BLOCK 1253 002067 5240 JMP INVAL /PRINT '?' 1254 002070 0277 ERRQ, 277 1255 002071 7500 M300, -300 1256 002072 0017 M261, 300-261 1257 002073 7506 M272, -272 1258 002074 7673 RUBIT, 272-377 1259 002075 0227 CDISPL, SCPINT-1 1260 002076 2077 CHTAB, DCTAB-1 1261 002077 3745 PS8XJ, PS8X 1262 1263 1264 002100 5454 DCTAB, -2324 /ST-RIP 1265 002101 3256 STRIPR 1266 002102 5463 -2315 /SM-OOTH 1267 002103 3025 SMOT11 1268 002104 6662 -1116 /IN-TEGRATE 1269 002105 3400 INTEG 1270 002106 6277 -1501 /MA-SS STORAGE 1271 002107 2223 MASS 1272 002110 5453 -2325 /SU-BTRACT CDA FROM OTHER 1273 002111 2213 SUBTRT 1274 002112 6053 -1725 /OU-TPUT 1275 002113 1400 FPOUT 1276 002114 5764 -2014 /PL-OT 1277 002115 1000 CALBRT 1278 002116 5475 -2303 /SC-ALE 1279 002117 1500 SCALY 1280 002120 5451 -2327 /SW-AP 1281 002121 3000 SWAPBL 1282 002122 5573 -2205 /RE-START 1283 002123 0203 START 1284 002124 5777 -2001 /PA-PER TAPE INPUT 1285 002125 1245 ISDIG 1286 002126 7652 -0126 /AV-ERAGER INPUT 1287 002127 4000 ANINPT 1288 002130 5367 -2411 /TI-ME CALIBRATION 1289 002131 4153 CALSET 1290 002132 5457 -2321 /SQ-UEEZE DATA DENSITY 1291 002133 3716 SQEEZE 1292 002134 7674 -0104 /AD-D OTHER TO CDA 1293 002135 3132 ADDTWO 1294 002136 7373 -0405 /DE-RIVATIVE FORMATION 1295 002137 3632 DERIV 1296 002140 4767 -3011 /XI-NVERT 1297 002141 4520 XFLIP 1298 002142 4667 -3111 /YI-NVERT 1299 002143 1365 YFLIP 1300 002144 7461 -0317 /CO-PY CDA INTO OTHER 1301 002145 2204 COPY 1302 002146 7453 -0325 /CU-RSORS 1303 002147 3142 CURSR 1304 002150 6367 -1411 /LI-ST CURSORS 1305 002151 4134 CURLS 1306 002152 6253 -1525 /MU-LTIPLY (SCALE) CDA 1307 002153 4544 MULP 1308 002154 5773 -2005 /PE-AK REPORT ON CDA 1309 002155 4334 REPRT 1310 002156 6261 MZAP, -1517 /MO-DIFIER ROUTINE 1311 002157 0400 STRTIT 1312 002160 0000 0 /END TABLE 1313 1314 1315 002177 7575 *2200 1316 1317 002200 0000 INTFLT, 0 /INTERPERTIVE ENTRY TO FLOAT SUB. 1318 002201 1044 TAD EW 1319 002202 4420 FLOAT 1320 002203 5600 JMP I INTFLT 1321 1322 002204 4612 COPY, CALL SPCIN /COPY DISP. CHAN INTO OTHER 1323 002205 1411 TAD I YIND 1324 002206 3413 DCA I AUTO 1325 002207 2126 ISZ CNTR 1326 002210 5205 JMP .-3 1327 002211 5466 DISPLAY 1328 002212 3014 SPCIN, SPINIT 1329 1330 002213 4612 SUBTRT, CALL SPCIN /SUBTRACT CDA FROM OTHER BUFFER 1331 002214 1411 TAD I YIND /GET CDA 1332 002215 7041 CIA 1333 002216 1413 TAD I AUTO /SUBTRACT FROM OTHER 1334 002217 3412 DCA I ZIND /RESTORE IN CDA 1335 002220 2126 ISZ CNTR /MORE POINTS? 1336 002221 5214 JMP SUBTRT+1 /YES 1337 002222 5466 DISPLAY /EXIT TO DISPLAY 1338 002223 4336 MASS, JMS M76TF1 /MOVE 7600 OF PS8 TO FIELD 1 1339 002224 6201 CDF 0 1340 002225 3777 DCA I (7746 /0 JOB CONTROL WORD. 1341 002226 6212 CIF 10 1342 002227 4776 JMS I (7700 /CALL COMMAND DECODER. 1343 002230 0005 5 1344 002231 0000 0 1345 002232 0000 0 1346 1347 002233 6211 CDF 10 1348 002234 1775 TAD I (7620 /GET INPUT BLOCK #. 1349 002235 3264 DCA MASSA3 1350 002236 1774 TAD I (7617 /TEST IF INPUT. 1351 002237 7650 SNA CLA 1352 002240 5773 JMP MASS1 /NO 1353 002241 6201 CDF 0 /YES 1354 002242 4336 JMS M76TF1 /MOVE 7600 0F PS8 TO FIELD 0. 1355 002243 4772 JMS DATYP /ASK NUMBER OF POINTS. 1356 002244 4431 HEDIT2 /# OF POINTS TO SKIP. 1357 002245 4422 GETNO 1358 002246 4421 FIXT 1359 002247 3125 DCA PCTR 1360 1361 002250 3263 DCA MASSA2 1362 002251 1140 TAD BLOCK /SET LOCATION TO READ INTO. 1363 002252 7640 SZA CLA 1364 002253 1077 TAD OFFSET 1365 002254 1076 TAD YONE 1366 002255 7001 IAC 1367 002256 3263 DCA MASSA2 1368 002257 1070 TAD NPTS /NUMBER OF POINTS TO READ. 1369 002260 3131 DCA TEMP 1370 1371 002261 4771 MASS3, JMS I (7607 /CALL SYSTEM DEVICE HANDLER. 1372 002262 0210 MASSA1, 0210 /READ 2 RECORDS INTO FIELD 0. 1373 002263 0000 MASSA2, 0 /BUFFER ADD. 1374 002264 0000 MASSA3, 0 /BLOCK ADD. 1375 002265 5770 JMP ERRX 1376 002266 1125 TAD PCTR /TEST TO SKIP DATA. 1377 002267 7450 SNA 1378 002270 5322 JMP MASS4 1379 002271 1367 TAD (-400 /TEST FOR MORE THAN A BLOCK 1380 002272 7510 SPA /TO SKIP. 1381 002273 5277 JMP MASS2 /NO, SHIFT WORDS. 1382 002274 3125 MASS6, DCA PCTR /YES 1383 002275 2264 ISZ MASSA3 /READ NEXT BLOCK. 1384 002276 5261 JMP MASS3 1385 1386 002277 3133 MASS2, DCA TEM2 /NUMBER OF WORDS TO MOVE. 1387 002300 7040 CMA 1388 002301 1263 TAD MASSA2 1389 002302 3013 DCA AUTO /ADD. TO MOVE TO. 1390 002303 1013 TAD AUTO 1391 002304 1125 TAD PCTR 1392 002305 3014 DCA AUTO2 /ADD. TO MOVE FROM. 1393 002306 1133 TAD TEM2 /DEPLETE # OF PTS. TO READ. 1394 002307 1131 TAD TEMP 1395 002310 3131 DCA TEMP 1396 1397 002311 6211 CDF 10 1398 002312 1414 MASS5, TAD I AUTO2 /SKIP POINTS. 1399 002313 3413 DCA I AUTO 1400 002314 2263 ISZ MASSA2 /BUMP ADDRESS TO STORE NEXT BLOCK. 1401 002315 2133 ISZ TEM2 1402 002316 5312 JMP MASS5 1403 002317 6201 CDF 0 1404 002320 3125 DCA PCTR /0 SKIP COUNT. 1405 002321 5326 JMP MASS20 /TEST IF DONE. 1406 002322 1263 MASS4, TAD MASSA2 /SET TO NEW BUF.START. 1407 002323 1366 TAD (400 1408 002324 3263 DCA MASSA2 1409 002325 1367 TAD (-400 /DEPLETE # OF PTS. TO READ. 1410 002326 1131 MASS20, TAD TEMP 1411 002327 7550 SPA SNA /TEST IF DONE. 1412 002330 5334 JMP MASS7 1413 002331 3131 DCA TEMP /NO,READ NEXT BLOCK. 1414 002332 2264 ISZ MASSA3 1415 002333 5261 JMP MASS3 1416 002334 7200 MASS7, CLA 1417 002335 5466 DISPLAY 1418 002336 0000 M76TF1, 0 /MOVE 7600 OF PS8 TO FIELD 1. 1419 002337 7200 CLA 1420 002340 1354 TAD M76LOK 1421 002341 7040 CMA 1422 002342 3354 DCA M76LOK 1423 002343 1365 TAD (7600 1424 002344 3132 DCA TEMP1 1425 002345 1364 TAD (PS7600 1426 002346 3133 DCA TEM2 1427 002347 1365 TAD (-200 1428 002350 3131 DCA TEMP 1429 002351 6201 M76T1, CDF 0 1430 002352 5763 JMP 2400 1431 002353 5736 M76T2, JMP I M76TF1 1432 002354 0000 M76LOK, 0 1433 1434 002363 2400 *2400 002364 2600 002365 7600 002366 0400 002367 7400 002370 2535 002371 7607 002372 1307 002373 2417 002374 7617 002375 7620 002376 7700 002377 7746 1435 002400 1533 TAD I TEM2 1436 002401 3013 DCA AUTO 1437 002402 6211 CDF 10 1438 002403 1532 TAD I TEMP1 1439 002404 6201 CDF 0 1440 002405 3533 DCA I TEM2 1441 002406 1013 TAD AUTO 1442 002407 6211 CDF 10 1443 002410 3532 DCA I TEMP1 1444 002411 2132 ISZ TEMP1 1445 002412 2133 ISZ TEM2 1446 002413 2131 ISZ TEMP 1447 002414 5777 JMP M76T1 1448 002415 6201 CDF 0 1449 002416 5776 JMP M76T2 1450 002417 1775 MASS1, TAD I (7600 /TEST FOR OUTPUT COMMAND. 1451 002420 6201 CDF 0 1452 002421 7650 SNA CLA 1453 002422 5335 JMP ERRX 1454 002423 6201 CDF 0 1455 002424 1375 TAD (7600 /OUTPUT DATA. 1456 002425 3013 DCA AUTO 1457 002426 1374 TAD (MSFN-1 1458 002427 3014 DCA AUTO2 1459 002430 1373 TAD (-4 1460 002431 3131 DCA TEMP 1461 1462 002432 1372 TAD (MSFN 1463 002433 3246 DCA MASSA4 1464 002434 6211 MASS8, CDF 10 /MOVE FILE NAME TO FIELD 0. 1465 002435 1413 TAD I AUTO 1466 002436 6201 CDF 0 1467 002437 3414 DCA I AUTO2 1468 002440 2131 ISZ TEMP 1469 002441 5234 JMP MASS8 1470 002442 1371 TAD (201 /MAX. SIZE OF FILE =8. 1471 002443 6212 CIF 10 1472 002444 4770 JMS I (7700 /CALL FILE CREATE. 1473 002445 0003 3 1474 002446 2531 MASSA4, MSFN /RETURN START BLOCK OF FILE. 1475 002447 0000 MASSA5, 0 /RETURN -LENGTH. 1476 002450 5335 JMP ERRX 1477 1478 002451 1140 TAD BLOCK /TEST FOR CHANNEL 2. 1479 002452 7640 SZA CLA 1480 002453 4767 JMS M76TF1 /MOVE 7600 OF PS8 TO FIELD 0. 1481 002454 1070 TAD NPTS /CAL. # OF 128 RECORDS TO WRITE. 1482 002455 0375 AND (7600 1483 002456 7110 CLL RAR 1484 002457 3300 DCA MASSA6 1485 002460 1070 TAD NPTS 1486 002461 0366 AND (177 1487 002462 7640 SZA CLA 1488 002463 1365 TAD (100 1489 002464 1300 TAD MASSA6 /SET UP ARG 1 OF WRITE. 1490 002465 1364 TAD (4010 1491 1492 002466 3300 DCA MASSA6 1493 002467 1140 TAD BLOCK /SET BUFFER START. 1494 002470 7640 SZA CLA 1495 002471 1077 TAD OFFSET 1496 002472 1076 TAD YONE 1497 002473 7001 IAC 1498 002474 3301 DCA MASSA7 1499 002475 1246 TAD MASSA4 1500 002476 3302 DCA MASSA8 /SET BLOCK ADD. 1501 002477 4763 JMS I (7607 /WRITE DATA TO SYSTEM DEVICE. 1502 002500 0000 MASSA6, 0 1503 002501 0000 MASSA7, 0 1504 002502 0000 MASSA8, 0 1505 002503 5335 JMP ERRX 1506 1507 002504 1140 TAD BLOCK /TEST TO 7600 TO FIELD 1. 1508 002505 7640 SZA CLA 1509 002506 4767 JMS M76TF1 1510 1511 002507 1300 TAD MASSA6 /FIND # OF 256 BLOCKS. 1512 002510 7112 CLL RTR 1513 002511 7012 RTR 1514 002512 7012 RTR 1515 002513 7010 RAR 1516 002514 0362 AND (17 1517 002515 7430 SZL 1518 002516 7001 IAC 1519 002517 3325 DCA MASSA9 1520 002520 6212 CIF 10 1521 002521 7001 IAC /CLOSE FILE ON SYS: DEVICE. 1522 002522 4770 JMS I (7700 1523 002523 0004 4 1524 002524 2531 MSFN /FILE NAME. 1525 002525 0000 MASSA9, 0 /#OF BLOCKS. 1526 002526 5335 JMP ERRX 1527 002527 4767 JMS M76TF1 /MOVE 7600 BACK TO FIELD 0. 1528 002530 5466 DISPLAY 1529 1530 002531 0000 MSFN, 0 1531 002532 0000 0 1532 002533 0000 0 1533 002534 0000 0 1534 1535 002535 1761 ERRX, TAD M76LOK /ERROR EXIT. 1536 002536 7640 SZA CLA 1537 002537 4767 JMS M76TF1 1538 002540 6212 CIF 10 1539 002541 4770 JMS I (7700 1540 002542 0007 7 1541 002543 0001 1 1542 1543 002544 0000 FLOATR, 0 /CONVERTS INTEGER IN AC TO F.P.#. 1544 002545 3045 DCA HW /AND LEAVES IT IN FAC. 1545 002546 1357 TAD P13 1546 002547 3044 DCA EW 1547 002550 3046 DCA LW 1548 002551 3041 DCA AC1 /CLEAR OVERFLOW WORD. 1549 002552 6201 CDF 0 1550 002553 4756 CALL FPNORM 1551 002554 7000 NOP /LEAVE ROOM FOR PAFFT AND DAFFT TO INSERT 1552 / A SWBA INSTRUCTION. 1553 002555 5744 JMP I FLOATR 1554 002556 7265 FPNORM, DNORM 1555 002557 0013 P13, 13 1556 1557 002561 2354 *2600 002562 0017 002563 7607 002564 4010 002565 0100 002566 0177 002567 2336 002570 7700 002571 0201 002572 2531 002573 7774 002574 2530 002575 7600 002576 2353 002577 2351 1558 1559 002600 0000 PS7600, 0 /PAGE FOR FIELD 1,7600. 1560 *3000 1561 003000 4214 SWAPBL, JMS SPINIT /SWAP THE TWO BUFFERS 1562 003001 1013 TAD AUTO 1563 003002 3010 DCA XIND 1564 003003 1410 SWLOOP, TAD I XIND 1565 003004 3131 DCA TEMP 1566 003005 1412 TAD I ZIND 1567 003006 3413 DCA I AUTO 1568 003007 1131 TAD TEMP 1569 003010 3411 DCA I YIND 1570 003011 2126 ISZ CNTR /MORE POINTS? 1571 003012 5203 JMP SWLOOP /YES 1572 003013 5466 DISPLAY /NO, EXIT 1573 1574 003014 0000 SPINIT, 0 /SPECIAL INIT. ROUTINE 1575 003015 4425 INITAR /CALL NORMAL INIT THEN SET 1576 003016 1140 TAD BLOCK /AUTO FOR OTHER ARRAY 1577 003017 7650 SNA CLA 1578 003020 1077 TAD OFFSET 1579 003021 1076 TAD YONE 1580 003022 3013 DCA AUTO 1581 003023 6211 CDF 10 /AND EXIT WITH DF=1 1582 003024 5614 JMP I SPINIT 1583 1584 /11 POINT MODIFIED PARABOLIC FILTER 1585 003025 4425 SMOT11, INITAR 1586 003026 1011 TAD YIND /YIND IS INDEX FOR Y(I-X) 1587 003027 1303 TAD PL13 /INDEX FOR Y(I+X) 1588 003030 3133 DCA TEM2 1589 003031 7040 CMA 1590 003032 1126 TAD CNTR 1591 003033 1303 TAD PL13 1592 003034 3126 DCA CNTR /CNTR=-NPTS+11 1593 003035 1306 NEWY, TAD MIN6 1594 003036 3131 DCA TEMP /SET COEF LOOP COUNTER 1595 003037 1307 TAD COTAG 1596 003040 3132 DCA TEMP1 /INDEX FOR COEF'S 1597 003041 3156 DCA YMIN 1598 003042 3157 DCA YMIN+1 1599 003043 3160 DCA YMIN+2 1600 003044 6211 LOOP9, CDF 10 /LOOP OVER 6 COEF'S 1601 003045 1411 TAD I YIND 1602 003046 1533 TAD I TEM2 1603 003047 4420 FLOAT /GET Y(I-X)+Y(I+X) 1604 003050 4407 ENTR 1605 003051 3532 FMPY I TEMP1 1606 003052 1156 FADD YMIN /FORM WEIGHTED SUM 1607 003053 6156 FPUT YMIN 1608 003054 1117 FADD HALF /FOR ROUND OFF AFTER LAST MULT. 1609 003055 0000 FEXT 1610 003056 7325 SET3 /INCR. COEF. INDEX BY 3 1611 003057 1132 TAD TEMP1 1612 003060 3132 DCA TEMP1 1613 003061 7040 CMA /DECR (I+X) 1614 003062 1133 TAD TEM2 1615 003063 3133 DCA TEM2 1616 003064 2131 ISZ TEMP /ANOTHER COEFF? 1617 003065 5244 JMP LOOP9 /YES 1618 003066 4421 FIXT /NO, FIX RESULT 1619 003067 6211 CDF 10 1620 003070 2133 ISZ TEM2 1621 003071 3533 DCA I TEM2 /STORE AS Y(I) 1622 003072 1011 TAD YIND /RESET (I-X) 1623 003073 1305 TAD MNN5 1624 003074 3011 DCA YIND 1625 003075 1133 TAD TEM2 /RESET (I+X) 1626 003076 1304 TAD P6 1627 003077 3133 DCA TEM2 1628 003100 2126 ISZ CNTR /MORE PTS? 1629 003101 5235 JMP NEWY /YES 1630 003102 5466 DISPLAY 1631 003103 0013 PL13, 13 1632 003104 0006 P6, 6 1633 003105 7773 MNN5, -5 1634 003106 7772 MIN6, -6 1635 003107 3110 COTAG, .+1 1636 003110 7773 7773;4121;7270;7773;2540;2031;7774;3077;0501 003111 4121 003112 7270 003113 7773 003114 2540 003115 2031 003116 7774 003117 3077 003120 0501 1637 003121 7776 7776;2445;2141;7776;3102;2657;7775;3244;5214 003122 2445 003123 2141 003124 7776 003125 3102 003126 2657 003127 7775 003130 3244 003131 5214 1638 1639 003132 4214 ADDTWO, JMS SPINIT /ADD DISP. CHAN TO OTHER 1640 003133 1411 TAD I YIND 1641 003134 1413 TAD I AUTO 1642 003135 7111 CLL IAC RAR 1643 003136 3412 DCA I ZIND /RESULTS IN DISP. CHAN. 1644 003137 2126 ISZ CNTR 1645 003140 5333 JMP ADDTWO+1 1646 003141 5466 DISPLAY 1647 1648 003142 1137 CURSR, TAD MODE 1649 003143 7700 SMA CLA /CURSORS ON SCOPE? 1650 003144 7240 STA /NO, PUT THEM UP 1651 003145 3137 DCA MODE 1652 003146 5466 DISPLAY 1653 1654 /GENERAL PURPOSE CLOCK DELAY SUBR. 1655 /AC=CLOCK COUNT, PC+1=CONTROL REGR. SETTING+1 1656 /DISPLAY OF XDIS, YDIS IS REFRESHED WHILE WAITING. 1657 003147 0000 SETCLK, 0 1658 003150 6133 CLAB /SET COUNT BFR FROM AC 1659 003151 7240 STA /CLR CONTROL REG 1660 003152 6130 CLZE 1661 003153 6135 CLSA /AND FLAGS 1662 003154 1747 TAD I SETCLK /LOAD CONTROL REG, START CLOCK 1663 003155 6132 CLDE 1664 003156 6131 CLSK /OVERFLO? 1665 003157 7410 SKP /NO, WAIT FOR IT 1666 003160 5363 JMP .+3 /YES, EXIT AFTER CLEARING CLOCK REG'S 1667 003161 4435 CALL DISMOV /REFRESH DISPLAY 1668 003162 5356 JMP .-4 1669 003163 7240 STA 1670 003164 6130 CLZE /CLR REG TO STOP CLOCK 1671 003165 7300 CLA CLL 1672 003166 6007 CAF /CLR FLAGS! 1673 003167 2347 ISZ SETCLK 1674 003170 5747 JMP I SETCLK 1675 1676 /OUTPUT FAC THEN PRINT A COMMA 1677 003171 0000 FLTCM, 0 1678 003172 4406 FLOUT /AC=NO. OF DECIMAL PLACES 1679 003173 1376 TAD KOMA 1680 003174 4426 CALL OUT 1681 003175 5771 JMP I FLTCM 1682 003176 0254 KOMA, 254 1683 1684 *3200 1685 /CALLED TO COMPUTE SLOPE AND RELEVANT CORE ADDRESSES 1686 /FROM CURSOR COORDINATES STORED IN TABLE AT TPNT TO TPNT+3 1687 /ON EXIT, TPNT+3=DELTA Y, TPNT+2=DELTA X, YMIN=TPNT+1(Y LEFT), 1688 /XMIN=PT SPAN OF CURSORS, CNTR=-XMIN, YSCLFC=SLOPE(Y UNITS/PT), 1689 /YIND & ZIND=ADDR. CORRESPONDING TO LEFT X, AND FAC=FIXED 1690 /VALUE OF NO. PTS TO LEFT X COORDINATE. 1691 003200 0000 SETSTR, 0 1692 003201 4425 INITAR 1693 003202 1310 TAD TPNT+1 /GET LEFT Y 1694 003203 7041 CIA 1695 003204 1312 TAD TPNT+3 /RIGHT Y 1696 003205 3312 DCA TPNT+3 /KEEP DELTA Y 1697 003206 1307 TAD TPNT /GET LEFT X 1698 003207 7041 CIA 1699 003210 1311 TAD TPNT+2 /RIGHT X 1700 003211 3311 DCA TPNT+2 /KEEP DELTA X 1701 003212 4465 CALL XSET /GET X INCREMENT 1702 003213 4407 ENTR 1703 003214 5310 FGET TPNT+1 /GET LEFT Y 1704 003215 0014 FLOT 1705 003216 6156 FPUT YMIN 1706 003217 5311 FGET TPNT+2 /GET DELTA X 1707 003220 0014 FLOT 1708 003221 4161 FDIV XSCLFC /SCALE IT 1709 003222 6153 FPUT XMIN /IS # OF PTS 1710 003223 1117 FADD HALF 1711 003224 0000 FEXT 1712 003225 4421 FIXT 1713 003226 7550 SPA SNA /INSURE CNTR<0! 1714 003227 5253 JMP ERRD 1715 003230 7041 CIA 1716 003231 3126 DCA CNTR /IS # PTS IN RANGE 1717 003232 4407 ENTR 1718 003233 5312 FGET TPNT+3 /GET DELTA Y 1719 003234 0014 FLOT 1720 003235 4153 FDIV XMIN 1721 003236 6164 FPUT YSCLFC /=Y DIS UNITS /PT 1722 003237 5307 FGET TPNT /LEFT X 1723 003240 0014 FLOT 1724 003241 4161 FDIV XSCLFC 1725 003242 1117 FADD HALF 1726 003243 0000 FEXT /FAC=#PTS TO LEFT X 1727 003244 4421 FIXT 1728 003245 1011 TAD YIND 1729 003246 3011 DCA YIND /SETS INDEX 1730 003247 1011 TAD YIND 1731 003250 3012 DCA ZIND 1732 003251 3137 DCA MODE 1733 003252 5600 JMP I SETSTR 1734 1735 003253 4430 ERRD, HEDIT1 /BAD X PTS! 1736 003254 5301 HD26 1737 003255 5466 DISPLAY 1738 1739 003256 4200 STRIPR, JMS SETSTR 1740 003257 4430 HEDIT1 /STRIP PEAK? 1741 003260 5265 HD25 1742 003261 4432 ASK 1743 003262 7640 SZA CLA 1744 003263 5271 JMP STRBS 1745 003264 4313 STRPK, JMS YSTEP /GET NEW Y 1746 003265 3411 DCA I YIND 1747 003266 2126 ISZ CNTR 1748 003267 5264 JMP STRPK 1749 003270 5466 DISPLAY 1750 003271 4431 STRBS, HEDIT2 /FULL BASE STRIP? 1751 003272 4432 ASK 1752 003273 7640 SZA CLA 1753 003274 5277 JMP .+3 /NO 1754 003275 4425 INITAR 1755 003276 4706 CALL EXTRP 1756 003277 4313 REMOV, JMS YSTEP 1757 003300 7041 CIA 1758 003301 1411 TAD I YIND /SUB. FROM Y 1759 003302 3412 DCA I ZIND 1760 003303 2126 ISZ CNTR 1761 003304 5277 JMP REMOV 1762 003305 5466 DISPLAY 1763 003306 3360 EXTRP, EXTRAP 1764 1765 003307 0000 TPNT, 0 /TABLE OF LAST ADC COORD'S 1766 003310 0000 0 1767 003311 0000 0 1768 003312 0000 0 1769 1770 003313 0000 YSTEP, 0 /COMPUTE Y VALUE ON LINE BETWEEN CURSORS 1771 003314 6201 CDF 0 1772 003315 4407 ENTR 1773 003316 5156 FGET YMIN /GET CURRENT Y VALUE ON LINE 1774 003317 1164 FADD YSCLFC /ADD INCR./PT 1775 003320 6156 FPUT YMIN /KEEP IT 1776 003321 1117 FADD HALF 1777 003322 0000 FEXT 1778 003323 4421 FIXT /LEAVE INTEGER IN AC 1779 003324 6211 CDF 10 /EXIT WITH DF=1 1780 003325 5713 JMP I YSTEP 1781 1782 /SUBR. PERFORMS ADC'S AND SETS DAC'S FOR CURSORS. 1783 /COORDINATES STORED IN TPNT-TPNT+3 W/ VALUES=ADC-AYL. 1784 003326 0000 DISPTS, 0 1785 003327 7344 SETM2 1786 003330 3134 DCA TEM3 1787 003331 1357 TAD DPTR /SET UP STORAGE TABLE 1788 003332 3013 DCA AUTO 1789 003333 3133 DCA TEM2 /SET 0 AS FIRST CHANNEL 1790 003334 1133 NXPT, TAD TEM2 1791 003335 4437 CALL ADCON /MAKE ADC ON CHAN'S 0 THEN 2 1792 003336 3101 DCA XDIS 1793 003337 1101 TAD XDIS 1794 003340 4777 JMS CRSAM 1795 003341 1133 TAD TEM2 1796 003342 4437 CALL ADCON /ADC ON CHAN'S 1 THEN 3 1797 003343 3100 DCA YDIS 1798 003344 1100 TAD YDIS 1799 003345 4777 JMS CRSAM 1800 003346 1356 TAD DCT /SET DELAY COUNTER 1801 003347 3130 DCA MCTR 1802 003350 4435 CALL DISMOV /REFRESH DISPLAY 1803 003351 2130 ISZ MCTR 1804 003352 5350 JMP .-2 1805 003353 2134 ISZ TEM3 /NEED 2ND PT THIS TIME? 1806 003354 5334 JMP NXPT /YES 1807 003355 5726 JMP I DISPTS /GOT IT; EXIT 1808 003356 7700 DCT, -100 1809 003357 3306 DPTR, TPNT-1 /STORAGE ADDR. 1810 1811 1812 003360 0000 EXTRAP, 0 /EXTRAPOLATE Y VALUE TO LEFT EXTREME 1813 003361 4407 ENTR 1814 003362 5045 FGET HW /IS INTEGER NO. OF PTS TO LEFT X 1815 003363 0014 FLOT 1816 003364 3164 FMPY YSCLFC /MULT. BY SLOPE (DELTA Y/PT) 1817 003365 0010 NEGATE 1818 003366 1156 FADD YMIN /SUBTRACT FROM LEFT Y 1819 003367 6156 FPUT YMIN /KEEP EXTRAP'D VALUE HERE 1820 003370 0000 FEXT 1821 003371 4421 FIXT 1822 003372 3135 DCA MIN /AND HERE AS INTEGER 1823 003373 5760 JMP I EXTRAP 1824 003377 3600 *3400 1825 003400 4325 INTEG, JMS RDY 1826 003401 4710 CALL CURSET 1827 003402 7240 STA 1828 003403 1161 TAD XSCLFC 1829 003404 3161 DCA XSCLFC 1830 003405 4430 HEDIT1 /SCAN INT'L? 1831 003406 5254 HD15 1832 003407 4432 ASK 1833 003410 7640 SZA CLA 1834 003411 5312 JMP PTINT /NO, BETWEEN CURSORS 1835 003412 4711 CALL SETLY /YES, GET EXTRAP'D LEFT Y 1836 003413 4407 ENTR 1837 003414 5201 FGET INTEG+1 /GET A LARGE NEG # TO START 1838 003415 6142 FPUT FTEM1 1839 003416 5271 FGET CMPINT+3 /GET LRG POS. # 1840 003417 6145 FPUT FTEM2 1841 003420 0000 FEXT 1842 003421 4325 JMS RDY /PREPARE TO SCAN DATA 1843 1844 /THIS LOOP COMPUTES TOTAL INTEGRAL (SUM) 1845 /TO FIND A SCALE DOWN FACTOR. 1846 003422 4350 FNTOT, JMS SCASM /STRIP BASELINE AND ADD ADJ. Y'S 1847 003423 1045 TAD HW 1848 003424 7700 SMA CLA /IS CURRENT SUMCURRENT MAX? 1860 003440 5245 JMP PT2 /NO 1861 003441 4407 ENTR 1862 003442 5150 FGET TEMFP 1863 003443 6142 FPUT FTEM1 1864 003444 0000 FEXT 1865 003445 2126 PT2, ISZ CNTR /MORE POINTS? 1866 003446 5222 JMP FNTOT /YES 1867 003447 4407 ENTR 1868 003450 5142 FGET FTEM1 /FIND INTEGRAL RANGE. 1869 003451 2145 FSUB FTEM2 1870 003452 6142 FPUT FTEM1 1871 003453 5075 FGET YRNG /COMPUTE SCALE-DOWN FACTOR 1872 003454 0014 FLOT 1873 003455 4142 FDIV FTEM1 1874 003456 6142 FPUT FTEM1 1875 003457 3145 FMPY FTEM2 /SCALE MIN VALUE 1876 003460 6145 FPUT FTEM2 1877 003461 5142 FGET FTEM1 1878 003462 3161 FMPY XSCLFC /GET NEW MULT'R INCLUDING SCL-DN 1879 003463 6161 FPUT XSCLFC 1880 003464 0000 FEXT 1881 003465 4325 JMS RDY 1882 1883 /THIS LOOP COMPUTES AND STORES 1884 /SCALED DOWN INTEGRAL VALUE AT EACH POINT, 1885 003466 4350 CMPINT, JMS SCASM /GET INTEGRAL-BASELINE 1886 003467 4421 FIXT 1887 003470 6211 CDF 10 1888 003471 3412 DCA I ZIND 1889 003472 2126 ISZ CNTR /MORE POINTS? 1890 003473 5266 JMP CMPINT /YES 1891 003474 1045 TAD HW /PUT N-1 VALUE INTO NTH 1892 003475 3412 DCA I ZIND 1893 003476 6201 CDF 0 1894 003477 4430 HEDIT1 /Y MULT'D BY' 1895 003500 5214 HD5+6 1896 003501 3056 DCA EFLG 1897 003502 4407 ENTR 1898 003503 5161 FGET XSCLFC 1899 003504 4117 FDIV HALF 1900 003505 0012 OUTPUT 1901 003506 0000 FEXT 1902 003507 5466 DISPLAY /RETURN TO DISPLAY 1903 003510 3200 CURSET, SETSTR 1904 003511 3360 SETLY, EXTRAP 1905 1906 003512 4350 PTINT, JMS SCASM /INTEGRATES BETWEEN CURSORS 1907 003513 2126 ISZ CNTR /AND PRINTS AREA; NO CHANGE 1908 003514 5312 JMP .-2 /IN DATA ARRAY 1909 003515 4431 HEDIT2 /AREA= 1910 003516 3056 DCA EFLG 1911 003517 4407 ENTR 1912 003520 5150 FGET TEMFP 1913 003521 0012 OUTPUT 1914 003522 0000 FEXT 1915 003523 5466 DISPLAY 1916 003524 3310 TPNT+1 1917 1918 003525 0000 RDY, 0 1919 003526 4425 INITAR 1920 003527 2126 ISZ CNTR 1921 003530 4420 FLOAT 1922 003531 4407 ENTR 1923 003532 6150 FPUT TEMFP /CLEAR TEMFP 1924 003533 5135 FGET MIN /SET LEFT Y 1925 003534 0014 FLOT 1926 003535 6156 FPUT YMIN 1927 003536 0000 FEXT 1928 003537 5725 JMP I RDY 1929 1930 003540 0000 CLRR, 0 /CLEAR Y ARRAY 1931 003541 4425 INITAR 1932 003542 6211 CDF 10 1933 003543 3411 DCA I YIND 1934 003544 2126 ISZ CNTR 1935 003545 5343 JMP .-2 1936 003546 6201 CDF 0 1937 003547 5740 JMP I CLRR 1938 1939 003550 0000 SCASM, 0 1940 003551 6211 CDF 10 1941 003552 1411 TAD I YIND 1942 003553 1411 TAD I YIND 1943 003554 4420 FLOAT 1944 003555 4407 ENTR 1945 003556 2156 FSUB YMIN /SUBTRACT PIVOT VALUE 1946 003557 6153 FPUT XMIN /KEEP THIS 1947 003560 5164 FGET YSCLFC /INCR. PIVOT VALUE 1948 003561 1156 FADD YMIN 1949 003562 6156 FPUT YMIN /KEEP FOR NEXT POINT 1950 003563 0010 NEGATE /SUBTRACT FROM PT SUM 1951 003564 1153 FADD XMIN /FAC=Y(I+1)+Y(I)-P(I+1)-P(I) 1952 003565 3161 FMPY XSCLFC /SCALE DOWN 1953 003566 1150 FADD TEMFP 1954 003567 6150 FPUT TEMFP 1955 003570 2145 FSUB FTEM2 /SUBTRACT MIN VALUE 1956 003571 0000 FEXT 1957 003572 7040 CMA /RESET Y POINTER 1958 003573 1011 TAD YIND 1959 003574 3011 DCA YIND 1960 003575 5750 JMP I SCASM 1961 *3600 1962 003600 0000 CRSAM, 0 /SUBR SETS UP CURSOR TABLE STORAGE. 1963 003601 1207 TAD MLIM /SUBTRACT LIM 1964 003602 7510 SPA /RESULT<0? 1965 003603 7200 CLA /YES, SET IT=0 1966 003604 3413 DCA I AUTO /KEEP RESULT 1967 003605 2133 ISZ TEM2 /INCR. CHAN 1968 003606 5600 JMP I CRSAM 1969 003607 0764 MLIM, -AYL /ASSUME YLIM=XLIM! 1970 1971 003610 0000 INITIZ, 0 /SETS UP A COUNTER=-NPTS, INITIALIZES 1972 003611 7300 CLA CLL /X,Y, & Z ARRAY STARTING LOC'NS. 1973 003612 1070 TAD NPTS 1974 003613 7041 CIA 1975 003614 3126 DCA CNTR 1976 003615 1140 TAD BLOCK 1977 003616 7640 SZA CLA /BUFFER 1? 1978 003617 1077 TAD OFFSET /NO, ADD ARRAY OFFSET 1979 003620 1076 TAD YONE 1980 003621 3011 DCA YIND 1981 003622 1070 TAD NPTS /X ARRAY BEGINS AFTER Y'S 1982 003623 1011 TAD YIND 1983 003624 3010 DCA XIND 1984 003625 1011 TAD YIND 1985 003626 3012 DCA ZIND /AUXILIARY AUTO REG. FOR Y ARRAY 1986 003627 3104 DCA TXSM /CLEAR X DISPLAY SUM 1987 003630 3105 DCA TXSM+1 1988 003631 5610 JMP I INITIZ 1989 1990 003632 4425 DERIV, INITAR /FORMS 5TH PT. DIFFERENCES 1991 003633 1314 TAD PLS5 1992 003634 1011 TAD YIND 1993 003635 3011 DCA YIND 1994 003636 1314 TAD PLS5 1995 003637 1126 TAD CNTR 1996 003640 3126 DCA CNTR 1997 003641 1012 TAD ZIND 1998 003642 3010 DCA XIND 1999 003643 6211 CDF 10 2000 003644 1412 DRLOP1, TAD I ZIND /PUT Y(I+5)-Y(I)+SHF INTO Y(I) 2001 003645 7041 CIA 2002 003646 1411 TAD I YIND 2003 003647 1315 TAD SHF /ADD OFFSET FOR CENTERED DISPLAY 2004 003650 3410 DCA I XIND 2005 003651 2126 ISZ CNTR 2006 003652 5244 JMP DRLOP1 2007 003653 1010 TAD XIND 2008 003654 3131 DCA TEMP 2009 003655 1531 TAD I TEMP /PUT Y(N-5) INTO Y(N-4) AND Y(N-3) 2010 003656 3410 DCA I XIND 2011 003657 1531 TAD I TEMP 2012 003660 3410 DCA I XIND 2013 003661 1010 TAD XIND /SET UP TO SHIFT ARRAY UP BY 3 2014 003662 3131 DCA TEMP /SUCH THAT FINAL ARRAY HAS VALUES 2015 003663 7125 STL IAC RAL /Y(I)=Y(I+2)-Y(I-2)+SHF 2016 003664 1131 TAD TEMP /WHERE Y(1)=Y(2)=Y(3) AND 2017 003665 3132 DCA TEMP1 /Y(N-2)=Y(N-1)=Y(N) 2018 003666 7346 CLL STA RTL 2019 003667 1070 TAD NPTS 2020 003670 7041 CIA 2021 003671 3126 DCA CNTR 2022 003672 1531 DRLOP2, TAD I TEMP /PUT Y(I) INTO Y(I+3) 2023 003673 3532 DCA I TEMP1 2024 003674 7240 STA 2025 003675 1131 TAD TEMP 2026 003676 3131 DCA TEMP 2027 003677 7240 STA 2028 003700 1132 TAD TEMP1 2029 003701 3132 DCA TEMP1 2030 003702 2126 ISZ CNTR 2031 003703 5272 JMP DRLOP2 2032 003704 2131 ISZ TEMP /PUT Y(1) INTO Y(2) & Y(3) 2033 003705 7000 NOP /PROTECT AGAINST SKIP!! 2034 003706 1531 TAD I TEMP 2035 003707 3532 DCA I TEMP1 2036 003710 1532 TAD I TEMP1 2037 003711 2131 ISZ TEMP 2038 003712 3531 DCA I TEMP 2039 003713 5466 DISPLAY 2040 003714 0005 PLS5, 5 2041 003715 0764 SHF, 764 2042 003716 1070 SQEEZE, TAD NPTS /COMPRESS ONE OR BOTH BUFFERS 2043 003717 7110 CLL RAR /BY AVERAGING ADJACENT PTS. 2044 003720 3070 DCA NPTS 2045 003721 7240 STA 2046 003722 1140 TAD BLOCK 2047 003723 7750 SPA SNA CLA /BLOCK=2 FOR DOUBLE SQUEEZE? 2048 003724 5327 JMP .+3 /NO 2049 003725 3140 DCA BLOCK /SQUEEZE BUFF. 1 FIRST 2050 003726 7240 STA 2051 003727 3131 DCA TEMP /=-1 FOR DOUBLE SQUEEZE, 0 FOR SINGLE 2052 003730 4425 INITAR 2053 003731 6211 CDF 10 2054 003732 1411 SQLP, TAD I YIND 2055 003733 1411 TAD I YIND 2056 003734 7111 CLL IAC RAR 2057 003735 3412 DCA I ZIND 2058 003736 2126 ISZ CNTR 2059 003737 5332 JMP SQLP 2060 003740 2131 ISZ TEMP /FINISHED? 2061 003741 5466 DISPLAY /YES OR IS SINGLE SQUEEZE 2062 003742 7001 IAC /NO, DO BUFF. 2 2063 003743 3140 DCA BLOCK 2064 003744 5330 JMP SQLP-2 2065 2066 *3745 2067 2068 003745 1777 PS8X, TAD M76LOK /TEST FOR PS8 PAGE 7600/1 IN FIELD 0. 2069 003746 7640 SZA CLA 2070 003747 4776 JMS M76TF1 2071 003750 6203 CDF CIF 0 2072 003751 6002 IOF 2073 003752 5753 JMP I .+1 2074 003753 7600 7600 2075 003776 2336 *4000 003777 2354 2076 /THIS IS THE AVERAGER INPUT ROUTINE 2077 004000 4430 ANINPT, HEDIT1 /CHANNEL= 2078 004001 5226 HD7 2079 004002 4422 GETNO 2080 004003 4421 FIXT 2081 004004 3113 DCA MCHAN 2082 004005 4430 AGO, HEDIT1 /NO. POINTS= 2083 004006 5153 HD2 2084 004007 4422 GETNO 2085 004010 4421 FIXT 2086 004011 3134 DCA TEM3 2087 004012 1134 TAD TEM3 2088 004013 7112 CLL RTR 2089 004014 3070 DCA NPTS /TEMP'LY SET TO # PTS/4 2090 004015 4465 CALL XSET /GET 4*X DISP. INCREMENT 2091 004016 1134 TAD TEM3 2092 004017 3070 DCA NPTS 2093 004020 4430 HEDIT1 /SEC/SCAN= 2094 004021 5233 HD8 2095 004022 4407 ENTR 2096 004023 5070 FGET NPTS 2097 004024 0014 FLOT 2098 004025 6153 FPUT XMIN 2099 004026 0011 READ 2100 004027 4153 FDIV XMIN 2101 004030 6153 FPUT XMIN /=TIME PER POINT (SEC)::=M*2**X 2102 004031 0000 FEXT 2103 004032 1332 TAD PK15 /MIN TIME ALLOWED=2**-13 SEC/PT 2104 004033 1044 TAD EW /OR 122 USEC 2105 004034 7550 SPA SNA /X<-12? 2106 004035 5205 JMP AGO /YES, TOO FAST! REENTER. 2107 004036 3044 DCA EW 2108 004037 7133 STL IAC RTR 2109 004040 3045 DCA HW /SET FAC=-0.5*2**(X+13) 2110 004041 4421 FIXT /IF X+13>11, TRUNCATES FAC TO -0.5*2**11 2111 004042 3114 DCA AVSUM 2112 004043 1114 TAD AVSUM 2113 004044 4420 FLOAT 2114 004045 7240 STA 2115 004046 1044 TAD EW 2116 004047 3115 DCA EXPFC /KEEP 2'S EXP FOR SCALING LATER 2117 2118 2119 004050 4407 ENTR /COMPUTE DEAD TIME LOOP COUNTER, CLTM 2120 004051 6156 FPUT YMIN /-# SAMPLES PER PT 2121 004052 5115 FGET EXPFC 2122 004053 0014 FLOT 2123 004054 3375 FMPY SCNCY /# CYCLE PERLOOP IN SHRGT 2124 004055 1372 FADD NCY /OTHER OVERHEAD 2125 004056 6145 FPUT FTEM2 2126 004057 5153 FGET XMIN /# SECS PER PT 2127 004060 4364 FDIV CYCTM /FAC=TOTAL # CY'S NEEDED PER PT/3 2128 004061 2145 FSUB FTEM2 /OVERHEAD CY'S PER PT/3 2129 004062 4156 FDIV YMIN /DIV BY -# SAMPLES/PT=-#CY'S/SAMPLE 2130 004063 1367 FADD FUGCY /OVERHEAD CY'S PER SAMPLE/3 IN LOOP 'ADDUP' 2131 004064 3117 FMPY HALF /DIV BY TWO TO GET 12 BIT UNSIGNED RESULT 2132 004065 0000 FEXT /FAC=-# DELAY CY'S NEEDED PER SAMPLE/6 2133 004066 4421 FIXT 2134 004067 7500 SMA /RESULT MUST BE NEG. 2135 004070 5205 JMP AGO /TOO FAST!! 2136 004071 7104 CLL RAL /TIMES 2 FOR 12 BIT UNSIGNED RESULT 2137 004072 3142 DCA CLTM 2138 004073 1046 TAD LW /ROUNDOFF? 2139 004074 7710 SPA CLA 2140 004075 2142 ISZ CLTM /YES, SET BIT 11 2141 004076 4431 HEDIT2 /DELAY TIME(SEC)= 2142 004077 4407 ENTR 2143 004100 0011 READ 2144 004101 3471 FMPY I HUNDRD 2145 004102 0000 FEXT 2146 004103 4421 FIXT 2147 004104 7041 CIA 2148 004105 7500 SMA /DELAY>10 MSEC? 2149 004106 7200 CLA /NO, DELAY = 0 2150 004107 3143 DCA DLATM /IS -100*SEC AS ENTERED 2151 004110 4431 HEDIT2 /NO. SCANS= 2152 004111 4422 GETNO 2153 004112 4421 FIXT 2154 004113 7041 CIA 2155 004114 3125 DCA PCTR 2156 004115 3112 DCA RUN 2157 004116 4427 CRLFD 2158 004117 4425 INITAR 2159 004120 1070 TAD NPTS 2160 004121 7144 CLL CMA RAL 2161 004122 3131 DCA TEMP 2162 004123 6211 CDF 10 2163 004124 3411 DCA I YIND 2164 004125 2131 ISZ TEMP /CLEAR THAT ARRAY. 2165 004126 5324 JMP .-2 2166 004127 6007 CAF 2167 004130 3130 DCA MCTR 2168 004131 5733 JMP I ESRNMR /GO WAIT FOR EVENT 2169 004132 0015 PK15, 15 2170 004133 4400 ESRNMR, LOOKER 2171 004134 4427 CURLS, CRLFD /LIST CURSOR VALUES: 2172 004135 1116 TAD FIVE 2173 004136 3057 DCA DP /4 DIGIT INTEGERS 2174 004137 2056 ISZ EFLG 2175 004140 1352 TAD CLPT 2176 004141 3013 DCA AUTO 2177 004142 1122 TAD NEG4 2178 004143 3132 DCA TEMP1 2179 004144 1413 CUR1, TAD I AUTO /PRINT AS X1,Y1,X2,Y2 2180 004145 4420 FLOAT 2181 004146 4406 FLOUT 2182 004147 2132 ISZ TEMP1 2183 004150 5344 JMP CUR1 2184 004151 5466 DISPLAY 2185 004152 3306 CLPT, TPNT-1 2186 2187 /SPECIAL ROUTINE TO RESET 2188 004153 4430 CALSET, HEDIT1 /MACHINE CYCLE TIME FOR 2189 004154 5317 HDSP /ACCURATE CALIBRATION. 2190 004155 4407 ENTR 2191 004156 0011 READ 2192 004157 3106 FMPY FK3 2193 004160 6364 FPUT CYCTM /3*CYCLE TIME 2194 004161 0000 FEXT 2195 004162 4427 CRLFD 2196 004163 5466 DISPLAY /EXIT 2197 2198 /NEXT 4 CONSTANTS SET TIMING FOR AVERAGER 2199 004164 7756 CYCTM, 7756;3614;5704 /IS 3* MACHINE CYCLE TIME 004165 3614 004166 5704 2200 004167 0003 FUGCY, 3;3525;1770 /IS # CYCLES IN LOOP 'ADDUP'/3 004170 3525 004171 1770 2201 004172 0004 NCY, 4;3600;0 /IS # OVERHEAD CYCLES PER PT/3 004173 3600 004174 0000 2202 004175 0003 SCNCY, 3;2125;1770 /# CYCLES IN SCLRT LOOP/3 004176 2125 004177 1770 2203 2204 *4200 2205 004200 7300 STAVR, CLA CLL 2206 004201 1072 TAD XLIM 2207 004202 6053 DILX 2208 004203 3101 DCA XDIS 2209 004204 1143 TAD DLATM 2210 004205 7450 SNA /NEED ANY DELAY? 2211 004206 5211 JMP .+3 /NO 2212 004207 4464 CALL CLKSET 2213 004210 5201 5201 /TICKS AT 100 CPS 2214 004211 1113 TAD MCHAN 2215 004212 6531 ADLM 2216 004213 4425 INITAR 2217 004214 6211 CDF 10 2218 004215 6055 GOSUM, DIXY 2219 004216 1114 TAD AVSUM /THIS ROUTINE TAKES ADC 2220 004217 3127 DCA LNCTR /SAMPLES, -AVSUM IN #, IN A TIME 2221 004220 3141 DCA HIORD /PER SAMPLE VARIED BY CLTM 2222 004221 3145 DCA LOORD /BASE TIME PER SAMPLE=23 CYCLES 2223 004222 6532 ADDUP, ADST /OVERHEAD/PT=49+EXPFC*13 CYCLES 2224 004223 1142 TAD CLTM 2225 004224 3147 DCA TMCTR 2226 004225 2147 ISZ TMCTR 2227 004226 5225 JMP .-1 /ADD SOME TIME BETWEEN SAMPLES 2228 004227 6533 ADRB 2229 004230 6054 DILY 2230 004231 1124 TAD K1000 /MAKE ALL RESULTS POS. 2231 004232 7100 CLL 2232 004233 1145 TAD LOORD /STORED AS DOUBLE PREC. INTEGER 2233 004234 3145 DCA LOORD 2234 004235 7004 RAL /LOORD OVERFLOW SETS LINK 2235 004236 1141 TAD HIORD 2236 004237 3141 DCA HIORD 2237 004240 2127 ISZ LNCTR 2238 004241 5222 JMP ADDUP 2239 004242 1115 TAD EXPFC 2240 004243 7440 SZA /NEED TO SHIFT RIGHT? 2241 004244 4320 JMS SHRGT /YES, DO IT 2242 004245 7201 CLA IAC 2243 004246 1101 TAD XDIS 2244 004247 6053 DILX 2245 004250 3101 DCA XDIS 2246 004251 1145 TAD LOORD 2247 004252 7100 CLL 2248 004253 1411 TAD I YIND /ADD TO CURRENT SCAN SUM 2249 004254 3412 DCA I ZIND 2250 004255 7004 RAL 2251 004256 1411 TAD I YIND 2252 004257 3412 DCA I ZIND 2253 004260 2126 ISZ CNTR 2254 004261 5215 JMP GOSUM 2255 004262 6201 CDF 0 2256 004263 2112 ISZ RUN /IS NO OF SCANS TAKEN 2257 004264 2125 ISZ PCTR /INCR. COUNTER; MORE SCANS? 2258 004265 5717 JMP I LOOK /YES. WAIT FOR NEXT EVENT 2259 2260 004266 4425 AVDON, INITAR /NO, WE'RE FINISHED. 2261 004267 4407 ENTR /PREPARE TO NORMALIZE THE 24 2262 004270 5112 FGET RUN /BIT Y STORAGE DOWN TO 12 BITS 2263 004271 0014 FLOT 2264 004272 6150 FPUT TEMFP /BY DIVIDING BY NO. OF SCANS 2265 004273 0000 FEXT 2266 004274 6211 DIVD, CDF 10 2267 004275 1411 TAD I YIND /FLOAT DUBL PREC INTEGER 2268 004276 3046 DCA LW 2269 004277 1411 TAD I YIND 2270 004300 3045 DCA HW 2271 004301 6201 CDF 0 2272 004302 1111 TAD P27 2273 004303 3044 DCA EW 2274 004304 4407 ENTR 2275 004305 7000 FNOR 2276 004306 4150 FDIV TEMFP /DIVIDE BY # SCANS TAKEN 2277 004307 1117 FADD HALF 2278 004310 0000 FEXT 2279 004311 4421 FIXT 2280 004312 6211 CDF 10 2281 004313 3412 DCA I ZIND /SAVE SINGLE PREC RESULT 2282 004314 2126 ISZ CNTR 2283 004315 5274 JMP DIVD 2284 004316 5466 DISPLAY 2285 004317 4400 LOOK, LOOKER 2286 2287 004320 0000 SHRGT, 0 2288 004321 7141 CIA CLL 2289 004322 3127 DCA LNCTR 2290 004323 1141 SCLRT, TAD HIORD 2291 004324 7110 CLL RAR 2292 004325 3141 DCA HIORD 2293 004326 1145 TAD LOORD 2294 004327 7010 RAR 2295 004330 3145 DCA LOORD 2296 004331 2127 ISZ LNCTR 2297 004332 5323 JMP SCLRT 2298 004333 5720 JMP I SHRGT 2299 2300 2301 /CALLED TO REPORT ON PEAK RESULTS 2302 004334 4430 REPRT, HEDIT1 /X1,XMPY,GATE:= 2303 004335 5177 HD4 2304 004336 4407 ENTR 2305 004337 0011 READ 2306 004340 6164 FPUT YSCLFC 2307 004341 0011 READ 2308 004342 6161 FPUT XSCLFC 2309 004343 0011 READ 2310 004344 0000 FEXT 2311 004345 4421 FIXT 2312 004346 7041 CIA /IS DETECTION SENSITIVITY 2313 004347 4777 CALL PICPK /GET PEAKS 2314 004350 1135 TAD MIN 2315 004351 7041 CIA 2316 004352 1136 TAD MAX 2317 004353 3136 DCA MAX /IS LARGEST PK HGT CORRECTED FOR BASELINE 2318 004354 4430 HEDIT1 /MIN,X,MAX,X,A,I,%A: 2319 004355 4561 HDRP 2320 004356 4436 CALL IOASK /SET UP OUTPUT DEVICE 2321 004357 4425 INITAR 2322 004360 1112 TAD RUN 2323 004361 7041 CIA 2324 004362 3125 DCA PCTR /SET PK CNTR 2325 004363 2010 ISZ XIND /POINT TO LDG MIN X VALUE 2326 004364 6211 CDF 10 2327 004365 1410 TAD I XIND 2328 004366 3131 DCA TEMP 2329 004367 1131 TAD TEMP 2330 004370 1011 TAD YIND 2331 004371 3011 DCA YIND 2332 004372 1131 TAD TEMP 2333 004373 1126 TAD CNTR 2334 004374 3126 DCA CNTR 2335 004375 5776 JMP I .+1 2336 004376 4600 REP1 2337 004377 5000 PICPK, PKPIC 2338 *4400 2339 004400 6035 LOOKER, KIE 2340 004401 6135 CLSA 2341 004402 7240 STA 2342 004403 6130 CLZE 2343 004404 1313 TAD K14 2344 004405 6132 CLDE /ENABLE SCHMIDT TRIGGER EVENT 4 2345 004406 6001 ION 2346 004407 6031 STLOOP, KSF /WANT TO CHANGE SCALE OR STOP? 2347 004410 5236 JMP LOOPIT /NO 2348 004411 6135 CLSA /CLR FLAG 2349 004412 6036 KRB 2350 004413 1314 TAD MD 2351 004414 7450 SNA /'D' TO DECREASE SIZE? 2352 004415 2130 ISZ MCTR 2353 004416 7000 NOP 2354 004417 7001 IAC 2355 004420 7450 SNA /'C' TO CHECK DISPLAY? 2356 004421 6002 IOF /YES, TURN INTERRUPT OFF 2357 004422 1315 TAD MM 2358 004423 7440 SZA /'M' TO INCREASE SIZE? 2359 004424 5230 JMP MORE /NO 2360 004425 7240 STA 2361 004426 1130 TAD MCTR 2362 004427 3130 DCA MCTR 2363 004430 1316 MORE, TAD MS 2364 004431 7450 SNA /'S' FOR STOP? 2365 004432 5276 JMP ENDCHK /YES 2366 004433 1317 TAD MPE 2367 004434 7650 SNA CLA /'P' TO PROCEED? 2368 004435 6001 ION /YES, TURN INTERRUPT ON 2369 004436 4425 LOOPIT, INITAR 2370 004437 6211 CDF 10 2371 004440 1411 TAD I YIND /LOW ORDER 2372 004441 3145 DCA LOORD 2373 004442 1411 TAD I YIND /HIGH ORDER 2374 004443 6201 CDF 0 2375 004444 3141 DCA HIORD 2376 004445 7327 SET6 2377 004446 1011 TAD YIND /GET EVERY 4TH VALUE 2378 004447 3011 DCA YIND 2379 004450 1130 TAD MCTR 2380 004451 7540 SMA SZA /MCTR>0, I.E. NEED DIVIDE? 2381 004452 4712 CALL ISHRT 2382 004453 7500 SMA /MAGNIFY IT? 2383 004454 5263 JMP DSPIT /DO NEITHER 2384 004455 3127 DCA LNCTR /YES 2385 004456 1145 TAD LOORD /VALUE IS ACTUALLY SINGLE PREC. 2386 004457 7104 CLL RAL /MULT. BY 2 2387 004460 2127 ISZ LNCTR 2388 004461 5257 JMP .-2 /MULT. AGAIN 2389 004462 7410 SKP 2390 2391 2392 004463 1145 DSPIT, TAD LOORD 2393 004464 1073 TAD YLIM 2394 004465 3100 DCA YDIS 2395 004466 4435 CALL DISMOV /MOVE POINT ON SCOPE 2396 004467 4467 CALL ADINX /GET & INCR. X COORD 2397 004470 7307 SET4 2398 004471 1126 TAD CNTR 2399 004472 7500 SMA /MORE PTS? 2400 004473 5207 JMP STLOOP /NO 2401 004474 3126 DCA CNTR /YES 2402 004475 5237 JMP LOOPIT+1 2403 2404 004476 6002 ENDCHK, IOF 2405 004477 4430 HEDIT1 /NO. OF SCANS= 2406 004500 5246 HD9 2407 004501 1116 TAD FIVE 2408 004502 3057 DCA DP 2409 004503 2056 ISZ EFLG 2410 004504 1112 TAD RUN 2411 004505 4420 FLOAT 2412 004506 4406 FLOUT 2413 004507 4427 CRLFD 2414 004510 5711 JMP I .+1 2415 004511 4266 AVDON 2416 004512 4320 ISHRT, SHRGT 2417 004513 0015 K14, 14+1 2418 004514 7474 MD, -304 2419 004515 7766 MM, 303-315 2420 004516 7772 MS, 315-323 2421 004517 0003 MPE, 323-320 2422 004520 4425 XFLIP, INITAR /INVERT X AXIS 2423 004521 1011 TAD YIND /Y(I)=Y(NPTS+1-I) 2424 004522 1070 TAD NPTS 2425 004523 3131 DCA TEMP 2426 004524 1126 TAD CNTR 2427 004525 7130 STL RAR 2428 004526 3126 DCA CNTR 2429 004527 6211 CDF 10 2430 004530 1411 FLX, TAD I YIND 2431 004531 3132 DCA TEMP1 2432 004532 1531 TAD I TEMP 2433 004533 3412 DCA I ZIND 2434 004534 1132 TAD TEMP1 2435 004535 3531 DCA I TEMP 2436 004536 7240 STA 2437 004537 1131 TAD TEMP 2438 004540 3131 DCA TEMP 2439 004541 2126 ISZ CNTR 2440 004542 5330 JMP FLX 2441 004543 5466 DISPLAY 2442 2443 004544 4430 MULP, HEDIT1 /MIN= 2444 004545 5206 HD5 2445 004546 4422 GETNO 2446 004547 4421 FIXT 2447 004550 3135 DCA MIN 2448 004551 4430 HEDIT1 /MPY= 2449 004552 5214 HD5+6 2450 004553 4407 ENTR 2451 004554 0011 READ 2452 004555 6164 FPUT YSCLFC 2453 004556 0000 FEXT 2454 004557 5760 JMP I .+1 /EXIT TO SCALING ROUTINE 2455 004560 1531 SKL-1 2456 2457 004561 3615 HDRP, TEXT /^MIN,X,MAX,X,A,I,%A:^/ 004562 1116 004563 5430 004564 5415 004565 0130 004566 5430 004567 5401 004570 5411 004571 5445 004572 0172 004573 3600 2458 /CALLED FROM REPRT TO GET AREAS & PRINT OUTPUT 2459 *4600 2460 004600 3145 REP1, DCA FTEM2 2461 004601 3146 DCA FTEM2+1 2462 004602 3147 DCA FTEM2+2 2463 004603 6211 SWL1, CDF 10 2464 004604 7305 SET2 2465 004605 1010 TAD XIND 2466 004606 3012 DCA ZIND /POINT TO AREA 2467 004607 3142 DCA FTEM1 2468 004610 3143 DCA FTEM1+1 2469 004611 3144 DCA FTEM1+2 2470 004612 7327 SET6 2471 004613 1010 TAD XIND 2472 004614 3013 DCA AUTO /GET TRAILING MIN X VALUE 2473 004615 1413 TAD I AUTO 2474 004616 7041 CIA 2475 004617 1070 TAD NPTS 2476 004620 3131 DCA TEMP 2477 004621 1135 INL1, TAD MIN /LOOP TO GET AREA BETWEEN MINIMA 2478 004622 7041 CIA /SUBTRACT MIN FROM Y 2479 004623 1411 TAD I YIND 2480 004624 4420 FLOAT 2481 004625 4407 ENTR 2482 004626 1142 FADD FTEM1 2483 004627 6142 FPUT FTEM1 2484 004630 0000 FEXT 2485 004631 6211 CDF 10 2486 004632 2126 ISZ CNTR 2487 004633 7000 NOP 2488 004634 1126 TAD CNTR 2489 004635 1131 TAD TEMP 2490 004636 7710 SPA CLA /CNTR=TRAILING MIN VALUE? 2491 004637 5221 JMP INL1 /NO 2492 004640 1142 TAD FTEM1 /STORE AREA IN ARRAY 2493 004641 3412 DCA I ZIND 2494 004642 1143 TAD FTEM1+1 2495 004643 3412 DCA I ZIND 2496 004644 1144 TAD FTEM1+2 2497 004645 3412 DCA I ZIND 2498 004646 6201 CDF 0 2499 004647 4407 ENTR 2500 004650 1145 FADD FTEM2 /ADD TO TOTAL AREA 2501 004651 6145 FPUT FTEM2 2502 004652 0000 FEXT 2503 004653 1374 TAD PK7 2504 004654 1010 TAD XIND 2505 004655 3010 DCA XIND 2506 004656 2125 ISZ PCTR /ANOTHER PK? 2507 004657 5203 JMP SWL1 /YES 2508 2509 004660 4425 INITAR /NO, SET UP TO OUTPUT 2510 004661 1112 TAD RUN 2511 004662 7041 CIA 2512 004663 3125 DCA PCTR 2513 004664 4407 ENTR /GET HGT SCALE FACTOR 2514 004665 5136 FGET MAX 2515 004666 0014 FLOT 2516 004667 4471 FDIV I HUNDRD 2517 004670 6150 FPUT TEMFP 2518 004671 0000 FEXT 2519 004672 4427 OLP1, CRLFD 2520 004673 7344 SETM2 2521 004674 3130 DCA MCTR 2522 004675 7327 SET6 2523 004676 3057 DCA DP 2524 004677 2056 ISZ EFLG 2525 004700 7344 SETM2 2526 004701 3133 DCA TEM2 2527 004702 6211 OLP2, CDF 10 /LOOP TO OUTPUT RAW MIN, X VALUE, MAX, X VALUE 2528 004703 1410 TAD I XIND 2529 004704 4420 FLOAT 2530 004705 2133 ISZ TEM2 2531 004706 5320 JMP OLP3 2532 004707 4407 ENTR 2533 004710 3161 FMPY XSCLFC 2534 004711 1164 FADD YSCLFC /ADD X1 2535 004712 0000 FEXT 2536 004713 7305 SET2 2537 004714 4463 FOUTCM 2538 004715 2130 ISZ MCTR 2539 004716 5300 JMP OLP2-2 2540 004717 5322 JMP OLP4 2541 004720 4463 OLP3, FOUTCM /AS INTEGERS 2542 004721 5302 JMP OLP2 2543 2544 004722 6211 OLP4, CDF 10 /LOAD AREA INTO FAC 2545 004723 1410 TAD I XIND 2546 004724 3044 DCA EW 2547 004725 1410 TAD I XIND 2548 004726 3045 DCA HW 2549 004727 1410 TAD I XIND 2550 004730 3046 DCA LW 2551 004731 3056 DCA EFLG /E FORMAT 2552 004732 6201 CDF 0 2553 004733 4407 ENTR 2554 004734 6142 FPUT FTEM1 2555 004735 3161 FMPY XSCLFC 2556 004736 0000 FEXT 2557 004737 4463 FOUTCM /RAW AREA 2558 004740 1373 TAD MK5 2559 004741 1010 TAD XIND 2560 004742 3013 DCA AUTO /PNTR TO HGT 2561 004743 6211 CDF 10 2562 004744 1135 TAD MIN /SUBTRACT BASELINE 2563 004745 7041 CIA 2564 004746 1413 TAD I AUTO 2565 004747 4420 FLOAT 2566 004750 4407 ENTR 2567 004751 4150 FDIV TEMFP /NORMALIZE IT 2568 004752 0000 FEXT 2569 004753 1372 TAD PK10 /8 DIGITS 2570 004754 3057 DCA DP 2571 004755 2056 ISZ EFLG 2572 004756 7305 SET2 /2 DECIMAL PLACES 2573 004757 4463 FOUTCM 2574 004760 4407 ENTR 2575 004761 5142 FGET FTEM1 /GET RAW AREA BACK 2576 004762 4145 FDIV FTEM2 /NORMALIZE IT 2577 004763 3471 FMPY I HUNDRD 2578 004764 0000 FEXT 2579 004765 7307 SET4 2580 004766 4463 FOUTCM /4 DECIMAL PLACES 2581 004767 2125 ISZ PCTR /ANOTHER PK? 2582 004770 5272 JMP OLP1 /YES 2583 004771 5466 DISPLAY /NO, BACK TO DISPLAY 2584 2585 004772 0012 PK10, 12 2586 004773 7773 MK5, -5 2587 004774 0007 PK7, 7 2588 *5000 2589 /ROUTINE TO DO SIMPLE AMPLITUDE PEAK DETECTION AND 2590 /STORE RESULTS IN ARRAY JUST AFTER DATA ARRAY 2591 005000 0000 PKPIC, 0 2592 005001 3114 DCA AVSUM /SAVE AC AS GATE (-N) 2593 005002 3112 DCA RUN /CLR FLAGS, CNTRS 2594 005003 4425 INITAR 2595 005004 7201 INIPK, CLA IAC /START HERE AFTER A PK IS FOUND 2596 005005 3150 DCA PS1 2597 005006 3151 DCA PS2 2598 005007 3152 DCA S1C 2599 005010 3153 DCA S2C 2600 005011 3136 DCA MAX 2601 005012 7132 STL RTR 2602 005013 3135 DCA MIN 2603 005014 6211 CDF 10 2604 005015 1411 SERLP, TAD I YIND /GET DATUM 2605 005016 3131 DCA TEMP 2606 005017 1135 TAD MIN 2607 005020 7041 CIA 2608 005021 1131 TAD TEMP 2609 005022 7500 SMA /YMAX? 2635 005053 5301 JMP SERND /NO 2636 005054 1131 TAD TEMP /YES, SAVE IT 2637 005055 3136 DCA MAX 2638 005056 1126 TAD CNTR /KEEP AS X VALUE 2639 005057 3155 DCA MXT 2640 005060 2153 ISZ S2C /BUMP MAX CNT 2641 2642 005061 1153 TAD S2C 2643 005062 1114 TAD AVSUM 2644 005063 7710 SPA CLA /HAD A GATE'S WORTH? 2645 005064 5301 JMP SERND /NO 2646 005065 3152 DCA S1C /YES 2647 005066 1150 TAD PS1 2648 005067 7650 SNA CLA /HAD PRECEDING MIN? 2649 005070 5277 JMP SERND-2 /NO 2650 005071 2151 ISZ PS2 /YES, SET PS2 2651 005072 3150 DCA PS1 2652 005073 1135 TAD MIN /SAVE LEADING MIN 2653 005074 3156 DCA KMIN 2654 005075 1154 TAD MNT /AND X VALUE 2655 005076 3157 DCA KMNT 2656 005077 1136 TAD MAX /RESET MIN 2657 005100 3135 DCA MIN 2658 005101 2126 SERND, ISZ CNTR /MORE PTS? 2659 005102 5215 JMP SERLP /YES 2660 005103 1154 TAD MNT /SET TRAILING MIN TIME 2661 005104 3157 DCA KMNT 2662 005105 4312 JMS STPEK /NO, SAVE END RUN MIN 2663 005106 6201 CDF 0 2664 005107 4711 CALL YSCAN /GET MIN & MAX IN DATA 2665 005110 5600 JMP I PKPIC 2666 005111 1445 YSCAN, SCANY 2667 2668 /BUFFER PK VALUES IN ARRAY AT END OF DATA 2669 005112 0000 STPEK, 0 2670 005113 1156 TAD KMIN 2671 005114 3410 DCA I XIND 2672 005115 1157 TAD KMNT /ADD NPTS TO X VALUES TO GET PT CNT 2673 005116 1070 TAD NPTS 2674 005117 3410 DCA I XIND 2675 005120 1136 TAD MAX 2676 005121 3410 DCA I XIND 2677 005122 1155 TAD MXT 2678 005123 1070 TAD NPTS 2679 005124 3410 DCA I XIND 2680 005125 7325 SET3 /RESET PNTR TO LEAVE HOLE FOR PK AREA 2681 005126 1010 TAD XIND 2682 005127 3010 DCA XIND 2683 005130 5712 JMP I STPEK 2684 005131 3604 HD1, TEXT /^DAQUAN OS-8 !^TITLE:/ 005132 0121 005133 2501 005134 1640 005135 1723 005136 5570 005137 4041 005140 3624 005141 1124 005142 1405 005143 7200 2685 005144 3617 TEXT /^OK, HIT ME!^/ 005145 1354 005146 4010 005147 1124 005150 4015 005151 0541 005152 3600 2686 005153 3616 HD2, TEXT /^NO. POINTS= / 005154 1756 005155 4020 005156 1711 005157 1624 005160 2375 005161 4000 2687 005162 2024 TEXT /PTS. TO SKIP=/ 005163 2356 005164 4024 005165 1740 005166 2313 005167 1120 005170 7500 2688 005171 1411 HD3, TEXT /LINE PLOT?/ 005172 1605 005173 4020 005174 1417 005175 2477 005176 0000 2689 005177 3061 HD4, TEXT /X1,XMPY,GATE:/ 005200 5430 005201 1520 005202 3154 005203 0701 005204 2405 005205 7200 2690 005206 3615 HD5, TEXT /^MIN=/ 005207 1116 005210 7500 2691 005211 1501 TEXT /MAX=/ 005212 3075 005213 0000 2692 005214 1520 TEXT /MPY=/ 005215 3175 005216 0000 2693 005217 2014 HD6, TEXT /PLOTTER OFF?/ 005220 1724 005221 2405 005222 2240 005223 1706 005224 0677 005225 0000 2694 005226 0310 HD7, TEXT /CHANNEL= / 005227 0116 005230 1605 005231 1475 005232 4000 2695 005233 2305 HD8, TEXT \SEC/SCAN=\ 005234 0357 005235 2303 005236 0116 005237 7500 2696 005240 0405 TEXT /DELAY(SEC)=/ 005241 1401 005242 3150 005243 2305 005244 0351 005245 7500 2697 005246 1617 HD9, TEXT /NO. SCANS= / 005247 5640 005250 2303 005251 0116 005252 2375 005253 4000 2698 005254 2303 HD15, TEXT /SCAN INT'L?/ 005255 0116 005256 4011 005257 1624 005260 4714 005261 7700 2699 005262 0122 TEXT /AREA=/ 005263 0501 005264 7500 2700 005265 2324 HD25, TEXT /STRIP PEAK?/ 005266 2211 005267 2040 005270 2005 005271 0113 005272 7700 2701 005273 0625 TEXT /FULL BASE?/ 005274 1414 005275 4002 005276 0123 005277 0577 005300 0000 2702 005301 0201 HD26, TEXT /BAD X PTS!^/ 005302 0440 005303 3040 005304 2024 005305 2341 005306 3600 2703 2704 005307 3631 DIHD1, TEXT /^Y RANGE & MIN:/ 005310 4022 005311 0116 005312 0705 005313 4046 005314 4015 005315 1116 005316 7200 2705 005317 1503 HDSP, TEXT /MCT(SEC)=/ 005320 2450 005321 2305 005322 0351 005323 7500 2706 /THE FOLLOWING ARE A SET OF OVERLAYS 2707 /FOR FLOATING POINT PKGS. #1,2, & 4 2708 /WHICH ALLOWS INPUT FROM THE HIGH 2709 /OR LOW SPEED READERS. SET IOSWT=1 TO USE 2710 /THE HIGH SPEED READER OR PUNCH. 2711 /HERE ALSO IS AN OVERLAY WHICH ALLOWS 2712 /BLANKS TO FOLLOW A + OR - SIGN ON INPUT. 2713 /PLUS SIGNS ARE DELETED FROM OUTPUT. 2714 2715 *54 2716 000054 0000 IOSWT, 0 2717 000055 0000 0 2718 2719 *6146 2720 006146 4750 JMS I .+2 2721 006147 5351 JMP .+2 2722 006150 0610 SELECT 2723 2724 *6345 2725 006345 0000 INPUT, 0 /THIS IS THE INPUT OVERLAY 2726 006346 1054 TAD IOSWT /CHECK I/O SWITCH 2727 006347 7110 CLL RAR 2728 006350 7630 SZL CLA /SETS LINK FOR HI SPD RDR. 2729 006351 5354 JMP .+3 /USE HI SPD RDR. 2730 006352 4424 RDTTY 2731 006353 7410 SKP 2732 006354 4773 CALL HSRI 2733 006355 3053 CHECK, DCA 53 2734 006356 1053 TAD 53 2735 006357 7450 SNA 2736 006360 5346 JMP INPUT+1 2737 006361 1375 TAD MRBOUT 2738 006362 7640 SZA CLA 2739 006363 5367 JMP GOOD 2740 006364 1374 TAD XCPT /PRINT '!' IF RUBOUT. 2741 006365 4771 CALL OUTPT /NO 2742 006366 5772 JMP I RESTRT 2743 006367 1053 GOOD, TAD 53 2744 006370 5745 JMP I INPUT 2745 006371 0610 OUTPT, SELECT 2746 006372 6201 RESTRT, 6201 2747 006373 1573 HSRI, HSR 2748 006374 0241 XCPT, 241 2749 006375 7401 MRBOUT, -377 2750 *7242 2751 007242 0600 READER 2752 *7245 2753 007245 2200 INTFLT 2754 007246 1734 HEDER2 2755 $ AC0 0040 unreferenced AC1 0041 AC2 0042 unreferenced ADCL 6530 unreferenced ADCON 0037 ADCONV 1125 ADDMX 1552 ADDTWO 3132 ADDUP 4222 ADINX 0067 ADLE 6536 unreferenced ADLM 6531 ADRB 6533 ADRS 6537 unreferenced ADSE 6535 unreferenced ADSK 6534 ADST 6532 AGO 4005 ANINPT 4000 AS260 0537 ASK 4432 ASKER 1066 ASKIO 1427 AUTO 0013 AUTO2 0014 AVDON 4266 AVSUM 0114 AX1 7406 AX2 0000 AX3 0372 AXL 7014 AXR 1750 AY1 7406 AY2 0000 AY3 0372 AYL 7014 AYR 1750 BAD 0533 BEGDIS 0222 BLOCK 0140 BUF1 7777 C200 1212 CAF 6007 CALBRT 1000 CALL 14400 CALSET 4153 CCLDR 1117 CDISPL 2075 CHECK 6355 unreferenced CHLOP 2044 CHTAB 2076 CLAB 6133 CLBA 6136 unreferenced CLCA 6137 unreferenced CLDE 6132 CLEN 6134 unreferenced CLKSET 0064 CLPT 4152 CLRR 3540 CLSA 6135 CLSK 6131 CLSTRT 1004 CLTM 0142 CLZE 6130 CMPINT 3466 CNTR 0126 COLON 0544 COPY 2204 CORTAB 0662 COTAG 3107 CRLFD 4427 CRSAM 3600 CRTLFD 0027 CSET 1721 CUR1 4144 CURLS 4134 CURSET 3510 CURSR 3142 CYCTM 4164 DADP 0060 DATYP 1307 DBSO 7000 unreferenced DCT 3356 DCTAB 2100 DERIV 3632 DICD 6051 unreferenced DIHD1 5307 DILC 6050 unreferenced DILE 6056 DILX 6053 DILY 6054 DIRE 6057 unreferenced DISD 6052 unreferenced DISM2 0066 DISMOV 0035 DISPLA 5466 DISPTS 3326 DIVD 4274 DIXY 6055 DLATM 0143 DLBUF 4000 DNE 1423 DNORM 7265 DNPEN 1153 DONE 0361 DP 0057 DPTR 3357 DRLOP1 3644 DRLOP2 3672 DSPIT 4463 DSPTS 0320 DTEM 0554 EFLG 0056 ENDCHK 4476 ENTR 4407 EQUAL 0543 ERRD 3253 ERRQ 2070 ERRX 2535 ESRNMR 4133 EW 0044 EXPFC 0115 EXTRAP 3360 EXTRP 3306 FADD 11000 FDIV 14000 FEXT 0000 FGET 15000 FIVE 0116 FIXER 0021 FIXR 0323 FIXR1 0337 FIXT 4421 FK3 0106 FLDW 0057 unreferenced FLIN 0607 FLOAT 4420 FLOATR 2544 FLOT 0014 FLOTER 0020 FLOUT 4406 FLTCM 3171 FLX 4530 FLY 1367 FMPY 13000 FNISH 0523 FNOR 7000 FNTOT 3422 FOTCM 0063 FOUTCM 4463 FOUTX 0763 FPIN 6200 FPNORM 2556 FPNT 7400 FPOUT 1400 FPUT 16000 FSUB 12000 FTEM1 0142 FTEM2 0145 FUGCY 4167 GETNO 4422 GOOD 6367 GOSUM 4215 GOTIT 0431 GSCAN 1615 GTCHR 0476 GTZR 1240 HALF 0117 HD1 5131 HD15 5254 HD2 5153 HD25 5265 HD26 5301 HD3 5171 HD4 5177 HD5 5206 HD6 5217 HD7 5226 HD8 5233 HD9 5246 HDIO 1440 HDRP 4561 HDSP 5317 HEADR1 0030 HEADR2 0031 HEDER1 1724 HEDER2 1734 HEDIT 0015 HEDIT1 4430 HEDIT2 4431 HIORD 0141 HNDRD 1161 HOLD 0023 HSR 1573 HSRI 6373 HUNDRD 0071 HW 0045 INCR 1474 INIPK 5004 INIT 0025 INITAR 4425 INITIZ 3610 INL1 4621 INPSW 0052 INPUT 6345 INSTRK 1007 INTEG 3400 INTFLT 2200 INTRP 0321 INVAL 2040 IOASK 0036 IOSWT 0054 ISDIG 1245 ISHRT 4512 K100 1124 K1000 0124 K14 4513 K5400 1123 K7000 1122 KIE 6035 KMIN 0156 KMNT 0157 KOMA 3176 LEADER 1200 LEDER 1426 LNCTR 0127 LNUM 1211 LOKIN 0634 LOOK 4317 LOOKER 4400 LOOP4 1453 LOOP6 1410 LOOP9 3044 LOOPIT 4436 LOORD 0145 LOW 1472 LRG 0353 LSCHR 0552 LSLOC 0551 LW 0046 M13 0363 M261 2072 M272 2073 M300 2071 M36 1770 M76LOK 2354 M76T1 2351 M76T2 2353 M76TF1 2336 MALT 0322 MARKER 0631 MARKR 1064 MASS 2223 MASS1 2417 MASS2 2277 MASS20 2326 MASS3 2261 MASS4 2322 MASS5 2312 MASS6 2274 unreferenced MASS7 2334 MASS8 2434 MASSA1 2262 unreferenced MASSA2 2263 MASSA3 2264 MASSA4 2446 MASSA5 2447 unreferenced MASSA6 2500 MASSA7 2501 MASSA8 2502 MASSA9 2525 MAX 0136 MCHAN 0113 MCTR 0130 MD 4514 MDCR 0574 MDLF 0575 MEM 1061 MEN 0545 MES 0546 MGEE 1060 MIN 0135 MIN1 0762 unreferenced MIN6 3106 MK5 4773 MLIM 3607 MM 4515 MN7 0541 MNN5 3105 MNT 0154 MODCR 0565 MODE 0137 MODTTI 0555 MOH 1062 MORE 4430 MPE 4517 MRBOUT 6375 MRBT 0540 MRRED 2031 MS 4516 MSEE 0536 MSFN 2531 MULP 4544 MXT 0155 MZAP 2156 unreferenced NCNTR 0550 NCY 4172 NEG4 0122 NEGATE 0010 NEWY 3035 NLIN 1425 NLOC 0425 NMCHK 2056 NO 1057 NPR 1736 NPTS 0070 NULINE 1406 NXPT 3334 OCTIN 0472 OCTOUT 0452 OFFSET 0077 OLDX 1722 OLDY 1723 OLP1 4672 OLP2 4702 OLP3 4720 OLP4 4722 ORGN 1050 OUT 0026 OUTCHR 0630 OUTPT 6371 OUTPUT 0012 P13 2557 P236 1767 P27 0111 P336 1766 P6 3104 P7M0 0542 PCE 6020 unreferenced PCTR 0125 PENDN 0034 PENUP 0033 PICPK 4377 PK10 4772 PK15 4132 PK7 4774 PKPIC 5000 PL13 3103 PLEXT 1714 PLS5 3714 PLTINC 1600 PLTINT 1335 PLTLOP 1342 PLTMOV 1364 PLTMV 0661 PLTXIT 1065 PNTPLT 1363 PRTT 1763 PS1 0150 PS2 0151 PS7600 2600 PS8X 3745 PS8XJ 2077 PT1 3432 PT2 3445 PTINT 3512 PTPLT 1063 PU 0001 PX 4000 PY 2000 QUERY 0032 QUES 1055 QUEST 0547 RDTTY 4424 RDY 3525 READ 0011 READER 0600 READXY 0022 REMOV 3277 REP1 4600 REPRT 4334 RESET 1134 RESTRT 6372 RM77 0123 RUBIT 2074 RUN 0112 S1C 0152 S2C 0153 SCALY 1500 SCANIT 1667 SCANY 1445 SCASM 3550 SCLRT 4323 SCNCY 4175 SCPINT 0230 SCPLOP 0261 SELECT 0610 SERL2 5047 SERLP 5015 SERND 5101 SERVIS 2000 SET 1121 SET1 7301 SET2 7305 SET3 7325 SET4 7307 SET6 7327 SETCLK 3147 SETIT 0457 SETLY 3511 SETM2 7344 SETM3 7346 SETSTR 3200 SHF 3715 SHRGT 4320 SKL 1532 SMOT11 3025 SPCIN 2212 SPINIT 3014 SQEEZE 3716 SQLP 3732 SQROOT 0002 unreferenced SQUARE 0001 unreferenced STALL 1103 START 0203 STAVR 4200 STLOOP 4407 STPEK 5112 STRBS 3271 STRIPR 3256 STRPK 3264 STRTIT 0400 STYN 0240 SUBTRT 2213 SWAPBL 3000 SWL1 4603 SWLOOP 3003 TELRED 0024 TEM2 0133 TEM3 0134 TEMFP 0150 TEMP 0131 TEMP1 0132 TMCTR 0147 TMXP 0146 unreferenced TPNT 3307 TTOUT 0622 TXSM 0104 TYPCH 1747 UPPEN 1146 VALU 0553 XCPT 6374 XDIS 0101 XFLIP 4520 XIND 0010 XLIM 0072 XMAX 1040 XMIN 0153 XNC 0102 XRNG 0074 XSCLFC 0161 XSET 0065 XSETUP 1213 XYSCAL 1266 YDIS 0100 YES 1056 YFLIP 1365 YIND 0011 YLIM 0073 YMAX 1044 YMIN 0156 YONE 0076 YRNG 0075 YSCAN 5111 YSCLFC 0164 YSCVAL 1551 YSTEP 3313 YSVAL 1324 ZIND 0012