File SIGAVG

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

*20
	PMODE
/PDP 12 SIGNAL AVERAGER
/WITH MTP WRITE SR
/9 APR 70
/MEMORY BOUNDS FOR FIELD 0
        LOCORE=230	/LISTS, BUFERS
			/DATA BLOCKS
			/START HERE
        HICORE=6200	/PROTECTED AREA
			/BEGINS HERE
			/AVGING PARAMS
			/LOCNS 20-64
			/LIST ADDRESSES
	ADJLIS=23	/START OF JOB
			/LIST-1
	ADCHNL=24	/START OF CHANEL
			/DISPLAY LIST-1
	AVG=400		/JOB TYPES
	SD=1000
	TRN=1400
			/JOINT SWEEP
			/PARAMS 29 LOCS
	SMASK=25	/STIMULUS (SYNC)
			/CHANNEL MASK
	NSWEP=26	/-NUM SWEEPS
			/IN AVERAGE
	KSYTIM=27	/-( OF ASI FROM
			/STIM TO SYNC
			/POINT -1)
	ASI=37		/USEC PER ASI
	KMODE=42	/KW12 CNTRL REG
	CLKMOD=43	/KW12 ENAB REG
			/SWEEP A LIST
			/PARAMETERS
	SAMA=44		/-POINTS (ASI)
			/IN SWEEP A
			/(EACH CHANNEL)
	NCHA=45		/NUM OF CHAN
			/IN SWEEP A
	ADBUFA=47	/LOCN -1 FOR
			/START OF ADC
			/BUFFER -A
	PLTDLY=50	/PLOTTER DELAY
			/COUNTER
	CLKCNT=51	/CLOCK CNTR
			/CHANEL COUNTER
			/AND CONSTANT
	KCHCNT=52	/-NO. OF CHAN
			/IN SWEEP CONST
	CHCNT=53	/-NO. OF CHAN
			/LEFT IN SWEEP
			/(VARIABLE)
			/SWEEP A ON LN
			/PARAMETER
	KBLA=60		/-NUM ASI FROM
			/SYNC POINT TO
			/LOGICAL END OF
			/A-1
	OCSORT=130
	TEMP01=146	/TEMPORARY
	TEMP02=147	/STORAGE
	TEMP03=150	/REGISTERS
	TEMP04=151	/146-177
	TEMP05=152
	TEMP06=153
	TEMP07=154
	TEMP10=155
	TEMP11=156
	TEMP12=157
	TEMP13=160
	TEMP14=161
	TEMP15=162
	TEMP16=163
	TEMP17=164
	TEMP20=165
	TEMP21=166
	ARITH0=167	/TEMP
	TEMP22=167	/STORAGE
	ARITH1=170	/AND
	TEMP23=170	/MULTIPLE
	ARITH2=171	/ACCUMULATORS
	TEMP24=171
	ARITH3=172
	TEMP25=172
	ARITH4=173
	TEMP26=173
	ARITH5=174
	TEMP27=174
	KBDBUF=175	/TEMP
	TEMP30=175	/STORAGE
	TTYBUF=176	/AND
	TEMP31=176	/TTY-KBD
	TTYFLG=177	/BUFFERS
	TEMP32=177
			/COMBINED
			/OPERATES
	MTH=CLA CMA CLL RTL
	MTW=CLA CMA CLL RAL
	TWO=CLA CLL CML RTL
			/INSTALLATION
			/PARAMETERS
			/LOCNS 20-64
			/LIST ADDRS
	*1		/INT SERVICE
	DCA ASAVE
	RAR
	DCA LSAVE
	JMP I INTERX
	0
	0
LXCORD,	0
BUFA,	0
GETPNT,	0
PUTPNT,	0
JPNT,	0
	AXPNTR=JPNT
	TMPNTR=17
	*30
			/LINKS N CONSTS
			/FOR MTP SR
WSWITZ,	7777
WDUNZ,	WRIDUN
WRIZ,	WRITE
INDATZ,	INDATA
TMESSZ,	TMESS
TYPEZ,	TYPES
KZ7,	7
	*56
ZCYCLE,	CYCLE
	*104
KM200Z,	-200
STWZ,	ADDUN
ZLADR,	SQADS-2
KZ377,	377
KZ260,	260
M3Z,	-3
LMODE
*41			/LINC INTERRUPT
	JMP 200		/SERV AT 200
 
PMODE
*50
PLTDLY,	0
CLKCNT,	0
KCHCNT,	0
CHCNT,	0
KM005,	-0005		/CONSTANTS
K0100,	0100
*60
KBLA,	0
K0215,	0215
K0322,	0322
K0062,	0062
KM3720,	-3720
INTERX,	0
ASAVE,	0
LSAVE,	0
			/LINKS TO SECN
			/3 SUBROUTINES
JGET,	JGETS		/GET NEXT JOB
			/FROM JOB LIST
BLKCNT,	BLKCNS		/MOVE THRU DATA
			/BLOCK
SETPNT,	SETPNS		/SET ADC PNTRS
IXPNT,	IXPNTS		/MOVE THRU
			/ADC BUFFERS
SDIS,	SDISS		/SET UP DISPLAY
DISP,	DISPS		/DISPLAY A PNT
LDIS,	0
	LINC		/LINC MODE DIS
	LMODE		/ROUT
	DIS LXCORD	/B7 IS H.C.
	PDP
	PMODE
	CLA
	JMP I LDIS
	*112
K0004,	0004		/PAGE 0 CONSTS
K0003,	0003		/USED BY
K0002,	0002		/RESIDENT
KM0001,	-001		/SUB RTS
K0007,	0007		/DONT RELOCATE
KM0027,	-0027
K0377,	0377
KM0004,	-0004
			/TTY-LIST
TTYLST,	0		/-END OF LIST
PROMRK,	42		/"-PROG OUTPUT
			/MARKER
K44,	44		/-DISPLAY RESET
TXMRK,	47		/-KEYBRD INPUT
			/MARKER
KCR,	45		/CR-CARIG RTN
KM0043,	-43		/LF-LINE FEED
	*OCSORT
K0040,	40		/SPACE: K0040
MTXMRK,	-47		/: MTXMRK
			/LINKAGES TO
			/BASIC SUB RT
BRAN,	BRANS		/TABLE BRANCH
SHFT,	SHFTS		/DBL PRECISION
			/ARITH SHIFT
DADD,	DADDS		/DBL PREC ADD
			/TEMP STORAGE
KLUG,	0
	TAD GETPNT
	DCA PUTPNT
	JMP I KLUG
			/REGS 146-177
	*200		/LINC INTERUPT
 	LMODE		/SERVICE ROUT
	SET I 0		/RTN TO LIRETN
	LIRETN		/WHEN FINISHED
	STC LASAVE
	ROR I 1
	STC LLSAVE
	PDP
	PMODE
	JMP 1		/GO SERVICE
			/INTERRUPT
LIRETN,	IOF
	CLA
	TAD 40		/GET RTN ADDR
	LINC
	LMODE
	BSE I		/MAKE A JUMP
	6000
	STC LJUMP
	ADD LLSAVE
	ROL I 1
	LDA I
LASAVE,	0
	IOB
	6244		/RMF
	IOB
	6001		/ION
LJUMP,	0		/JUMP BACK TO
			/MAIN PROGRAM
LLSAVE,	0
	PMODE
	*400		/LOAD AND
	CLA CLL		/GO START
	JMP I .+1
	START
	*6200
			/ON-LINE FAST
			/AVERAGE
			/RTS TO TYPE
			/DECIMAL WITH
			/FORMATTING
DECTYP,	0		/TYPE SIGNED
			/DECIMAL IN
			/ARITH2
	TAD ARITH2	/GET SIGN
	SPA CLA
	TAD K0015	/TYPE - FOR NEG
	TAD K0240	/SPACE FOR PLUS
	JMS I TYPEX
	TAD ARITH2
	SPA
	CMA IAC
	DCA ARITH0	/ABS OF NUM
	TAD KMD1K	/GET THOUSANDS
	JMS GDIGIT	/DIGIT
	TAD KMD100	/GET HUNDREDS
	JMS GDIGIT	/DIGIT
	TAD KMD010	/GET TENS DIGIT
	JMS GDIGIT
	CLA CMA		/GET UNIT DIGIT
	JMS GDIGIT
	TAD K0240	/TYPE SPACE
	JMS I TYPEX
	ISZ CRCNT	/CHECK ITEM
			/COUNT FOR LINE
	JMP I DECTYP	/NOT 10 YET XIT
	JMS CRLFS	/10 ITEMS NEW
			/LINE
	JMP I DECTYP
GDIGIT,	0		/RADIX DEFLATE
			/AND TYPE DIGIT
	DCA ARITH3	/RADIX TO
			/DEFLATE BY
	DCA NDIGIT
	NDIGIT=TEMP01
	TAD ARITH0	/NUM TO DEFLAT
GLOOP,	DCA ARITH0	/UPDATE DEFLATED
 			/NUMBER
	TAD ARITH0	/TRIAL
	TAD ARITH3	/SUBTRACTION
	ISZ NDIGIT
	SMA		/DO MORE?
	JMP GLOOP	/YES, CONTINUE
			/DEFLATION
	CLA		/NO
	TAD K0257	/NDIGIT IS
			/DIGIT+1
	TAD NDIGIT	/TYPE DIGIT
	JMS I TYPEX
	JMP I GDIGIT
CRLFS,	0
	TAD K0215	/TYPE CR
	JMS I TYPEX
	TAD K212	/TYPE LF
	JMS I TYPEX
	TAD KMD010	/SET COUNT
	DCA CRCNT	/-10 ITEMS
	JMP I CRLFS
			/LOCAL CONSTS
KMD1K,	-1750
KMD100,	-0144
KMD010,	-0012
K0015,	0015
K0257,	0257
K0240,	0240
			/TEXT OF CTRL/A
			/MESSAGES
TXMESS,	215		/(CR)
K212,	212		/(LF)
TMCH,	0		/*
	272		/:
	240		/SPACE
	0		/END TEXT
CRCNT,	-12		/LOCAL VAR
TYPEX,	TYPES		/LOCAL
ADDUN,	TAD ASWIT	/AVGING SWIT=0
			/IF OK TO AVG
	SZA CLA
	JMP ADONE	/.NE. 0; DONT
			/UPDATE CALCS
	TAD ADJLIS	/START CALCS AT
			/TOP OF LIST
	DCA JPNT
CALJOB,	CDF 0		/FIELD 0 HOLDS
			/JOB LIST
	JMS I JGET	/GET JOB PARAMS
	JMP CALEND	/EOL DETECTED
			/END OF THIS
			/SWEEP
	ISZ JPNT	/MOVE OVER
	ISZ JPNT	/J6 AND J7
	DCA CALXM	/AC HELD CDF N
	JMS I SETPNT	/SET UP ADC
			/PNTRS N CNTRS
	TAD GETPNT	/SET UP TO
	DCA PUTPNT	/UPDATE JOBS
			/DATA REGION
	TAD CALXM	/UPDATE JOBS
	DCA .+1		/SWEEP CNTR
	CDF		/SET CDF
	TAD I GETPNT	/GET NUM OF
	DCA NSAVE	/SWEEPS
	NSAVE=TEMP07
	ISZ I PUTPNT	/SAVE INCR.
			/NUM OF SWEEPS
CALNXT,	CDF 0		/ADC BUFFER IS
			/IN FIELD 0
	TAD I TBUFAD	/GET SAMPLE
	DCA TADC	/FROM ADC BUFER
	TADC=TEMP03
CALXM,	CDF		/JOBS CDF
	CLL
	TAD TADC	/ADC BUFFER
			/VALUE FOR PNT
	JMS I LADZ	/LIST DBL
			/PRECISION ADD
	CLA CMA
	TAD TJTYPE	/S.D.?
	SNA CLA
	JMP CALMOR	/NO TYPE 1
			/75/PNT
	TAD TADC	/ADC BUFER VAL
	JMS I SQADZ	/SQUARE N LIST
			/TRIPLE
			/PRECISION ADD
	MTW
	TAD TJTYPE	/TREND?
	SNA CLA
	JMP CALMOR	/NO TYPE 2
			/400/PNT
	TAD I GETPNT	/LAST SWEEPS
	DCA TSAVE	/ADC BUFFER VAL
	TSAVE=TEMP01	/FOR THIS PNT
	TAD TADC	/SAVE THIS
			/SWEEPS ADC
			/BUFFER VALUE
	DCA I PUTPNT	/FOR THIS PNT
	TAD NSAVE	/NUM OF SWEEPS
	SNA CLA		/0?
	JMP .+4		/YES
			/X(1)-X(0)=0
	TAD TSAVE	/THIS SWEEP-
	CMA IAC		/LAST SWEEP
	TAD TADC	/SQUARE N LIST
			/TRIPLE ADD
	JMS I SQADZ	/TYPE 3:750/PNT
CALMOR,	JMS I BLKCNT	/MORE DATA
			/IN JOB?
	DCA CALXM	/FIELD CHANGE
			/CDF INST IN AC
	JMS I IXPNT	/NOT COMPLETE
			/UPDATE ADC
			/POINTER
	JMP CALJOB	/JOB COMPLETE
			/GET NEXT JOB
	JMP CALNXT	/NOT COMPLETE
			/GET NEXT POINT
LADZ,	LADDS
SQADZ,	SQADS
K0276,	0276
CALEND,	TAD WSWITZ
	SNA CLA
	JMP I WDUNZ
	ISZ NSWPS	/SWEEPS DONE?
	JMP ADONE	/NO
	DCA VSW		/YES SET VIEW
			/SWITCH TO
			/AVERAGES
	DCA XMASK	/DO NOT SAMPLE
	TAD K0276	/TYPE ">"
	DCA KBDBUF
	SKP
ADONE,	NOP
	JMP I ZCYCLE	/START AT TOP
			/OF DISP CYCLE
/SUBROUTINE TO SENSE AND BRANCH ON PSEUDO KEYBOARD: IKBRAN
/	EXIT 1			/NORMAL RETURN
/	EXIT 2			/<LF>
/	EXIT 3			/<CR>
 
IKBRAS,	0		/PROTECT AGNST
			/BAD CNTRL TAPE
	TAD KBDBUF	/EXAMINE
			/INTERRUPT KBD
	SNA		/KEY STRUCK?
	JMP I IKBRAS	/NO NEW KEY
	JMS I BRAN	/YES WHICH ONE ?
	IKLIST
	JMP CTRLZ	/Z ZERO AND
			/RESTART
	JMP CTRLR	/R - RESTART
	JMP CTRLA	/A ALTER PARAMS
	JMP CTRLQ	/Q TERM AVGING
	ISZ IKBRAS	/C.R. EXIT TO
			/CALL+3
	JMP IKCRLF	/L.F. ECHO AND
			/EXIT TO CALL+2
	JMP IKV		/V COMPLEMENT
			/VIEW SWITCH
	MTW		/C CONTRACT
			/VIEW SCALE
	JMP IKXC	/X EXPAND
			/VIEW SCALE
	JMP CTRLD	/D GET MONITOR
	JMP I WRIZ	/WRITE MTP
	JMP IKT		/T TYPE DATA
	JMP IKP		/P PLOT MODE
IKCONT,	TAD KBDBUF	/OTHERS ECHO
	TLS		/TYPE
	DCA TTYFLG	/SET FLAG CHAR
			/IN PROGRESS
	DCA KBDBUF	/CLR KBD BUFER
IKEXIT,	JMP I IKBRAS	/RTN
IKV,	TAD VSW		/V COMP. VIEW
			/SWITCH
	CMA
	DCA VSW
	JMP IKCONT	/ECHO AND EXIT
IKXC,	CLL CMA		/-2 GOES TO 1
			/0 GOES TO -1
	TAD NSHFT	/C: INC. NSHFT
			/X: DECR. NSHFT
	DCA NSHFT	/NSHFT IS NUM
			/OF PLACES TO
			/SHIFT RIGHT
	JMP IKCONT	/ECHO AND EXIT
IKCRLF,	TAD K0212	/CR OR LF
			/TYPE LF LATER
	DCA TTYBUF
	ISZ IKBRAS	/XIT TO CALL+2
			/OR CALL+3
	JMP IKCONT	/ECHO AND EXIT
IKP,	TAD XMASK	/IS AVGING DONE?
	SZA CLA
	JMP IKEXIT-1	/NO DONT EVEN
			/ECHO "P"
	TAD PSWIT	/YES, COMP
			/PLOT SWITCH
	CMA
	DCA PSWIT
	JMP IKCONT	/ECHO AND EXIT
IKT,	TAD PSWIT	/PLOTTING DONE?
	TAD XMASK	/AVERAGE DONE?
	SZA CLA
	JMP IKEXIT-1	/NO DONT ECHO
	DCA TNJOB	/PRESET TO
			/DUMP MODE
	TNJOB=TEMP10
	DCA TNMIN
	TNMIN=TEMP11
	DCA TNMAX
	TNMAX=TEMP12
	TAD KBDBUF	/"<CRLF>T: "
	JMS I RDKBDX	/GET AVERAGE
			/TO BE OUTPUT
	SNA		/0 TO TYPE ALL
	JMP IKTGO	/IN DUMP MODE
			/TYPE ALL DATA
	DCA TNJOB	/-JOB 
	TAD K0314	/"<CRLF>L: "
	JMS I RDKBDX	/GET LOWER
			/LIMIT (BIN )
	DCA TNMIN
	TAD K0310	/"<CRLF>H: "
	JMS I RDKBDX	/GET UPPER
			/LIMIT (BIN )
	DCA TNMAX
IKTGO,	CLA CMA
	DCA TSWIT
	TAD K0215
	DCA KBDBUF
	JMP I IKBRAS
CTRLD,	IOF
	JMP I .+1
	MONITR
CTRLQ,	CLA CMA		/DO 1 MORE SWEEP
	DCA NSWPS	/AND THEN QUIT
	JMP IKEXIT-1
START,	CMA
	DCA WSWITZ
	TAD K201	/AVGER STARTS
			/HERE
	DCA KBDBUF
	TAD K0100	/GET LINC SPEC
	LINC		/FCNS CONST
	LMODE
	ESF		/ENAB FAST SAM
	PDP
	PMODE
 
CTRLA,	JMP I TCALX	/SET UP CLOCK
	TAD K0316	/"/CRLF/N: "
	JMS I RDKBDX	/-NUM OF SWEEPS
	DCA NSWEP
	TAD K0304	/"/CRLF/D: "
	JMS I RDKBDX	/-DELAY (IN
			/SAMPLING INT)
	TAD KM0001
	DCA KSYTIM+1
CTRLZ,	TAD K0212	/LFCRLF
	JMS I TMESSX
	TAD ADJLIS	/START AT 1ST
	DCA JPNT	/JOB
ZNXT,	CDF 0
	JMS I JGET	/GET JOB PARAMS
	JMP ADINIT	/NO MORE JOBS
			/INIT SWEEP
			/CNTRL TO
			/ACCEPT DATA
	ISZ JPNT	/SKIP OVER DISP
	ISZ JPNT	/IN J6 N J7
	DCA ZXM		/CDF INST IN AC
	JMS I JCELLX	/GET NUM OF
			/CELLS -2 FOR
			/JOBS DATA POINT
	TAD K0002	/NUM OF CELLS
			/PER DATA POINT
			/IS N
	CMA IAC
	DCA TZCELL
	TZCELL=TEMP02
	CLA CMA		/FIRST ITEM HAS
			/SWEEP CNT (NOT
			/CNTED IN LENTH)
ZXM,	CDF
	TAD TZCELL	/FOR EACH PNT 0
	DCA TZCNT	/N CELLS
	TZCNT=TEMP01
	DCA I GETPNT	/GETPNT INIT
			/BY JGETS
	ISZ TZCNT
	JMP .-2
	JMS I BLKCNT	/NEXT POINT?
	DCA ZXM		/YES BUT CHANGE
			/CDF
	JMP ZXM		/CONTINUE
	JMP ZNXT	/END OF JOB
			/GET NEXT JOB
RDKBDX,	RDKBDS		/LOCAL
JCELLX,	JCELLS		/CROSSPAGE
TMESSX,	TMESS
TCALX,	TCALS
			/ASCII CHARS
K0304,	304		/D
K0316,	316		/N
K0212,	212		/LF
K0314,	314		/L
K0310,	310		/H
K201,	201
			/INIT PNTRS
			/COUNTERS
			/AND BUFFERS
ADINIT,	TAD K0003	/SET SCALE
			/TO 1/8
	DCA NSHFT
	NSHFT=TEMP21
CTRLR,	TAD K0212	/PUT LFEED IN
	DCA KBDBUF	/KBD BUFF
	TAD NSWEP	/SET AUTO STOP
	DCA NSWPS	/COUNTER
	NSWPS=TEMP20
	TAD SMASK	/SET AVGING
	DCA XMASK	/SWITCH
	XMASK=TEMP17
	DCA PSWIT	/NO PLOTTTING
	PSWIT=TEMP16	/PERMITTED
CYCLE,	CLAB
	CLLR
	TAD K0100
	CLLR
	CLSA
	LINC
	110		/SAM 10
	2		/PDP
	CLA
	TAD CLKCNT
	CMA IAC
	CLAB
	CLA
	TAD CLKMOD	/GET KW12 MODE
	CLEN
	CLA
	TAD ADRCLK	/SETUP INTERUPT
			/SERVICE
	DCA INTERX	/INTERRUPT GOES
			/TO SWEEP ADC
KBDCHK,	JMS I IKBRAX	/LOOK AT
			/INTERRUPT KBRD
	JMP RSTART	/NO CHAR GO DISP
	CLA CMA		/L.F. COMES HERE
			/FOR 1ST SWEEP
			/SET MODE TO
			/PAUSE
	DCA ASWIT	/C.R. SET MODE
			/TO "COMPUTE"
	ASWIT=TEMP15
	TAD ASWIT	/ASWIT=-1 FOR
			/PAUSE ASWIT=0
			/FOR COMPUTE
	DCA VSW		/INPUT FOR PAUSE
			/AVERAGES FOR
			/COMPUTE
	VSW=TEMP14
	DCA TSWIT	/SET TO NO TYPE
	TSWIT=TEMP13
RSTART,	ION		/INIT
DISWIT,	TAD VSW		/VIEW INPUT OR
			/PARTIAL SUMS?
	SZA CLA
	JMP VINPUT	/VIEW INPUT
	TAD ADJLIS	/VEIW PART SUMS
	DCA JPNT	/START WITH
			/1ST JOB
VJSTAR,	CDF 0
	JMS I JGET	/VIEW PART SUMS
	JMP KBDCHK	/NO MORE JOBS
			/LOOK AT KBRD
	DCA VJXM	/CDF INST
	JMS I SDIS	/SETUP DISP
			/PARAMETERS
	NOP		/SKIPPED (KLUG)
	JMS JCELLS	/GET NUM OF LOC
			/PER POINT-2
	DCA TDSKIP	/DONT DISP S.D.
			/OR TREND
	TDSKIP=TEMP04
	TAD VJXM	/SET UP FIELD
	DCA VJXMN	/TO GET N
VJXMN,	CDF
	TAD I GETPNT	/NUM OF SWEEPS
	DCA ARITH2
	TAD TSWIT	/CHK TYP SWITCH
	SNA CLA		/.NE. 0 TO TYPE
	JMP VJXM	/DONT TYPE
	TAD TNJOB	/DUMP MODE?
	SNA CLA
	JMP .+3		/YES START
			/TYPING
	ISZ TNJOB	/NO IS THIS THE
			/JOB TO BE
			/TYPED?
	JMP VJXM	/NO DISP THIS 1
	JMS I CRLFX	/TYPE CRLF
			/SET ITEM CNTER
	JMS I DECTYX	/TYPE N
	TAD NSHFT	/GET SCALE
	DCA ARITH2	/FACTOR SAV FOR
			/TYPING
	JMS I DECTYX	/TYPE SCALE
			/FACTOR
	JMS I CRLFX	/TYPE CRLF
			/SET CR COUNT
VJXM,	CDF		/GET DATA FIELD
	TAD I GETPNT	/GET DATA PNT
			/(LO ORDER,
			/HI ORDER)
	DCA ARITH2
	TAD I GETPNT	/AND PUT IN
	DCA ARITH1	/SHIFT REG
	MTW		/OUTPUT IN MV
			/DEC SF BY 4
	TAD NSHFT
	CMA IAC
	JMS I SHFT
	TAD TSWIT	/CHK TYPE SWIT
	SNA CLA
	JMP VJDIS	/TYPE NOT ENAB
	TAD TNJOB	/IS THIS JOB
	SZA CLA		/TO BE TYPED?
	JMP VJDIS	/NO JUST DISP
	TAD TNMIN	/REACHED THE
	SNA CLA		/FIRST POINT?
	JMP .+3
	ISZ TNMIN	/NO COUNT DOWN
	SKP		/JUST DISPLAY
	JMS I DECTYX	/YES TYPE
			/DATA POINT
	ISZ TNMAX	/REACHED THE
			/LAST POINT?
	SKP		/NO CONTINUE
	ISZ TNJOB	/YES DISABLE
			/TYPEOUT
VJDIS,	TWO		/SCALE TWO MORE
			/RIGHT (COUNTS
			/FROM MV)
	JMS I DISP	/JOB SCALE,BIAS
			/ DISPLAY
	TAD TDSKIP	/MOVE PNTR OVER
			/VAR AND TREND
	TAD GETPNT
	DCA GETPNT
	JMS I BLKCNT	/CHECK BLOCK
			/LENGTH
	DCA VJXM	/NEW DATA FIELD
	JMP VJXM	/FILE NOT YET
			/COMPLETE
	JMP VJSTAR	/GET NEXT JOB
			/AND DISPLAY IT
			/VIEW RAW INPUT
VINPUT,	TAD ADCHNL	/GET START OF
			/CHANEL DISPLAY
	DCA JPNT	/LIST
	DCA TORD	/LOOK AT 1ST
			/OF LIST
			/(ORDER=0)
VINEXT,	JMS I SETPNT	/SET SWEEP
			/PARAMS N PNTRS
	JMS I SDIS	/JPNT POINTS TO
			/DISP WDS D1,D2
	JMP KBDCHK
	ISZ TORD	/MOVE CHANNEL
			/COUNTER
VILOOP,	TAD I TBUFAD	/GET DATA POINT
	DCA ARITH2	/LOAD IN LOW
			/ORDER SHFT REG
	JMS I DISP	/DISPLAY
	JMS I IXPNT	/DUN THIS CHAN?
	JMP VINEXT	/YES NEXT CHAN
	JMP VILOOP	/NO GET NXT PNT
			/LOCAL CROSSPAGE
ADRCLK,	CLKINT
CRLFX,	CRLFS
DECTYX,	DECTYP
IKBRAX,	IKBRAS
			/SUBRT TO GET
			/(CELLS-2) FROM
			/JOB TYPE
JCELLS,	0		/CELLS-2 PER
			/DATA POINT IN
			/CALC BUFFER
	TAD TJTYPE	/1, 2, OR 3
	JMS I BRAN
	K0003
	TAD K0004	/TYPE 3
			/7 CELLS+2
	TAD K0003	/TYPE 2
			/3 CELLS+2
	JMP I JCELLS	/TYPE 1
			/0 CELLS+2
	PAGE
/THIS SUBROUTINE DECODES DISPLAY WORDS: SDIS
/POINTER IS AUTOINDEX REGISTER "AXPNTR"
/CALL:	SDIS
/	END OF LIST RETURN
/	NORMAL RETURN
	AXPNTR=JPNT
SDISS,	0
	TAD PSWIT	/PLOT MODE?
	SNA CLA	
	JMP K0037+1	/NO, CONTINUE
ZZ1,	TAD ARITH4
	DCA LXCORD
	TAD YZ
	JMS LDIS
	JMS I IKBRAY	/WAIT FOR
			/CR OR LF
	JMP ZZ1
K0037,	0037		/NOP
	TAD I AXPNTR	/GET D1
			/DX(8),YS(4)
	SNA
	JMP I SDISS	/EOL IF D1=0
	DCA ARITH2
	TAD ARITH2
	AND K0017	/HAVE Y SCALE
	DCA YS		/FACTOR
	DCA ARITH1	/0 TO HI ARITH0
	TAD K0004	/DELTA-X
	JMS I SHFT	/MOVE BINARY
			/POINT TO END
			/OF ARITH2
	TAD ARITH1
	DCA DELTAX
	TAD ARITH2
	DCA DELTAX+1
	TAD I AXPNTR	/GET D2
	DCA ARITH2	/XZ(6),YZ(6)
	TAD K0003	/MOVE YZ TO 9
	JMS I SHFT	/SIGNIF BITS
	TAD ARITH2
	DCA YZ
	TAD KM0006	/MOVE XZ TO 9
	JMS I SHFT	/BITS OF ARITH2
	TAD ARITH2	/GET RID OF LOW
	AND KM0006	/ORDER BITS
	DCA ARITH4	/FOP HOLDS
			/CURRENT X-VAL
	TAD PSWIT	/PLOT MODE?
	SNA CLA
	JMP K0017+1	/NO, CONTINUE
ZZ2,	TAD ARITH4
	DCA LXCORD
	TAD YZ
	JMS LDIS
	JMS I IKBRAY	/WAIT FOR
	JMP ZZ2		/CR OR LF
K0017,	0017		/NOP
	ISZ SDISS	/XIT TO CALL+2
	JMP I SDISS
			/LOCAL VARS
YS,	0		/SCALE FACTOR
			/FOR Y
YZ,	0		/SCP Y FOR Y=0
DELTAX,	0		/INCREMENT BET
			/PNTS (INTEGER
			/PART)
	0		/(FRACTNL PART)
			/LOCAL CONSTANTS
KM0006,	-0006
IKBRAY,	IKBRAS
/SUBROUTINE TO DISPLAY POINT OF DATA
/(X-INCREMENTED):DISP
/DATA VALUE SHOULD BE IN ARITH1
/ARITH0+2
DISPS,	0		/AC+(YS)=PLACES
	TAD YS		/TO SHIFT RIGHT
	CMA IAC
	JMS I SHFT	/SCALE
	TAD ARITH4	/MOVE X TO NEW
	DCA LXCORD	/VALUE
	TAD YZ		/BIAS
	TAD ARITH2
	JMS LDIS	/DO LINC MODE
			/DISPLAY
DISRTN,	CLA		/RTN FRM PAGE 0
 			/DISPLAY RT
	TAD PSWIT	/PLOT MODE?
	SNA CLA
	JMP .+4		/NO, CONTINUE
	DCA PLTDLY
	ISZ PLTDLY	/YES, WAIT A
	JMP .-1		/WHILE
	TAD DELTAX	/LOAD X INCR
	DCA ARITH1
	TAD DELTAX+1
	DCA ARITH2
	JMS I DADD	/ADD TO CURNT X
	JMP I DISPS
/THIS SUBROUTINE DECODES JOB LIST
/AND SETS JOB POINTERS (136)
/	J1: A/B(1), CHAN(5), 1(1), CHAN ORDER(5)
/	J2: JOB TYPE(4), CONTINGENCY(8)
/	J3: LINKAGE WORD (L1) TO FIRST BLOCK
/	J4: LINKAGE WORD (L2) TO FIRST BLOCK
/	J5: LINKAGE WORD (L3) TO FIRST BLOCK
/	J6: DISPLAY WORD D1
/	J7: DISPLAY WORD D2
/PARAMETERS OF JOB:
/	TYPE: - TYPE  IN "TJTYPE"
/	CONTINGENCY: "TCMASK", CHAN ORDER: "TORD"
/	COUNT FOR 1ST BLK: "TCBLK"
/	LOCATION OF 1ST -1: "GETPNT"
/	CDF INSTRUCTION: AC
/	AUTOINDEX "JPNT" POINTS TO J5 AT EXIT (J6 IS NEXT)
JGETS,	0
	TAD I JPNT	/GET J1
	SNA		/J1=0 FOR EOL
	JMP I JGETS	/J1=0 EXIT
	DCA ARITH1	/SAVE J1 IN
			/SHIFT REG
	TAD I JPNT	/GET J2
	DCA ARITH2	/LO-ORDER
			/SHIFT REG
	TAD ARITH1	/GET ORDER IN
			/MX LIST
	AND KK37	/5 LOW ORDER
	DCA TORD	/BITS OF J1
	TORD=TEMP03
	TAD K0004	/GET JOB TYPE
	JMS I SHFT
	TAD ARITH1
	AND KK17	/4 HI ORDER OF
			/J2
	DCA TJTYPE	/-JOB TYPE
	TJTYPE=TEMP05
	TAD I JPNT	/GET -NUM OF
	DCA CNBLK	/ITEMS IN NEXT
			/BLOCK (J3)
	TAD I JPNT	/GET CDF (J4)
	DCA TCDF
	TCDF=TEMP01
	TAD I JPNT	/GET ST ADDR-1
	DCA GETPNT	/FOR DATA
			/BLOCK (J5)
	ISZ JGETS	/XIT TO CALL+2
	TAD TCDF	/CDF INST TO AC
	JMP I JGETS
			/VARS FOR JGETS
			/AND BLKCNS
CNBLK,	0		/-NUM OF ITEMS
			/LEFT IN SWEEP
 
KK37,	37
KK17,	17
/THIS SUBROUTINE COUNTS DOWN BLOCK
/ENTRIES AND LINKS TO NEXT BLOCK:BLKCNT
/CALL:	BLKCNT
/	NEW FIELD RETURN
/	NORMAL RETURN
/	END OF FILE RETURN
BLKCNS,	0
	ISZ CNBLK	/COUNT ITEMS
			/IN BLOCK
	JMP BLKOK	/NO OVERFLOW
	TAD I GETPNT	/OVERFLOW GET
			/NEXT BLOCK
	SNA		/L1=0 IS EOF
	JMP BLKFIN	/EOF EXIT
	DCA CNBLK	/SET COUNT FOR
			/NEXT BLOCK
	TAD I GETPNT
	DCA TCDF	/GET NEW CDF
	TAD I GETPNT	/GET ADDRESS-1
	DCA GETPNT	/FOR NEXT BLOCK
	JMS KLUG
	TAD TCDF	/CDF TO AC.
	JMP I BLKCNS	/NEW FIELD
			/EXIT TO CALL+1
BLKFIN,	ISZ BLKCNS	/END OF FILE
			/EXIT TO CALL+3
BLKOK,	ISZ BLKCNS	/CONTINUE IN
			/THIS BLOCK
	JMP I BLKCNS	/EXIT TO CALL+2
IXPNTS,	0
	TAD NCHA	/NUM OF CELLS
			/IN DATA POINT
	TAD TBUFAD	/+CURRENT
			/BUFFER ADDR
	DCA TBUFAD	/UPDATE ADC
			/BUFFER
	ISZ NPOINT	/IF CNTR DOESNT
			/OVERFLOW
	ISZ IXPNTS	/EXIT TO CALL+2
	JMP I IXPNTS	/OTHERWISE
			/TO CALL+1
			/VARS FOR
			/SETPNS, IXPNTS
NPOINT,	0		/-NUM OF ITEMS
			/LEFT IN SWEEP
	PAGE
/THIS SUBROUTINE SETS
/SWEEP PARAMETERS: SETPNT
SETPNS,	0
	TAD SAMA	/GET -NUM
	DCA I KPOINT	/OF DATA POINTS
	TAD ADBUFA	/GET LOGICAL 1
			/OF BUFFER
	IAC
	TAD TORD	/GET ORDER OF
			/CHANNEL IN
			/BUFFER
			/(SET BY JGET)
	DCA TBUFAD	/SET ADDR OF
			/1ST DATA POINT
	TBUFAD=TEMP06
	JMP I SETPNS
KPOINT,	NPOINT
			/SR TO ACCEPT
			/DBL PREC
			/DECIMAL ARG
RDKBDS,	0
	JMS TMESS	/ASK FOR ARG
RDLOOP,	DCA ARITH2
	KSF
	JMP .-1
	KRS
	JMS TYPES	/ECHO
	TAD KSAVE	/CHECK FOR CR
	CMA IAC
	TAD K0215
	SNA CLA		/CR ?
	JMP RDONE	/YES ARG COMP
	TAD KSAVE	/NO GET DIGIT
	AND K017
	DCA ARITH5
	IAC		/ADD OLD SUM
	JMS I SHFT	/*10(10) TO NUM
	JMS I DADD
	TWO
	JMS I SHFT
	JMS I DADD
	TAD ARITH5
	JMP RDLOOP
RDONE,	TAD ARITH2	/GET - ARGUMENT
	CMA IAC
	JMP I RDKBDS
K017,	17
M0005,	-5
			/SR TO SET UP
			/KW12 CNT TCALS
TCALS,	CLA
	TAD K0322
	JMS RDKBDS	/GET CLOCK RATE
	CLA
	DCA ARITH1
	DCA ARITH4
	DCA ARITH5
	DCA CLKCNT	/CLEAR COUNT
	JMS I DADD	/MULT RATE BY 2
	JMS I DADD
	TAD M0005
	DCA ARITH2
	CMA
	DCA ARITH1
DVLOOP,	ISZ CLKCNT
	JMS I DADD
	TAD ARITH4
	SMA CLA
	JMP DVLOOP
	JMP I .+1
	CTRLA+1
/BASIC SUBROUTINES SHFT, DADD, AND BRAN [SU63AB]
/SUBROUTINE TO SHIFT DOUBLE PRECISION WORD (SHFR): SHFT (10+6N)
/CALL:	TAD KXXXX		/AC HOLDS SHFT COUNT, RIGHT IS NEGATIVE
/	SHFT
/	RETURN			/LINK=0, AC=0
/FORMAT OF DOUBLE WORD IS (HI,LO) HI(0)-ONLY-HOLDS SIGN
/SIGN BIT WILL BE REPLICATED IN RIGHT SHIFTS
/TEMPORARY STORAGE ALLOCATION
	SHCNT=TEMP01
/ARITHMETIC REGISTER ALLOCATION
	SHFR=ARITH1	/ARITH1-2 ARE
			/FOR SHIFTING
SHFTS,	0
	CLL
	SNA		/IF SHIFT COUNT
	JMP I SHFTS	/=0 EXIT
	SMA		/RIGHT OR LEF ?
	CML CMA IAC	/LEF SET LINK=1
			/AND COUNT NEG
	DCA SHCNT
	SZL		/RIGHT SHIFT?
	JMP SHLEFT	/NO-SHIFT LEFT
SHRIHT,	TAD SHFR	/SHIFT DONE
			/ON ARITH1-2
	SPA		/SET L=1 IF NEG
	CML
	RAR
	DCA SHFR	/SHFT WITH
 			/SIGN REP
	TAD SHFR+1	/SHIFT LO ORDER
			/HALF
	RAR
	DCA SHFR+1
	CLL
	ISZ SHCNT	/ENOUGH SHIFTS?
	JMP SHRIHT	/NO-CONTINUE
	JMP I SHFTS	/YES-EXIT
SHLEFT,	TAD SHFR+1	/SHIFT LO-ORDER
	CLL RAL		/0 TO LSB
	DCA SHFR+1
	TAD SHFR	/SHIFT HI-ORDER
	RAL
	DCA SHFR
	CLL
	ISZ SHCNT	/ENOUGH?
	JMP SHLEFT	/NO-CONTINUE
	JMP I SHFTS
TMESS,	0		/ROUT TO TYPE
			/<CRLF>*:
	DCA I TMCHX	/*CHAR IN AC
	TAD ADMESS	/ADDR OF TEXT
	DCA TMPNTR
	TMPNTR=17
TMLOOP,	TAD I TMPNTR	/GET CHARACTER
	SNA		/END OF TEXT?
	JMP I TMESS	/YES, EXIT
	JMS TYPES
	JMP TMLOOP
TYPES,	0		/SUBRT TO
	IOF		/TYPE CHAR
	TLS		/IN AC
	TSF
	JMP .-1
	TCF
	DCA KSAVE
	KSAVE=TEMP02
	KSF
	JMP I TYPES
	KRB
	TAD KMCTRL
	SZA CLA
	JMP I TYPES
	CDF 0
	JMP I .+1
	KBDCHK
TMCHX,	TMCH
ADMESS,	TXMESS-1
KMCTRL,	-221
NTOUT,	INTOUT
INKBD,	KSF		/KEYBOARD UP?
	JMP INTTY	/NO, LOOK AT TTY
	KRB		/YES, READ CHAR
	DCA KBDBUF
INTTY,	TSF		/TTY DONE?
	JMP I NTOUT	/NO RESET AC.L
	TCF		/YES, CLEAR FLAG.
	DCA TTYFLG	/CLEAR SOFTWARE
			/FLAG TTY NOT
			/IN PROGRESS
	TAD TTYBUF	/MORE TO TYPE?
	SNA
	JMP INTOUT	/NO, EXIT
	TLS		/YES, TYPE IT
	DCA TTYFLG	/SET SOFTWARE
			/FLAG: TTY IN
			/PROGRESS
	DCA TTYBUF	/CLEAR BUFFER
INTOUT,	TAD LSAVE	/RESTORE LINK
	CLL RAL
	TAD ASAVE	/RESTORE AC
	RMF
	ION
	JMP I 0
LADDS,	0		/SUBRT TO DO
			/DBL PREC ADD
			/TO PUTPNT
			/GETPNT LIST
			/(28)
	DCA TLAD
	TLAD=TEMP01
	TAD WSWITZ
	SNA CLA
	JMP I INDATZ
	TAD TLAD	/ADD LO-ORDER
	TAD I GETPNT	/UPDATE LO
	DCA I PUTPNT	/ORDER CALC PNT
	TAD TLAD	/DO SIGN EXTEND
			/OF ADC WORD
			/TO HI-ORDER
	SPA CLA
	CMA
	SZL		/L=1 INDICATES
			/LO-ORDER
			/OVERFLOW
	IAC		/ADD IN OVRFLO
	TAD I GETPNT	/UPDATE HI
	DCA I PUTPNT	/ORDER CALC PNT
	CLL
	JMP I LADDS
SQADS,	0		/SUBRT TO SQRE
			/AC AND ADD TO
			/TRIP PREC LIST
			/(62+56N
			/APPX 300)
	SPA SNA		/GET MAGNITUDE
	CLL CML CMA IAC
	DCA TSQAD
	TSQAD=TEMP02
	TAD TSQAD	/LOAD DBL
	DCA ARITH2	/PREC. AC
	DCA ARITH1
	DCA ARITH5
	DCA ARITH4
SQLOOP,	TAD TSQAD	/MULTIPLIER
	SNA		/ANYMORE TO ADD
			/TO PART PROD?
	JMP SQDONE	/NO-UPDATE
			/CALC BUFFER
			/AND EXIT
	CLL RAR		/LINK TELLS
			/WHETHER TO ADD
			/IN MORE
	DCA TSQAD	/ROTAT FOR NEXT
	SZL		/L=1, ADD
			/MULTIPLICAND
			/TO PART PROD
	JMS I DADD
	IAC		/SHIFT PART
	JMS I SHFT	/PROD 1 LEFT
	JMP SQLOOP	/DO SOME MORE
SQDONE,	TAD ARITH5	/ADD DBL PREC
			/AC TO 3-WORD
			/ENTRY
	TAD I GETPNT	/LO-ORDER
	DCA I PUTPNT
	RAL		/OVERFLOW BIT
	TAD ARITH4	/PLUS HI ORDER
	JMS LADDS	/ADD TO 2-WORD 
			/ENTRY
	JMP I SQADS	/TRIP PREC
			/IN ALL
CLKINT,	CLSA		/COME HERE ON
			/CLOCK INTERPT
	AND XMASK	/CHK FOR
	SNA CLA		/SYNC MASK
	JMP I INKBDX	/NO SYNC TRY
			/OTHER DEVICES
	TAD KBLA	/NUM OF SAMPLES
STORWC,	DCA BLA		/TO ACCEPT
	BLA=TEMP01
	TAD ADBUFA	/STRT OF BUFF-1
STORMA,	DCA BUFA
	TAD KSYTIM+1	/-NUM SAMPLING
			/INTERVALS TO
	DCA SYTIM	/WAIT
	SYTIM=TEMP02
	TAD KMODE	/SET KW12 CNTRL
	CLLR		/REGISTER
WLOOP,	CLSA		/WAIT FOR
	SMA CLA		/PRE-ANALYSIS
	JMP .-2		/DELAY
	ISZ SYTIM
	JMP WLOOP
	JMP CHNSET	/BYPASS WAIT
			/ACCEPT SWEEP
			/INTO BUFFER
ADLOOP,	CLSA		/WAIT FOR
	SMA CLA		/OVRFLO
	JMP ADLOOP	/NOT READY
CHNSET,	ISZ LSAM	/GET CHANNEL
	TAD LSAM
	TAD ZZ
	SZA CLA
	JMP LSAM-1
	TAD K0110
	DCA LSAM
	LINC
LSAM,	110		/SAM INST
	2		/PDP
	SPA
	IAC		/CVERT 1S COM
	DCA I BUFA	/STORE POINT
	ISZ BLA		/HAVE ENOUGH?
	JMP ADLOOP	/NO GET NEXT
			/CONVERSION
	JMP I .+1	/YES EXIT
	ADDUN
INKBDX,	INKBD
K0110,	110
ZZ,	-110-NCHAN
/SUBROUTINE FOR BRANCHING ON MATCH OF AC AGAINST TABLE:  BRAN
/	BRAN
/	ADDRESS OF TABLE
/	RETURN HERE IF FIRST ENTRY MEETS MATCH
/	ETC.
/	NONE MATCH
/TABLE,	FIRST ENTRY
/	SECOND ENTRY
/	-LAST ENTRY
/TEMPORARY STORAGE ALLOCATION
	BPNT=TEMP01
	BSAVE=TEMP02
BRANS,	0
	DCA BSAVE
	TAD I BRANS	/GET ADDR OF 1ST
			/ENTRY OF MATCH
			/LIST
	DCA BPNT
BRLOOP,	TAD I BPNT	/LOOK AT ENTRY
	SMA		/GET MAGNITUDE
	CMA IAC
	ISZ BRANS	/INDEX RETN ADDR
	TAD BSAVE	/MATCH FOUND?
	SNA CLA
	JMP I BRANS	/YES-EXIT TO RTN
			/AS CALCULATED
	TAD I BPNT	/NO-TEST FOR
			/LAST ENTRY.
	ISZ BPNT	/INDEX ENTRY
			/POINTER
	SMA CLA		/-INDICATES THIS
			/ WAS LAST ENTRY
	JMP BRLOOP	/NOT LAST CONT
	ISZ BRANS	/EXIT NOT IN
			/LIST NO MATCH
	JMP I BRANS
/SUBROUTINE TO DO DOUBLE PRECISION ADD OF ARITH1-2, AND 4-5: DADD (21)
/ARITHMETIC REGISTER ALLOCATION
	DBLAC=ARITH1
	DBLARG=ARITH4
DADDS,	0		/ADD LO-ORDER
	CLL CLA
	TAD DBLAC+1
	TAD DBLARG+1
	DCA DBLARG+1
	RAL		/CARRY
	TAD DBLAC	/ADD HI-ORDER
	TAD DBLARG
	DCA DBLARG	/LEAVE IN
			/ARITH4-5.
	CLL
	JMP I DADDS
IKLIST,	+232		/Z
	+222		/R
	+201		/A
	+221		/Q
	+215		/CR
	+212		/LF
	+326		/V
	+303		/C
	+330		/X
	+204		/D
	+327		/W
	+324		/T
	-320		/P - PLOT MODE
MONITR,	LINC		/SR TO SET UP
	LMODE		/DIAL BOOT STRAP
	SET I 16
	2015
	LDF 2
	LDA I
	RCG I
	STA I 16	/TO LDF 2
	LDA I
	7300
	STA I 16
	LIF 2		/RTN TO
	LDF 3
	JMP 16		/DIAL
	PMODE
WRITE,	TAD KBDBUF
	JMS I TMESSZ
LOOPW,	DCA ARITH2
	KSF
	JMP .-1
	KRS
	JMS I TYPEZ
	TAD KSAVE
	CMA IAC
	TAD K0215
	SNA CLA
	JMP ARGDUN
	TAD KSAVE
	AND KZ7
	TAD ARITH2
	RTL CLL
	RAL
	JMP LOOPW
ARGDUN,	TAD ARITH2
	RTR CLL
	RAR
	TAD KK5K
	DCA TPWORD
	DCA WSWITZ
	DCA ASWIT
	TAD KM200Z
	DCA CTR
	TAD KZ377
	DCA 15
	JMP I STWZ
INDATA,	RDF
	TAD KCDF0
	DCA HERE
	TAD HERE
	DCA THERE
	TAD HERE
	DCA WHERE
	TAD I GETPNT
KCDF0,	CDF 0
	DCA I 15
HERE,	0
	TAD I GETPNT
	CDF 0
	DCA I 15
THERE,	0
	ISZ CTR
	JMP I ZLADR
	JMS DOTAPE
	JMP I ZLADR
DOTAPE,	0
	LINC
	640
	714
TPWORD,	0
	2
	ISZ TPWORD
	TAD KM200Z
	DCA CTR
	TAD KZ377
	DCA 15
WHERE,	0
	JMP I DOTAPE
WRIDUN,	CDF 0
	DCA I 15
	DCA I 15
	ISZ CTR
	JMP .-3
	JMS DOTAPE
	STA CLL
	TAD TPWORD
	RTL
	RTL
	DCA TPWORD
	TAD M3Z
	DCA CTR
LOOPW1,	JMS I KCRLF
	TAD TPWORD
	RTL
	RAL
	DCA TPWORD
	TAD TPWORD
	AND KZ7
	TAD KZ260
	JMS I TYPEZ
	ISZ CTR
	JMP LOOPW1+1
	CLA CLL
	CDF 0
	JMP I .+1
	START
KCRLF,	CRLFS
KK5K,	5000
CTR,	0
AAAEND,	0
/USER MODIFICATION STARTS HERE
	DECIMAL
	NCHAN=1		/=NUM OF ANALOG
			/INPUTS
	POINTS=1000	/=NUM OF POINTS
			/PER CHAN
	BLKLEN=POINTS+POINTS+1
	LNBUF=POINTS	/=POINTS*NCHAN
	JLIST=7+1	/=7 WORDS PER
			/JOB+EOL WORD
	CHLEN=NCHAN+NCHAN+1
			/2 WDS FOR EACH
			/CHAN+EOL
	CHLIST=LOCORE+JLIST-1
	ADBUF=CHLEN+CHLIST
			/BUFFER STARTS
			/AFT CH LIST
	*MEMTOT		/NUM OF ADD
	0		/4K STACKS
	HICORE-LOCORE-4
	/JOB LIST
        OCTAL
	*LOCORE
        0040		/0(1) CHAN(5)
			/1(1) CHORD(5)
        AVG		/TYPE(8)
        -POINTS		/-NUM OF DATA
			/POINTS IN BLK
        6201		/62N1=CDF N
			/=CDF 0 (N=0)
        ADCAL0=ADBUF+LNBUF
			/LOC-1 OF 1ST
			/POINT
        ADCAL0		/IS RIGHT AFTER
			/ADC BUFFER
	0200		/DELTAX(8)
			/YS(4)
	0		/X0(6),Y0(6)
	0		/END OF LIST
			/CHANNEL
			/DISPLAY LIST
	0200		/DELTAX(8)
			/YS(4)
	0		/X0(6),Y0(6)
	0
	*ADCAL0+BLKLEN+1
	0		/END OF BLOCK
/USER MODIFICATION ENDS HERE
	MEMTOT=20
	*ADJLIS
        LOCORE-1
	*ADCHNL
        CHLIST
	*SMASK		/SYNC ON
        0040		/CLOCK INPUT 1
	*ASI
        -1
	*KMODE
        1500		/KW12 CNTRL REG
			/400KHZ
			/MODE 101
        0260		/KW12 ENAB REG
			/SYNC ON
			/INPUT 1
	DECIMAL
	*SAMA
        -POINTS
	*NCHA
        NCHAN
	*ADBUFA
        ADBUF
	*0042
        -NCHAN		/-NO. OF CHANS
        -NCHAN		/-NO. OF CHANS
	*KBLA
        -LNBUF		/-POINTS*NCHAN
/PDP 12 SIGNAL AVERAGER
/WITH MTP SR
/9 APR 70



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