File HORBAR

Directory of image this file is from
This file as a plain text file

*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



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search