📄 rfc190.txt
字号:
Network Working Group P. Deutsch
Request for Comments: 190 Xerox Research Center, Palo Alto, CA
NIC: 7135 13 July 1971
DEC PDP-10 -- IMLAC COMMUNICATION SYSTEM
This report describes an operational system for communicating textual
display information between a main-site computer and a remote-display
processor.
The main site machine is a DEC PDP-10 with the BBN paging hardware
(henceforth TENEX).
The remote machine is a IMLAC PDS-1 (henceforth IMLAC).
Section (1) briefly describes the IMLAC hardware configurations.
Section (II) describes the display facilities presented to the
user.
Section (III) describes the system calls (JSYS calls) implemented
in the TENEX monitor to provide these facilities.
Section (IV) describes the formats of the messages used for
communication between TENEX and the IMLAC.
Section (V) analyzes the division of responsibility between the
two machines.
(1) Hardware configurations.
The standard IMLAC is a 16-bit minicomputer with 4K of 2 microsecond
core, a cycle-stealing display, an input keyboard, and an
asynchronous serial communication interface.
The display is normally programmed to draw characters using very
short vectors.
The display comes in two major configurations, depending on the
presence or absence of hardware for drawing long vectors.
In the sequel, specifications depending on the configuration will
be flagged LVH or non-LVH respectively.
The I/O system normally does not provide for interrupts when
characters arrive from the serial interface.
Deutsch [Page 1]
RFC 190 DEC PDP-10 -- IMLAC COMMUNICATION SYSTEM 13 July 1971
However, the IMLAC is barely able to keep up with the PDP-10
without this feature, so we were able to persuade the manufacturer
to implement it.
While no special hardware is required for the software described
here, the character interrupt and the SRI-ARC "mouse" and "keyset"
are highly recommended, and the software is oriented towards their
use.
(II) Facilities.
Each display console in the system may be in "display mode" or
"teletype simulation mode".
In display mode, the information displayed consists of text
strings at arbitrary positions on the display face.
In teletype simulation mode, the display shows the last 20-30
lines which would appear on a teletype listing.
A given console may switch between these modes, under program
control, without losing any information.
Regardless of mode, each display has a cursor string which follows
the position of the available pointing device,
The implemented system uses a "mouse" generally, but one console
uses a tablet.
The cursor string may be set by a program, for example to indicate
at what sort of object the user is expected to point.
In display mode, the screen of a given console is allocated to users
in rectangular blocks called "display areas".
This allows users to communicate via a single display split into
multiple areas.
When a user (program) requests a display area, he specifies how many
text strings he will want to display in it.
Each string has its own X-Y location, character size, font
(italic, underline, ...), and an arbitrary number of characters.
Each of these components is settable without disturbing the
others.
Each string may be manipulated without affecting the others.
Deutsch [Page 2]
RFC 190 DEC PDP-10 -- IMLAC COMMUNICATION SYSTEM 13 July 1971
(III) JSYS calls.
(ADA) Assign a display area.
JSYS ada: [440B] allocate a display area
Accepts:
r1:
upper-left-y-cord[10], upper-left-x-cord[10], max-no-
string[11]
r2:
lower-right-y-cord[10], lower-right-x-cord[10], default-c-
size[2], default-n-inc[6], default-font[5]
Returns:
+1: Unsuccessful
r1: error code
+2: Successful
r1: da-id[18]
Function:
This jsys allocates a display area given the coordinates of
the diagonal, the maximum number of strings to be displayed,
and the default setting for the character size, font, and
horizontal increment. An 18-bit da-id is returned which
should subsequently be used to refer to this display area.
(DDA) Deallocate a display area.
JSYS dda; [441B] deallocate a display area
Accepts:
r1: da-id
Deutsch [Page 3]
RFC 190 DEC PDP-10 -- IMLAC COMMUNICATION SYSTEM 13 July 1971
Returns:
+1: Unsuccessful
r1: error code
+2: Successful
Function:
This jsys deallocates a display area given the associated
da-id.
(STRDA) STRing display: add, delete, or change.
JSYS strda; [442B] Manipulate (move, write, replace, delete) a
string in a display area
Accepts:
r1: string-id[18], da-id[18]
r2: first byte pointer or 0 or -1
r2: second byte pointer or 0
r4: y-cord[10], x-cord[10], font[6], c-size[3], h-inc[7]
Returns:
+1: Unsuccessful
r1: error code
+2: Successful
r1: string-id[18]
Function:
This jsys writes a new string, replaces, deletes, or moves
(optionally replacing) an extant string within a display area.
In addition, the font, character size, and horizontal increment
may be specified for the string.
The string may be specified by two byte pointers or by one
byte pointer with the string terminating with a zero
character.
Deutsch [Page 4]
RFC 190 DEC PDP-10 -- IMLAC COMMUNICATION SYSTEM 13 July 1971
If first byte pointer is zero then
if a new string is being written then
an error code illstr is returned.
Otherwise, the string already exists so
delete the string from the display area.
If the first byte pointer is -1 then
if a new string is being written then
an error code illstr is returned.
Otherwise, use the old string.
If the first character of the string is a zero character,
the string to be displayed is null, but the string is not
deleted.
The coordinates (optional unless the string is new or being
moved) are relative to the upper leftcorner of the display
area.
If the jsys is to effect an extant string, a zero
coordinate means use the old value.
For the font, c-size, and h-inc fields a field of all one's
indicates that the display area default value (set in the
ada jsys) is to be used. A 0 means use the value which was
previously used for the (extant) string.
If the string is new, then an 18 bit string identifier is
returned.
(SCSR) Set the Cursor StRing.
JSYS scsr; [450B] display a string (vectors later) as the
cursor
Accepts:
r1: first byte pointer or 0 or -1
r2: second byte pointer or 0
Deutsch [Page 5]
RFC 190 DEC PDP-10 -- IMLAC COMMUNICATION SYSTEM 13 July 1971
r3: font[5], c-size[2], h-inc[6]
No defaults allowed
Returns:
+1: Unsuccessful
r1: error code
+2: Successful
Function:
This jsys is used to set the cursor string. Later, a set of
vectors will be allowed also. If the string length is zero
or the first byte pointer is 0, nothing will be displayed
for the cursor. If the first byte pointer is -1 then the
old string will be used. If a cursor did not previously
exist, an illcon error return will be executed.
(SDDA) Suppress the display of an area.
JSYS sdda; [444B] suppress all display in a display area
Accepts:
r1: da-id[18]
r2: 1 or 0
Returns:
+1: Unsuccessful
r1: error code
+2: Successful
Function:
The display image is removed from the display area but is
not destroyed if r2 = 0.
(RDDA) Restore the display of an area.
JSYS rdda; [446B] restore all display in a display area
Deutsch [Page 6]
RFC 190 DEC PDP-10 -- IMLAC COMMUNICATION SYSTEM 13 July 1971
Accepts:
r1: da-id[18]
Returns:
+1: Unsuccessful
r1: error code
+2: Successful
Function:
The display image is restored in the display area.
(SDDA) Suppress the display of a String.
JSYS ssda [445B]; suppress display of a string in a display
area
Accepts:
r1: string-id[18], da-id[18]
Returns:
+1: Unsuccessful
r1: error code
+2: Successful
Function:
The display image for the given string is suppressed in the
display area
(RDSA) Restore the display of a String.
JSYS rsda; [447B] restore display of a string in a display area
Accepts:
r1: string-id[18], da-id[18]
Deutsch [Page 7]
RFC 190 DEC PDP-10 -- IMLAC COMMUNICATION SYSTEM 13 July 1971
Returns:
+1: Unsuccessful
r1: error code
+2: Successful
Function:
The display image for the given string is restored in the
display area.
(TSNDA) Teletype Simulation oN.
JSYS tsnda; [451B] turn tty simlaution on
Accepts:
none
Returns:
+1: Always
r1: 1 if was in work station mode, 0 otherwise
Function:
Restores the tty simulation display area, and suppresses all
others (except the cursor). Turns wsmode (work station mode
flag) off for this console and returns previous value of
wsmode.
(TSFDA) Teletype Simulation ofF.
JSYS tsfda; [452B] turn tty simulation off
Accepts:
none
Returns:
+1: Always
Deutsch [Page 8]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -