File SIMBKK.5

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



FIELD 1

*F1NXT



PAGE


/********************LADDER PREDICTOR*****************************




/CALL:	LADRPD
/	INPUT
/	INPUT PREC
/	OUTPUT
/	NR OF TAPS
/	SIGNAL DELAY LINE	/FIELD 1
/	COEFFICIENT STORE	/FIELD 2
/	COEFFICIENT PREC
/	INTEGRATOR1 STATES
/	INTEGRATOR2 STATES
/	INTEGRATOR TIME CONSTANT
/	SCALE INPUT




LADRPD,	13


	SCALSG
	1
	2
	13
	LDTEM1


	COPY
	LDTEM1
	LDTEM2


	BLOUT

	GETAD
	5
	DCA LDSTOR

	GETAD
	6
	DCA LDA0S

	ACUM
	4
	CMA
	DCA LDCNT

	GETAD
	7
	DCA LDPRCP

	GETAD
	10
	DCA I LDST1P

	GETAD
	11
	DCA I LDST2P

LDLOOP,	ISZ LDCNT
	SKP
	JMP LDLOPF

	CLA CMA
	TAD I LDPRCP
	DCA LDPPRC
	TAD LDPPRC
	CIA
	DCA LDPREC

	ACUM
	13
	CIA
	DCA LDOUTS

	INBLIP


	DELAY
LDSTOR,	0
	LDTEM1
	LDTEM1
	

	BLJUMP
	LDPAGE




LDBACK,	MULTSG
	LDTEM1
	NNX14
	LDTEM7
	NNX14
	LDTEM3
	NNX14

	SCALSG
	LDTEM3
	NNX14
	LDPREC
	LDTEM3


	COMPLM
	LDTEM3
	LDTEM3

	MULTSG
	LDTEM2
	NNX14
	LDTEM7
	NNX14
	LDTEM4
	NNX14


	SCALSG
	LDTEM4
	NNX14
	LDPREC
	LDTEM4


	COMPLM
	LDTEM4
	LDTEM4

	ADDER
	LDTEM1
	NNX14
	LDTEM4
	NNX14
	ONE
	LDTEM1


	ADDER
	LDTEM2
	NNX14
	LDTEM3
	NNX14
	ONE
	LDTEM2


	BLOUT

	TAD I LDTM7P
	CDF 20
	DCA I LDA0S
	CDF 10
	ISZ LDA0S
	ISZ LDPRCP

	TAD LDSTOR
	TAD NN
	DCA LDSTOR


	TAD I LDST1P
	TAD NN
	DCA I LDST1P

	TAD I LDST2P
	TAD NN
	DCA I LDST2P

	JMP LDLOOP


LDLOPF,	INBLIP

	SCALSG
	LDTEM2
	NNX14
	LDOUTS
	3

	BLEND

LDA0S,	0
LDTM7P,	LDTEM7
LDPRCP,	0
LDPPRC,	0
LDOUTS,	0



LDST1P,	LDST1
LDST2P,	LDST2
LDPREC,	0
LDCNT,	0
LDTEM1,	ZBLOCK N
LDTEM2,	ZBLOCK N
LDTEM3,	ZBLOCK N
LDTEM4,	ZBLOCK N
LDTEM5,	ZBLOCK N
LDTEM6,	ZBLOCK N
LDTEM7,	ZBLOCK N
LDLIM1,	7777
	7777
	7777
	7777
	3777





LDPAGE, SCALSG LDTEM1 NNX14 LDOUTS LDTEM7 SCALSG LDTEM2 NNX14 LDOUTS LDTEM4 ADDER LDTEM7 NNX14 LDTEM4 NNX14 ZERO LDTEM5 MULTSG LDTEM5 NNX14 LDTEM5 NNX14 LDTEM5 NNX14 COMPLM LDTEM7 LDTEM6 ADDER LDTEM6 NNX14 LDTEM4 NNX14 ONE LDTEM6 MULTSG LDTEM6 NNX14 LDTEM6 NNX14 LDTEM6 NNX14 ADDER LDTEM5 NNX14 LDTEM6 NNX14 ZERO LDTEM7 SMIGTR LDTEM7 NNX14 LDTEM7 LDLIM1 12 12 LDST1, 0 COMPLM LDTEM6 LDTEM6 ADDER LDTEM5 NNX14 LDTEM6 NNX14 ONE LDTEM5 SMIGTR LDTEM5 NNX14 LDTEM5 LDLIM1 12 12 LDST2, 0 SCALSG LDTEM7 NNX14 LDPREC LDTEM7 DIVSG LDTEM5 NNX14 LDTEM7 NNX14 LDTEM7 NNX14 LDBACK BLJUMP LDBACK /********************LADDER RECEIVE END FILTER********************** /CALL: LADRRE / INPUT / INPUT PREC / OUTPUT / NR OF TAPS / SIGNAL DELAY LINE / COEFFICIENT STORE /FIELD 2 / COEFFICIENT PREC / INPUT SCALE PAGE LADRRE, 10 SCALSG 1 2 10 LDTEM2 BLOUT GETAD 5 DCA RESIG2 TAD RESIG2 TAD NN DCA RESIG1 CLA CMA ACUM 4 DCA RECNT /TEMUSE GETAD 6 TAD RECNT DCA REA01 GETAD 7 TAD RECNT DCA REPRCP CLA IAC TAD RECNT CMA DCA RECNT ACUM 10 CIA DCA REOUTS INBLIP BLOTNT REINIT RELOOP, ISZ RECNT SKP JMP RELOPF TAD RESIG1 DCA RESIG4 TAD I REPRCP DCA REPREC CLA CMA TAD I REPRCP CIA DCA RESCL CDF 20 TAD I REA01 CDF 10 DCA REA0 INBLIP MULTSG RESIG1, 0 NNX14 REA0 REPREC LDTEM3 NNX14 SCALSG LDTEM3 NNX14 RESCL LDTEM3 ADDER LDTEM2 NNX14 LDTEM3 NNX14 ZERO LDTEM2 MULTSG LDTEM2 NNX14 REA0 REPREC LDTEM4 NNX14 SCALSG LDTEM4 NNX14 RESCL LDTEM4 COMPLM LDTEM4 LDTEM4 ADDER RESIG4, 0 /READ POINTER NNX14
LDTEM4 NNX14 ONE RESIG2, 0 /DEPOSIT POINTER BLOUT TAD RESIG1 DCA RESIG2 TAD RESIG1 TAD NN DCA RESIG1 TAD RESIG2 /DEPOSIT POINTER DCA RESIG3 CLA CMA TAD REA01 DCA REA01 CLA CMA TAD REPRCP DCA REPRCP JMP RELOOP REINIT, TAD WORDCT DCA COUNT DCA I RESIG2 ISZ RESIG2 ISZ COUNT JMP .-3 ISZ RECNT JMP REINIT INEND REPRCP, 0 REA01, 0 REA0, 0 REPREC, 0 RECNT, 0 RESCL, 0 REOUTS, 0 PAGE RELOPF, INBLIP COPY LDTEM2 RESIG3, 0 SCALSG LDTEM2 NNX14 REOUTS 3 BLEND
/*************** SWITCH ************************* /CALL: SWTCHI / INPUT1 / INPUT2 / OUTPUT / CONTROL SIGNAL / PRECISION OF CONTROL SIGNAL /CALL: SWTCHO / INPUT / OUTPUT1 / OUTPUT2 / CONTROL SIGNAL / PRECISION OF CONTROL SIGNAL /IF CONTROL SIGNAL POSITIVE SIGNAL 1 AND 3 ARE CONNECTED SWTCHI, 5 BLOUT CLA CLL IAC RAL /AC_2 DCA SWARG1 CLL CML CLA IAC RAL /AC_3 DCA SWARG2 SWSTRT, JMS SIGNGT SZL CLA JMP SW2 INBLIP COPY 1 3 BLEND SW2, INBLIP COPY SWARG1, 0 SWARG2, 0 BLEND SIGNGT, 0 GETAD 4 DCA TM2POI ACUM 5 DCA PRECIS JMS SIGNSR JMP I SIGNGT SWTCHO, 5 BLOUT CLA IAC /AC_1 DCA SWARG1 CLA CLL IAC RAL /AC_2 DCA SWARG2 JMP SWSTRT
/*************** CLEANER FOR NNX14 BIT WORDS ************************ /CALL: PCLEAN / INPUT / INPUT PRECISION / OUTPUT / OUTPUT TAP / CLEAR TAP / COUNT /ONE WORD STATE / REGISTER /ZBLOCK N STATE PCLEAN, 7 BLOUT GETAD 6 DCA CLCNTP INBLIP BLOTNT CLINIT INBLIP COMPLM 1 CLTEM1 ADDER CLTEM1 NNX14 7 NNX14 ONE CLTEM1 BLOUT CLA TAD CLTM1P DCA TM2POI ACUM 2 DCA PRECIS JMS SIGNSR SNL CLA JMP CLREJ CLINIT, DCA I CLCNTP /RESET COUNT INBLIP COPY /INPUT BIGGER THAN REG. 1 7 COPY ZERO 3 BLEND CLREJ, ISZ I CLCNTP /INPUT SMALLES THAN REG. NOP ACUM 4 CIA TAD I CLCNTP CLA SZA JMP CLOVER INBLIP COPY /DO OUTPUT 7 3 BLOUT CLCONT, ACUM /CHECK FOR CLEAR REG. 5 CIA TAD I CLCNTP SMA CLA JMP CLCLER INEND CLOVER, INBLIP /NO OUTPUT BUT CHECK FOR CLEAR COPY ZERO 3 BLOUT JMP CLCONT CLCLER, DCA I CLCNTP /CLEAR REGISTER AND COUNT INBLIP COPY ZERO 7 BLEND CLTEM1, ZBLOCK N CLTM1P, CLTEM1 CLCNTP, 0
PAGE /*******************SIMPLE INTEGRATOR*************************** /CALL: SMIGTR / INPUT / INPUT PREC / OUTPUT / STATE LIMIT /STATE*2^STATE POINT (MAX,MIN) / TIME CONSTANT /BINARY LOG OF ALPHA / STATE POINT /NR OF BITS RIGHT OF POINT IN STATE / STATE /LAST OUTPUT * 2^STATE POINT (N WORDS) SMIGTR, 7 BLOTNT IGRINT ACUM 5 SPA TYDER /TIME CONST. MUST BE POSITIVE CIA DCA IGRM5A ACUM 6 CIA DCA IGRM6A INBLIP SCALSG 7 NNX14 IGRM5A IGRTM1 COMPLM IGRTM1 IGRTM1 ADDER IGRTM1 NNX14 7 NNX14 ONE IGRTM1 SCALSG 1 2 6 IGRTM2 ADDER IGRTM1 NNX14 IGRTM2 NNX14 ZERO IGRTM1 LIMIT IGRTM1 NNX14 4 7 IGREND, SCALSG 7 NNX14 ZERO /OUTPUT=STATE PRECISION!!!! 3 BLEND IGRINT, INBLIP COPY ZERO 7 BLJUMP IGREND IGRTM1, ZBLOCK N IGRTM2, ZBLOCK N IGRM5A, 0 IGRM6A, 0
/***************** RECTIFIERS ************************ /CALL: HWRECT /HALF WAVE RECTIFIER / INPUT / INPUT PRECISION / OUTPUT /CALL: FWRECT /FULL WAVE RECTIFIER / INPUT / INPUT PRECISION / OUTPUT HWRECT, 3 BLOUT JMS RECTGT FWREND, JMS HWRSR INEND FWRECT, 3 BLOUT JMS RECTGT SNL JMP FWREND JMP RCTEND HWRSR, 0 CLA TAD WORDCT DCA COUNT HWROUT, SNL TAD I INPOI DCA I TM1POI ISZ INPOI ISZ TM1POI ISZ COUNT JMP HWROUT JMP I HWRSR RECTGT, 0 JMS ARGET1 TAD OUTPOI DCA TM1POI TAD INPOI DCA TM2POI JMS SIGNSR JMP I RECTGT SIGNSR, 0 CLL CLA CMA SGNLP1, TAD PRECIS TAD NM14 SPA JMP WRDFND DCA PRECIS ISZ TM2POI JMP SGNLP1 WRDFND, DCA PRECIS TAD I TM2POI SGNLP2, RAL ISZ PRECIS JMP SGNLP2 CLA JMP I SIGNSR
PAGE /**************** EXCITR ****************** /BLENDS NOISE IN GRADUALLY AT END OF VOICED SOUNDS /CALL: EXCITR / INPUT1 /PITCH PULSES / INPUT1 PRECISION / INPUT2 /NOISE / INPUT2 PRECISION / OUTPUT / STATE / STATE PRECISION / DECAY PARAMETER /NEGATIVE!! SLSHFT, 0 SLSFT2, 0 EXCITR, 10 SCALSG /UPDATE STATE 6 7 10 SLTM1 COMPLM SLTM1 SLTM1 ADDER SLTM1 NNX14 6 NNX14 ONE 6 BLOTNT SLINIT ACUM /SHIFT INPUT SIGNAL 2 CIA ACUM 7 DCA SLSHFT TAD SLSHFT CIA DCA SLSFT2 INBLIP HWRECT 1 2 SLTM1 SCALSG SLTM1 2 SLSHFT SLTM1 COMPLM 6 SLTM2 ADDER /PITCH - STATE SLTM1 NNX14 SLTM2 NNX14 ONE SLTM2 SWTCHO SLTM1 SLTM1 6 SLTM2 7 FWRECT 3 4 SLTM2 /NOISE COMPLM 6 SLTM1 SCALSG SLTM1 7 SLSFT2 SLTM1 ADDER SLTM1 NNX14 SLTM2 NNX14 ONE SLTM1 HWRECT SLTM1 7 SLTM3 COMPLM SLTM3 /SLIDING NOISE SLTM2 /-SLIDING NOISE ADDER SLTM2 NNX14 ONE NNX14 ZERO SLTM2 SWTCHI SLTM3 SLTM2 5 3 4 BLEND SLINIT, INBLIP COPY ZERO 6 COPY ZERO 5 BLEND SLTM1, ZBLOCK N SLTM2, ZBLOCK N SLTM3, ZBLOCK N
PAGE /********** MOVE TABLE OF SIGNALS ****************** /CALL: MOVE / INPUT TABLE / FIELD OF INPUT TABLE / LENGTH OF TABLE / CONTROL SIGNA /MOVE FOR POS CONTROL SIGNAL / PREC OF CONTROL SIGNAL / OUTPUT TABLE / FIELD OF OUTPUT TABLE MOVE, 7 BLOTNT MVINIT JMS SIGNGT SZL CLA INEND MVINIT, ACUM 3 CIA DCA TM3POI GETAD 1 DCA MVFROM GETAD 6 DCA MVTO ACUM 2 DCA MVFLD1 ACUM 7 DCA MVFLD2 MVNXT, JMS SIGMOV MVFROM, 0 MVFLD1, 0 MVTO, 0 MVFLD2, 0 ISZ TM3POI JMP MVNXT INEND SIGMOV, 0 CLA RDF TAD CNCIF DCA SIGRET TAD I SIGMOV ISZ SIGMOV DCA MVFROM TAD I SIGMOV ISZ SIGMOV DCA MVINS1 TAD I SIGMOV ISZ SIGMOV DCA MVTO TAD I SIGMOV ISZ SIGMOV DCA MVINS2 TAD WORDCT DCA COUNT MVINS1, HLT TAD I MVFROM MVINS2, HLT DCA I MVTO ISZ MVFROM ISZ MVTO ISZ COUNT JMP MVINS1 SIGRET, HLT JMP I SIGMOV CNCIF, CIF CDF /***MOVE KOEFFICIENT TABLE FOR 14 BIT WORDS*** /CALL: KCMOVE / INPUT TABLE (FIELD 2) / OUTPUT TABLE (FIELD 2) / LENGTH OF TABLE / CONTROL SIGNAL (MOVE FOR CONTROL SIGNAL>0) KCMOVE, 4 BLOUT ACUM 4 SPA SNA CLA INEND GETAD 1 DCA KCINP GETAD 2 DCA KCOUTP GETAD 3 DCA KCLGTH CIF 20 JMS TRANS KCINP, 0 KCOUTP, 0 KCLGTH, 0 INEND /******PITCH GENERATOR******** /CALL: PITGEN / OUTPUT /SINGLE WORD / PITCH PERIOD INPUT / STATE /SINGLE WORD / VOICED-UNVOICED SIGNAL IN PITGEN, 4 BLOTNT PTINT ACUM 4 SZA CLA JMP .+3 CMA JMP PTUV ACUM 3 IAC SMA JMP PTDO PTSRT, PUT 3 PTEND, PUT 1 INEND PTDO, CLA ACUM 2 CIA PTUV, PUT 3 TAD PTAMPL JMP PTEND PTINT, CLA CMA JMP PTSRT PTAMPL, 1 PAGE /CALL: PEAK / INPUT / INPUT PRECISION / OUTPUT / STATE / TIME CONSTANT PEAK, 5 BLOTNT PKINIT ACUM 5 CIA DCA PKSCL1 TAD PKSCL1 DCA PKSCL2 INBLIP SCALSG 1 2 5 LDTEM1 COMPLM LDTEM1 LDTEM2 ADDER LDTEM2 NNX14 4 NNX14 ONE LDTEM2 SCALSG 4 NNX14 PKSCL1 LDTEM3 COMPLM LDTEM3 LDTEM3 ADDER 4 NNX14 LDTEM3 NNX14 ONE LDTEM4 SWTCHI LDTEM4 LDTEM1 4 LDTEM2 NNX14 SCALSG 4 NNX14 PKSCL2 3 BLEND PKINIT, INBLIP COPY ZERO 4 COPY ONE 3 BLEND PKSCL1, 0 PKSCL2, 0
/CALL: EFFLEV / INPUT (14 BITS!!!) / OUTPUT / STATE / TIME CONSTANT / SCALE CONSTANT (NEGATIV) EFFLEV, 5 BLOTNT EFINIT INBLIP MULTSG 1 PREC1 1 PREC1 LDTEM1 NNX14 SMIGTR LDTEM1 NNX14 LDTEM1 EFFLIM 4 4 3 SCALSG LDTEM1 NNX14 5 LDTEM2 BLOUT SWAB CAM DAD LDTEM2 DST TEMHIG CAM DCA TEMLOW DCA DIVHIG JMS SRNORM JMS SRSQRT JMS SRFIX TAD TEMHIG SNA IAC /LEVEL GREATER OR EQUAL 1 SPA CLA CLL CML RTR EFFEND, PUT 2 INEND EFINIT, INBLIP COPY ZERO 3 BLOUT LEV1, CLA IAC JMP EFFEND N26, 26 EFFLIM, 7777 7777 7777 7777 3777
PAGE SRSQRT, 0 CLA CLL DCA TEMHIG DCA TEMLOW TAD EXPON RAR DCA EXPON TAD EXPON SNL CLA JMP EVEN CLA IAC TAD EXPON DCA EXPON CLL TAD DIVHIG RAR DCA DIVHIG TAD DIVLOW RAR DCA DIVLOW EVEN, TAD DIVHIG MQL TAD NM0006 DCA INDEX IAC DCA TEMLOW JMS SQTLOP TAD DIVLOW MQL TAD NM0004 DCA INDEX JMS SQTLOP TAD TEMLOW CLL RAR JMP I SRSQRT SQTLOP, 0 TAD TEMHIG SHL 2 CMA CLL TAD TEMLOW CMA SNL JMP GOES TAD TEMLOW DCA TEMHIG TAD TEMLOW RAL AND N7770 IAC SQBACK, DCA TEMLOW ISZ INDEX JMP SQTLOP+1 JMP I SQTLOP GOES, DCA TEMHIG TAD TEMLOW RAL AND N7770 TAD N0005 JMP SQBACK NM0004, -4 EXPON, 0 NM0006, -6 INDEX, 0 N7770, 7770 N0005, 5 TEMLOW, 0 TEMHIG, 0 DIVLOW, 0 DIVHIG, 0 SRFIX, 0 MQL CLA IAC TAD EXPON DCA .+2 SHL 0 DCA TEMHIG MQA DCA TEMLOW JMP I SRFIX SRNORM, 0 CLA TAD DIVHIG SZA CLA JMP NORML TAD DIVLOW SZA CLA JMP NORML TAD TEMHIG SZA CLA JMP NORML TAD TEMLOW SZA CLA JMP NORML DCA EXPON JMP I SRNORM NORML, DCA EXPON CIRC11, CLA CLL TAD DIVHIG SPA CLA JMP NORMEN ISZ EXPON TAD TEMLOW RAL DCA TEMLOW TAD TEMHIG RAL DCA TEMHIG TAD DIVLOW RAL DCA DIVLOW TAD DIVHIG RAL DCA DIVHIG JMP CIRC11 NORMEN, TAD EXPON CIA TAD N0044 DCA EXPON JMP I SRNORM N0044, 44



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