File SP

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

*20
/THIS SECTION IS THE INPUT ROUTINE
/FOR THE MAIN PROGRAM
	SEGMNT 6
	*20
	CLR
	IOB
	TLS
	SET I 17
	CH-1!4000
	SET I 1
	100
B,	LDH I 17
	SAE I
	52		/*
	SKP
	JMP 23
	ROL 1
	ADA I
	PATRN-1
	STC 16
	DSC I 16
	DSC I 16
	LDA I
	10
	ADM
	1
	KST
	JMP B
	IOB
	KRB
	SAE I
	316		/N
	SKP
	JMP INP
	SAE I
	331		/Y
	JMP B
	JMP LOAD
INP,	CLR
	SET I 10
	3760
	LDA I
	100
	ESF		/SMALL TYPE
	SAM 0
	SET I 17	/FAST SAMPLE
	-4
	SET I 16
	TX1-1+36!4000
	SAM 1		/BIN TIME
	ADA I
	1000
	STA
	AD
	COM
	STA I 10	/B10 STORES
	JMP AD-4	/VARIABLES TO
	LDH 16		/BE MOVED TO
	STC .+5		/MAIN PROGRAM
	LDA I
	56		/DECIMAL
	STH 16
	LDA I
	0
	STH I 16
	SET I 17
	TX1-1!4000
	JMP DS
	SET I 17
	-4
	SET I 16
	TX1-1+66!4000
	SAM 2		/SAMPLE PAST
	ADA I		/EVENT
	777
	AZE I
	CLR
	STA
	AD
	COM
	STA I 10
	JMP AD-4
	SET I 17
	TX1-1!4000
	JMP DS
	SET I 17
	-3
	SET I 16
	TX1-1+105!4000
	SAM 3		/BEGINNING
	ADA I		/BLOCK ON TAPE
	777
	AZE I
	CLR
	SCR 1
	COM
	STA I 10
	COM
	ROL 3
	STC AD
	JMP AD-4
	SET I 17
	TX1-1!4000
	JMP DS
	SET I 17
	-3
	SET I 16
	TX1-1+150!4000
	SAM 4		/SCALE DATA N
	ADA I
	777
	AZE I
	CLR
	SCR 1
	STA I 10
	ROL 3
	STC AD
	JMP AD-4
	SET I 17
	TX1-1!4000
	JMP DS
	SET I 17
	-2
	SET I 16
	TX1-1+172!4000
	SAM 0
	ADA I
	777
	AZE I
	CLR
	SCR 6
	STA I 10
	ROL 6
	STC AD
	LDA I
	NOP
	STC
	LDA
	0
	STC AX
	LDA I
AD,	0
	ROL 3
	STA
	.-3
	BCL I
	7770
	ADA I
	60
	STH I 16
	XSK I 17
	JMP AD-1
AX,	0
	SET I 17
	TX1-1!4000
	JMP DS
	KST
	JMP INP
	IOB
	KRB
	SAE I
	212		/LINE FEED
	JMP INP
	LDA 
	10
	STC .+4
INP2,	SET I 15
	-6
	SET I 10
	0
	SAM 0
	LDA I
	SAM 1
	STC CHNL
	SET I 16
	TX2-1+127!4000
CHNL,	SAM 0
	BCL I
	7000
	SCR 7
	AZE
	JMP .+2
	BSE I
	1
	STA I 10
	ADA I
	60
	STH I 16
	LDA I
	1
	ADM
	CHNL
	LDA I
	4001
	ADM
	16
	SET I 17
	TX2-1!4000
	JMP DS
	XSK I 15
	JMP CHNL
	SET I 17
	TX2-1!4000
	JMP DS
	KST
	JMP INP2
	IOB
	KRB
	SAE I
	212		/LINE FEED
	JMP INP2
	SET I 17
	TX3-1!4000
	JMP DS
	KST
	JMP .-4
	IOB
	KRB
	SAE I
	212		/LINE FEED
	JMP .-5
	JMP VERT+10
DS,	LDA
	0
	STC DX
	LDA I
	340
	STC VERT
	SET I 1
	20
	LDA I
	-20
	ADM
	VERT
D,	LDH I 17
	SAE I
	43		/CR
	SKP
	JMP .-12
	SAE I
	76		/LINE FEED=>
	SKP
	JMP .-14
	SAE I
	52		/*
	SKP
DX,	0
	ROL 1
	ADA I
	PATRN-1
	STC 14
	LDA I
VERT,	0
	DSC I 14
	DSC I 14
	LDA I
	4
	ADM
	1
	JMP D
	JMP LOAD	/TAKE OUT LATER
	SET I 17
	-15
	SET I 16
	3760
	LDF 6
	LDA I 16
	LDF 7
	STA 16
	XSK I 17
	JMP .-5
	JMP .+3		/TAKE OUT LATER
	WCG 0
	A
LOAD,	LDF 6
	LIF 7
	JMP 20
/TEXT FOR INPUT PROGRAM
CH,	TEXT "NO CHANGES?*"
TX1,	TEXT "KNOB TWIDDLERS DELIGHT!!!
>>>TWIST:>>>
A/D 0 FOR BIN TIME =        MS PER BIN>>
A/D 1 TO SAMPLE PAST EVENT       BINS>>
A/D 2 TO AVERAGE       TRIALS>>
A/D 3 FOR FIRST TAPE BLOCK NUMBER>
      ON UNIT ONE =      TH BLOCK>>
A/D 4 TO SCALE DATA     PLACES BEFORE>
      STORING.>>>
NOW HIT LINE FEED!!!*"
TX2,	TEXT "DATA IS COLLECTED IN THE FORM OF>
THREE 400 BIN EPOCHS.>>
SELECT WHICH EPOCH ON EACH CHANNEL>
IS TO BE AVERAGED AND STORED ON TAPE>>>
LEVEL   0   1   2   3   4   5 >
EPOCH                          >>>
NOW HIT LINE FEED*"
TX3,	TEXT "INPUT DATA ON SENSE LINES 0-5.>>
SELECT CHANNELS TO BE VIEWED DURING>
COLLECTION ON RIGHT SWITCHES BITS 0-5.>>
TRACES ARE MOVED VERTICALLY BY A/D 0-5>
AND MOVED TO RIGHT BY SENSE SWITCHES 0-5>>
RIGHT SWITCHES BITS 9-11>
SELECT VIEWING TIME>>
ENABLE SAMPLING WITH A VOLTAGE>
ON CHANNEL 13>>
THE EVENT SELECTED CAN BE PLACED>
ON CHANNEL 12 OR CLOCK CHANNEL TWO>
NOW HIT LINE FEED TO BEGIN!!!*"
TX4,	TEXT "ENABLE OFF*"
TX5,	TEXT "EVENT*"
TX6,	TEXT "OVERFLOW*"
/PATTERN WORDS FOR CHAR DISPL.
PATRN,	4522		/AT SIGN
       	1645
   	4477		/A
	7744
	5177		/B
	2651
	4136		/C
	2241
	4177		/D
	3641
	4577		/E
	4145
	4477		/F
	4044
	4136		/G
	2645
	1077		/H
	7710
	7741		/I
	0041
	4142		/J
	4076
	1077		/K
	4324
	177		/L
	301
	3077		/M
	7730
	3077		/N
	7706
	4177		/O
	7741
	4477		/P
	3044
	4276		/Q
	376
	4477		/R
	3146
	5121		/S
	4651
	4040		/T
	4077
	177		/U
	7701
	176		/V
	7402
	677		/W
	7701
	1463		/X
	6314
	770		/Y
	7007
	4543		/Z
	6151
	7700		/[
	0041
	1020		/\
	0204
	4100		/]
	0077
	2000		/^
	2077
	3410		/BACK ARROW
	1010
	0		/SPACE
	0
	7500		/!
	0
	6060		/"
	0
	3614		/NUMBER SIGN
	1436
	7721		/DOLLAR SIGN
	4677
	1446		/%
	6130
	5166		/&
	0526
	5000		/APOSTROPHY
	60
	0000		/(
	4136
	3641		/)
	0000
	2050		/*
	50
	404		/+
	437
	0500		/,
	0006
	404		/-
	404
	1		/.
	0
	601		//
	4030
	4136		/0
	3641
	2101		/1
	177
	4523		/2
	2151
	4122		/3
	2651
	2414		/4
	477
	5172		/5
	651
	1506		/6
	4225
	4443		/7
	6050
	5126		/8
	2651
	5120		/9
	3651
	4200		/:
	0
	4201		/;
	0
	2410		/<
	0042
	1212		/=
	1212
	4200		/>
	1024
	4020		/?
PATEND,	2055
/END OF PATRNS TABLE
	A=3004
/MAIN PROGRAM TO DO THE STUFF
/DESCRIBED IN INPUT ROUTINE
	FIELD 1
	SEGMNT 7
	*20
	CLR
	IOB
	TLS
	IOB
	CLLR
	IOB
	CLSA
	LDA
	1765		/SCALE DATA N
	BSE I
	SCR
	STC MSCL
	SET 13
	1763		/AV-N TRIALS
	LDA
	1764
	BSE I
	7000
	STC BLK		/FIRST BLK
	STA I
TSTM,	0
	STA I
STM,	0
	STA I
TRL,	0
/CLEAR FIELDS OF 3400-3777
CLRFLD,	LDA I
	LDF 0
	STC .+6
	SET I 16
	-6
	SET I 17
	3377
	CLR
	0
	STA I 17
	XSK 17
	JMP .-2
	LDA I
	1
	ADM
	.-7
	XSK I 16
	JMP .-14
	CLR
	STC TSTM
	LDA I
	1
	ADM
	TRL
	LDA I
	CLR
	STC .+1		/FIGURE THIS ONE
NDSP,	0		/OUT, DICK...
	LDA I
	1
	ADM
	TSTM
	LDA I
	1
	ADM
	STM
	LDA I
	200		/LARGE PRINT
	ESF		/LARGE PRINT
	SET I 17
	TX4+1777!4000
	SXL I 13	/FREE CH 13
	JMP .+3		/TO ENABLE
	JMP DSP
	JMP NDSP
	SET I 10	/BIN INDEX
	3777
	JMP EV		/HAS EVENT 
/SET UP CLOCK		/OCCURRED?
	PDP
	PMODE
	CLA
	CLEN
	CLAB
	CLLR
	CLSA
	CLA
	TAD K100	/CLR CLCK CNTR
	CLLR		/CLEARS CLOCK
	CLA
	TAD NTIME	/PER SNS LINE
	CLAB		/SMPL RATE
	CLA
	TAD K304	/OF INTERRUPT
	CLEN		/CH 2 ENABLE
	CLA
	TAD K1100
	CLLR
	JMP .+5
K100,	100
NTIME,	-63		/130 USEC/OF
K304,	304
K1100,	1100
	LINC
	LMODE
/SET UP TO SAMPLE SENSE LINES
CHB,	SET 11
	1761		/TIME PER BIN
	XSK I 10	/IN MULTIPLES
	NOP		/OF NTIME
	LDA
	10
	SAE I
	3400
	JMP .+4
	SET I 10
	3777
	JMP CHB
	CLR		/CLEAR NEXT BIN
	LDF 0
	STA 10
	LDF 1
	STA 10
	LDF 2
	STA 10
	LDF 3
	STA 10
	LDF 4
	STA 10
	LDF 5
	STA 10
/SAMPLE,  ADDING BITS TO FIELD CONTENTS
WAIT,	CLR
	IOB
	CLSK		/WAIT FOR OF
	JMP .-2
	IOB
	CLSA
	ROL 10
	APO
	JMP RSP
	NOP
	LDA
	T		/MULTIPLE FACTR
	ROR 13
	QAC
	LDF 0
	SXL 0
	ADM 10
	QAC		/QUACK??
	LDF 1
	SXL 1
	ADM 10
	QAC
	LDF 2
	SXL 2		/SIX DUCKS
	ADM 10
	QAC
	LDF 3
	SXL 3
	ADM 10
	QAC
	LDF 4
	SXL 4
	ADM 10
	QAC
	LDF 5
	SXL 5
	ADM 10
	XSK I 11
	JMP WAIT
	JMP CHB
/RESPONSE OCCURED
RSP,	LDA I		/RESPONSE MARKER
	-1
	LDF 0
	STA I 10
	LDF 1
	STA 10
	LDF 2
	STA 10
	LDF 3
	STA 10
	LDF 4
	STA 10
	LDF 5
	STA 10
	LDA 
	1762		/TIME AFTR EV
	AZE I
	JMP NSPL
	SET 12
	1762		/BINS PAST EVENT
CHB2,	SET 11
	1761		/TIME/BIN
	XSK I 10
	NOP
	LDA
	10
	SAE I
	3400
	JMP .+4
	SET I 10
	3777
	JMP CHB2
	CLR
	LDF 0
	STA 10
	LDF 1
	STA 10
	LDF 2
	STA 10
	LDF 3
	STA 10
	LDF 4
	STA 10
	LDF 5
	STA 10
WAIT2,	CLR
	IOB
	CLSK
	JMP .-2
	IOB
	CLSA
	APO I
	JMP WAIT2
	NOP
	LDA
	T
	ROR 13
	QAC
	LDF 0
	SXL 0
	ADM 10
	QAC
	LDF 1
	SXL 1
	ADM 10
	QAC
	LDF 2
	SXL 2
	ADM 10
	QAC
	LDF 3
	SXL 3
	ADM 10
	QAC
	LDF 4
	SXL 4
	ADM 10
	QAC
	LDF 5
	SXL 5
	ADM 10
	XSK I 11
	JMP WAIT2
	XSK I 12
	JMP CHB2
/THIS ROUTINE SORTS OUT INDICATED EPOCH
/AND INSERTS CORRECT SEGMNT SECTION
NSPL,	CLR
	JMP EV
	SET I 7
	1765		/EPOCH FETCH
	SET I 6
	-6		/CHANNELS
	LDA I
	LDF 0
	STC DF
	LDA I 7
	SAE I
	1
	JMP .+3
	LDA I
	-0
	SAE I
	2
	JMP .+3
	LDA I
	-1000
	SAE I
	3
	JMP .+3
	LDA I
	-400
	ADA
	10
	ADA I
	-1777
	APO I
	JMP .+3
	ADA I
	-400
	ADA I
	1777
	BSE I
	2000
	BCL I
	4000
	STC 11
	SET I 12
	3377
DF,	LDF 0
	LDA
	11
	SAE I
	3377
	JMP .+3
	SET I 11
	3777
	LDA I 11
MSCL,	SCR 0
	ADM I 12
	FLO I
	JMP DFLO
	XSK 12
	JMP DF
	LDA I
	1
	ADM
	DF
	XSK I 6
	JMP NSPL+11
	JMP EV
/STORE DATA ON TAPE
	XSK I 13	/AVE N TRLS?
	JMP NSTR
STR,	SET 13		/YES
	1763
	RSW
	ROL 10		/BIT 8 TAPE
	APO		/WRITE ABORTED
	JMP NOTAPE	/IF ON
	SET I 6
	-5
	LDA I
	LDF 0
	STC .+1
	LDF 0
	WRI I 10
BLK,	0
	LDA I
	1
	ADM
	BLK
	SAE I
	7777
	SKP
	HLT
	LDA I
	1
	ADM
	BLK-2
	XSK I 6
	JMP BLK-2
	LDA
	BLK
	STC .+3
	LDF 5
	WRC 10
	0
	LDA I
	1
	ADM
	BLK
	SAE I
	7777
	SKP
	HLT
NOTAPE,	CLR		/TAKE OUT LATER
	LDA I
	JMP CLRFLD
	STC NDSP
	JMP EV
/DISPLAY ROUTINE FOR DATA
NSTR,	CLR
	RSW
	STA
	DRSW
	BCL I
	7770
	COM
	STC 7
	LDA I
	XSK I 7
	STC DXSK
	RSW
	BCL I
	7770
	SAE I
	7
	JMP .+5
	LDA I
	NOP
	STA
	DXSK
	SAE I
	0
	SKP
	JMP NDSP
	RSW
	BCL I
	0077
	AZE I
	JMP NDSP
	SET I 5
	-17
DSET,	SAM 0
	SET I 6
	-7
	RSW
	SAE I
DRSW,	0
	JMP NSTR
	LDA I
	SAM-1
	STC DAD
	LDA I
	ROL-1
	STC DROL
	LDA I
	LDF-1
	STC DDF
	LDA I
	SNS-1
	STC DSS
	RSW
	ROL 6
	APO
	JMP IG
DINC,	PDP
	PMODE
	ISZ DAD
	ISZ DROL
	ISZ DSS
	ISZ DDF
	LINC
	LMODE
	XSK I 6
	JMP .+6
	XSK I 5
	JMP DSET
DXSK,	XSK I 7
	JMP DSET-2
	JMP NDSP
	SET I 11
	3377
	RSW
DROL,	0
	APO I
	JMP DINC
DAD,	SAM 0
	STC DV
	LDA I
	-0
DSS,	SNS 0
	JMP .+3
	LDA I
	377
	STC 1
DDF,	LDF 0
	LDA I 11
	ADA I
DV,	0
	DIS I 1
	XSK 11
	JMP .-5
	KST
	SKP
	JMP DKEY
	JMP EV
	JMP DINC
DKEY,	SET 2
	0
	IOB
	KRB
	SAE I
	304		/D
	SKP
	JMP LOADER
	SAE I
	303		/C
	SKP
	JMP INPR
	ADA I
	-265
	APO I
	JMP 2
	ADA I
	6
	APO
	JMP 2
	ADA I
	LDF-1
	STC IGF
	JMP 2
INPR,	CLR
	LDF 7
	LIF 6
	JMP 20
LOADER,	LDF 2
	LDA I
	701
	STA
	2016
	LDA I
	7300
	STA
	2017
	LDF 3
	LIF 2
	JMP 16
/DICKS ROUTINE TO INTEGRATE FIELD
IG,	CLR
	SET 2
	0
	RSW
	ROL 7
	APO
	JMP .+4
	LDA I
	400
	SKP
	CLR
	STC 16	
	SAM 6
	STC IGY		/THANKS, DICK
	SET I 17
	3377
IGF,	LDF 0
	LSW		/INT SCALE
	COM
	BCL I
	7770
	BSE I
	SCR
	STC .+10
	SET I 15
	-200
	STC .+12
	STC .+15
IGL,	LDA I 17
	APO
	COM
	0
	STA I
	0
	QAC
	LAM I
INT1,	0
	LDA
	.-5
	LAM I
INT2,	0
	ADA I
IGY,	0
	DIS I 16
	XSK I 15	/200?
	JMP IGL
	CLR
	SRO I
	2525		/TWICE?
	JMP IGL-4
/ROUTINE TO DISPLAY TRILS (AND TRIBS)
	CLR
	LDA I
	40
	STC HOR
	LDA I
	340
	STC VRTL
	LDA
	STM
	JMP UNPC
	LDA I
	360
	STC HOR
	LDA
	TRL
	JMP UNPC
	LDA I
	640
	STC HOR
	LDA
	BLK
	BCL I
	7000
	STC .+7
	LDA
	BLK-1
	BCL I
	7767
	ROL 6
	ADA I
	0
	JMP UNPC
	LDA I
	-340
	STC VRTL
	LDA I
	40
	STC HOR
	LDA
	TSTM
	JMP UNPC
	LDA I
	340
	STC HOR
	LDA
	INT1
	JMP UNPC
	LDA I
	640
	STC HOR
	LDA
	INT2
	JMP UNPC
	LDA I
	300
	STA
	HOR
	STC VRTL
	JMP 2
UNPC,	STC .+11
	LDF 6
	SET I 16
	TRLS-1!4000
	SET 4
	0
	SET I 17
	-4
	LDA I
	0
	ROL 3
	STA
	.-3
	BCL I
	7770
	ADA I
	60
	STH I 16
	XSK I 17		
	JMP .-13
	SET I 16
	-4
	SET I 17
	TRLS-1!4000
	JMP DSP+10
	JMP 4
EV,	SET 2
	0
	SET I 17
	TX5+1777!4000
	CLR
	IOB
	CLSA
	ROL 10
	APO I
	JMP .+3
	JMP DSP
	JMP EV+2
	JMP 2
/ROUTINE TO DISPLAY OVERFLOW
DFLO,	SET 2
	0
	SET I 17
	TX6+1777!4000
	JMP DSP
	JMP 2
/ROUTINE TO DISPLAY CHARACTERS
DSP,	CLR
	LDF 6
	LDA I
	207
	IOB
	TLS		/RING BELL
	SET I 16
	0
	SET 3
	0
	LDA
	17
	STC .+2
	SET I 17
	0
	SET I 1
HOR,	300
	LDH I 17
	SAE I
	52		/*
	SKP
	JMP .-10
	ROL 1
	ADA I
	PATRN+1777
	STC 15
	LDA I
VRTL,	300
	DSC I 15
	DSC I 15
	LDA I
	10
	ADM
	1
	XSK I 16
	JMP .-22
	JMP 3
TRLS,	00
	00
	**
/SYMBOL TABLE
	CLSK=6131
	CLSA=6135
	CLLR=6132
	KRB=6036
	TLS=6046
	RIB=6234
/CONSTANTS FOR TROUBLESHOOTING
	*3761
	-10		/ONE MS BINS
	-400	/SMPLE PAST EVNT 1000 BN
	-5		/AVE 10 TRLS
	0		/FIRST TBLK
	0		/SCALE DATA N
	1		/THIRD EPOCH
	2
	3
	1
	2
	3
T,	1		/1774-MULT
	0
	0
	0
/END OF CONSTANTS
	SEGMNT 2
	*20
	LDF 7
	LIF 6
	JMP 20
	*400
	LDF 6
	LIF 7
	JMP 20
	0000
	0000
	0000
	0000
	0000
/INSTRUCTIONS:
/
/
/RSW 0-5 CONTROL VIEWED CHANNELS
/SNS 0-5 MOVE TRACES TO RIGHT
/A/D 0-5 CONTROL VERTICAL FOR TRACES
/DATA IS ACCUMULATED IN FIELDS 0-5
/DATA IS IN THREE EPOCHS WORDS 2000-
/3377
/WORDS 3400-3777 ARE USED FOR AVERAGING
/RSW 6 DISPLAYS INTEGRAL, STIM NUMBER &
/TOTAL COUNTS FOR EACH CHANNEL.
/HIT 0-5 ON TTY TO CHANGE CHANNELS.
/RSW 8 ON ABORTS TAPEWRITE.
/RSW 9-11 CONTROLS DISPLAY TIME
/RSW 9-11 = 0 ZERO DISPLAY TIME
/RSW 9-11 = 7 INFINATE DISPLAY
/LSW 9-11 CONTROLS INTEGRAL DISPLAY.
/A/D 6 CONTROLS VERTICAL FOR INTEGRAL
/RSW 7 MOVES INTEGRAL TO RIGHT.
/APPLY EVENT TO CLOCK CHANNEL TWO.
/EVENT CAN BE SENSED BY A NEGATIVE
/ACCUMULATION WHERE IT FALLS.
/DATA IS STORED STARTING WITH 
/BLOCK ZERO, IN GROUPS OF SIX BLOCKS.
/PROGRAM HALTS AT BLOCK 777.
/DAN GRAY
/3/17/72



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