File DATA12

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


/"SUPER" DATA MANIPULATION AND
/        OSCILLOSCOPE PROGRAM
/
/
QAINIT=1000
QARFSH=1053
ANSWER=2340    	/SEGMENT 3
OPR=0500
KRB=6036
M11=13
M44=14
/
SEGMNT 2
/
*13
/
	-11
	-44
	0
	0
	0
	NOP     	/READ Q & A INTO
	NOP	    	/QTRS 2 AND 3
	JMP RESET
	JMP ORIG
DSPLAY, SET I 2
	0777
	SET I 3
	3377
	LDA I 3
	DIS I 2 	/DISPLAY AT EVERY OTHER SCOPE
	XSK I 2 	/ADDRESS
	JMP DSPLAY+4
	KST I		/TTY KEY BEEN STRUCK?
	JMP KEYBRD	/YES;
	SNS 5   	/DISPLAY A ZERO REFERENCE?
	JMP BASELN
	SNS 4   	/DISPLAY THE CURSOR?
/SCOP12 FOR THE PDP-12
/DATA MANIPULATION AND OSCILLOSCOPE PROGRAM
/COPYRIGHT FEBRUARY 1970 
/DIGITAL EQUIPMENT CORPORATION
/MAYNARD, MASSACHUSETTS
/WRITTEN BY ROBERT M. HUGHES
/FROM SEVERAL OTHER PROGRAMS BY SEVERAL OTHER AUTHORS;
/
/
/
/
	*13
M32,	-32
M300,	-300
	0
	0
	0
	NOP
	NOP
	JMP RESET
	JMP ORIG
DSPLAY,	SET I 2
	0777
	SET I 3
	3377
	LDA I 3
	DIS I 2		/DISPLAY AT EVERY OTHER SCOPE ADDRESS;
	XSK I 2
	JMP DSPLAY+4
	KST I
	JMP KEYBRD
	SNS 5		/DISPLAY A ZERO REFERENCE?
	JMP BASELN
	SNS 4		/DISPLAY THE CURSOR?
	JMP CURSOR
	JMP DSPLAY
KEYBRD, IOB
	KRB
	SAE I
CRTN,	212
	SKP
	JMP NRTN
	SAE I
EXTRA,	0
	SKP
	JMP DSPLAY	/THIS CAN BE REPLACED;
	ADD M300
	APO     	/KBD > 300?
	JMP DSPLAY	/NO
	ADD M32		/YES
	APO I   	/IS KBD=332 OR LESS?
	JMP DSPLAY
	ADA I
	32+.+2+JMP
	STC .+1
	JMP
KA,     JMP A
KB,     JMP B
KC,     JMP DSPLAY
KD,     JMP D
KE,     JMP DSPLAY
KF,     JMP F
KG,     JMP DSPLAY
KH,     JMP H
KI,     JMP INT
KJ,     JMP DSPLAY
KK,     JMP DSPLAY
KL,     JMP L
KM,Y
KO,     JMP ORIG
KP,     JMP P
KQ,     JMP DSPLAY
KR,     JMP R
KS,     JMP S
KT,     JMP DSPLAY
KU,     JMP DSPLAY
KV,     JMP DSPLAY
KW,     JMP W
KX,     JMP XTRNAL
KY,     JMP DSPLAY
KZ,     JMP DSPLAY
NRTN,	JMP DSPLAY	/THIS WILL BE REPLACED BY A "JMP ENTER" AT RUN TIME;
/
/
A,      SET I 3
	3377
	RSW
	APO I
	JMP.+4
	COM
	BSE I
	4000
	ADM I 3
	XSK 3
	JMP A+2
	JMP DSPLAY
/
B,      SET I 2
	0777
	SET I 3
	3377
	LDA I 3
	APO
	JMP BNEG
	DIS I 2
	AZE I
	JMP .+5
	ADA I
	7776
	DIS 2
	JMP .-5
BDONE,  XSK I 2
	JMP B+4
	KST	  	/KST FOR DEMO MONITOR
	JMP B
	JMP KEYBRD
BNEG,   DIS I 2
	AZE I
	JMP BDONE
	ADA I 
	1
	DIS 2
	JMP BNEG+1
/
D,      SET I 3
	3400
	SET I 4
	3377
	LDA 3
	COM
	ADA I 3
	STA I 4
	XSK 3
	JMP D+4
	JMP DSPLAY
/
F,      SET I 2
	3376
	SET I 3
	3377
	SET I 4
	3400
	LDA I 3
	ROL 1
	ADA I 2
	ADA I 4
	SCR 2
	STA 3
	XSK 4
	JMP F+6
	JMP DSPLAY
/
H,      SET I 1
	3374
	SET I 2
	3375
	SET I 3
	3376
	SET I 4
	3377
	SET I 5
	3400
	SET I 6
	3401
	SET I 7
	3402
	SET I 10
	3403
	SET I 11
	2377
HRPT,   LDA I 4
	ADA I 1
	ADA I 2
	ADA I 3
	ADA I 5
	ADA I 6
	ADA I 7
	ADA I 10
	SCR 3
	COM
	ADA 4
	STA I 11
	XSK 10
	JMP HRPT
	SET I 11
	2377
	SET I 3
	3377
	LDA I 11
	STA I 3
	XSK 3
	JMP .-3
	JMP DSPLAY
/
INT,    SET I 3
	3377
	ADM I 3
	XSK 3
	JMP .-2
	JMP DSPLAY
/
L,      SET I 3
	3377
	LDA I 3
	ROL 1
	STA 3
	XSK 3
	JMP L+2
	JMP DSPLAY
/
ORIG,   SET I 2
	2777
	SET I 3
	3377
	LDA I 2
	STA I 3
	XSK 3
	JMP .-3
	JMP DSPLAY
/
P,      SET I 3
	3377
	LDA I 3
	COM
	STA 3
	XSK 3
	JMP P+2
	JMP DSPLAY
/
R,      JMP QAINIT
	TXTRDE!6000
	ANSWER
	JMP QARFSH
	SET I 17
	ANSWER
	SET I 16
	-3
	CLR
RRPT,   ROL 3
	STC READ+1
	LDH I 17
	BCL I
	7770
	ADD READ+1
	XSK I 16
	JMP RRPT
	ADA I
	6000
	STC READ+1
	ADD READ+1
	ADA I
	1000
	STC READ+3
	LDA I 17
	BCL I
	7776
	ROL 3
	ADA I 
	0700
	STC READ
	ADD READ
	STC READ+2
READ,   0700
	6000
	0700
	7000
	JMP DSPLAY
	/
S,      SET I 3
	3377
	LDA I 3
	SCR 1
	STA 3
	XSK 3
	JMP S+2
	JMP DSPLAY
/
W,      JMP QAINIT
	TXTWRC!6000
	ANSWER
	JMP QARFSH
	SET I 17
	ANSWER
	SET I 16
	-3
	CLR
WRPT,   ROL 3
	STC WRITE+1
	LDH I 17
	BCL I
	7770
	ADD WRITE+1
	XSK I 16
	JMP WRPT
	ADA I
	7000
	STC WRITE+1
	LDA I 17
	BCL I
	7776
	ROL 3
	ADA I
	0704
	STC WRITE
WRITE,  0704
	7000
	JMP DSPLAY
/
XTRNAL, JMP QAINIT
	TXTSAM!6000
	ANSWER
	JMP QARFSH
/
	SET I 2
	ANSWER
	LDH I 2
	BCL I
	7770
	ROL 3
	STC CHANNL
	LDH I 2
	BCL I
	7770
	ADM I
CHANNL, 0000
	ADA I 
	7740
	APO I
	JMP XTRNAL
	LDH I 2		/ADVANCE XR(2)
	CLR
	SET I 3
	-3
CONVRT, MUL I
	12
	STC DLYMLT
	LDH I 2
	BCL I
	7760
	ADD DLYMLT
	FLO I
	JMP XTRNAL
	XSK I 3
	JMP CONVRT
	STA I
DLYMLT,	0
	ADA I
	-1777
	APO I
	JMP XTRNAL
/
	CLR
	ADD CHANNL
	ADA I
	SAM
	STA
	SAMPLE-1
	STA 
	SAMNN
	STA
	SLOPE
	STC SYNCSAM
	LDA I
	JMP ENTER
	STC NRTN
/               	/ON CHANNL NN
ENTER,  CLR
	ADD DLYMLT
	COM
	ADA I
	1777
	STA 
	17
	STC 16
/
	SET I 3
	2777
	SET I 2
	0777
SYNC,   SET I 10
	-10
	SET I 4
	0777
	JMP RESET	/DISABLE FAST SAMPLE
	KST I 	 	/KST FOR DEMO MONITOR
	JMP KEYBRD
	SAM 4   	/GET THRESH-HOLD
	SCR 1
	STC THRESH
SYNCSAM,SAM     	/GET CHANNL NN
	STA I   	/INITIATE CHANNL NN
LAST,   0
	SCR 1
	ADD BIAS
	DIS I 4
	COM
	ADD THRESH
	SNS I 1
	COM
	APO     	/CHANNL NN > THRESH-HOLD?
	JMP SLOPE       /YES
	LDA I   	/NO
THRESH, 0       	/DISPLAY THRESH-HOLD
	DIS I 4
	XSK I 10
	JMP .-2
	JMP SYNC
/
/
SLOPE,  SAM     	/SAMPLE CHANNL NN
	COM
	ADD LAST
	SNS 1   	/DO YOU WANT A POSITIVE SLOPE?
	COM     	/YES
	APO
	JMP SYNC	/SLOPE IS NOT AS REQUESTD
/       		/OK; LETS GO!!!
/
SETUP,  LDA I
	0140    	/DISABLE TTY INTERRUPT
	ESF     	/ENABLE FAST SAMPLE
	SAM     	/INITIATE SAM ON CHANNL NN
SAMPLE, SAM 0   	/GET CHANNL NN
	SCR 1   	/INITIATE SAMPLE OF KNOB 00
	ADD BIAS
	STA I 3
	DIS I 2
SAMNN,  SAM     	/GET KNOB 00;
	SCR 2   	/INITIATE SAM ON CHANNL NN
	STC BIAS
	XSK I 2		/INCREMENT XR(2)
	JMP DELAY 
	SNS 0   	/TERMINATE SAMPLING?
	JMP SYNC-4	/NO;CONTINUE
	JMP RESET       /YES; DISABLE FAST SAMPLE
	JMP ORIG	/SAVE LAST TRACE
/
BIAS,   0
/
DELAY,  KST I
	JMP SYNC+4
	XSK I 16
	JMP EXIT+1
	SET 16
	17
EXIT,   JMP SAMPLE
	SET I 15
	-3
	XSK I 15
	JMP .-1
	JMP DELAY
/
/
RESET,  LDA I
	1600
	ESF     	/DISABLE FAST SAMPLE
	JMP 0
/
/
X=4
Y=5
/
/
CURSOR, SAM 5   	/RANGE IS 7000 TO 0777
	ADA I
	1000		/RANGE IS 0001 TO 1777
	BCL I
	0001		/RANGE IS 0000 TO 1776
	STA 
	X       	/HORIZ. COORD OF CURSOR
	SCR 1   	/RANGE IS 000 TO 377
	ADA I
	3400    	/RANGE IS 3400 TO 3777
	STA 
	Y       	/ADDRESS OF DATUM WHICH 
/       		/CURSOR IS POINTING AT;
/
	SET I 2 	/CURSOR DISPLAY SUB-ROUTINE
	-7
	LDA Y
ZAPP,   ADA I   	/UP THREE POINTS
	3
	DIS X
	XSK I 2
	JMP ZAPP
/
/
/
/
	SAM 2   	/RANGE IS 7000 TO 0777
	BCL I
	7000    	/RANGE IS 0000 TO 0777
	STC 1
	SAM 6
	STC VERT
	LDA Y   	/GET DATUM WHICH CURSOR
	STA I   	/IS POINTING AT
VALUE,  0
	APO
	JMP NEG
POS,    SET I 6
	PLUS!2000
	JMP .+5
NEG,    COM
	STC VALUE
	SET I 6
	MINUS!2000
/
/
	JMP VERT-1
/
/
	ADD VALUE
	ROL 3
	JMP DSCNUM      /GET FIRST NUMBER
	ADD VALUE
	ROL 6
	JMP DSCNUM      /GET SECOND DIGIT
	ADD VALUE
	ROR 3
	JMP DSCNUM      /GET THIRD DIGIT
	ADD VALUE
	JMP DSCNUM      /GET LAST DIGIT
	JMP DSPLAY      /ALL DONE; GET ON BACK
/
/
/
/
DSCNUM, BCL I
	-7
	ROL 1
	ADA I
	ZERO!2000
	STC 6
	LDA I
VERT,   0
	DSC 6
	DSC I 6
	LDA I
	10
	ADD 1
	STC 1
	JMP 0
/
/
/
/
BASELN,	LDA
	0
	STC 1
	SET I 5
	0777
	DIS I 5
	XSK I 5
	JMP .-2
	JMP 1
/
/
/
/
/
/
SEGMNT 3
 
TXTRDE, TEXT "F
F      READ
F
H         RETRIEVE DATA FROM:
F
F   BLOCK <3
H
F    UNIT  <1\"
/
TXTWRC, TEXT "F
F     WRITE
F
H         SAVE DATA AT:
F
F   BLOCK <3
H
F    UNIT  <1\"
/
TXTSAM, TEXT "F
F    SAMPLE DATA
F
F    ON CHANNEL<2
F
F EVERY <4X50 USEC.\"
/
/
/
/
PLUS,   1000
	1034
MINUS,  1000
	1010
ZERO,   4536    	/0
	3651
	2100    	/1
	0177
	4321    	/2
	3145
	4122    	/3
	2651
	2414    	/4
	0477
	5172		/5
	4651
	2516		/6
	0245
	4740		/7
	6070
/
/
/
/



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