File BUFF.PA (PAL assembler source file)

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


	/INTERPROCESSOR 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
	/ THE LOGIC IS VERY SIMILIAR TO THE PTR AND PTP HANDLERS.
TTY360,	360		/MUST BE FIRST LOC ON PAGE!
TTY,	0       /ENTRY POINT
TT7600,	7600
	RDF
	TAD TTYCIF
	DCA TTYXIT	/SAVE RETURN FIELD
	TAD I TTY   /GET ARG1
	AND TT70    /LOOK AT BITS 6-8 (MEM FIELD)
	TAD TTCDF   /GET CDF TEMPLATE
	DCA TTYCDF	/DATA FIELD OF BUFFER
	TAD I TTY
	AND TT7700  /LOOK AT BITS 0-5
	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   /BUFFER ADDRESS
	DCA TTYCA	/SAVE BUFFER ADDRESS
	ISZ TTY     /POINT TO BLOCK #...NOT USED
	ISZ TTY     /POINT TO RETURN LOC.
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	/GET THE FIRST WORD OF THE TRANSFER
	JMS TTYPCH  /WRITE ROUTINE
	ISZ TTYCA   /POINT TO NEXT WORD IN BUFFER
TT7400,	7400
	TAD I TTYCA	/GET THE NEXT WORD TO BE TRANSFERRED
	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   /POINT TO THE NEXT WORD
TT70,	70            /???
	ISZ TTYWC          /INC WORD COUNT
	ISZ TTYWC          /AND AGAIN
	JMP TTYLP          /KEEP GOING
TTYRTN,	TAD TTYCDF
	CLL CIA
	SNL CLA
	ISZ TTY	/SKIP PAST ERROR RETURN
TTYXIT,	HLT	/RESTORE CALLING FIELDS
	RAL
	JMP I TTY          /RETURN TO OS/8
TTYTST,	0           /SUBROUTINE ENTRY
TTYCDF,	0           /DATA FIELD FOR BUFFER
	TAD TTY200
	KRS		/TEST FOR ^C WITH FLAG UP
/WE STILL WANT THE KEYBOARD TO BE ABLE TO STOP THIS
	TAD TTM203         /IS IT A <^C>?
	KSF                /IS IT VALID DATA??
	CLA CLL CMA        /BAD DATA (SIGH)
        SNA
        JMP TTYCIF  /GO TO OS/8
        CLL RAR     /IF ^D THIS MAKES AC = 0
        SZA
        JMP I TTYTST
        JMP TTYRTN  /BYE BYE
TTYCIF,	CDF CIF 0
	JMP I TT7600       /THIS IS THE OS/8 RERENTRY POINT
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,             /THIS ALSO SETS THE FIELD!!!!
	JMS TTYGCH         /GET CHR
	DCA I TTYCA        /SAVE IT
	JMS TTYGCH         /GET CHR
	ISZ TTYCA
	DCA I TTYCA        /SAVE IT
/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 TTYTST
TTYKSF,	DBRF    /IPB FOR "KSF"
	JMP .-1
	DBRD          /GET THAT DATA!!!!
/THERE USED TO BE AN ECHO HERE
TTECHO,  JMP I TTYGCH
TTM203,	-203
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
/COMMENTS ADDED 4 MAY 1978......JJM&CO.








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