File BARRYD

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

[THIS PROG WILL SAMPLE KOROTKOV SOUNDS AND COMPUTE ITS
[AVG VALUE. OUTPUT TO D|A=AVG VALUE IF SNS SW 5 DOWN.
[OUTPUT TO D|A=AVG - OFFSET CONSTANT ALL MULTIPLIED BY
[GAIN CONSTANT.
[MAXIMUM GAIN CONSTANT = 37 OCTAL
[SET CLOCK SW TO .2 MS
[P1-16 MUST BE JUMPERED TO P1-23
[D|A OUTPUT AVAILABLE ON P1-12 ...HI AND P1-27 ...LO
[1=CTR IN AVG
[2=DATA LIST CTR
[3=DATA LIST PTR
[5P=LO ORDER SUM OF 2 PRECISION ADD
[5=HI ORDER SUM OF 2 PRECISION ADD
[6=CTR FOR FULL DISPLAY
[7=CTR, DISPLAY XFER AND SAMPLE #
[10,11=PTR FOR DISPLAY XFER
[12=PTR FOR FULL DISPLAY
[13=PTR FOR VERT CURSOR
[14=CTR FOR HOR AND VERT CURSOR
[17=RETURN ADDRESS OF SUBROUTINE
#1A CLR
STC 1S [CLR CTRT1
STC 7 [CLR SAMPLE CTR
SET i 2 [DATA LIST CTR = -1
#1M -1
LDA i [SET 1T TO NOMINAL VALUE OF 175 MS
1553
STC 1T
LDA i [SET 3T TO NOMINAL VALUE OF 250 MS
2342
STC 3T
SET i 3 [ DATA LIST PTR = 2000-1
3777
#2A SAM 10
APO [HAS R WAVE OF EKG OCCURRED
JMP 2F [NO....FULL DISPLAY
SAM 10 [YES
APO i [HAS R WAVE OF EKG DISAPPEARED
JMP p-2 [NO
SAM 1 [YES....POT 1 MODULATES T1
STA
2J
ROL 1
ADD 2J
ADM
1T
STC 2T
#1B JMP 9G [DELAY UNTIL POS EDGE OF CLOCK
JMP 9A [SHOULD SAM BE ADDED TO DISPLAY LIST
JMP 9C [INCREMENT CTRT1
SAE [DOES CTRT1 = T1
1T
JMP 1B [NO
SAM 2 [YES....POT 2 MODULATES T2
ADA i 
#4K 400
ADM
2T
SAM 0 [READ IN UNACCEPTABLE NOISE LEVEL
STC 5C
ADD 7 [UPDATE 1T
COM
STC 1T
STC 7
#2B JMP 9G [DELAY UNTIL POS EDGE OF CLOCK
JMP 9A [SHOULD SAM BE ADDED TO DISPLAY LIST
COM [ -NOISE LEVEL IN -A- REG
ADD 5C [ADD UNACCEPTABLE NOISE LEVEL
APO [IS NOISE TOO HIGH
JMP 6W [YES, WAIT FOR NEXT R WAVE
JMP 9C [ NO, INCREMENT CTRT1
SAE [DOES CTRT1 = T2
2T
JMP 2B
LDA [YES....UPDATE 2T
7
COM
STC 2T
STC 7
SAM 3 [POT 3 MODULATES T3
STA
2J
ROL 1
ADD 2J
ADM 
3T
STC 4T
#3B JMP 9G [DELAY UNTIL POS EDGE OF CLOCK
JMP 9A [SHOULD SAM BE ADDED TO DISPLAY LIST
JMP 9C [INCREMENT CTRT1
SAE [DOES CTRT1 = T3
3T
JMP 3B
CLR [YES...INITIALIZE PARTIAL SUM
STC 5P
STC 5
ADD 3T
COM
STC 5R
SAM 4 [POT 4 MODULATES T4
ADD 4K
ROL 1
ADM
4T
ADD 5R
STA
5S [DIVISOR IN AVG
COM
STC 5R [ -DIVISOR IN AVG
ADD 7 [UPDATE 3T
COM
STC 3T
STC 7
#4B JMP 9G [DELAY UNTIL POS EDGE OF CLOCK
ADA i [CLR FLOFF FOR 2 PRECISION ADD
0
JMP 9A [SHOULD SAM BE ADDED TO DISPLAY LIST
JMP 9B [2 PRECISION ADD
JMP 9C [INCREMENT CTRT1
SAE [DOES CTRT1 = T4
4T
JMP 4B
LDA [YES....UPDATE 4T
7
COM
STC 4T
STC 7
SET i 1 [AVERAGING BETWEEN T3 AND T4
-14
ADD 5P
ROL i 1
STC 5P
ADD 5 [DVDHI IN -A- REG
#4E ADD 5R [SUBTRACT DIVISOR
APO i [IS -A- REG POS
JMP 4F [YES
ADD 5S [NO, RESTORE DVDHI
STC 5
ADD 5P
BCL i
1
#4G STA 
5P
XSK i 1
JMP p+2
JMP 4H
ROL i 1
STC 5P
ADD 5
ROL i 1 [2 RMNDR + BIT IS NEW DVDHI
STA
5
JMP 4E
#4F STC 5
ADD 5P
BSE i
#1K 1
JMP 4G
#4H STA
6T
ADA i
#4M -400
STC 6C
SNS 5 [IS A CONSTANT TO BE SUBTRACTED FROM AVG
JMP 6X  [NO, XFER AVG TO D|A
SAM 6 [ YES, SAMPLE GAIN CONSTANT
ADD 4K
SCR 4
AZE i [IS GAIN CONSTANT ZERO
ADD 1K [YES
STC 6Y [NO
SAM 7 [SAMPLE OFFSET CONSTANT
STA
7C
COM
ADD 6C [ADD AVG OR FCT OF AVG
APO
COM
MUL i
#6Y 0000 [GAIN CONSTANT
ADA i
#7M -777
APO [IS ANS GREATER THAN 777
JMP p+5 [NO
#6E LDA i [YES
#7K 777
STC 6T
JMP 6X
ADD 7K
STC 6T
[6X=END ROUTINE, FULL DISPLAY OF PREVIOUS DATA,
[DISPLAY XFER, UPDATE D|A BUFFER
#6X JMP 8A [FULL DISPLAY
SET i 10 [DISPLAY XFER
3777
SET i 11
2777
LDA
1T
ADD 2T
ADD 3T
ADD 4T
STC 7
ADD 1T [UPDATE INFO FOR NEW DISPLAY
STC 1Z
ADD 2T
STC 2Z
ADD 3T
STC 3Z
ADD 4T
STC 4Z
ADD 5C
STC 5Z
ADD 6C
STC 6Z
ADD 7C
STC 7Z
ADD 6T
ADD 4M
STC 8Z
LDA i 10 [XFER DATA INFO
STA i 11
XSK i 7
JMP p-3
LDA i [UPDATE D|A BUFFER
4000+7Y
OPR 13
NOP
JMP 1A
#7Y 0000
1000+6T [TAD 6T
6414 [LOAD D|A BUFFER....LOCATION CTR
5400+7Y [JMP I 7Y
#6T 0000
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
#8A SET 16 [FULL DISPLAY
0
SET 6
1Z
SET i 12 [HORIZONTAL POS
0
SET i 13 [3000 IS STARTING ADDRESS FOR DISPLAY
3000
JMP 9D [CURSOR C0
JMP 9E [0 - T - T1
SET 6
2Z
JMP 9D [CURSOR C1
LDA [CURSOR C5
5Z
JMP 9F
ADD 2Z
AZE i
JMP p+2
JMP 9E [T1 - T - T2
SET 6
3Z
JMP 9D [CURSOR C2
JMP 9E [T2 - T - T3
SET 6 
4Z
JMP 9D [CURSOR C3
SNS 5 [OPTION, CURSOR C8
JMP p+4
LDA
8Z
JMP 9F
LDA
4Z
AZE i
JMP p+2
JMP 9E [T3 - T - T4
JMP 9D [CURSOR C4
LDA
2K
ADM
#2K 12
LDA [CURSOR C6
6Z
JMP 9F
SNS 5 [OPTION, CURSOR C7
JMP p+3
ADD 7Z
JMP 9F
JMP 16
#6W LDA
5C
STC 5Z
JMP 1A
#9A SET 17
0
SAM 11
XSK i 2 [SHOULD SAM BE ADDED TO DISPLAY LIST
JMP p+5 [NO
SET i 2 [YES
-5
XSK i 7
STA i 3
JMP 17
#9B SET 17 [DOUBLE PRECISION ADD
0
ADD 4K
ADM
5P
454 [FLO
JMP p+5
XSK i 5
BCL i
4000
STC 5P
JMP 17
#9C LDA [INCREMENT CTRT1
1K
ADM
1S [CTRT1
JMP 0
#9D SET 17 [VERTICAL CURSOR
0
SET i 14
-20
LDA 13
DIS 12
ADD 1K
XSK i 14
JMP p-3
ADD 9D+3
XSK i 6
JMP 17
#9E SET 17 [DISPLAY TIME INTERVAL
0
LDA i 13
DIS i 12
XSK i 6
JMP p-3
JMP 17
#9F SET 17 [HORIZONTAL CURSOR
0
SET i 14
-20
DIS i 12
XSK i 14
JMP p-2
LDA
12
ADD 9F+3
STC 12
JMP 17
#2F JMP 8A [FULL DISPLAY
JMP 2A [SAMPLE EKG
#9G SET 17 [WAIT FOR POS EDGE OF CLOCK
0
SXL 1 [IS EXTERNAL LEVEL -3V
JMP p-1 [NO
NOP [YES
SXL i 1 [IS EXTERNAL LEVEL 0V
JMP p-1 [NO
JMP 17 [YES
#1S 0000 [CTRT1
#1T 0000 [T1
#2T 0000 [T2
#3T 0000 [T3
#4T 0000 [T4
#1Z 0000 [BUFFERRED T1
#2Z 0000 [BUFFERRED T2
#3Z 0000 [BUFFERRED T3
#4Z 0000 [BUFFERRED T4
#2J 0000 [TEMP
#5C 0000 [UNACCEPTABLE NOISE LEVEL
#5P 0000 [DVD LO
#5R 0000 [-DIVISOR
#5S 0000 [DIVISOR
#6C 0000 [AVG VALUE
#5Z 0000 [BUFFERRED NOISE LEVEL
#6Z 0000 [BUFFERRED AVG VALUE
#7Z 0000 [BUFFERRED OFFSET CONSTANT
#8Z 0000 [OUTPUT TO D|A
#7C 0000 [ OFFSET CONSTANT



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