Trailing-Edge
-
PDP-10 Archives
-
SRI_NIC_PERM_SRC_3_19910112
-
tvedit/dpycom.sai
There are no other files named dpycom.sai in the archive.
COMMENT Device independent display commands of the display package
<TV>DPY, in SAIL source!file format.
If you wish to use the package in a SAIL program, include
REQUIRE "<TV>DPYCOM.SAI" SOURCE!FILE
in your program. If you wish to use only the functions of
the package but not the names of the command characters as
defined in this file, you should
REQUIRE "<TV>DPY.SAI" SOURCE!FILE.
The display package is documented in the comments of these two
files as follows:
<TV>DPYCOM.SAI -- (this file) the ASCII characters and the
associated display functions,
<TV>DPY.SAI -- general operation of the display package,
TTY, insert, italic, and blink modes,
external DPY variables and procedures,
annotated example,
and summarized in the file <TV>DPYCOM.
A number of display functions can be performed either by pass-
ing a command character or string to the display package or by
calling a special procedure. Such commands are marked with an
asterisk (*) in this file and are explained in <TV>DPYCOM.SAI.
<TV>DPYCOM.SAI uses <TV>DPY.SAI as a source!file.
;
COMMENT
! DEVICE INDEPENDENT DISPLAY COMMANDS
!
! The following commands (characters or strings), when passed to
! the display package via the procedures
!
! DPYCHR (char) -- to pass one character,
! DPYNCH (n, char) -- to pass n copies of a character, and
! DPYSTR (string) -- to pass a string,
!
! perform the following display functions:
!
!
! NUL = '00, ^@ -- Null character
! Ignored by the display package.
;
DEFINE
right = "'01", COMMENT ^A -- Move cursor right once (* DORIGH)
From end of line move to beginning of next line, from
end of bottom line to beginning of top line.
Clear TTY, insert, and blink modes.
;
down = "'02", COMMENT ^B -- Move cursor down one line (* DODOWN)
From bottom line move to top line, same column.
Clear TTY, insert, and blink modes.
;
left = "'03", COMMENT ^C -- Move cursor left once (* DOLEFT)
The inverse of RIGHT.
Clear TTY, insert, and blink modes.
;
up = "'04", COMMENT ^D -- Move cursor up one line (* DOUP)
The inverse of DOWN.
Clear TTY, insert, and blink modes.
;
home = "'05", COMMENT ^E -- Move cursor to upper left corner (*
DOHOME)
Clear TTY, insert, and blink modes.
;
LCA = "'06"; COMMENT ^F -- Load Cursor Address (* SETCUR(X,Y))
Move cursor to the position given by the next two char-
acters, the first of which is the column x and the
second the line y, both in 1's complement. (Top left
corner is column 0 line 0.) Thus to move the cursor to
(x, y) transmit the string LCA & LNOT(x) & LNOT(y).
If x (its rightmost seven bits) is greater than the
last column number of the display, current column is
assumed. Similarly, (y LAND '177) > last line number
refers to the current line.
Clear TTY, insert, and blink modes.
;
COMMENT The following functions are available on certain teletypes.
! The display package obays, simulates, or indicates them,
! allowing normal text to be passed through the display package
! to the screen.
!
! BEL = '07, ^G -- Ring the bell
!
! BS = '10, ^H -- Back Space
! Move cursor left by one position, or leave in place if
! cursor is at the beginning of a line.
! Set TTY mode, clear insert and blink modes.
!
! HT = '11, ^I -- Horizontal TAB
! Simulate TAB by sending appropriate number of spaces
! (see SPACE handling below).
!
! LF = '12, ^J -- Line Feed
! Move cursor down to next line and clear the line, or
! scroll if cursor is on the bottom line.
! Cursor stays in the original column.
! Set TTY mode, clear insert and blink modes.
!
! VT = '13, ^K -- Vertical Tab
! Indicate by writing "........" on the next line, move
! cursor to line below that, and clear the line.
! Cursor stays in the original column.
! Set TTY mode, clear insert and blink modes.
!
! FF = '14, ^L -- Form Feed
! Like Vertical Tab (above), except that "--------" is
! written in place of "........".
!
! CR = '15, ^M -- Carriage Return
! Move cursor to the beginning of current line.
! Clear insert and blink modes.
;
DEFINE
StIt = "'16", COMMENT ^N -- Set Italic mode (* SETITA) (**)
Subsequent text is displayed in italics. Displays
without italic font (all IMSSS displays) display normal
(roman) characters.
;
ClIt = "'17", COMMENT ^O -- Clear Italic mode (* CLRITA) (**)
Subsequent text is displayed in roman.
;
StIn = "'20", COMMENT ^P -- Set Insert mode (* SETINS) (**)
Subsequent text is inserted as characters at the end of
the line are lost.
Clear TTY mode.
;
ClIn = "'21", COMMENT ^Q -- Clear Insert mode (* CLRINS) (**)
Subsequent text overwrites.
;
IC = "'22", COMMENT ^R -- Insert a Character (* DOIC)
Insert a blank character and move current character and
rest of line right by one position. Last character of
the line is lost.
No cursor movement.
Clear TTY, insert, and blink modes.
;
IL = "'23", COMMENT ^S -- Insert a Line (* DOIL)
Insert a blank line and move current line and rest of
page down by one line. Bottom line is lost.
No cursor movement.
Clear TTY, insert, and blink modes.
;
DC = "'24", COMMENT ^T -- Delete a Character (* DODC)
Delete current character and move rest of line left by
one position. Last position of the line will be blank.
No cursor movement.
Clear TTY, insert, and blink modes.
;
DL = "'25", COMMENT ^U -- Delete a Line (* DODL)
Delete current line and move rest of page up by one
line. Bottom line of the page will be blank.
No cursor movement.
Clear TTY, insert, and blink modes.
;
EEOL = "'26", COMMENT ^V -- Erase to End Of Line (* DOEEOL)
Clear rest of current line starting with current cursor
position.
No cursor movement.
Clear TTY, insert, and blink modes.
;
EEOP = "'27", COMMENT ^W -- Erase to End Of Page (* DOEEOP)
Clear rest of page starting with current line.
No cursor movement.
Clear TTY, insert, and blink modes.
;
CL = "'30", COMMENT ^X -- Clear Line (* DOCL)
Clear current line (set it to blank).
No cursor movement.
Clear TTY, insert, and blink modes.
;
CP = "'31", COMMENT ^Y -- Clear Page (* DOCP)
Clear screen, set cursor to home (top right corner).
Set TTY mode, clear insert and blink modes.
;
BOX = "'32"; COMMENT ^Z -- "BOX" character
Display a special "BOX" character, or display an aste-
risk on displays without the special character.
Cursor moves right as with regular text.
;
COMMENT
!
! ESC = '33, ^[ -- Escape
! Extended command prefix. See next page for extended
! commands.
!
! FS = '34, ^\ -- reserved, no-op for the time being.
!
! GS = '35, ^] -- reserved, no-op for the time being.
!
! RS = '36, ^^ -- reserved, no-op for the time being.
!
! US = '37, ^_ -- reserved, no-op for the time being.
!
!
! SPACE = '40,
! 1. If in TTY mode, move cursor right once, i.e., text
! is not overwritten with spaces. Since cursor movement
! is delayed by the package, spacing over a long distance
! is fast and spaces (and TABs) at end of line are
! ignored. Action at end of line is the same as for
! normal text characters (see below).
!
! 2. If not in TTY mode, write one space character just
! as if it were a normal text character (see below),
! i.e., overwrite with a space.
!
!
! NORMAL TEXT CHARACTERS (ASCII codes '41...'176)
!
! 1. If in insert mode, text is inserted in front of the current
! character. Current character and the rest of the line move
! right, and characters at last position of line are lost.
!
! 2. If not in insert mode, text on the screen is overwritten.
!
! CURSOR MOVEMENT WITHIN A LINE: Right by one position.
!
! CURSOR MOVEMENT FROM END OF A LINE OTHER THAN THE LAST: To the
! beginning of next, and if in TTY mode, the newly entered line
! is cleared.
!
! CURSOR MOVEMENT FROM END OF LAST LINE:
!
! 1. If in TTY mode, scroll one line and place cursor to the
! beginning of bottom line.
!
! 2. If not in TTY mode, place cursor to the beginning of top
! line.
!
!
! figures = '41...'77, !...?
! Written as such.
! Cursor movement described above.
!
! uppercase = '100...'137, @A...Z[\]^_
! Written as such.
! Cursor movement described above.
!
! lowercase = '140...'176, `a...z{|}~
! Written as such on lowercase terminals (if LCDPY is
! TRUE), written in upper case if LCDPY is FALSE.
! Cursor movement described above.
!
!
! DEL = '177, DELETE, RUBOUT
! Delete the character on the left of the current char-
! acter and move cursor left one position, or ring the
! bell if cursor is already at the beginning of a line.
;
COMMENT Extended Commands, prefixed with ESC;
DEFINE
BB = "('33 & ""a"")",
COMMENT Begin Blinking field (* DOBB) (**)
Transmit a "begin blink" character to displays that
have the blinking field feature and field delimiters
that take a space on the screen (e.g., TEC). Trans-
mit a space to other displays.
Set blink mode.
;
EB = "('33 & ""b"")",
COMMENT End Blinking field (* DOEB) (**)
Transmit an "end blink" character to displays whose
field delimiters take a space on the screen. Trans-
mit a space to other displays.
Clear blink mode.
;
StBl = "('33 & ""c"")",
COMMENT Set Blink mode (* SETBLI) (**)
Subsequent text is transmitted in blink mode provided
that the display has blink mode (e.g., DATAMEDIA).
;
ClBl = "('33 & ""d"")",
COMMENT Clear Blink mode (* CLRBLI) (**)
;
StTT = "('33 & ""e"")",
COMMENT Set TTY mode (* SETTTY) (**)
Subsequent text is displayed in teletype mode, with
bottom line overflow causing the screen to scroll.
Clear blink mode.
;
ClTT = "('33 & ""f"")";
COMMENT Clear TTY mode (* CLRTTY) (**)
Subsequent text is displayed in display mode, with
bottom line overflowing to the top line.
;
COMMENT(S):
!
! (*) The function is also available as a SAIL procedure. Its name
! is given after the asterisk. See file <TV>DPY.SAI.
!
! (**) TTY, insert, italic, and blink modes are explained in
! <TV>DPY.SAI.
;
REQUIRE "<TVEDIT>DPY.SAI" SOURCE!FILE;
COMMENT Declares the external variables and procedures of load!module
DPY.REL.
;
COMMENT End of file DPYCOM.SAI;