*PART1 ITRANS, 0 JMS I LCINIT LCPCM, 0 JMS I LINIT DSIZE LDPCM, 0 JMS I LINPSP LPSP, 0 JMS I ITRANS LTRANS, 0 JMS I LCPCM JMS I LPSP JMS I LDPCM DSIZE JMP I LTRANS LCINIT, CINIT LINIT, INIT LINPSP, INPSP DSIZE, 0 0 *PART2 INPSP, 0 CLA TAD NUM CIA DCA CURBIT /INTERMEDIATE USE TAD FLAGTB DCA FLAGAD DCA I FLAGAD ISZ FLAGAD ISZ CURBIT JMP .-3 STA TAD NUM DCA SHIFT TAD NUM CIA DCA BITNR JMS I LIERSKP LERSKP, 0 JMS I INPSP PSP, 0 DCA WORD /INIT AFTER EVERY WORD DCA CHWORD TAD BITNR DCA CURBIT TAD FLAGTB DCA FLAGAD BEGIN, JMS I LERSKP 50 /ERRARG. THRESHOLD OR PERIOD JMP NOERR CLA IAC DCA I FLAGAD TAD WORD CLL RAR CML JMP ENDNE NOERR, CLA DCA I FLAGAD TAD WORD CLL RAR ENDNE, DCA WORD TAD CHWORD RAR DCA CHWORD ISZ FLAGAD ISZ CURBIT JMP BEGIN TAD CHWORD MQL SHL /SHIFT CHANGED WORD IN RIGHT POSITION SHIFT, 0 JMP I PSP LIERSKP,INDSKP FLAGTB, FLAG1 NUM, 2 /NUMBER OF BITS IN WORD BITNR, 0 WORD, 0 CHWORD, 0 CURBIT, 0 FLAGAD, 0 INDSKP, 0 CLA TAD GONUM CIA DCA PERIOD JMS I INDSKP DSKP, 0 ISZ PERIOD JMP WEIT TAD I DSKP DCA DIV CMA MQL DVI DIV, 0 CLA MQA CIA DCA PERIOD ISZ DSKP WEIT, ISZ DSKP JMP I DSKP GONUM, 100 /INTERVALL AFTER START PERIOD, 0 IBURST, 0 JMS INDSKP LDSKP, 0 JMS I LISSKP LSSKP, 0 CLA TAD LENGTH CIA DCA CURLEN CMA DCA COUNT2 /INIT COUNT 2 TO 7777 DCA BFLAG JMS I IBURST BURST, 0 TAD I BURST DCA PER1 ISZ BURST TAD BFLAG SZA CLA JMP BURGEN JMS I LDSKP PER1, 0 /PERIOD FOR 1ST COUNTER, SET FROM PSP JMP I BURST ISZ COUNT2 JMP I BURST CLA IAC DCA BFLAG /SET BURSTFLAG TAD FAKTOR CIA DCA COUNT2 BURGEN, ISZ CURLEN JMP .+5 DCA BFLAG TAD LENGTH CIA DCA CURLEN JMS I LSSKP 4000 /PROBABILITY FOR ERR IN BURST SKP ISZ BURST JMP I BURST LISSKP, INSSKP LENGTH, 20 CURLEN, 0 BFLAG, 0 COUNT2, 0 FAKTOR, 14 *PART3 INSSKP, 0 JMS R CLA TAD CALL CIA DCA CURCAL JMS PRAN ISZ CURCAL JMP .-2 JMS I INSSKP SSKP, 0 JMS PRAN CLL TAD I SSKP ISZ SSKP SZL CLA /LINL = 1 FOR ERROR ISZ SSKP JMP I SSKP CALL, 100 /NUM OF CALLS FOR PRAN CURCAL, 0 R, HLT JMP R+63 PRAN, HLT CLA TAD R+77 RAL AND R+71 DCA R+74 TAD R+76 AND R+70 TAD R+74 7006 7006/RAL RAT RAL DCA R+72 TAD R+77 AND R+70 7006 7006 RAL TAD R+76 DCA R+73 7430/SNL SKP ISZ R+72 7000 TAD R+77 7104/CLL RAL 7430 ISZ R+73 SKP ISZ R+72 7000 CLL TAD R+77 DCA R+77 TAD R+76 RAL 7430 ISZ R+72 7000 CLL TAD R+73 DCA R+76 TAD R+75 RAL TAD R+75 TAD R+72 DCA R+75 TAD R+75 JMP I PRAN 0/NOT USED 7201/CLA IAC DCA R+77 DCA R+76 DCA R+75 JMP I R 177 7400 0 0 0 0 0 0 HLT HLT FLAG1, 0 /FLAG FOR BIT 11 FLAG2, 0 /JSB 21 7 70 /N-BIT SYLLABIC P.C.M CODER /USING CALL TO DECODER *PART4 CGO, JMS I CINIT CODPCM, 0 DCA INPUT TAD INPUT SMA CMA DCA MARG / -MOD(INPUT) CMA TAD THTABA TAD DISP0 DCA LOC TAD DISP0 DCA DISP CODLOP, TAD I LOC DCA MULTC TAD SIZEC /COMPUTE THRESHHOLD MQL MUY MULTC, 0 SHL 2 TAD MARG CLA SNL /IF MOD(INPUT)>THESHOLD, TAD DISP /SUBTRACT DISP FROM LOC CIA TAD LOC DCA LOC TAD DISP /HALVE DISP CLL RAR SNA /IF DISP=0, JMP DUN /FINISHED DCA DISP TAD LOC TAD DISP DCA LOC /LOC:=IF BIT N=1 THEN LOC-DISP, / ELSE LOC+DISP JMP CODLOP DUN, CMA TAD THTABA CIA TAD LOC /COMPUTE BITS DCA LSBITS CLL TAD INPUT SPA CLA STL TAD LSBITS SZL CMA /MODIFY CODE AND CM4 /N BITS DCA CCODE TAD CCODE JMS I DECSIN SIZEC CLA TAD CCODE JMP I CODPCM CINIT, 0 JMS I DECINP SIZEC DECSIN, 0 JMP CGO DECINP, INIT THTABA, THTAB THTAB, 527 CM4, 3 DISP0, 1 /ALL ABOVE SET FOR 2 BITS INPUT, 0 MARG, 0 DISP, 0 LOC, 0 LSBITS, 0 CCODE, 0 SIZEC, 0 /DECODER STATE 0 /LSM 20 7 70 / N-BIT SYLLABIC P.C.M DECODER *PART5 GO, JMS I INIT DECPCM, 0 AND M1 /N BITS DCA CODE TAD I DECPCM /BRING IN STATE NOP /ISZ DECPCM IF SPLIT STATES DCA TEM TAD I TEM DCA SIZEHI ISZ TEM TAD I TEM DCA SIZELO TAD CODE AND M2 /MS BIT CLL SZA CLA CML /INTO LINK TAD CODE SZL CMA /USE SIGN BIT AND M3 /N-1 BITS DCA MODCOD CLA RAL /MS BIT INTO POLCOD DCA POLCOD TAD MODCOD TAD OPTAB DCA TEM TAD I TEM DCA MULT TAD SIZEHI MQL MUY MULT, 0 ASR 10 TAD POLCOD /INSERT POLARITY CLL RAR MQA SZL CIA DCA OUTPUT TAD MODCOD TAD STTAB /UPDATE STATE DCA TEM TAD I TEM DCA TEM JMP I TEM OUT, TAD I DECPCM /RETURN STATE ISZ DECPCM DCA TEM TAD SIZEHI DCA I TEM ISZ TEM TAD SIZELO DCA I TEM TAD OUTPUT JMP I DECPCM /------------------ /STATE CHANGE ROUTINES DECAY, TAD SIZELO MQL TAD SIZEHI LSR 2 CMA CLL TAD SIZEHI DCA SIZEHI MQA /DEC SIZELO CIA STL TAD SIZELO SNL ISZ SIZEHI /CARRY DCA SIZELO TAD MIN /LIMIT SMALL CIA CLL TAD SIZEHI CLA TAD MIN SNL /MIN INTO SIZEHI DCA SIZEHI /IF SIZEHI