PAGE /********************LADDER PREDICTOR***************************** /CALL: LADRPD / INPUT / INPUT PREC / OUTPUT / NR OF TAPS / SIGNAL DELAY LINE / COEFFICIENT STORE / COEFFICIENT PREC / COEFFICIENT ONE /NR OF BITS AFTER POINT / INTEGRATOR1 STATES / INTEGRATOR2 STATES / INTEGRATOR TIME CONSTANT LADRPD, 13 COPY 1 LDTEM1 COPY LDTEM1 LDTEM2 BLOUT GETAD 5 DCA LDSTOR GETAD 6 DCA LDA0S ACUM 4 CMA DCA LDCNT ACUM 10 CIA DCA LDPREC GETAD 11 DCA I LDST1P GETAD 12 DCA I LDST2P LDLOOP, ISZ LDCNT SKP JMP LDLOPF INBLIP DELAY LDSTOR, 0 LDTEM1 LDTEM1 BLJUMP LDPAGE LDBACK, COPY LDTEM7 LDA0S, 0 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 LDSTOR TAD NN DCA LDSTOR TAD LDA0S TAD NN DCA LDA0S TAD I LDST1P TAD NN DCA I LDST1P TAD I LDST2P TAD NN DCA I LDST2P JMP LDLOOP LDLOPF, INBLIP COPY LDTEM2 3 BLEND 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 LDLIM2, 7777 7777 7777 7777 3777 LDPAGE, ADDER LDTEM1 NNX14 LDTEM2 NNX14 ZERO LDTEM5 MULTSG LDTEM5 NNX14 LDTEM5 NNX14 LDTEM5 NNX14 COMPLM LDTEM1 LDTEM6 ADDER LDTEM6 NNX14 LDTEM2 NNX14 ONE LDTEM6 MULTSG LDTEM6 NNX14 LDTEM6 NNX14 LDTEM6 NNX14 ADDER LDTEM5 NNX14 LDTEM6 NNX14 ZERO LDTEM7 SMIGTR LDTEM7 NNX14 LDTEM7 LDLIM1 13 13 LDST1, 0 COMPLM LDTEM6 LDTEM6 ADDER LDTEM5 NNX14 LDTEM6 NNX14 ONE LDTEM5 SMIGTR LDTEM5 NNX14 LDTEM5 LDLIM1 13 13 LDST2, 0 SCALSG LDTEM5 NNX14 10 LDTEM5 DIVSG LDTEM5 NNX14 LDTEM7 NNX14 LDTEM7 NNX14 LDERR LDCONT, LIMIT LDTEM7 NNX14 LDLIM2 LDTEM7 BLJUMP LDBACK LDERR, COPY ZERO LDTEM7 BLJUMP LDCONT /********************LADDER RECEIVE END FILTER********************** /CALL: LADRRE / INPUT / INPUT PREC / OUTPUT / NR OF TAPS / SIGNAL DELAY LINE / COEFFICIENT STORE / COEFFICIENT PREC / COEFFICIENT ONE /NR OF BITS AFTER POINT PAGE LADRRE, 10 COPY 1 LDTEM2 BLOUT GETAD 5 DCA RESIG2 TAD RESIG2 TAD NN DCA RESIG1 TAD RESIG1 DCA RESIG4 GETAD 6 DCA REA01 ACUM 4 CMA DCA RECNT TAD RECNT IAC DCA REA02 /TEM USE READLP, ISZ REA02 SKP JMP READF TAD REA01 TAD NN DCA REA01 JMP READLP READF, TAD REA01 DCA REA02 ACUM 10 CIA DCA REPREC INBLIP BLOTNT REINIT RELOOP, ISZ RECNT SKP JMP RELOPF INBLIP MULTSG RESIG1, 0 /READ POINTER NNX14 REA01, 0 NNX14 LDTEM3 NNX14 SCALSG LDTEM3 NNX14 REPREC LDTEM3 ADDER LDTEM2 NNX14 LDTEM3 NNX14 ZERO LDTEM2 MULTSG LDTEM2 NNX14 REA02, 0 NNX14 LDTEM4 NNX14 SCALSG LDTEM4 NNX14 REPREC 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 TAD RESIG1 DCA RESIG4 TAD REA01 TAD WORDCT DCA REA01 TAD REA01 DCA REA02 JMP RELOOP RELOPF, INBLIP COPY LDTEM2 3 COPY LDTEM2 RESIG3, 0 BLEND REINIT, CLA TAD WORDCT DCA COUNT DCA I RESIG2 ISZ RESIG2 ISZ COUNT JMP .-3 ISZ RECNT JMP REINIT INEND REPREC, 0 RECNT, 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 /*************** 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 /************ VERKNUEPFUNGEN ******************** /CALL: INCLOR / INPUT1 / INPUT2 / OUTPUT /CALL: EXCLOR / INPUT1 / INPUT2 / OUTPUT /CALL: LOGAND / INPUT1 / INPUT2 / OUTPUT INCLOR, 3 BLOUT JMS ORSUB CMA DCA INPOI TAD I TM2POI CMA AND INPOI CMA JMP ORSBRT EXCLOR, 3 BLOUT JMS ORSUB AND I TM2POI CLL RAL CIA TAD I TM1POI TAD I TM2POI JMP ORSBRT LOGAND, 3 BLOUT JMS ORSUB AND I TM2POI JMS ORSBRT ORSUB, 0 TAD WORDCT DCA COUNT GETAD 1 DCA TM1POI GETAD 2 DCA TM2POI GETAD 3 DCA TM3POI INCLLP, TAD I TM1POI JMP I ORSUB ORSBRT, DCA I TM3POI ISZ TM1POI ISZ TM2POI ISZ TM3POI ISZ COUNT JMP INCLLP INEND /******************* CLEANER FOR RESIDUAL *********************** /CALL: CLEANR / INPUT / OUTPUT /14 BITS MAX!!!!!!!!!!! / OUTPUT TAP / CLEAR TAP / STATE /1.WORD: REGISTER / /2. WORD: COUNT CLEANR, 5 BLOUT GETAD 5 DCA TM1POI TAD TM1POI IAC DCA TM2POI INBLIP BLOTNT CLINIT ACUM 1 SPA CLA CLL CMA RAR CLL CIA TAD I TM1POI SMA CLA JMP CLREJ ACUM 1 CLINIT, DCA I TM1POI DCA I TM2POI PUT 2 INEND CLREJ, ISZ I TM2POI NOP ACUM 3 CIA TAD I TM2POI CLA SNA TAD I TM1POI PUT 2 ACUM 4 CIA TAD I TM2POI SNA CLA DCA I TM1POI INEND PAGE /******* THRESHOLD-COMPARES INPUT WITH AV. OF PRECEEDING PULSES ***** /CALL: TRSHLD / INPUT / OUTPUT / THRESHOLD K /THRESHOLD AT 2^K*AVERAGE / NR OF TAPS /NR MUST BE POWER OF 2 / DELAY LINE /ADDRESS OF STORAGE AREA / STATE /SHIFTREG POINTER TRSHLD, 6 BLOTNT TRNOT0 GETAD 1 DCA TM1POI JMS SZSIG JMP TRNOT0 TRZERO, INBLIP COPY ZERO 2 BLEND TRNOT0, INBLIP COPY ZERO TRTEM1 SHFTRG TRSHFT 1 BLOUT ACUM 4 CIA DCA TRCNT DCA TRTAPN CAM TAD TRCNT CIA NMI SCA CLA TAD TRM12 ACUM 3 DCA TRSCAL TRLOOP, ISZ TRTAPN INBLIP TAP TRTAPN TRTEM2 ADDER TRTEM1 NNX14 TRTEM2 NNX14 ZERO TRTEM1 BLOUT ISZ TRCNT JMP TRLOOP INBLIP SCALSG TRTEM1 NNX14 TRSCAL TRTEM1 COMPLM TRTEM1 TRTEM2 ADDER 1 NNX14 TRTEM2 NNX14 ONE TRTEM2 HWRECT TRTEM2 NNX14 TRTEM2 BLOUT TAD TRTM2P DCA TM1POI JMS SZSIG JMP TROUT JMP TRZERO TROUT, INBLIP COPY 1 2 BLEND TRTEM1, ZBLOCK N TRTEM2, ZBLOCK N TRSHFT, 5 4 CN 6 TRCNT, 0 TRSCAL, 0 TRTAPN, 0 TRTM2P, TRTEM2 TRM12, -12 SZSIG, 0 /SKP ON ZERO SIGNAL CLA /TM1POI POINTS TO SIGNAL TAD WORDCT DCA COUNT SKPLOP, TAD I TM1POI SZA CLA JMP I SZSIG ISZ TM1POI ISZ COUNT JMP SKPLOP ISZ SZSIG JMP I SZSIG /**************** EXCITR ****************** /BLENDS NOISE IN GRADUALLY AT END OF VOICED SOUNDS /CALL: EXCTR / INPUT1 /PITCH PULSES / INPUT1 PRECISION / INPUT2 /NOISE / INPUT2 PRECISION / OUTPUT / STATE / STATE PRECISION / DECAY PARAMETER /NEGATIVE!! 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 SLSFT2, 0 SLTM2, ZBLOCK N SLTM3, ZBLOCK N SLSHFT, 0 /************** GABEL FUER PROGRAMM ******************* /CALL: GABEL / WEG1 /AUCH BEI INITIALISIERUNG / WEG2 / STATE GABEL, 3 BLOTNT GBINIT ACUM 3 GBDO, SNA CLA CMA DCA TM1POI TAD TM1POI PUT 3 TAD TM1POI SMA CLA JMP GBWAY2 INBLIP BLJUMP 1 BLEND GBWAY2, INBLIP BLJUMP 2 BLEND GBINIT, CLA JMP GBDO PAGE /*************** ZERO CROSSINGS ****************** /CALL: ZCROSS / INPUT / INPUT PRECISION / OUTPUT /0 IF NR OF ZERO CROSS HIGHER / /-1 IF NR. SMALLER / INTEGRATION TIME /NR OF SAMPLES / NR OF ZERO CROSSINGS / STATE /ZBLOCK ^4 ZCROSS, 6 BLOUT GETAD 6 DCA VVCNT1 /SAMPLE COUNT TAD VVCNT1 IAC DCA VVCNT2 /ZERO CROSSINGS COUNT TAD VVCNT2 IAC DCA VVLIN /LAST INPUT SIGN TAD VVLIN IAC DCA VVLOUT /LAST OUTPUT INBLIP BLOTNT VVINIT BLOUT JMS RECTGT RAR CLA DCA VVTEM TAD VVTEM TAD I VVLIN SPA CLA ISZ I VVCNT2 NOP TAD VVTEM DCA I VVLIN ISZ I VVCNT1 JMP VVOVER ACUM 5 CMA CLL TAD I VVCNT2 SNL CLA VVEND, CMA DCA I VVLOUT ACUM 4 CIA DCA I VVCNT1 DCA I VVCNT2 VVOVER, TAD I VVLOUT PUT 3 INEND VVINIT, CLA DCA I VVLIN JMP VVEND VVTEM, 0 VVCNT1, 0 VVCNT2, 0 VVLIN, 0 VVLOUT, 0 /********** 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 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 CDF 10 JMP I SIGMOV PAGE /*********** SINGLE PRECISION COUNT ****************** /CALL: SPCNT / OUTPUT / PRESET VALUE / STATE /SINGLE WORD SPCNT, 3 BLOTNT SCEND ACUM 3 SMA JMP SCOVER IAC SCEND, DCA SCTEM TAD SCTEM PUT 3 INBLIP PRESGN SCTEM CONS14 1 BLEND SCOVER, ACUM 2 CIA JMP SCEND CONS14, 14 SCTEM, 0