100 XLIST OFF > 110 IFNZRO EAESET < 120 XLIST ON 130 SHL; 2 /*4 140 XLIST OFF > > 150 XLIST ON 160 DAD; TIMTMP /ADD ON FRACTIONAL CORRECTION 170 DST; LO /SAVE IN PRINT BUFFER 180 ISZ PONTSW /TURN ON 1/10 FLAG 190 JMS I [PRINTD] /PRINT IT OUT 200 JMP I TIMPRT /RETURN 210 220 GETVAL, .-. /GET A VALUE ROUTINE 230 XLIST OFF 240 IFZERO EAESET < 250 XLIST ON 260 ASR; 14-1 /MAKE PASSED VALUE DOUBLE-PRECISION 270 XLIST OFF > 280 IFNZRO EAESET < 290 XLIST ON 300 ASR; 14 /MAKE PASSED VALUE DOUBLE-PRECISION 310 XLIST OFF > 320 XLIST ON 330 DAD; CURPTR /CALCULATE DESIRED POINT 340 DST; TIMTMP /STASH IT 350 LOAD; TIMTMP /GET THE VALUE 360 XLIST OFF 370 IFNZRO CHAN < 380 IFZERO EAESET < 390 XLIST ON 400 SHL; 5-1 /SHIFT IT UP 410 ASR; 5-1 /SHIFT IT BACK 420 XLIST OFF > 430 IFNZRO EAESET < 440 XLIST ON 450 SHL; 5 /SHIFT IT UP 460 ASR; 5 /SHIFT IT BACK 470 XLIST OFF > > 480 IFZERO CHAN < 490 IFZERO EAESET < 500 XLIST ON 510 SHL; 2-1 /SHIFT IT UP 520 ASR; 2-1 /SHIFT IT BACK 530 XLIST OFF > 540 IFNZRO EAESET < 550 XLIST ON 560 SHL; 2 /SHIFT IT UP 570 ASR; 2 /SHIFT IT BACK 580 XLIST OFF > > 590 XLIST ON 600 JMP I GETVAL /RETURN 610 620 TIMTMP, ZBLOCK 2 /TIMPRT TEMPORARY 630 EJECT 640 FIND1, .-. /FIND ONE SPIKE ROUTINE 650 JMP FNDBMP /GOTO NEXT 660 670 XLIST OFF 680 IFNZRO CHAN < 690 XLIST ON 700 FNDLUP, LOAD; CURPTR /GET NEXT CURRENT X VALUE 710 XLIST OFF > 720 IFZERO CHAN < 730 XLIST ON 740 FNDLUP, DLD; CURPTR /GET CURRENT POINTER 750 DAD; L2 /POINT TO SPIKE WORD 760 DST; FNDTMP /STASH IT 770 LOAD; FNDTMP /GET NEXT SPIKE WORD 780 XLIST OFF > 790 XLIST ON 800 SPA CLA /FIRING? 810 JMP I FIND1 /YES, RETURN 820 FNDBMP, DLD; CURPTR /NO, GET POINTER 830 XLIST OFF 840 IFNZRO CHAN < 850 XLIST ON 860 DAD; L2 /UPDATE 870 XLIST OFF > 880 IFZERO CHAN < 890 XLIST ON 900 DAD; L4 /UPDATE 910 XLIST OFF > 920 XLIST ON 930 DST; CURPTR /STORE IT BACK 940 JMP FNDLUP /TRY AGAIN 950 960 FNDTMP, ZBLOCK 2 /TEMPORARY 970 980 PAGE 990 EJECT 1000 EVLPRT, .-. /EVALUATING PRINT ROUTINE 1010 XLIST OFF 1020 IFNZRO CHAN < 1030 IFZERO EAESET < 1040 XLIST ON 1050 SHL; 5-1 /SHIFT IT UP 1060 ASR; 5-1 /SHIFT IT DOWN 1070 XLIST OFF > 1080 IFNZRO EAESET < 1090 XLIST ON 1100 SHL; 5 /SHIFT IT UP 1110 ASR; 5 /SHIFT IT DOWN 1120 XLIST OFF > > 1130 IFZERO CHAN < 1140 IFZERO EAESET < 1150 XLIST ON 1160 SHL; 2-1 /SHIFT IT UP 1170 ASR; 2-1 /SHIFT IT DOWN 1180 XLIST OFF > 1190 IFNZRO EAESET < 1200 XLIST ON 1210 SHL; 2 /SHIFT IT UP 1220 ASR; 2 /SHIFT IT DOWN 1230 XLIST OFF > > 1240 XLIST ON 1250 MQL /SAVE IT 1260 MQA /GET IT BACK 1270 SMA CLA /SKIP IF MINUS 1280 JMP .+3 /JUMP IF POSITIVE 1290 TAD [55] /PRINT 1300 JMS I [P6CH] /A MINUS 1310 MQA /GET NUMBER BACK 1320 SPA /ABSOLUTE 1330 CIA /VALUE 1340 JMS I [PRTVAL] /GO PRINT IT 1350 JMS TABPRT /PRINT A 1360 JMP I EVLPRT /RETURN 1370 1380 TABPRT, .-. /PRINT A ROUTINE 1390 TAD [37] /GET A 1400 JMS I [P6CH] /PRINT IT 1410 JMP I TABPRT /RETURN 1420 1430 PRTVAL, .-. /PRINT A VALUE ROUTINE 1440 DCA LO /SAVE IN PRINT BUFFER 1450 JMS I [PRINTD] /GO PRINT IT 1460 JMP I PRTVAL /RETURN 1470 EJECT 1480 LOCATE, .-. /USEFUL POINT LOCATOR 1490 JMP LOCNEXT /GO GET NEXT POINT 1500 1510 XLIST OFF 1520 IFNZRO CHAN < 1530 XLIST ON 1540 LCNEXT, DLD; CURPTR /GET LATEST X POINTER 1550 DAD; L1 /BUMP TO Y POINTER 1560 DST; LCTEMP /STASH IT 1570 LOAD; LCTEMP /GET A Y WORD 1580 XLIST OFF > 1590 IFZERO CHAN < 1600 XLIST ON 1610 LCNEXT, DLD; CURPTR /GET X POINTER 1620 DAD; L1 /BUMP TO Y POINTER 1630 DST; LCTEMP /STASH IT 1640 LOAD; CURPTR /GET X WORD 1650 AND [6000] /JUST BEGIN AND BLINK BITS 1660 DCA CURX /SAVE THEM 1670 LOAD; LCTEMP /GET Y WORD 1680 AND [6000] /JUST END AND MAXIMUM VELOCITY BITS