File KR.A4

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


PAGE

		/***KORELATOR***

		/CALL:	KORLTR
		/	INPUT	/ONE WORD
		/	INPUT SCALE (POSITIV FUER NORMIERUNG
		/	LEVEL	/ONE WORD >0
		/	TIME CONSTANT
		/	KORRELATOR STATE	(FIELD 2 !!!)
		/	PITCHPERIOD OUT
		/	OUTPUT VOICED (+1) OR UNVOICED (0)
		/	PITCHSYN. SIGNAL FOR VUVDEC

		L=300	/LENGTH OF SHIFTREGISTER


KORLTR,	10

	BLOUT

	ACUM
	4
	SPA
	TYDER		/TIME CONSTANT MUST BE POSITIV
	CDF 20
	DCA I KRTCI

	CDF 10
	ACUM
	3
	SPA
	TYDER		/LEVEL MUST BE POSITIV
	CDF 20
	DCA I KRLEVI

	CDF 10
	ACUM
	1
	CDF 20
	DCA I KRINPI

	CDF 10
	ACUM
	2
	CDF 20
	DCA I NRSCLI

	CDF 10
	ACUM
	5
	CDF 20
	DCA I KRPOII

	CDF 10
	ACUM
	10
	CDF 20
	DCA I COMFLI

	CDF 10
	INBLIP

	BLOTNT
	KRINIT

	CIF CDF 20
	JMP I .+1
	KRFLD2

KREND,	CLA
	TAD I KRPOTI
	CDF 10
	PUT
	6

	CDF 20
	TAD I KRVOTI
	CDF 10
	PUT
	7

	INEND

KRINIT,	CDF 20
	DCA I KRPOTI
	DCA I KRVOTI

	CIF 20
	JMP I .+1
	KRINII




KRPOTI,	KRPOUT
KRVOTI,	KRVOUT
NRSCLI,	NRSCL
KRTCI,	KRTC
KRLEVI,	KRLEV
KRINPI,	KRINP
KRPOII,	KRPOI
COMFLI,	COMFLG

FIELD 2 *2600 KRINII, TAD ML /INITIALISIERUNG SHIFTREGISTER DCA KORCNT TAD KRGADD DCA KRGPOI DCA I KRGPOI ISZ KRGPOI ISZ KORCNT JMP .-3 TAD ML /INITAILISIERUNG DES KORRELATORS RAL DCA KORCNT TAD KRPOI DCA KRGPOI DCA I KRGPOI ISZ KRGPOI ISZ KORCNT JMP .-3 JMP HYSTIN KRFLD2, TAD ML DCA KORCNT TAD KRGADD DCA KRGPOI DCA SIGNIN SWAB TAD KRINP SMA JMP .+3 ISZ SIGNIN /PRESIGN FORM INPUT CIA MQL /INPUT IN MQ SHL /SCALE INPUT NRSCL, 0 DVI /NORMIERUNG: SCALED INPUT: LEVEL KRLEV MQA CLA /RESULT OF NORM. IN AC DCA NORMIN TAD NORMIN SNA JMP EXPINP NMI /LOG OF NORM INPUT CLA CLL TAD SIGNIN RAR SCA /EXPONENT IN AC SZL TAD N4000 CLL IAC EXPINP, DCA KRINP /SIGN + EXPONENT OF INPUT CAM TAD KRINP /SHIFTREGISTER SWP TAD I KRGPOI SWP DCA I KRGPOI ISZ KRGPOI ISZ KORCNT JMP .-5 TAD ML DCA KORCNT TAD KRGADD DCA KRGPOI TAD KRPOI DCA KRPOI1 NXTDLY, CAM DCA SIGNRG TAD KRINP /ADDITION OF LOGS SNA CLA JMP KRERGB TAD I KRGPOI SNA JMP KRERGB SPA ISZ SIGNRG TAD KRINP AND N3777 DCA LOGSCL TAD LOGSCL CIA TAD NR14 SMA SZA JMP LOGLIM CLA CLL CML RTR LSR /ANTILOG LOGSCL, 0 SWP SKP LOGLIM, CLA CLL CMA RAR /3777 IN AC DCA INTINP TAD SIGNIN TAD SIGNRG CLL RAR /PRESIGN OF ITERATION INPUT SNL CLA JMP .+4 TAD INTINP CIA CLL KRERGB, DCA INTINP TAD INTINP JMS KRINTG KRPOI1, 0 /INTEGRATOR STATE=OUTPUT KRTC, 0 /TIME CONSTANT CLA CLL IAC RAL TAD KRPOI1 DCA KRPOI1 ISZ KRGPOI ISZ KORCNT JMP NXTDLY JMP I .+1 NXTPAG ML, -L KRPOI, 0 KORCNT, 0 KRGADD, KRGTAB KRGPOI, 0 SIGNIN, 0 SIGNRG, 0 KRINP, 0 KRLEV, 0 N4000, 4000 INTINP, 0 NORMIN, 0 N3777, 3777
PAGE HYSTIN, TAD SAMVAL CIA DCA SAMCNT TAD BMBEG DCA BMNUM JMP VUINIT NXTPAG, DCA SAMFLG NOP /ISZ SAMCNT FOR DISPLAY OF HYSTOGR. OF KORR.FUN. JMP KRDECS KRHYST, CLA IAC BSW DCA SAMFLG CLA IAC /PLOTTER TAD NL DCA CELNRS CLA CLL CMA RAL TAD KRPOI DCA FKTPOI CIF 0 JMS I HYSTGI 20 CELNRS, 0 2 /TABLE PRECISION FKTPOI, 0 0 /TABNUMER 10 /SCALEFACTOR BMNUM, 0 ISZ BMNUM TAD SAMVAL CIA DCA SAMCNT KRDECS, TAD COMFLG SZA CLA SKP JMP KRENDI SWAB CAM DST /1. DURCHGANG SEARCH KORMAX MAXKOR TAD KRANFG TAD ML DCA KORCNT TAD KRANFG CLL RAL TAD KRPOI DCA KRPOI2 CMA TAD KRANFG DCA MAXCNT TABLOP, ISZ MAXCNT NOP JMS COMDNM MAXKOR CDF 20 KRPOI2, 0 CDF 20 NOP /MAXKOR=KRPOI2 JMP MAXGRT /MAXKOR>KRPOI2 TAD KRPOI2 /KRPOI2>MAXKOR DCA ADMXKR TAD MAXCNT DCA MAXREL /RELATIVE ADDRESS OF KORMAX CAM DAD ADMXKR, 0 DST MAXKOR CAM MAXGRT, CLA CLL IAC RAL TAD KRPOI2 DCA KRPOI2 ISZ KORCNT JMP TABLOP TAD KRDISC DCA STRESH DAD MAXKOR ASR STRESH, 0 DCM DAD MAXKOR DST KRTRSH /SCHWELLE CAM TAD ADRTAB /2. DURCHGANG SEARCH DCA ADRPOI /MAXIMA OVER SCHWELLE TAD NM20 DCA KORCNT DCA I ADRPOI /DELETE OLD ADDRESSTABLE ISZ ADRPOI ISZ KORCNT JMP .-3 TAD KRANFG TAD ML DCA KORCNT TAD KRANFG CLL RAL TAD KRPOI DCA KRPOI3 DCA PITDEC /SET PITDEC=0 DCA OVFLAG /SET OVFLAG=0 TAD KRANFG DCA KRRELA JMP I .+1 PISRCH NM20, -20 KRANFG, 40 OVFLAG, 0 KRRELA, 0 ADRPOI, 0 ADRTAB, STORAD MAXCNT, 0 NL, L SAMVAL, 200 SAMCNT, 0 SAMFLG, 0 HYSTGI, 3610 BMBEG, 2 COMFLG, 0
PAGE PISRCH, TAD ADRTAB DCA ADRPO2 PITLOP, JMS COMDNM KRPOI3, 0 CDF 20 KRTRSH CDF 20 NOP JMP OVTRSH /CONTENTS OF KRPOI3 OVER SCHWELLE TAD OVFLAG SNA CLA JMP SRCHGO DCA OVFLAG TAD NM20 TAD ADRPO2 CIA TAD ADRTAB SMA CLA ISZ ADRPO2 ISZ PITDEC JMP SRCHGO OVTRSH, CLA CLL IAC DCA OVFLAG TAD KRRELA DCA I ADRPO2 /ADDRESSE IN LISTE SRCHGO, CLA CLL IAC RAL TAD KRPOI3 DCA KRPOI3 ISZ KRRELA ISZ KORCNT JMP PITLOP TAD MAXREL /SEARCH PITCHPERIID ASR 1 JMS ACHECK JMP PITFND /PERIOD OF KORMAX:2 TAD MAXREL MQL DVI DRITEL CLA SWP JMS ACHECK JMP PITFND /PERIOD OF KORMAX:3 TAD MAXREL /PITCHPERIOD=ABSOLUT MAXIMUM JMP PITEND PITFND, TAD ADRPO1 DCA ADRPO2 TAD I ADRPO2 PITEND, DCA KRPOUT CAM DAD MAXKOR DST MAXKR CAM DECVUV, TAD MAXKR+1 SZA JMP .+3 TAD NULSCL JMP LESHFT+1 NMI CLA CLL SCA CIA TAD NR14 DCA NMSHFT CAM DAD MAXKR LSR NMSHFT, 0 DST MAXKR CAM TAD NULSCL CIA TAD NMSHFT SPA JMP LESHFT DCA SCLNUL CAM DAD KORTAB LSR SCLNUL, 0 DECDVI, DVI MAXKR SZL JMP UVOICE SWP DCA DECVER JMP I .+1 PITPAG LESHFT, CIA DCA SCLNUI CAM DAD KORTAB SHL SCLNUI, 0 JMP DECDVI NR14, 14 NULSCL, 4 ADRPO2, 0 DRITEL, 3 KRPOUT, 0 PAGE VUINIT, CLA IAC DCA UVFLAG DCA VFLAG TAD UWAIT CIA DCA UCOUNT JMP KRENDI PITPAG, TAD PITDEC CIA TAD DECNM2 SMA CLA JMP VOICED /NUMBER OF MAXIMA<5 TAD PITDEC CIA TAD DECNM3 SPA CLA JMP UVOICE /NUMBER OF MAXIMA<10 TAD DECVER CIA TAD DECNM1 SPA CLA JMP UVOICE VOICED, TAD UVFLAG SNA CLA JMP .+5 ISZ UCOUNT IAC DCA UVFLAG JMP VUVPUT TAD VWAIT CIA DCA VCOUNT IAC DCA VFLAG IAC JMP VUVPUT UVOICE, CLA CLL TAD VFLAG SNA CLA JMP .+6 ISZ VCOUNT IAC DCA VFLAG IAC JMP VUVPUT TAD UWAIT CIA DCA UCOUNT IAC DCA UVFLAG VUVPUT, DCA KRVOUT KRENDI, CIF 10 JMP I .+1 KREND DECNM1, 40 DECNM2, 4 DECNM3, 11 KRDISC, 1 /SCHWELLWERT UWAIT, 1 /UMSCHALTEN VON NOISE AUF PITCH BEIM 2. MAL VWAIT, 2 /VON PITCH AUF NOISE HIER BEIM 3. MAL UCOUNT, 0 VCOUNT, 0 VFLAG, 0 UVFLAG, 1 MAXKR, 0 0 MAXKOR, 0 0 KRTRSH, 0 0 KRVOUT, 0 DECVER, 0 PITDEC, 0 MAXREL, 0 STORAD, ZBLOCK 20
PAGE /***DOUBLE PRECISION INTEGRATOR*** /CALL: KRINTG / INTEGRATOR STATE (MAX. 30 BITS) / TIME CONSTANT KRINTG, 0 DCA INTGIN DCA SIGNA DCA SIGNB TAD INTGIN SPA CLA CMA DCA INTGIN+1 TAD I KRINTG ISZ KRINTG DCA INPOI1 TAD INPOI1 DCA INPOI2 TAD INPOI2 DCA INPOI3 TAD I KRINTG ISZ KRINTG DCA INTC1 TAD INTC1 DCA INTC2 SWAB CAM DAD INTGIN SPA ISZ SIGNA SHL INTC1, 0 DST INTGIN /STORE (XN)*2HOCHK CAM DAD INPOI1, 0 /STATE (YN-1) ASR INTC2, 0 DCM DAD INPOI2, 0 SPA ISZ SIGNB DST INTGTM CAM TAD SIGNA TAD SIGNB CLL RAR SNL CLA JMP INTLIM CAM DAD INTGIN DAD INTGTM INSTAT, DST INPOI3, 0 CAM JMP I KRINTG INTLIM, DAD /INPUT AND STATE OR BOTH POS. OR NEG INTGIN /TEST FOR INTEGRATOR OVERFLOW SPA JMP LIMNEG DAD INTGTM SMA JMP INSTAT CAM DAD /OVERFLOW OF POS NUM LIM30 JMP INSTAT LIMNEG, DAD INTGTM SPA JMP INSTAT CAM DAD /OVERFLOW OF NEG NUM. LIM30 DCM JMP INSTAT SIGNA, 0 SIGNB, 0 INTGIN, 0 0 INTGTM, 0 0 LIM30, 7777 3777 PAGE ACHECK, 0 /NUMBER IN AC DCA ACTEM TAD ACTEM ASR 3 SNA IAC CIA DCA MTOLR TAD MTOLR TAD ACTEM DCA ACTEM TAD MTOLR TAD MTOLR DCA ACCNT ACLOOP, TAD ACTEM JMS ADVGL JMP I ACHECK /TETURN IF COPARISION POSITIV CLA CLL IAC TAD ACTEM DCA ACTEM ISZ ACCNT JMP ACLOOP ISZ ACHECK JMP I ACHECK /RETURN IF COMPARISON NEGATIV ADVGL, 0 /COMPARES TWO NUMBERS DCA VGLTEM TAD ADRTAB DCA ADRPO1 TAD NM20 DCA VGLCNT VGLLOP, TAD VGLTEM CIA TAD I ADRPO1 SNA CLA JMP VGLEND /NUMBERS ARE EQUAL ISZ ADRPO1 ISZ VGLCNT JMP VGLLOP ISZ ADVGL VGLEND, CLA CLL JMP I ADVGL ACCNT, 0 MTOLR, 0 ACTEM, 0 VGLTEM, 0 VGLCNT, 0 ADRPO1, 0 /***COMPARER OF TWO DOUBLE-PRESISION NUMBERS*** /CALL: COMDNM / ADDRESS OF INPUT1 /PRESIGNED / FIELD OF INPUT1 / ADDRESS OF INPUT2 / FIELD OF INPUT2 / RETURN IF INPUT1=INPUT2 / RETURN IF INPUT1>INPUT2 / RETURN IF INPUT2>INPUT1 COMDNM, 0 CLA CLL RDF TAD CMCDIF DCA COEXIT TAD I COMDNM ISZ COMDNM DCA COMAD1 TAD I COMDNM ISZ COMDNM DCA FLDAD1 TAD I COMDNM ISZ COMDNM DCA COMAD2 TAD I COMDNM ISZ COMDNM DCA FLDAD2 FLDAD1, 0 CAM DAD COMAD1, 0 CDF 20 DST COTEM1 FLDAD2, 0 CAM DAD COMAD2, 0 CDF 20 DST COTEM2 CAM TAD COTEM1+1 SPA CLA JMP IN1NEG TAD COTEM2+1 SPA CLA JMP COMRET /INPUT1>INPUT2 JMP COMDEC IN1NEG, TAD COTEM2+1 SPA CLA JMP .+3 ISZ COMDNM JMP COMRET /INPUT2>INPUT1 COMDEC, CAM DAD COTEM2 DCM DAD COTEM1 DST COTEM1 CAM TAD COTEM1+1 SZA ISZ COMDNM SPA CLA COMRET, ISZ COMDNM COEXIT, HLT JMP I COMDNM CMCDIF, CIF CDF COTEM1, 0 0 COTEM2, 0 0 PAGE KRGTAB, ZBLOCK L KORTAB, ZBLOCK 2^L



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