File FFSAMPLE

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

*20
/FFSAMPLE
/CONTINUOUS SAMPLE PROGRAM FOR
/LINC TAPE FAST FOURIER SPECTRUM
/COMPUTATION
/
/D.OVERTON  12/1/69
/
/CONSTANTS
	NDB=7	/NO. OF DATA BLOCKS = 3,5,OR 7
	SEG=3	/(NO OF DATA BLKS - 1)/2
	BN=0	/DATA INITIAL BN ON UNIT 1
			PMODE
			DECIMAL
	PRESET=-3906
		/ PRESET = NO OF 2.5 MICROSEC.
		/ EPOCHS BETWEEN EACH SAMPLE
		/ MUST NOT EXCEED -4095
		/ DEFINE IN PMODE
		/ AND IN DECIMAL RADIX
			OCTAL
			LMODE
/CLOCK INSTRUCTIONS
CLSK=6131
CLLR=6132
CLAB=6133
CLEN=6134
CLSA=6135
CLBA=6136
CLCA=6137
	*20
/PROGRAM STARTS HERE
	JMP A1
	0
	BN
	SEG
	*25
/SET UP LOCS FOR DATA STORAGE
A1,	 CLR 
	ADD  22
	STA 00	/SET F1=BN
	F1
	ADA I 0
	1000
	STC C1	/C1=1000+BN
	LDA 00
	23
	STC H1	/H1=SEG
	SET I 1
	400	/DATA STARTING ADDRESS
/SET UP KW12 CLOCK
	PDP
	PMODE
	CLA	/CLEAR CLK REGISTERS
	CLAB
	CLLR
	TAD K0100
	CLLR
	CLSA
	CLA
	TAD K1	/LOAD BUFFER PRESET
	CLAB
	CLA
	TAD K0300	/ENABLE OVERFLOW FLAG
	CLEN
	CLA
	TAD K1100	/400 KC, MODE 1
	CLLR
	LINC
	LMODE
	JMP B1
K1100,	1100
K0300,	0300
K1,	PRESET
K0100,	100
/
/SAMPLE
B1,	IOB	/WAIT FOR CLOCK FLAG
	6131	/CLSK - SKIP ON OVERFLOW
	JMP B1	/RETURN TO WAIT
	IOB
	6135	/CLSA - RESET CLOCK OVERFLOW
	SAM 10
	ROL 1	/FOR 10 BIT A/D
	STA 1	/SAVE DATA
	LDA I
	1
	ADM	/INC LOC 1
	1
	SAE I	/DATA INPUT FINISHED ?
	4000
	JMP B1	/GET ANOTHER SAMPLE
/TURN OFF CLOCK
	CLR
	IOB
	CLLR
	IOB
	CLEN
/DISPLAY Q1-17
DISP,	SET I 4	/DATA POINTER
	377
	SET I 5	/400 POINTS
	1377
	SET I 6	/BASELINE
	300
	JMP D2	/DISP Q1
	JMP D2	/Q2 & Q3
	SET I 4	/DATA POINTER
	3777
	JMP D2	/Q4 & Q5
	JMP D2	/Q6 & Q7
	SNS 0
	JMP DISP
	JMP W1	/WRITE ON TAPE
D2,	SET 7
	0
	LDA I 4	/   +/-1777
	SCR 4	/   +/-77
	ADD 6	/BASELINE
	DIS 4
	XSK I 5
	JMP .-5
	SET I 5	/1000 POINTS
	777
	LDA I
	-200
	ADM	/NEW BASELINE
	6
	JMP 7
/WRITE DATA ON TAPE
W1,	SET I 1	/TO WRITE NDB BLOCKS
	1777-NDB
	WRC I 10	/WRITE DATA ON UNIT 1
C1,	1000	/BN
	SRO I 
	2525
	JMP  D1
	LDA I 0
	1001
	ADM 00
	C1
	JMP  E1
D1,	 LDA I 0
	1005
	ADM 00
	C1
E1,	XSK I 1	/7 BLOCKS WRITTEN ?
	JMP  C1-1
/LOAD FFOURIER PROGRAM
		/TRANSFER LOCS G1 THRU H1+2
		/TO LOC 400-410
		/JMP 400 TO LOAD FFOURIER AND
		/TO INITIALIZE IT
	SET I 1
	G1-1
	SET I 2
	377
	SET I 3
	1777-20
	LDA I 1
	STA I 2
	XSK I 3
	JMP  .-3
	JMP  400
G1,	 RDC I 
	60
	LDA I 0
F1,	0	/BN
	STC  22
	LDA I 0
H1,	0000	/NO OF SEGMENTS
	STC  23
	JMP  20
/END FFSAMPLE
$7-NDB
	WRC I 10	/WRITE DATA ON UNIT 1
C1,	1000	/BN
	SRO I 
	2525
	JMP  D1
	LDA I 0
	1001
	ADM 00
	C1
	JMP  E1
D1,	 LDA I 0
	1005
	ADM 00
	C1
E1,	XSK I 1	/7 BLOCKS WRITTEN ?
	JMP  C1-1
/LOAD FFOURIER PROGRAM
		/TRANSFER LOCS G1 THRU H1+2
		/TO LOC 400-410
		/JMP 400



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