100 C P?S/8 FOCAL VELOCITY, ETC. PLOTTING PROGRAM. 110 120 C LAST EDIT: 29-JAN-1990 03:00:00 CJL 130 140 C PROGRAM PRODUCES VELOCITY PLOT, ETC. ON HDS 3200-30 GRAPHICS DISPLAY 150 C TERMINAL OPERATING IN TEKTRONIX 4010 MODE. 160 170 C MUST BE USED WITH GRIND FILES OBTAINED BY SETTING 'CHAN=0' IN CURRENT 180 C GRIND PROGRAM. 190 200 C USAGE: .R FOCAL,8PATCH,HPATCH,HVPLT1...,PARAM,DATAFILES...,ZAP/N 210 220 C 8PATCH IS THE STANDARD 8K FOCAL PATCH. 230 240 C HPATCH IS THE STANDARD HDS 3200-30 FOCAL PATCH. 250 260 C HVPLT1... IS THE COLLECTION OF FILES STARTING WITH THIS FILE WHICH 270 C ENCOMPASS THE MAIN PROGRAM. 280 290 C PARAM IS THE FILE CONTAINING *ONLY* THE STARTING AND DISPLAY TIMES, 300 C FOLLOWED BY A COUNT OF TIME INTERVAL PAIRS. THIS VALUE MUST BE EITHER 310 C ZERO OR THE COUNT OF SELECTED INTERVAL STARTING AND ENDING TIMES 320 C FOLLOWED BY THE ACTUAL PAIRED STARTING AND ENDING INTERVAL TIMES. THE 330 C COUNT MUST ACCURATELY REFLECT THE ACTUAL PAIRS OF TIMES. ONLY TIME 340 C INTERVALS WHOLELY EXISTING WITHIN THE DISPLAYED INTERVAL WILL BE 350 C PROCESSED. ATTEMPTS TO EMBELLISH THIS FILE OR PASS INCORRECT 360 C INFORMATION WILL MAKE THE PROGRAM FAIL! 370 380 C DATAFILES IS THE COLLECTION OF FILES OBTAINED FROM THE GRIND PROGRAM. 390 400 C ZAP IS A SENTINEL FILE CONTAINING NOTHING BUT THE WORD "ZAP" TO 410 C TERMINATE THE DATA. 420 430 C ERASE ALL VARIABLES. 440 1.01 ERASE 450 C SETUP X-COORDINATE SCALING FACTORS. 460 1.02 SET XS=1.0; SET XO=0.0 470 C SETUP Y-COORDINATE SCALING FACTORS. 480 1.03 SET YS=3184/4096; SET YO=-456 490 C SETUP TIME BASE LINE Y-COORDINATE. 500 1.04 SET TY=-1900 510 C SETUP EYE POSITION BASE LINE Y-COORDINATE. 520 1.05 SET XY=1390 530 C SETUP HEAD POSITION BASE LINE Y-COORDINATE. 540 1.06 SET YY=74 550 C SETUP EYE VELOCITY BASE LINE Y-COORDINATE. 560 1.07 SET VY=-1242 570 C SETUP AVERAGE VELOCITY PROPORTIONALITY CONSTANT HERE. 580 1.08 SET GA=1.0 590 C OUTPUT MAJOR X-AXES. 600 1.1 SET Y=XY; DO 15 610 1.11 SET Y=YY; DO 15 620 1.12 SET Y=VY; DO 15 630 1.13 SET Y=TY; DO 15 640 1.14 SET Y=2047; DO 15 650 C OUTPUT MINOR AXIS. 660 1.2 SET Y=732; FOR X=-2048,64,2047;DO 8 670 C OUTPUT MINOR AXIS. 680 1.3 SET Y=-584; FOR X=-2048,64,2047;DO 8 690 C OBTAIN STARTING TIME. 700 1.4 ASK ST 710 C OBTAIN DISPLAY (RUNNING) TIME. 720 1.5 ASK RT 730 C CALCULATE AND DRAW TIME LINE LABELS. 740 1.6 DO 7 750 C INDICATE NO YET; INITIALIZE MOVEMENT COUNT; SETUP TIMER. 760 1.7 SET EF=0; SET MC=0; SET TI=0 770 C INDICATE NO FIRST MOVEMENT YET. 780 1.71 SET IM=-1 790 C SETUP INITIAL VECTOR ADDRESSES. 800 1.8 SET X=-2048;DO 13; SET OT=X 810 1.81 SET Y=XY; DO 14; SET OX=Y 820 1.82 SET Y=YY; DO 14; SET OY=Y 830 1.83 SET Y=VY; DO 14; SET OV=Y 840 C SETUP SELECTED TIME PAIRS. 850 1.9 DO 16 860 C ATTEMPT TO GET A MOVEMENT. 870 2.1 DO 30; IF (EF) 5.1 880 C TEST IF MOVEMENT TOO EARLY OR TOO LATE. 890 2.2 IF (TI-ST) 2.1; IF (IM) 2.21; IF ((ST+RT)-TI) 4.2; GOTO 2.3 900 2.21 SET IM=MC 910 C CALCULATE LATEST TIME COORDINATES. 920 2.3 SET X=((TI-(MT/1000)-ST)*4096/RT)-2048; DO 13; SET BT=X 930 2.31 SET X=((TI-ST)*4096/RT)-2048; DO 13 940 C OUTPUT X VECTORS. 950 2.4 SET D=FDIS(OT,OX,3) 960 2.41 SET Y=BX*(1316/1024)+XY; DO 14; SET D=FDIS(BT,Y,4) 970 2.42 SET Y=EX*(1316/1024)+XY; DO 14 SET D=FDIS(X,Y,4); SET OX=Y 980 C OUTPUT Y VECTOR. 990 2.5 SET D=FDIS(OT,OY,3) 1000 2.51 SET Y=EY*(1316/1024)+YY; DO 14; SET D=FDIS(X,Y,4); SET OY=Y 1010 C CALCULATE LATEST SLOW-PHASE AVERAGE VELOCITY. 1020 2.6 SET SV=(BX-OE)/PT 1030 C OUTPUT VELOCITY VECTOR. 1040 2.7 SET D=FDIS(OT,OV,3) 1050 2.71 SET Y=(SV*(1316/1280)*1024)+VY; DO 14; SET D=FDIS(X,Y,4); SET OV=Y 1060 C CHECK IF NO SELECTED TIME PAIRS OR WE'RE BEFORE THE LATEST SELECTED BEGINNING.