Trailing-Edge
-
PDP-10 Archives
-
BB-M836A-BM
-
tools/sed/sedm2a.mac
There are 2 other files named sedm2a.mac in the archive. Click here to see a list.
TITLE SEDM2A - MIME2A 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: .LOAD SEDM2A,SED
SEARCH SEDSYM
IFE TOPS10,<SEARCH MONSYM>
EXTERN CPOPJ,PUTSQ1,PUTTYP,PUTNUM,TRMNAM
INTERN TERMNL
FTFAST==1 ;SET THIS IF TERMINAL SENDS OUT XON-XOFF'S
TERMNL: OVM2A ;ADDRESS OF THE TERMINAL TABLE TO USE
OVM2A: 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 LINE
BYTE (7) 12 ;ROLL UP AND CLEAR LINE
BYTE (7) 33,"I" ;ROLL DOWN AND CLEAR LINE
BYTE (7) 33,"S","J" ;PROTECT ON (START REVERSE VIDEO)
BYTE (7) 33,"S","@" ;PROTECT OFF (END REVERSE VIDEO)
BYTE (7) "A"-100 ;INSERT LINE
BYTE (7) "O"-100," ",7 ;INSERT SPACE
BYTE (7) "W"-100 ;DELETE LINE
BYTE (7) "N"-100 ;DELETE SPACE
BYTE (7) 33,"Y","7"," " ;MOVE TO BOTTOM
BYTE (7) 33,"H",33,"J" ;HOME AND CLEAR PAGE
VT5PSC ;ROUTINE TO POSITION TO CHARACTER
VT5PSL ;ROUTINE TO POSITION TO START OF LINE
^D24 ;LINES PER PAGE
^D80 ;CHARACTERS PER LINE
IFE FTFAST,<
SLW!TBS ;FLAGS (SHORT MESSAGES,HARD TABS)
>
IFN FTFAST,<
SLW!TBS!NPG ;FLAGS (SHORT MSG, HARD TABS, KEEP TTY PAGE)
>
TENTRY ;ROUTINE TO CALL ON ENTRY
TEXIT ;ROUTINE TO CALL ON EXIT
0 ;NO NULLS NEEDED
IVT52 ;ADDRESS OF INPUT CHARACTER TABLE
"~" ;MARK TO DISPLAY ON ENTER
IFE FTFAST,<
0 ;COMMAND FOR RUBOUT (RESET)
IVT52: 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
-SIZ.IS,,I.VT52 ;ESCAPE NEEDS A SUBTABLE
EXP 34,35,36,37
>
IFN FTFAST,<
;THIS TABLE SETS UP THE KEYBOARD ARRANGEMENT FOR WHEN YOU NEED TO KEEP
;TTY PAGE IN EFFECT BECAUSE THE TERMINAL SENDS OUT ITS OWN CONTROL S AND Q'S
;THOSE TWO CHARACTERS CANNOT BE COMMANDS SINCE SED DOES NOT KNOW WHETHER THE
;USER HAS TYPED THEM OR THEY WERE SENT BY THE TERMINAL.
;SO Q GOES TO A, A AND S GO TO B AND N, B TO ESCAPE-1k, AND N TO ESCAPE-2k.
0 ;COMMAND FOR RUBOUT (RESET)
IVT52: EXP 40,21, 1, 3, 4, 5, 6, 7 ;NOTHING SPECIAL
EXP 10,11,50,13,14,15,23,17
EXP 20, 0,22, 0,24,25,26,27
EXP 30,31,32
-SIZ.IS,,I.VT52 ;ESCAPE NEEDS A SUBTABLE
EXP 34,35,36,37
>
I.VT52: 36,,"A" ;ESCAPE A == UP
34,,"B" ;ESCAPE B == DOWN
35,,"C" ;ESCAPE C == RIGHT
10,,"D" ;ESCAPE D == LEFT
33,,"P" ;ESCAPE P == ENTER
40,,"Q" ;ESCAPE Q == RECALL
37,,"R" ;ESCAPE R == HOME
IAVT52,,"?" ;ESCAPE ? == CHECK SOME MORE
SIZ.IS==.-I.VT52
IAVT52: 41,,"M" ;ESCAPE ? M == INSERT-MODE
42,,"n" ;ESCAPE ? n == DELETE-CHARACTER
43,,"p" ;ESCAPE ? p == REAL TAB
44,,"w" ;ESCAPE ? w == MARK
45,,"x" ;ESCAPE ? x == LINE
46,,"y" ;ESCAPE ? y == CASE
IFN FTFAST,<
02,,"q" ;ESCAPE ? q == SET-FILE
16,,"r" ;ESCAPE ? r == SWITCH
>
47,,"s" ;ESCAPE ? s == WINDOW
0
;ROUTINE CALLED ON ENTRY: SET UP KEYPAD IN APPLICATION MODE
TENTRY: MOVE T1,[BYTE (7) 33,"="]
PUSHJ P,PUTSQ1
MOVE T1,[BYTE (7) 33,"S","@"]
PUSHJ P,PUTSQ1 ; SET UP DEFAULT VIDEO ATTRIBUTES
MOVE T1,[BYTE (7) 33,";"]
PUSHJ P,PUTSQ1 ; SET UP MIME2A IN JUMP SCROLL MODE
JRST PUTTYP
;ROUTINE CALLED ON EXIT: RESTORE KEYPAD TO NON-APPLICATION MODE
TEXIT: MOVE T1,[BYTE (7) 33,">",33,":"]
PUSHJ P,PUTSQ1 ; RESET MIME2A TO SMOOTH SCROLL MODE
JRST PUTTYP
;POSITIONING ALGORITHMS
VT5PSC: 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
VT5PSL: 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