100 SCANOUT /**** X FOUND **** JMP TRAILY 110 COMPARE /COMPARE X 120 DFF3 /TO THIS 130 SKP /SKIP IF NOW BELOW THRESHOLD 140 LJMPY, JMP TRAILY /ABOVE THRESHOLD, TRY A Y 150 TAD LJMPY /SETUP 160 DCA TRAILX+2 /BYPASS 170 JMS I [TEST] /FIND OUT IF WE'RE FIRST 180 TRAILY, NEXTY; PTR /INCREMENT TO NEXT Y 190 SCANOUT /**** Y FOUND **** JMP TRAILX 200 COMPARE /COMPARE Y 210 DFF4 /TO THIS 220 SKP /SKIP IF NOW BELOW THRESHOLD 230 LJMPX, JMP TRAILX /ABOVE, TRY X VALUE 240 TAD LJMPX /SETUP 250 DCA TRAILY+2 /BYPASS 260 JMS I [TEST] /FIND OUT IF WE'RE FIRST 270 JMP TRAILX /WE ARE, GO FINISH UP X 280 EJECT 290 TRAILMK,MARK /MARK END POINT 300 TAD [-500] /SET UP FOR SLOWER TIME (X2) 310 DCA BLNKCT /BLINK TIME LIMIT 320 JMS I [BLINKCHK] /GO CHECK BLINKS 330 TAD [SCANOUT] /\ 340 DCA TRAILX+2 / \REMOVE ALL 350 TAD [SCANOUT] / /BYPASS CODE 360 DCA TRAILY+2 // 370 DLD; EPTR /LOAD END ADDRESS 380 DCM /COMPLEMENT 390 DAD; BPTR /ADD ON BEGIN ADDRESS 400 SMA /NEGATIVE? 410 DCM /NO, MAKE IT SO 420 DAD; TIMDIF /ADD ON TIME DIFFERENCE THRESHOLD 430 SMA CLA /IS IT A SLOW PHASE? 440 JMP LEADX /NO, GO DO NEXT 450 XLIST OFF 460 IFZERO CHAN < 470 XLIST ON 480 DLD; BPTR /GET BEGIN ADDRESS 490 DAD; DP2 /BUMP TO ITS MODEM WORD 500 DST; TMPTR3 /STASH IT 510 LOAD; TMPTR3 /GET THE MODEM WORD 520 CLL RAL /MOVE UP 530 STL RAR /SET SLOW-PHASE BIT 540 STORE; TMPTR3 /STORE IT BACK 550 DLD; EPTR /GET END ADDRESS 560 DAD; DP2 /BUMP TO ITS MODEM WORD 570 DST; TMPTR3 /STASH IT 580 LOAD; TMPTR3 /GET THE MODEM WORD 590 CLL RAL /MOVE UP 600 STL RAR /SET SLOW-PHASE BIT 610 STORE; TMPTR3 /STORE IT BACK 620 XLIST OFF > 630 IFNZRO CHAN < 640 XLIST ON 650 LOAD; BPTR /GET BEGIN Y WORD 660 CLL RAL /MOVE UP 670 STL RAR /SET SLOW-PHASE BIT 680 STORE; BPTR /STORE IT BACK 690 LOAD; EPTR /GET END Y WORD 700 CLL RAL /MOVE UP 710 STL RAR /SET SLOW-PHASE BIT 720 STORE; EPTR /STORE IT BACK 730 XLIST OFF > 740 XLIST ON 750 JMP LEADX /GO DO IT ALL OVER AGAIN 760 EJECT 770 PAGE 780 790 TEST, .-. /TEST FOR OTHER ROUTINE 800 ISZ TAS /WAS IT SET? 810 SKP /SKIP IF NO 820 JMP I [TRAILMK] /JUMP IF YES 830 STA /SET SWITCH 840 DCA TAS /FOR OTHER CALL 850 JMP I TEST /RETURN 860 870 DBLCOM, .-. /DOUBLE PRECISION COMPLEMENT 880 SWP /SWAP HALVES 890 CLL CIA /INVERT 900 SWP /PUT BACK 910 CMA /COMPLEMENT HIGH ORDER 920 SZL /WAS LOW ORDER ZERO? 930 IAC /YES, INCREMENT HIGH ORDER 940 JMP I DBLCOM /RETURN 950 960 DBLADD, .-. /DOUBLE PRECISION ADD 970 DCA TEMP1 /SAVE AC 980 MQA /AND 990 DCA TEMP2 /MQ 1000 TAD I DBLADD /GET ARGUMENT ADDRESS 1010 DCA TEMP3 /SAVE IT 1020 TAD I TEMP3 /GET LOW ORDER ARGUMENT 1030 DCA TEMP4 /SAVE IT 1040 ISZ TEMP3 /BUMP TO HIGH ORDER 1050 TAD I TEMP3 /GET HIGH ORDER 1060 DCA TEMP5 /SAVE CORRECTED HIGH ORDER 1070 CLL /CLEAR OVERFLOW 1080 TAD TEMP2 /ADD ON OLD LOW ORDER 1090 TAD TEMP4 /ADD ON LOW ORDER ARGUMENT 1100 MQL /BACK TO MQ 1110 ISZ DBLADD /BUMP AROUND ARGUMENT 1120 RAL /GET OVERFLOW 1130 TAD TEMP1 /ADD ON OLD AC 1140 TAD TEMP5 /AND HIGH ORDER ARGUMENT 1150 JMP I DBLADD /RETURN 1160 EJECT