Device independent graphical display description
RFC 177

Document Type RFC - Unknown (June 1971; No errata)
Updated by RFC 181
Updates RFC 125
Last updated 2013-03-02
Stream Legacy
Formats plain text html pdf htmlized bibtex
Stream Legacy state (None)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state RFC 177 (Unknown)
Telechat date
Responsible AD (None)
Send notices to (None)
NETWORK WORKING GROUP                                       J. McConnell
Request for Comment: 177           Ames Research Center Moffet Field, CA
Obsoletes: none                                             15 June 1971
Updates: 125
NIC: 7102


   As more nodes are connected to the ARPA network, the types of
   graphical display processors available to users is quite varied.  To
   attempt to facilitate the transmission of graphical information over
   the network, a device independent description of a display is
   described.  The using host may make any conversions necessary to
   realize the picture on a specific device.  It is also possible to
   interpose a form machine as proposed by Heafner and Harslem in RFC
   #94.  Some of the items and entities described herein were first
   discussed by Steve Crocker in RFC #86.  It is intended that this
   description is to be oriented to a refresh display with point,
   vector, and character drawing capability, these types of devices
   include the IBM 2250, IMLAC PDS-1, the DEC 338, and DEC 340, as well
   as the Evans and Sutherland LDS-1.  However, direct video storage
   tube devices represented by the ARDS, Tektronix and Computer devices
   can also serve as clumsy interactive devices.  Hard copy devices,
   such as microfilm or plotters, can also be used at the using host's

   There are several items and constructs which will be defined before
   discussing the specifics of the description:

      1.  The network standard graphics description stream (NGDS)
      contains the description, data, and operators necessary to effect
      a display.

      2.  The network standard stream interpreter (NGSI) parses the NGDS
      into its components.

      3.   The network standard display list (NGDL) is the basic entity
      which, when executed, causes graphical information to be

      4.  The network standard list interpreter (NGLI) is the entity
      which executes the NGDL and controls the beam movement to effect
      generation of graphical information.

      5.  The network standard screen (NGS) is the entity on which the
      information is to be displayed.  It may be divided into image
      areas to be defined later.

McConnell                                                       [Page 1]

      6.  The network standard graphics list pointer (NGLP) and the
      network standard graphics execution stack (NGES) are entities
      which describe the state of the NGLI at any given time and provide
      the facilities to allow the NGLI to be a recursive interpreter.

   Figure 1. summarizes the preceding discussion graphically, which is

   The network standard graphics screen is rectangular and positions on
   it are specified by an ordered pair of fractions representing the
   horizontal distance from the left edge and the vertical distance from
   the bottom edges respectively.  These shall be termed the (x,y)
   coordinates as is standard.  There is no specification of resolution,
   so that the quality of the picture will degrade with the decreasing
   resolution of a poor display device, or be improved if it is
   displayed on a higher resolution device.  Coordinate values are
   specified by a 16 bit unsigned fractions with the binary point to the
   left of the most significant bit - this provides a normalized screen
   with coordinates between 0.0 and .999...9.

   The NGS may be subdivided into rectangular image areas with
   possibility unique displays in each space. An image area has three
   attributes:  a 16 bit integer name, an x,y pair specifying the lower
   left corner and an x,y pair to specify the upper right corner of the
   area.  Image spaces may overlap, but may not be completely contained
   within each other.  The main image space has the name 0 and is
   coincident with the NGS.  The use of image spaces allows for
   manipulation of part of the NGS's contents, as well as redefining the
   coordinate space. Within an image area, coordinate values are
   fractional displacements from the lower left hand corner of the image
   space.  Thus an image area defined from (0.0, 0.0) to (0.5, 0.5)
   would contain an image one-fourth of the size of what it would be on
   the full NGS.

   Character strings may be displayed at arbitrary points in an image
   area.  Because many display devices have hardware character
   generators capable of producing one, or a few sizes, character
   scaling within an image area will not be expected.  Characters shall
   be assumed to be .014 screen width wide, and .025 screen height high
   including spacing.  This gives a screen capacity of 72 characters and
   40 lines.  When the beam is moved to be a screen position prior to
   drawing a character, it is assumed to be in the center of the
   rectangle defining the character space.  The beam position after
Show full document text