File PCODEC.PA (PAL assembler source file)

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

PAGE



/*************** PITCH CODEC (C.D.N.) *******************


/CALL:	PITCOD
/	PITCH PULSES IN
/	BITS OUT


/CALL:	PITDCD
/	BITS IN
/	PULSES OUT



PITCOD,	2

	BLOTNT
	PCDINT

	JMS CLOCK
	JMS TIMER
	JMS PLSCHK
	JMS SERDO

	INEND


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,	50
SPEED2,	10
SUBCNT,	0
MNCNT,	0


PLSCHK,	0
	CLA
	TAD SLWCLK
	SZA CLA
	DCA PULSE	/CLEAR FF
	ACUM
	1
	SNA CLA
	JMP I PLSCHK
	CLA IAC
	DCA PULSE	/SET FLIPFLOP
	JMP I PLSCHK


PULSE,	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,	PUT
	2
	JMP I SERDO

OUTFLG,	0
NBITS,	4
SEROUT,	0


PCDINT,	CLA CMA
	DCA SUBCNT
	CLA CMA
	DCA MNCNT
	DCA PULSE
	DCA TIMERC
	DCA OUTFLG

	INEND


PAGE



PITDCD,	2

	BLOTNT
	PDCINT

	JMS PARDO
	JMS PLSGEN

	INEND



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
	ACUM
	1
	SNA CLA
	JMP I PARDO

	TAD NBITS
	CIA
	DCA INFLG

FLGUPR,	ISZ INFLG
	NOP
	CLA CLL
	ACUM
	1
	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



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

	TAD N200
	SKP
NOPULS,	CLA 
	PUT
	2
	JMP I PLSGEN

PLSCNT,	0
N200,	200



PDCINT,	CLA
	DCA SERIN
	DCA INFLG
	DCA PLSCNT

	INEND



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