100 XLIST ON 110 EXTEND= JMS I [XTEND] /SIGN EXTENSION 120 LOAD= JMS I [XLOAD] /LOAD A WORD 130 M= D-1 /MASK FOR TIME FORMULAE 140 MARK= JMS I [MARKER]/MARK A POINT ROUTINE 150 NEXTX= JMS I [XNEXTX]/BUMP TO NEXT X POINT 160 NEXTY= JMS I [XNEXTY]/BUMP TO NEXT Y POINT 170 NL0002= CLA CLL CML RTL /LOAD AC WITH 0002 180 NL0004= CLA CLL IAC RTL /LOAD AC WITH 0004 190 NL3777= CLA CLL CMA RAR /LOAD AC WITH 3777 200 NL7776= CLA CLL CMA RAL /SET AC TO 7776 210 SCANIN= JMS I [SCAN] /SCAN IN FIRST ROUTINE 220 SCANOUT=JMS I [SCAN2] /SECOND SCAN ROUTINE 230 STORE= JMS I [XSTORE]/STORE A WORD 240 EJECT 250 *17 /DEFINE PAGE ZERO LOCATIONS 260 270 XR1, .-. /AUTO-INDEX NUMBER ONE 280 290 ADDFLAG,.-. /ADD ON OFF2 FLAG 300 ADDRESS,.-. /ADDRESS TEMPORARY 310 BEGFDG, T= FUDG1&M^12+FUDG1F%D /BEGINNING 320 FUDG1%D^12+T; 0 /RELOCATION FACTOR 330 BEPTR, ZBLOCK 2 /BLINK END POINTER 340 BLIMIT, .-. /LIMITING BLOCK NUMBER 350 BLINK1, T= BLNK1&M^12+BLNK1F%D /END OF BLINK 360 BLNK1%D^12+T; 0 /UP TO DOWN TIME 370 BLINK2, T= BLNK2&M^12+BLNK2F%D /DEFINITE END 380 BLNK2%D^12+T; 0 /OF BLINK TIME 390 BLINK3, BLNK3 /BLINK BEGIN THRESHOLD 400 BLINK4, BLNK4 /BLINK END THRESHOLD 410 BLKDF1, BLDIF1 /BLINK VERTICAL BEGIN THRESHOLD 420 BLKDF2, BLDIF2 /BLINK VERTICAL END THRESHOLD 430 BLNKCT, .-. /BLINK LIMITING COUNT 440 BLUPDAT,T= UPDAT&M^12+UPDATF%D /BLINK 450 UPDAT%D^12+T; 0 /UPDATE FACTOR 460 BPTR, ZBLOCK 2 /BEGIN POINTER 470 BUFF1, .-. /TEMPORARY 480 BUFF2, .-. /TEMPORARY 490 DFF1, DIFF1 /HORIZONTAL BEGIN THRESHOLD 500 DFF2, DIFF2 /VERTICAL BEGIN THRESHOLD 510 DFF3, DIFF3 /HORIZONTAL END THRESHOLD 520 DFF4, DIFF4 /VERTICAL END THRESHOLD 530 DPM1, -1; -1 /7777 7777 540 DP2, 2; 0 /0000 0002 550 ENDFDG, T= FUDG2&M^12+FUDG2F%D /ENDING 560 FUDG2%D^12+T; 0 /RELOCATION FACTOR 570 EPTR, ZBLOCK 2 /END POINTER 580 MQSAVE, .-. /MQ SAVED HERE 590 MRKTEM, .-. /MARKER TEMPORARY 600 OFFSET, T= TIME1&M^12+TIME1F%D /MEDIAN TIME DIFFERENCE 610 O= TIME1%D^12+T;O; 0 /FOR BEGINNING 620 OFF2, T= TIME2&M^12+TIME2F%D /MEDIAN TIME 630 T= TIME2%D^12+T /DIFFERENCE 640 T-O; T-O%4000^7777 /FOR END 650 EJECT 660 PTR, 3-CHAN; 0 /SCAN POINTER 670 STORFLG,.-. /BUFFER DIRTY SWITCH 680 TAS, .-. /TEST AND SET SWITCH 690 TEMP1, .-. /TEMPORARY 700 TEMP2, .-. /TEMPORARY 710 TEMP3, .-. /TEMPORARY 720 TEMP4, .-. /TEMPORARY 730 TEMP5, .-. /TEMPORARY 740 TIMDIF, T= TIME3&M^12+TIME3F%D /BOUNDARY TIME VALUE 750 TIME3%D^12+T; 0 /FOR SLOW-PHASE 760 TMPTR1, ZBLOCK 2 /TEMPORARY 770 TMPTR2, ZBLOCK 2 /TEMPORARY 780 TMPTR3, ZBLOCK 2 /TEMPORARY 790 EJECT 800 PAGE 810 820 /MAIN-LINE FIND CODE 830 840 START, JMS I [SYSIO] /CALL I/O ROUTINES 850 A7400, 7400 /TO READ IN 860 1^100+UNIT /FIRST BLOCK 870 0 /FOR LENGTH 880 TAD I A7400 /GET THE LENGTH ITSELF 890 CIA /INVERT FOR LATER TESTING 900 DCA BLIMIT /SAVE IT 910 XLIST OFF 920 IFZERO EAESET < 930 XLIST ON 940 SWBA /BACK TO MODE A 950 0 /IN CASE 8/I 960 XLIST OFF > 970 IFNZRO EAESET < 980 XLIST ON 990 SWAB /GOTO MODE B 1000 XLIST OFF > 1010 XLIST ON 1020 LEADX, NEXTX; PTR /INCREMENT TO NEXT X 1030 SCANIN /SETUP AN X VALUE 1040 COMPARE /COMPARE X 1050 DFF1 /TO THIS 1060 JMP LEADY /BELOW THRESHOLD, TRY A Y 1070 FOUNDX, STA /FOUND BEGINNING X, 1080 MARK /GO MARK IT 1090 JMP TRAILX /SEARCH FOR AN END POINT 1100 1110 LEADY, NEXTY; PTR /INCREMENT TO NEXT Y 1120 SCANIN /GO SETUP A Y VALUE 1130 COMPARE /COMPARE Y 1140 DFF2 /TO THIS 1150 JMP LEADX /BELOW THRESHOLD, GO TRY AN X 1160 FOUNDY, STA /FOUND BEGINNING Y, 1170 MARK /GO MARK IT 1180 TRAILX, NEXTX; PTR /INCREMENT TO NEXT X