File BUFFER.PA (PAL assembler source file)

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


	/TELETYPE HANDLER - NOT VERY INTELLEGENT.
*0
/THIS IS THE HEADER BLOCK
/THERE IS 1 DEVICE IN THE FILE
NOD,-1
/DESCRIPTOR BLOCK FOR THE DEVICE
DEVICE  BUFF
DEVICE  IPB   /THIS IS THE NAME OS 8 WILL USE
IPBDCB, 0700  /THIS IS FOR OS8
ENTRY0, TTY   /THIS IS THE OS8 ENTRY POINT
        0     /USED BY OS8
        0     /USED BY OS8
/************************************************************/
/   ADD SYMBOLS FOR IPB...OS 8 DOES NOT HAVE THEM            /
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
DBRF=6501
DBRD=6502
DBTF=6503
DBTD=6504
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/   THAT SHOULD TAKE CARE OF THAT................            /
/************************************************************/
*200
/THE REST IS MOSTLY FROM PS 8...ONLY A FEW CHANGES WERE REALLY
/NECESSARY.  THE MONITOR INTERFACE IS THE SAME. THE ONLY CHANGES



/WERE THOSE NECESSARY FOR THE IBP TO WORK PROPERLY.....JJM......
/                                                              /
/                                                              /
/RECOGNIZES ^C FROM TTY
	/OH WELL, WHAT CAN YOU EXPECT IN ONE PAGE.
	/ THE LOGIC IS VERY SIMILIAR TO THE PTR AND PTP HANDLERS.
TTY360,	360		/MUST BE FIRST LOC ON PAGE!
TTY,	0
TT7600,	7600
	RDF
	TAD TTYCIF
	DCA TTYXIT	/SAVE RETURN FIELD
	TAD I TTY
	AND TT70
	TAD TTCDF
	DCA TTYCDF	/DATA FIELD OF BUFFER
	TAD I TTY
	AND TT7700
	CLL RAL		/READ/WRITE IN LINK, PAGE COUNT IN AC 0-4
	SZA		/PROTECT LINK
	CIA		/WHILE COMPLEMENTING AC
	DCA TTYWC
	ISZ TTY
	TAD I TTY
	DCA TTYCA	/SAVE BUFFER ADDRESS
	ISZ TTY
	ISZ TTY
TTYLP,	SNL CLA
	JMP TTYGLP	/ZER LINK MEANS READ
        JMS TTYTST	/TEST FOR ^C
/THE PS 8 TTY DRIVER CHECKED FOR ^O HERE..IT IS NO LONGER
/NECESSARY...JJM
        CLA
        TAD I TTYCA	/CHARACTER 1 IS LOW ORDER 8 BITS OF WORD 1
	JMS TTYPCH
	ISZ TTYCA
TT7400,	7400
	TAD I TTYCA	/CHARACTER 2 IS LOW ORDER 8 BITS OF WORD 2
	JMS TTYPCH
       STL          /WILL SET LINK ON!
                    /KEEPS US IN SEND MODE
			/AC IS NON-ZERO HERE BUT WE DON'T CARE
TTLOOP,	ISZ TTYCA
TT70,	70
	ISZ TTYWC
	ISZ TTYWC
	JMP TTYLP
TTYRTN,	TAD TTYCDF
	CLL CIA
	SNL CLA
	ISZ TTY	/SKIP PAST ERROR RETURN
TTYXIT,	HLT	/RESTORE CALLING FIELDS
	RAL
	JMP I TTY
TTYTST,	0
TTYCDF,	0
	TAD TTY200
	KRS		/TEST FOR ^C WITH FLAG UP
/WE STILL WANT THE KEYBOARD TO BE ABLE TO STOP THIS
	TAD TTM203
	KSF
	CLA CLL CMA
        SNA     /IF NOT 0 THEN CHECK FOR ^D
        JMP TTYCIF   /IT MUST BE ^C
        CLL RAR      /IF ^D THIS WILL MAKE AC=0
	SZA		/YES..BACK TO MONITOR
	JMP I TTYTST
        JMP TTYRTN   /MUST BE ^D....
TTYCIF,	CDF CIF 0
	JMP I TT7600
TTYPCH,0
     DBTD   /BUFFER FOR "TLS" --PUT IT OUT THERE
     DBTF   /BUFFER FOR "TSF" --WAIT FOR IT TO BE ACCEPTED
	JMP .-1
     6507   /THIS CLEARS THE DONE FLAG AFTER SENDING DATA
            /TO THE "SLAVE MACHINE".  WITHOUT THIS THE
            /DONE FLAG STAYS UP AND ONLY 1 WORD IS SENT
            /THIS IS CALLED DBCD....................JJM
     JMS WAIT
	JMP I TTYPCH
TTYCA,	0
TTYWC,	0
TTCDF,	CDF 0

/THE FOLLOWING CODE READS .
TTYGLP,JMS TTYTST /THIS ALSO SETS THE FIELD!!!!
	JMS TTYGCH
	DCA I TTYCA
	JMS TTYGCH
	ISZ TTYCA
	DCA I TTYCA
/THIS SECTION IS AN END-OF-FILE ON INPUT CHECKER
       CLA CLL
       TAD TTYCDF         /GET THE EOF-FLAG
       SNA                /NOT=0...IGNORE
       JMP TTYRTN         /=0...BYE BYE
       CLA CLL            /RESET TO READ
	JMP TTLOOP
TTYGCH,	0
	TAD TTYCDF
TT7700,	SMA CLA
	JMP I TTYGCH
       JMS WAIT
TTYKSF,	DBRF    /IPB FOR "KSF"
	JMP .-1
	DBRD          /GET THAT DATA!!!!
/THERE USED TO BE AN ECHO HERE
TTECHO,  JMP I TTYGCH
TTY232,	232		/THIS CAN BE OPTOMIZED OUT!
TTY14,	14
TTM203,	-203
TTM27,	-27
TTM232,	-232
TTY377,377
TTY200,200
/LATEST MOD...29 APR 78.........JJM&CO.
WAIT,   0
        TAD TTWAIT
        DCA TTRASH
        ISZ TTRASH
        JMP .-1
        JMP I WAIT
TTWAIT,-5
TTRASH,0
/ON 1 MAY ADDED ^D (EOT) AND CHANGED 1 WAIT CALL








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