File VOCOD.7

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





PAGE

INIT,	0
	CDF 10
	NTBLIP


	INBLIP

	SIM
	ZERO
	OUTPUT

	BLNTOF
	BLOUT

	CIF 0
	
	JMS I INIT

CODEC,	0
	CDF 10
	DCA INPUT
	INBLIP


	PRESGN
	INPUT
	PREC1
	INPUT


	SIM
	INPUT
	OUTPUT


	BLOUT
	TAD OUTPUT
	CIF 0
	JMP I CODEC



INPUT,	ZBLOCK N
OUTPUT,	ZBLOCK N



/********************MAIN PROGRAMM*****************************: / CALL: SIM / INPUT / OUTPUT SIM, 2 SEND 1 COESE LOC1 LOC12 TRNSMT COESE COERE LOC1 LOC4 LOC12 LOC13 RECEIV 2 COERE LOC4 LOC13 BLEND
/************************* SEND END ***************************** / CALL: SEND / INPUT / COEFFICIENTS OUT / PITCH OUT / LEVEL OUT SEND, 4 LADRPD 1 PREC1 LOC2 LOCTAP SIGSE 2 K1 IGRST1 IGRST2 LOCTC PREC2 FWRECT LOC2 NUM14 LOC1 PCLEAN LOC1 NUM14 LOC8 OUTTP1 CLRTP1 CLST1 CLREG1 TRSHLD LOC8 LOC4 LEVEL1 TRTAP1 TRSIG1 TRST1 LEVEL2 TRTAP2 TRSIG2 TRST2 COPY /PITCH PULSES OUT LOC4 3 FWRECT 1 PREC1 LOC7 PCLEAN LOC7 NNX14 LOC7 OUTTP2 CLRTP2 CLST2 CLREG2 SWTCHO CLREG2 CLREG2 4 /LEVEL OUT LOC4 NUM14 BLEND
/********************** RECEIVE END ************************ / CALL: RECEIV / OUTPUT / COEFF. IN / PITCH IN / LEVEL IN RECEIV, 4 PRESGN 4 PREC1 LOC5 SWTCHI LOC5 ZERO LOC9 3 PREC1 PRESGN LOC9 PREC1 LOC9 SCALSG LOC9 NNX14 PREC5 LOC9 NOISE STN1 PREC4 LOC3 PRESGN LOC3 PREC4 LOC3 EXCITR LOC9 PREC1 LOC3 PREC4 LOC6 VUVST PREC7 VUVDEC SWTCHI PITSIZ ZERO LOC9 3 PREC1 ADDER LOC6 NNX14 LOC9 NNX14 ZERO LOC6 /EXCITATION SIGNAL AT CONST. LEVEL MULTSG LOC6 PREC1 LOC5 NNX14 LOC11 NNX14 SCALSG LOC11 NNX14 PREC10 LOC6 LADRRE LOC6 NNX14 1 LOCTAP SIGRE 2 K1 PREC2 BLEND
/LISTEN PAGE TAPNR=14 LOC9, ZBLOCK N LOC10, ZBLOCK N LOC11, ZBLOCK N LOC12, ZBLOCK N LOC13, ZBLOCK N /USED AS LEVEL OUTPUT (STATE!!) PREC1, 14 /SIGNAL PREC2, 14 /SCALE ON PRED. INPUT PREC4, 5 /NOISE LEVEL PREC5, 0 /SHIFT FOR EXCITATION IMPULSES PREC7, 30 /PREC OF EXCITER STATE PREC10, -7 /SHIFT FOR EXC. SIGNAL AFTER MULT NUM14, 14 NUM24, 24 STN1, 0 LOCTC, 5 LOCTAP, 14 SIGSE, ZBLOCK TAPNR^N SIGRE, ZBLOCK TAPNR^N+N IGRST1, ZBLOCK TAPNR^N IGRST2, ZBLOCK TAPNR^N K1, 10 K2, 10 K3, 10 K4, 10 K5, 10 K6, 10 K7, 10 K10, 10 K11, 10 K12, 10 K13, 10 K14, 10 VUVDEC, -3 VUVST, ZBLOCK N MAXSEL, PITSTR C4 CN PITPTR PITSTR, ZBLOCK 4^N C2, 2 C3, 3 C4, 4 PITPTR, 0 TRSIG1, ZBLOCK 10^N /AMPLITUDE CHECK LEVEL1, -3 TRTAP1, 4 TRST1, 0 TRSIG2, ZBLOCK 10 /TIME CHECK LEVEL2, -2 TRTAP2, 4 TRST2, 0 OUTTP1, 30 CLRTP1, 40 CLST1, 0 CLREG1, ZBLOCK N OUTTP2, 10 CLRTP2, 40 CLST2, 0 CLREG2, ZBLOCK N PITSIZ, 200 0 0 0 0 LOCF1, CDF 10 LOCF2, CDF 20
/ CALL: TRNSMT / COEFF. IN / COEFF. OUT / PITCH IN / PITCH OUT / LEVEL IN / LEVEL OUT TRNSMT, 6 BLOTNT TRNT ACUM 3 CDF 20 DCA I TRPINI CDF 10 ACUM 5 CDF CIF 20 DCA I TRLINI JMP I .+1 TRSTRT TREND, CLA CMA TAD I TRPOTI CDF 10 PUT 4 CDF 20 TAD I TRLOTI CDF 10 PUT 6 INEND TRNT, GETAD 1 CDF 20 DCA I TRKINI CDF 10 GETAD 2 CDF CIF 20 DCA I TRKOTI JMP I .+1 TRNTF2 TRKINI, TRKIN TRKOTI, TRKOUT TRPINI, TRPIN TRPOTI, TRPOUT TRLINI, TRLIN TRLOTI, TRLOUT F1NXT=. FIELD 2 *1000 /LISTEN /BEREICH ZWISCHEN INA UND INE WIRD INITIALISIERT INA=. COESE, ZBLOCK TAPNR COERE, ZBLOCK TAPNR COEPS, ZBLOCK TAPNR COECR, ZBLOCK TAPNR BITRGT, 0 BITWRG, 0 TRPOUT, 0 TRLOUT, 0 TRST3, 0 TRLEVL, 0 SRAFAD, ZBLOCK TAPNR INE=. ERRATE, 50 TRFREQ, 40 TRLANG, TAPNR PAGE TRSTRT, TAD TRPIN SPA SNA CLA JMP TRNO1 JMS TRANS TRKIN, 0 COEPS TRLANG TRNO1, TAD TRPIN SPA SNA CLA JMP TROVER TAD TRLIN JMS AMQUAN DCA TRLEVL TROVER, JMS PITCOD TRPIN BITRGT TAD BITRGT JMS PITERR DCA BITWRG JMS PITDCD BITWRG TRPOUT JMS TCLOCK TRFREQ TRST3 DCA TRCLK TAD TRCLK SPA SNA CLA JMP TRNO2 JMS ELREG COEPS TRLANG K1 JMS REGEL COECR TRLANG K1 TRNO2, TAD TRPOUT SPA SNA CLA JMP TRNO3 JMS TRANS COECR TRKOUT, 0 TRLANG TRNO3, TAD TRPOUT SPA SNA CLA JMP .+3 TAD TRLEVL DCA TRLOUT TRBCK, CIF 10 JMP I .+1 TREND TRNTF2, JMS PCDINT JMS INITEG JMS PDCINT TAD INEINA DCA TRPIN /TEM USE TAD TRLIST DCA TRLIN /TEM USE TRINLP, DCA I TRLIN ISZ TRLIN ISZ TRPIN JMP TRINLP JMP TRBCK TRPIN, 0 TRLIN, 0 INEINA, INA-INE /SET INIT COUNT TRCLK, 0 TRLIST, COESE
PAGE AMQUAN, 0 DCA AQELE TAD NMAQ DCA NMAQZ TAD AQ1 DCA AQ1Z TAD AQB1 DCA AQB1Z ANF, TAD AQELE CIA TAD I AQ1Z SMA CLA JMP KLEIN ISZ AQ1Z ISZ AQB1Z ISZ NMAQZ JMP ANF KLEIN, TAD I AQB1Z JMP I AMQUAN AQELE, 0 NMAQ, -10 NMAQZ, 0 AQB1, AQB1LI AQB1Z, 0 AQ1, AQ1LI AQ1Z, 0 AQ1LI, 6 14 30 60 140 300 600 3777 AQB1LI, 3 10 22 45 110 220 450 1000
TRANS, 0 CLA TAD I TRANS DCA TRTE1 ISZ TRANS TAD I TRANS DCA TRTE2 ISZ TRANS TAD I TRANS DCA TRTE3 TAD I TRTE3 CIA DCA TCNT ISZ TRANS TRANFG, TAD I TRTE1 DCA I TRTE2 ISZ TRTE1 ISZ TRTE2 ISZ TCNT JMP TRANFG JMP I TRANS TRTE1, 0 TRTE2, 0 TRTE3, 0 TRTE4, 0 TCNT, 0
TCLOCK, 0 CLA TAD I TCLOCK DCA TCTEM TAD I TCTEM CIA DCA MN1 ISZ TCLOCK TAD I TCLOCK DCA TCTEM TAD I TCTEM TAD MN1 SZA CLA JMP NULL DCA I TCTEM IAC JMP END NULL, ISZ I TCTEM NOP END, ISZ TCLOCK JMP I TCLOCK TCTEM, 0 MN1, 0
PAGE PITCOD, 0 /PITCH CODER CLA TAD I PITCOD ISZ PITCOD DCA PCINP TAD I PITCOD ISZ PITCOD DCA PCOUTP JMS CLOCK JMS TIMER JMS PLSCHK JMS SERDO JMP I PITCOD CLOCK, 0 CLA ISZ SUBCNT JMP NULNUL TAD SPEED1 CIA DCA SUBCNT CLA IAC DCA FSTCLK ISZ MNCNT JMP ONENUL TAD SPEED2 CIA DCA MNCNT IAC JMP ONEONE NULNUL, DCA FSTCLK ONEONE, ONENUL, DCA SLWCLK JMP I CLOCK FSTCLK, 0 SLWCLK, 0 SPEED1, 1 SPEED2, 4 SUBCNT, 0 MNCNT, 0 PLSCHK, 0 CLA TAD SLWCLK SZA CLA DCA PULSE /CLEAR FF TAD I PCINP /GET INPUT SPA SNA CLA JMP I PLSCHK CLA IAC DCA PULSE /SET FLIPFLOP JMP I PLSCHK PULSE, 0 PCINP, 0 TIMER, 0 CLA TAD FSTCLK SNA CLA JMP NULOUT TAD PULSE SZA CLA ISZ TIMERC NOP TAD SLWCLK SNA CLA JMP NULOUT TAD TIMERC DCA PAROUT DCA TIMERC JMP I TIMER NULOUT, DCA PAROUT JMP I TIMER TIMERC, 0 PAROUT, 0 SERDO, 0 CLA TAD OUTFLG SZA CLA JMP FLGUPS TAD PAROUT SNA CLA JMP BITNUL TAD NBITS CIA DCA OUTFLG CLA CLL CMA TAD PAROUT RAL DCA SEROUT FLGUPS, TAD SLWCLK SNA CLA JMP BITNUL ISZ OUTFLG NOP TAD SEROUT RAR DCA SEROUT SZL CLA IAC BITNUL, DCA I PCOUTP /OUTPUT JMP I SERDO OUTFLG, 0 NBITS, 6 SEROUT, 0 PCOUTP, 0 PCDINT, 0 /CODER INITIALISIERUNG CLA CMA DCA SUBCNT CLA CMA DCA MNCNT DCA PULSE DCA TIMERC DCA OUTFLG JMP I PCDINT PAGE PITDCD, 0 /PITCH DECODER CLA TAD I PITDCD ISZ PITDCD DCA PDBITP TAD I PITDCD ISZ PITDCD DCA PDOUTP JMS PARDO JMS PLSGEN JMP I PITDCD PARDO, 0 CLA CLL TAD SLWCLK SNA SPA CLA JMP INOVER TAD INFLG SZA CLA JMP FLGUPR TAD MN14 TAD NBITS DCA INTEM TAD SERIN INLOOP, CLL RAR ISZ INTEM JMP INLOOP DCA INOUT DCA SERIN TAD I PDBITP /GET BITS SNA CLA JMP I PARDO TAD NBITS CIA DCA INFLG FLGUPR, ISZ INFLG NOP CLA CLL TAD I PDBITP RAR TAD SERIN RAR DCA SERIN JMP I PARDO INOVER, DCA INOUT JMP I PARDO INFLG, 0 SERIN, 0 MN14, -14 INTEM, 0 INOUT, 0 PDBITP, 0 PLSGEN, 0 CLA CLL TAD INOUT SNA JMP PLSOVR RAR CIA TAD SPEED2 CIA DCA PLSCNT PLSOVR, TAD FSTCLK SNA SPA CLA JMP NOPULS ISZ PLSCNT JMP NOPULS DCA PLSCNT CLA CLL IAC RAL SKP NOPULS, CLA DCA I PDOUTP JMP I PLSGEN PLSCNT, 0 PDOUTP, 0 PDCINT, 0 /DECODE INITIALISIERUNG CLA DCA SERIN DCA INFLG DCA PLSCNT JMP I PDCINT
/SR KOEFFIZIENTEN > SCHIEBEREGISTER /ANFANGSADRESSE DER ELEMENTE IN FIELD2 /ADR. DER ANZAHL DER ELEMENTE /ANFANGSADRESSE DER WERTELISTE IN FIELD 1 ELREG, 0 CLA TAD I ELREG DCA ELELAD ISZ ELREG TAD I ELREG DCA ELTEM1 TAD I ELTEM1 CIA DCA ELCNT1 ISZ ELREG TAD I ELREG ISZ ELREG DCA ELWEAD ELLOP2, CDF 10 TAD I ELWEAD CDF 20 CIA DCA ELCNT2 TAD I ELELAD DCA ELEMEN ELLOP1, TAD ELEMEN RAR DCA ELEMEN JMS SRREG /BIT IM LINK SRAFAD /ANFANGSADR. DES SCHIEBEREGISTERS TRLANG /ANFANGSADR. DER LAENGE DER REGISTER ISZ ELCNT2 JMP ELLOP1 ISZ ELELAD ISZ ELWEAD ISZ ELCNT1 JMP ELLOP2 JMP I ELREG ELELAD, 0 ELTEM1, 0 ELCNT1, 0 ELWEAD, 0 ELCNT2, 0 ELEMEN, 0 PAGE /SR SCHIEBEREGISTER > KKEFF.LISTE /ANFANGSADR. DER ELEMENTE /ADR. DER ANZAHL DER ELEMENTE /ANFANGSADRESSE DER WERTE-LISTE REGEL, 0 CLA TAD I REGEL DCA REELAD ISZ REGEL TAD I REGEL DCA RETEM1 TAD I RETEM1 CIA DCA RECNT1 ISZ REGEL TAD I REGEL DCA REWEAD TAD REWEAD TAD I RETEM1 DCA REWEAD ISZ REGEL TAD REELAD TAD I RETEM1 DCA REELAD RELOP2, CMA TAD REWEAD DCA REWEAD CMA TAD REELAD DCA REELAD DCA I REELAD CDF 10 TAD I REWEAD CDF 20 CIA DCA RECNT2 RELOP1, CLL JMS SLREG SRAFAD /ANFANGSADR. DES SCHIEBEREGISTERS TRLANG /ANFANGSADR. ANZAHL DER REGISTER JMS I ERGENI /BIT IM LINK ERRATE /ADR. VERGLEICH ZUFALLSZAHL HLT /DUMMY 1 HLT /DUMMY 2 TAD I REELAD RAL DCA I REELAD ISZ RECNT2 JMP RELOP1 ISZ RECNT1 JMP RELOP2 JMP I REGEL REELAD, 0 RETEM1, 0 RECNT1, 0 REWEAD, 0 RECNT2, 0 /************************************************************** ERGENI, ERRGEN /FEHLER GENERATOR /**************************************************************** /SR SCHIEBEREGISTER (RECHTS) /ANFANGSADR. DES SCHIEBEREGISTERS SRREG, 0 /ANFANGSADRESSE DER LAENGE DES REGISTER CLA TAD I SRREG DCA SRPTR ISZ SRREG TAD I SRREG DCA SRTEM1 TAD I SRTEM1 SNA HLT CIA DCA SRCNT ISZ SRREG SRLOOP, TAD I SRPTR RAR DCA I SRPTR ISZ SRPTR ISZ SRCNT JMP SRLOOP JMP I SRREG SRPTR, 0 SRCNT, 0 SRTEM1, 0 /ANFANGSADR. DES SCHIEBEREGISTERS /ANFANGSADR. ANZAHL DER REGISTER /SR SCHIEBEREGISTER (RECHTS) SLREG, 0 CLA CMA CML TAD I SLREG DCA SRTEM1 ISZ SLREG TAD I SLREG DCA SRTEM2 TAD SRTEM1 TAD I SRTEM2 DCA SRPTR TAD I SRTEM2 CIA DCA SRCNT ISZ SLREG SLLOOP, TAD I SRPTR RAL DCA I SRPTR CLA CMA CML TAD SRPTR DCA SRPTR ISZ SRCNT JMP SLLOOP JMP I SLREG SRTEM2, 0
PITERR, 0 /COMPLEMENT AC LSB RAR CLL CLA TAD SLWCLK SNA CLA JMP NOPITE JMS I ERGENI ERRATE HLT HLT NOPITE, RAL CLA JMP I PITERR
PAGE /COMPLEMENTIEREN DES LINKS DURCH ZUFALLSZAHL /1. ARGUMENT ADRESSE DER VERGLEICHSZAHL /2.ARG. DUMMY /3. ARG. DUMMY ERRGEN, 0 CLA RAR DCA ERLINK TAD I ERRGEN DCA ERRTEM ISZ ERRGEN ISZ ERRGEN ISZ ERRGEN JMS PRAN CLL TAD I ERRTEM SZL CLA TAD BN4000 TAD ERLINK RAL CLA JMP I ERRGEN ERRGEI, ERRGEN ADRARG, 50 DUMMY1, 0 DUMMY2, 0 ERLINK,0 BN4000, 4000 ERRTEM, 0 INITEG, 0 /INITALISIERUNG ZUFALLSZAHL JMS R CLA TAD CALL CIA DCA CURCAL JMS PRAN ISZ CURCAL JMP .-2 JMP I INITEG 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



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