*20 LMODE *20 /STEP1: BEGINS WITH SW 5 DOWN. DISPLAYS /CENTER PATTERN FOR CENTER ALIGNMENT /AND ZEROING ON RIGHT-EYE CHANNEL. /CENTER ADJUSTED WITH KNOBS 0(H) & 4(V) /SW 5 UP WHEN ZEROED STEP1, CLR ESF /HALF-SIZE SNS I 5 JMP .-1 L1, JMP CLOCK /MSEC CLOCK SUBR /SECTION DISPLAYS CENTER PATTERN SAM 0 STC 1 SAM 4 DSC FIXPAT DSC FIXPAT+2 JMP DELAY /REFRESH TIMING SNS 5 /DONE WHEN UP JMP L1 SAM 0 BCL I 7000 /SAVE + X0 STC X0 SAM 4 STC Y /SAVE Y COORD. /STEP2: RECORD TABLE OF VOLTAGE VALUES /OVER 11 ELEMENT DISPLAY PATTERN. VOLTS /SAVED (L-R) IN HVOLTS ON UP /VOLTAGE VIA A-D CHANNEL 10 /CHANNEL SAMPLED (AND NEW POINT DISPLAY) /EVERY 2 SECONDS. BEGINS WITH SW 4 UP STEP2, SNS 4 JMP .-1 SET I 10 HVOLTS-1 /AD-1 TABLE SET I 11 -13 /11 POINTS LDA I DPOINT, 50 /SPACING MUL I 5 COM ADD X0 STA I XLEFT, 0 /LEFTMOST H.C. POINT, STC X SET I 12 MTREAD, -310 /2 SEC./POINT JMP CLOCK /SECTION SHOWS "X" AT (X,Y) SET I 1 X, 0 /FILLED LDA I Y, 0 /FILLED DSC FIXPAT DSC FIXPAT+2 JMP DELAY XSK I 12 /ANOTHER REFRESH JMP MTREAD+1 /DISPLAY OF POINT OVER: READ CHANNEL /AND STORE IT IN TABLE SAM 10 STA I 10 XSK I 11 /ANOTHER POINT? SKP /YES JMP PRINT /NO:PRINT VALUES LDA X ADD DPOINT /H.C. NEXT POINT JMP POINT /SECTION PRINTS OUT 11 VALUES (L-R) /AS SIGNED 3-DIGIT OCTAL INTEGERS PRINT, SET I 10 HVOLTS-1 SET I 11 -13 LDA I C212, 212 JMP TYPE LDA I C215, 215 JMP TYPE /CR,LF LDA I C240, 240 JMP TYPE /" " LDA I 10 /NEXT VALUE APO I /PRINT "+"OR"-" JMP C255+2 COM STC N /SAVE ABS.VAL. LDA I C255, 255 /PRINT "-" JMP C253+1 STC N LDA I C253, 253 /"+" JMP TYPE LDA I N, 0 SCR 6 ADA I C260, 260 JMP TYPE /1ST DIGIT LDA N ROR 3 BCL I 7770 ADD C260 JMP TYPE /2ND DIGIT LDA N BCL I 7770 ADD C260 JMP TYPE /3RD DIGIT XSK I 11 /ANOTHER VALUE? JMP C240-1 /STEP 3: RUNS WHILE SW 3 UP. SHOWS /FIXATION PATTERNS AND BAR AT ESTIMATED /POINT OF FIXATION. USES CRUDE TABLE /LOOKUP TO ESTIMATE POINT EVERY 200 MSEC /IF LEFT OF LEFTMOST POINT, PUTS IT /AT LEFTMOST POINT (AND SAME FOR RIGHT) STEP3, SNS 3 JMP .-1 SAM 10 STC HFIX /OBS. VOLTS ADD HVOLTS /LEFTMOST VALUE COM ADD HFIX APO I JMP LEFT /AT LEFTMOST ADD HVOLTS /RESTORE HFIX COM ADD HVOLTS+12 /RIGHTMOST VALUE APO I JMP RIGHT /AT RIGHTMOST /NOT AN EXTREME VALUE: FIND PAIR OF /POINT-VALUES BETWEEN WHICH HFIX LIES SET I 10 HVOLTS LOOP, LDA I 10 /NEXT POINT-VALU COM ADA I HFIX, 0 APO JMP LOOP /RIGHT OF CUR.PT /BETWEEN CURRENT POINT-VALUE AND /PRECEDING (TO LEFT) POINT-VALUE /INTERPOLATE TO NEAREST QUARTER VALUE LDA 10 ADA I -1 STC 7 /AD PRECEDING PT ADA 10 COM ADA 7 /=1/4 VOLT SPAN ADA I 2 /BETWEEN POINTS SCR 2 COM STC HQUART /SAVE -1/4 SPAN LDA I -HVOLTS ADD 7 /POINTS FROM LEF MUL DPOINT ADA /H.C.OF POINT X0, 0 /PRECEDING HFIX STC XFIX LOOP2, ADD HFIX COM ADA 7 ADA I HQUART, 0 APO I SKP /STILL NOT THERE JMP SPOT /HAVE NEAREST STC N ADD XFIX ADA I C12, 12 /QUARTER SPACING STC XFIX ADD N JMP HQUART-1 /TRY NEXT QUARTE /IF HERE, PUT XFIX AT LEFTMOST POINT LEFT, LDA XLEFT STC XFIX JMP SPOT /IF HERE, PUT XFIX AT RIGHTMOST POINT RIGHT, LDA DPOINT MUL I 5 ADD X0 STC XFIX SPOT, LDA I -14 /CENTER BAR ADD XFIX /AT XFIX STC XFIX /NOW DISPLAY BAR AND 11 "X"S ONCE EVERY /10 MSECS FOR 200 MSECS, THEN RESAMPLE SET I 13 DTFIX, -24 /20 10-MSEC CYCS SHOW, JMP CLOCK SET I 1 XFIX, 0 LDA Y SET I 11 -7 /SHOW BAR DSC I 7777 XSK I 11 JMP .-3 SET 1 XLEFT SET I 11 -13 /11 POINTS DSC I FIXPAT, 1463 DSC I 6314 LDA 1 ADA I DX, 40 /DPOINT-10 STC 1 /H.C. NEXT POINT ADD Y XSK I 11 /ANOTHER POINT? JMP FIXPAT-1 /DONE WITH DISPLAY. WAIT FOR 10 MSEC /TIMEOUT, THEN REPEAT UP TO 200 MSECS JMP DELAY XSK I 13 /ANOTHER CYCLE? JMP SHOW /ANOTHER CYCLE JMP STEP3 /NEXT SAMPLE / /END OF MAINLINE PROGRAM / /SUBR STARTS MSEC CLOCK CLOCK, PDP PMODE CLA CLLR TAD C2100 CLLR CLA LINC LMODE JMP / /SUBR WAITS FOR 10-MSEC TIMEOUT DELAY, PDP PMODE CLCA TAD MWAIT SPA CLA JMP .-3 CLLR LINC LMODE JMP / PMODE C2100, 2100 MWAIT, -12 LMODE / /SUBR TYPES OUT AC TYPE, PDP PMODE TLS TSF JMP .-1 LINC LMODE JMP / /STORAGE TABLE FOR 11 VOLTAGE VALUES HVOLTS, 0 0 0 0 0 0 0 0 0 0 0