Google
 

Trailing-Edge - PDP-10 Archives - BB-M836A-BM - tools/sed/sedt41.mac
There are 2 other files named sedt41.mac in the archive. Click here to see a list.
TITLE	SEDT41 - TELRAY 4041 TERMINAL DEFINITIONS FOR THE EDITOR
SUBTTL	A CHRISTOPHER HALL FECIT

;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
;
;COPYRIGHT (C) 1981 BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

;LOAD THE EDITOR BY: .COMP SED,SEDT41
;		     .LOAD/RE SEDT41,SED
;		     .SS SED

	SEARCH	SEDSYM

	EXTERN	CPOPJ,PUTSEQ,PUTSQ1,PUTNUM,PUTTYP,PUTSTG,TRMNAM
	INTERN	TERMNL

TERMNL:	O4041			;ADDRESS OF THE	TERMINAL TABLE TO USE

;TERMINAL OUTPUT TABLE - SEQUENCES TO MAKE THE TERMINAL DO SPECIAL THINGS
;FILL IN WITH THE CODES FOR YOUR TERMINAL

O4041:	BYTE (7) 33,"A" 	;CURSOR UP
	BYTE (7) 33,"B" 	; DOWN
	BYTE (7) 33,"C" 	; RIGHT
	BYTE (7) 10		; LEFT
	BYTE (7) 33,"H" 	; HOME
	BYTE (7) 33,"J" 	;CLEAR PAGE
	BYTE (7) 33,"K" 	;CLEAR EOL
	BYTE (7) 12		;ROLL UP AND CLEAR LINE
	RD4041			;ROLL DOWN AND CLEAR LINE
	BYTE (7) 37		;PROTECT ON (NONE)
	0			;PROTECT OFF
	BYTE (7) 33,"L"		;INSERT LINE
	BYTE (7) 33,"P"		;INSERT SPACE
	BYTE (7) 33,"M"		;DELETE LINE
	BYTE (7) 33,"Q"		;DELETE SPACE
	BYTE (7) 33,"Y","7 "	;MOVE TO BOTTOM
	BYTE (7) 33,"H",33,"J"	;HOME AND CLEAR PAGE
	POSCUR			;ROUTINE TO POSITION TO CHARACTER
	POSLIN			;ROUTINE TO POSITION TO START OF LINE
	^D24			;LINES PER PAGE
	^D80			;CHARACTERS PER LINE
	MRK!NPG			;FLAGS (no protect and leave page alone)
	CPOPJ			;ROUTINE TO CALL ON ENTRY
	CPOPJ			;ROUTINE TO CALL ON EXIT
	0,,0			;NO NULLS NEEDED
	I4041			;ADDRESS OF INPUT CHARACTER TABLE
	"*"			;MARK TO DISPLAY ON ENTER

;ROLL DOWN AND CLEAR LINE

RD4041:	MOVE	T1,[BYTE (7) 33,"H",33,"L"]
	PUSHJ	P,PUTSQ1
	PUSHJ	P,PUTTYP
	MOVEI	T1,^D050	;SLEEP .25 SECONDS
IFN TOPS10,<
	HIBER	T1,
	  JFCL
>
IFE TOPS10,<
	DISMS
>
	POPJ	P,

I4041:	EXP	40,1,24,3,23,32,13,7 ;NOTHING SPECIAL
	EXP	10,11,50,4,6,15,31,25
	EXP	20,0,5,0,27,16,22,14
	EXP	30,21,0,33
	EXP	35,34,36
		-13,,I.4041

I.4041:
	37,,"H" 	;ESCAPE H == HOME
	02,,"F"		;ESCAPE F == SWITCH/SET FILE
	26,,"S"		;ESCAPE S == SWITCH PARAMETERS
	17,,"^"		;ESCAPE C == ENTER CONTROL CHAR
	36,,"A"		;UP
	34,,"B"		;DOWN
	35,,"C"		;RIGHT
	10,,"D"		;LEFT
	33,,"P"		;ENTER
	13,,"R"		;PICK
	07,,"Q"		;PUT
	0

;TERMINAL INPUT TABLE - TELLS WHAT CONTROL CHARACTERS OR SEQUENCES
;INVOKE WHICH COMMANDS

;		0			;CODE FOR RUBOUT (0==RESET)
;I4041:	EXP	40, 1, 2, 3, 4, 5, 6, 7 ;NOTHING SPECIAL
;	EXP	10,11,50,13,14,15,16,17
;	EXP	20,21,22,23,24,25,26,27
;	EXP	30,31,32
;	-7,,ISUBTB			;ESCAPE NEEDS A SUBTABLE
;	EXP		 34,35,36,37

;SUBTABLE. PUT THE MOST FREQUENTLY-USED SEQUENCES FIRST
;ENTER IS PROBABLY THE MOST COMMON OF ALL

;ISUBTB:	33,,"P" 	;ESCAPE P == ENTER
;        37,,"R" 	;ESCAPE R == HOME
;        36,,"A" 	;ESCAPE A == UP
;        34,,"B" 	;ESCAPE B == DOWN
;        35,,"C" 	;ESCAPE C == RIGHT
;        10,,"D" 	;ESCAPE D == LEFT
;        40,,"Q" 	;ESCAPE Q == RECALL

;POSITIONING ALGORITHMS

POSCUR:	MOVE	T1,[BYTE (7) 33,"Y"]
	PUSHJ	P,PUTSQ1	;START IT OFF
	MOVEI	T1,40(RW)	;GET ROW POSITION
	IDPB	T1,TY
	MOVEI	T1,40(CM)	;GET COLUMN POSITION
	IDPB	T1,TY
	POPJ	P,		;DONE

POSLIN:	MOVE	T1,[BYTE (7) 33,"Y"]
	PUSHJ	P,PUTSQ1	;START IT OFF
	MOVEI	T1,40(T4)	;GET ROW POSITION
	IDPB	T1,TY
	MOVEI	T1,40		;MOVE TO COLUMN ZERO
	IDPB	T1,TY
	POPJ	P,

	END