File QAFILTER

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

*20
/QAFILTER
/FROM LINC8 PGM QAFILT
/BY DON GLAESER
/REVISED FOR PDP12 BY D.A.OVERTON
/
/
	*20	/PGM STARTS HERE
	LDA I
	1200
	ESF	/SET TRAP
	JMP P6
/
/COMPUTATION BEGINS HERE AFTER Q+A SETUP
/SET SF
D3,	SAM 6
	SCR 5	/FOR 10 BIT A/D
	BCL I 
	7740
	BCO I 
	0020
	STA I 
D4,	 HLT 
	ADA I 
F7,	 0001
	COM 
	STA I 
L1,	HLT
	JMP  D5
/SKIP POINTS
	LDA I 
V7,	HLT
	SAE I 
	0054
	JMP  M2
	LDA I 
	0223
	STA 
	F2
	ADD  F7
	STC  F2+2
/ADJUST SCALE
	ADD  L1
	ADA I 
V2,	 -1
	STC  L1
	JMP  F4
M2,	 LDA I 
	0016
	STA 
	F2
	STC  F2+2
/COMP. LOOP
F4,	SET I 1
	1377
	SET I  2
	0177
	SET I  3
/THE NEXT INST MUST BE:
/F1, 6001  FOR CONVOLUTION
/F1, 2000  FOR CORRELATION
/
F1,	6001
/
	LDA 
	T7
	ADA I 
	3000
	STC  5
	SET I  4
	3377
B2,	 LDA I  4
	MUL  3
	APO 
	JMP  B1
	LAM I 
A7,	 HLT 
	LDA I 
	0000
	LAM I 
	HLT 
	JMP  F2
B1,	 LAM 
	A7
	LDA I 
	7777
	LAM 
	A7+4
F2,	 XSK I  3
	XSK I  3
	XSK I  4
	NOP 
	XSK  4
	JMP  B2
	SNS I  5
	JMP  D3
/DP SCALE SR
	SET  10
	L1
	XSK I  10
	JMP  .+4
	LDA 
	A7+4
	JMP  B3
D1,	 LDA 
	A7+4
	ROL I  1
	ROL  1
	BCL I 
	0003
	ROR I  1
	STC  A7+4
	ADD  A7
	ROL I  1
	STC  A7
	ADD  A7+4
	SCR  1
	BCL I 
	4000
	ROL I  1
	XSK I  10
	JMP  .+2
	JMP  .+4
	STA 
	A7+4
	JMP  D1+2
B3,	 STA  5
	XSK I  5
	DIS I  2
	LDA I 
	-377
	ADD  3
	STC  3
	STC  A7
	STC  A7+4
	ADD  5
	SAE I 
	3400
	JMP  .+3
	SET I  5
	2000
	XSK I  1
	JMP  B2-2
	SET I  1
	2377
	SET I  2
	1377
	JMP  B4
/DISPLAY SETUP
C7,	SET I 1
	0177
	SET I  6
	0177
	SET I  7
	0177
	SET I  2
	1377
	SET I  3
	2000
	SET I  4
	2377
	SET I  5
	3377
	SAM 0
	JMP  M3
	STC  M4
	SAM 2
	JMP  M3
	STC  M5
	SAM 4
	JMP  M3
	STC  M6
	SAM 1
	SCR 2	/FOR 10 BIT A/D
	BCL I 
	0017
	ADD  N7
	AZE I 
	JMP  .+2
	JMP  .+3
	ADD  M7
	JMP .+7
	ADD  M7
	STA 
	M7
	COM 
	STC  N7
	JMP  .+5
	STA 
	M7
	COM 
	STC  N7
/DISPLAY
	SNS I  1
	JMP  M7+2
	LDA  3
	XSK I  3
M4,	 HLT 
	ADA I 
M7,	 HLT 
	DIS I  1
	SNS I  2
	JMP  M5+2
	LDA I  5
M5,	 HLT 
	DIS I  6
	SNS I  3
	JMP  N7+2
	LDA I  4
M6,	 HLT 
	ADA I 
N7,	HLT
	DIS I  7
	XSK I  2
	JMP  M4-4
	JMP  D5
	KST 
	JMP  C7
	0535	/KBD I  INST
	SAE I 
	0042
	JMP  C7
	JMP  N1-3
/SCALE SETUP
M3,	SET 14
	0
	SCR 7	/FOR 10 BIT A/D
	COM 
	BCL I 
	7770
	BCO I 
	0344
	STA I 
E3,	 HLT 
	LDA 
	0
	BCL I 
	4000
	STC  .+1
	HLT 
	ADA I 
	-2000
	STC  .+1
E4,	 HLT 
	SAE 
	E3 
	JMP  .+2
	JMP  0
	LDA 
	E4
	ADA I 
E5,	2000
	STC  .+2
	ADD  E3
	HLT 
	CLR 
	ADD  14
	ADD  F7
	STC  14
	JMP  14
/CHAR. SETUP
D5,	SET 11
	0
	SET I  12
	-14
	LDA 
	D4
	BCL I 
	7707
	SCR  3
	JMP  G1
	STA 
	H1
	ADD  F7
	STC  H1+2
	ADD  D4
	BCL I 
	7770
	JMP  G1
	STA 
	H2
	ADD  F7
	STC  H2+2
	LDH 
	T1
	JMP  G1
	STA 
	H3
	ADD  F7
	STC  H3+2
	LDH 
	4000+T1
	JMP  G1
	STA 
	H4
	ADD  F7
	STC  H4+2
	LDH 
	T1+1
	JMP  G1
	STA 
	H5
	ADD  F7
	STC  H5+2
	JMP  .+5
G1,	 ROL  1
	ADA I 
	1200
	JMP  0
/DISPLAY OF S.F. AND T.
/IN DATA DISPLAY
	LDA I 
	0200
	SET I  1
	0610
/DISPLAY:   SF=XX
	DSC I 
	5121/S
	DSC I 
	4651
	DSC I 
	0000
	DSC I 
	4477/F
	DSC I 
	4044
	DSC I 
	0000
	DSC I 
	1414/=
	DSC I 
	1414
	DSC I 
	0000
	DSC 
H1,	 HLT 
	DSC 
	HLT 
	DSC I 
	0000
	DSC 
H2,	 HLT 
	DSC 
	HLT 
	CLR 
	SET I 1
	0610
/DISPLAY:  T=XXX
	DSC I 
	7640/T
	DSC I 
	4241
	DSC I 
	0000
	DSC I 
	1414/=
	DSC I 
	1414
	DSC I 
	0000
	DSC 
H3,	 HLT 
	DSC 
	HLT 
	DSC I 
	0000
	DSC 
H4,	 HLT 
	DSC  
	HLT 
	DSC I 
	0000
	DSC 
H5,	 HLT 
	DSC 
	HLT 
	XSK I  12
	JMP  D5+4
	JMP  11
/OPTIONS DISPLAY. CALL WITH LETTER O
	JMP 1000	/TO Q+A
	2742	/ " DO ? "
	1476
N1,	 1376
	1200	/ " 0+ RETURN TO DISPLAY "
	6114
	4530
	4750
	4541
	1447
	4214
	2734
	4643
	3724
	5412
	0161	/ " 1+ REPEAT "
	1445
	3043
	3024
	4712
	0261	/ " 2+ NEW FILTER "
	1441
	3052
	1431
	3437
	4730
	4512
	0361	/ " 3+ NEW DATA "
	1441
	3052
	1427
	2447
	2412
	0461	/ " 4+ INDEX DATA "
	1434
	4127
	3053
	1427
	2447
	2412
	0561	/ " 5+ COMP SPEED OPTION "
	1426
	4240
	4361
	1446
	4330
	3027
	1442
	4347
	3442
	4112
	0661	/ " 6+ STORE RESULT "
	1446
	4742
	4530
	1445
	3046
	5037
	4777
	LDH 
	N1
	SAE I 
	0006
	JMP  N2
/STORE RESULT
	JMP  1000
	4647	/ " STORE RESULT IN "
	4245
	3014
	4530
	4650
	3747
	1434
	4112
	2537	/ " BLOCK ??? ON UNIT 1 "
	4226
	3614
N3,	 7613
	1313
	7614
	4241
	1450
	4134
	4714
	0177
	SET I  17
	N3
	JMP  O2
	ADD  W4
	STC  N4
	WRC U 
N4,	 HLT 
	JMP C7
N2,	 SHD I 
	0000
	JMP C7	/DISPLAY
	SAE I 
	0001
	JMP  .+7
/REPEAT COMP
	LDA 
	W7
	STC  .+2
	RDC U 
	HLT 
	JMP  F4
	LDH 
	N1
	SHD I 
	0200
	JMP P6	/NEW FILTER
	SHD I 
	0300
	JMP W6	/NEW DATA
	SAE I 
	0004
	JMP  M1
/INDEX DATA
	LDA 
	X7
	ADA I 
G2,	 -1000
	STC  W7
	ADD  Y7
	ADD  G2
	STA 
	X7
	ADA I 
	1001
	STC  Y7
	JMP  W7-1
M1,	 SAE I 
	0005
	JMP C7
	JMP V6	/COMP SPEED
/
	*1400
/SET UP FIRST IRF BLOCK NO.
P6,	JMP 1000	/TO LAP4 Q+ASUB
	0146	/ "1ST IR FCN ??? "
	4714
	3445
	1431
	2641
	1476
P1,	 1313
	1376
	7777
	SET I 17	/RETURNS FROM Q+A HERE
	4000+P1-1
	JMP O2	/PACK 3 OCTAL NOS INTO 1 WORD
	ADD P2	/RETURNS HERE WITH BN IN AC
	STA 
	P7
	ADA I 
P3,	 1000
	STC  P7+2
/MULTIPLY OPTION. ARE TWO IRFS TO BE MULTIPLIED?
Q6,	 JMP  1000
	4050	/" MULTIPLY ? "
	3747
	3443
	3754
	1476
Q1,	 1376
	7777
	LDH 
	Q1
	STA 
	Q7
	SAE I 
	0054
	JMP  S6
/2ND IRF BN
R6,	 JMP  1000
	0241	/" 2ND IR FCN ??? "
	2714
	3445
	1431
	2641
	1476
R1,	 1313
	1376
	7777
	SET I  17
	4000+R1-1
	JMP  O2
	ADA I 
R2,	 5000
	STC  R7
/PREDICTION
S6,	 JMP  1000
	4345	/" PREDICTING ? "
	3027
	3426
	4734
	4132
	1476
S1,	 1376
	7777
	LDH 
	S1
	STA 
	S7
	SHD I 
	5400	/ Y?
	JMP  T6
	CLR 
	STC  T1
	STH 
	T1+1
	JMP  U6
/NO. POINTS
T6,	 JMP  1000
Z1,	2214	/" NO POINTS = ??? "
	4342
	3441
	4746
	1456
	1476
T1,	 1313
	1376
	7777
	SET I  17
	4000+T1-1
	JMP O2	/PACK
	BCL I 
	7400
	STC  T7
/TIME INVERSION
U6,	 JMP  1000
	3441	/" INVERSION ? "
	5130
	4546
	3442
	4114
U1,	 7613
	7677
	LDH 
	4000+U1
	STC  U7
/FAST COMP.
V6,	 JMP  1000
	3124	/ " FAST COMP ? "
	4647
	1426
	4240
	4314
V1,	 7613
	7677
	LDH 
	4000+V1
	STC  V7
/DATA BN
W6,	 JMP  1000
	2724	/ " DATA ??? ??? ??? "
	4724
	1276
W1,	 1313
	1376
	1276
W2,	 1313
	1376
	1276
W3,	 1313
	1376
	7777
	SET I  17
	4000+W1-1
	JMP O2	/PACK W1
	ADA I 
W4,	 4000
	STC  W7
	SET I  17
	4000+W2-1
	JMP O2	/PACK W2
	ADD  R2
	STC  X7
	SET I  17
	4000+W3-1
	JMP O2	/PACK W3
	ADD  P2
	STC  Y7
/READ FILTER OFF TAPE
	RDC I 
P7,	 HLT 
	RDC  
	HLT 
	LDA I 
Q7,	 HLT 
/MULTIPLY
	SAE I 
	0054
	JMP  U7-1
	RDC 
R7,	 HLT 
	SET I  1
	2777
	SET I  2
	3377
	SET I  3
	6377
	LDA I  1
	MUL  3
	STA  1
	STA I  2
	XSK I  3
	XSK  2
	JMP  .-6
/INVERSION
	LDA I 
U7,	 HLT 
	SAE I 
	0054
	JMP  S7-1
	SET I  1
	2777
	SET I  2
	3777
	SET I  3
	1377
	LDA I  1
	STA  2
	LDA 
	2
	ADD  V2
	STC  2
	XSK I  3
	JMP  .-7
/SET ADVANCE
	LDA I 
S7,	 HLT 
	SAE I 
	0054
	JMP  .+6
	LDA I 
T7,	 HLT 
	ADD  P2
	STC  F1
	JMP  .+5
	LDA I 
P2,	 6000
/NEXT INST MUST BE:
/NOP FOR CORRELATION
/ADD F7 FOR CONVOLUTION
/
	ADD F7
/
	STC  F1
/READ DATA FROM UNIT 1
	RDC I U 
W7,	 HLT 
	RDC I U 
X7,	 HLT 
	RDC U 
Y7,	 HLT 
	JMP D3	/BEGIN COMPUTATION
/
/
/ANSWER PACK - PUTS 3 OCTAL DIGITS IN AC
O2,	SET 15	/SAVE RTN JMP
	0
	SET I 16	/PROCESS 3 NOS
	-3
	CLR 
	STC  O2+15
	LDH I 17	/LOAD ASCII
	ADD  O2+15
	XSK I  16
	JMP  .+2
	JMP 15	/RTN
	ROL  3
	JMP  O2+5
	HLT 
/
/RESULT SHUFFLE
/STARTS IN Q1
B4,	 SET  13
	0
	LDA 
	5
	ADD  V2
	SAE I 
	1777
	JMP  .+3
	ADA I 
	1400
	STC  5
	LDA  5
	STA  1
	LDA 
	1
	ADD  V2
	STC  1
	XSK I  2
	JMP  B4+2
	JMP 13	/RTN TO CALLING PGM
/END OF QAFILT
/
/
/
/
/LAP4Q+A
/FROM LINC8 MANUS NOS TAPE
	*1000
LQAO2, LDA I
	5776
	ADD  0
	STC LQAO2+11
	ADD  1
	STC LQAR7+1
	SET I  1
	401
	SET I  16
	0
	JMP LQAQ5
	JMP LQAR1-2
	JMP LQAR1
	SHD I 
	1200
	XSK I  1
	JMP  .-6
	JMP LQAQ1
	JMP  .-10
LQAR1, LDA
	1
	ROL  4
	STC LQAR3+2
	XSK I  16
	ADD  16
	BSE I 
	JMP 
	STC LQAR7+2
LQAR2, SET 16
	LQAO2+11
	JMP LQAQ5
	LDH I  16
	JMP  .+2
	JMP  .-3
	LDA I 
	-4000
	ADM 
	16
LQAR3, STC LQAQ2+1
	LDA I 
	0
	STC LQAQ4-1
	SET  17
	LQAO2+11
	SET I  1
	100
	LDA I 
	-40
	ADM I 
	0
LQAQ4, LDH I 17
	JMP LQAQ5+1
	JMP  .-2
	JMP LQAR4
	SHD I 
	1200
	JMP LQAR3+6
	ROL  1
	ADA I 
	LQAQ6
	STC  15
	ADD LQAR7+3
	ADD  1
	STC  1
	ADD LQAQ4-1
	DSC  15
	DSC I  15
	JMP LQAQ4
LQAR4, KST
	JMP LQAR3+1
	515	/KBD INST
	SHD I 
	1300
	JMP LQAQ2
	SHD I 
	1200
	JMP LQAQ3
	SAE I 
	23
	JMP  .+3
	535	/KBD I  INST
	ADD LQAK7
	JMP LQAQ5+1
	NOP 
	JMP LQAR3+1
	STC  .+5
	JMP LQAQ5
	JMP LQAR3-4
	JMP LQAR3-4
	LDA I 
	0
	STH  16
	JMP LQAR3+1
LQAQ1, SET I 17
	23
	SET  15
	0
	JMP LQAQ5
	JMP  15
	JMP LQAR7
	LDA 
	17
	STH  16
	JMP  .-6
LQAQ2, LDA I
	0
	SAE 
	16
	JMP  .+2
	JMP LQAO2+6
	STC  16
	JMP LQAQ1
	SET  16
	LQAQ2+1
	JMP LQAR3+1
LQAQ3, SET I 17
	14
	JMP LQAQ1+2
	JMP LQAQ7
LQAQ5, LDH I 16
	SHD I 
	7600
	JMP  0
	SAE I 
	77
	XSK I  0
	XSK I  0
	JMP  0
	*1200
	4136
	3641
	2101
	0177
	4523
	2151
	4122
	2651
	2414
	0477
	5172
	0651
	1506
	4225
	4443
	6050
	5126
	2651
	5120
	3651
LQAR7, SET I 1
	0
	JMP  0
	4
	0000
	0000
	0101
	0126
	3700
	3424
	0404
	0404
	0404
	0437
	0000
	0077
	3614
	1436
	4020
	2055
	4477
	7744
	5177
	2651
	4136
	2241
	4177
	3641
	4577
	4145
	4477
	4044
	4136
	2645
	1077
	7710
	7741
LQAK7, 0041
	4142
	4076
	1077
	4324
	0177
	0301
	3077
	7730
	3077
	7706
	4177
	7741
	4477
	3044
	4276
	0376
	4477
	3146
	5121
	4651
	4040
	4077
	0177
	7701
	0176
	7402
	0677
	7701
	1463
	6314
	0770
	7007
	4543
	6151
	1212
	1212
	0107
	0107
	0500
	0006
	0001
	0000
	4577
	7745
	4177
	0000
	0
	0
	5000
	0060
	0000
	7741
	0000
	0000
	0000
	0000
	0000
	0075
0
0
0
0
0
0
0
0
LQAQ7, JMP LQAQ5
	JMP LQAR2+3
	JMP LQAR7
	JMP  .-3
LQAQ6=1200
/END LAP4Q+A
/
/
/
/L8SIM0
/LINC8 SIMULATOR
/FOR SEGMENT 0
/SEE SECT 6.4 OF DOCUMENT
/D.LANGBEIN
/DEC
/REVISED 8 AUGUST 1969
KRSA=6034
KRBA=6036
TSFA=6041
TLSA=6046
RMFA=6244
OPR=500
KBD=515
/
SEGMNT 0
*20
JMP INIT
LDF 3
LIF 2
DJR
JMP 20
RST400, JMP INIT
LDF 3
LIF 2
DJR
HLT
JMP 400
GUIDE,	JMP	INIT
LDF 2
RDC
7400
LDF 3
LIF 2
JMP 1400
*130
ERR,HLT
JMP RET
*134
PC,0
M70,	70
ONE,	1
*141
STC AC
ROL I 1
STC LC
QAC
ROL 1
QLZ
ADD ONE
STC Q
FLO
STC OVL
SET 17
0
PDP
PMODE
FETCH,RIB
AND M70
TAD CDFX
DCA .+1
7402
STA
TAD 140
DCA PC
TAD I PC
CDFX, CDF
LINC
LMODE
SAE I
KBD
SKP
JMP DOKBD
SAE I
KBD I
SKP
JMP DOKBD
SAE I
OPR I 14
SKP
JMP OP14
SAE I
OPR 14
OTHERS, JMP ERR
OP14, LDA
AC
IOB
TLSA
IOB
TSFA
JMP .-2
RET, LDA I
OVL,	0
AZE
ADD OVN
LDA I
LC,	0
ROR I 1
SET 0
	17
LDA I
Q,	0
ROR 14
LDA
140
BSE I
JMP
STC RTJ
ADA I
AC,	0
DJR
IOB
RMFA
RTJ, HLT
OVN,	7777
DOKBD, ROR I 5
LDA I
UPC, 0
AZE
JMP LOO
LP, KST I
JMP GRC
LZE
JMP LP
JMP LOO
GRC,	CLR
IOB
KRSA
ADA I
-175
ROR 1
BCL I
3700
ADA I
TAB
STC .+2
LDH
0
SHD I
7600
JMP RETX
ADA I
-55
APO
JMP LOW
ADA I
11
APO
CLR
STC UPC
LDA I
23
STC AC
JMP RET
LOW, ADA I
55
APO
CLR
LOO, STC AC
STC UPC
IOB
KRBA
LOO1, JMP PRINT
SAE I
215
JMP RET
LDA I
212
JMP PRINT
JMP RET
RETX, LDA I
336
JMP PRINT
IOB
KRBA
JMP PRINT
COM
ROL I 1
JMP LP
PRINT,	PDP
PMODE
TLS
TSF
JMP .-1
LINC
LMODE
JMP 0
INIT,	CLR
STC UPC
AXO
SFA
BSE I
1000
ESF
ENDX, JMP 0
*400
JMP RST400
TAB, 2323
1376
7676
7676
7676
7676
7656
7676
1276
7676
7676
7676
7676
7676
7676
7676
2376
7614
7676
2265
6215
1676
7676
2063
1764
2100
0102
0304
0506
0710
1176
7676
6176
7676
2425
2627
3031
3233
3435
3637
4041
4243
4445
4647
5051
5253
5455
6621
7676
TABE, 7676
/END OF QAFILTER + LAP4Q+A + L8SIM0
/
$
LDA I
212
JMP PRINT
JMP RET
RETX, LDA I
336
JMP PRINT
IOB
KRBA
JMP PRINT
COM
ROL I 1
JMP LP
PRINT,	PDP
PMODE
TLS
TSF
JMP .-1
LINC
LMODE
JMP 0
INIT,	CLR
STC UPC
AXO
SFA
BSE I
1000
ESF
ENDX, JMP 0
*400
JMP RST400
TAB, 2323
1376
7676
7676
7676
7676
7656
7676
1276
7676
7676
7676
7676
7676
7676
7676
2376
7614
7676
2265
6215
1676
7676
2063
1764
2100
0102



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