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