⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc186.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 3 页
字号:
   then a TRANSMIT request is simulated (using the arguments specified
   in the MODESET request which initiated Auto-TRANSMIT mode).
   Otherwise the next request is begun.

3. The TRANSMIT Request.

   Transmit takes one argument word and decodes the mode field, except
   in special cases.  Normally A1 indicates the number of words of
   display program and/or output (in the WAR area) which are to be
   transmitted (possibly after data format conversion as indicated by
   the mode field).  A2 indicates the starting address of the block of
   data to be (converted and) sent.






Michener                                                        [Page 6]

RFC 186                A Network Graphics Loader            12 July 1971


   3A.   Special Case:  If A2 is zero, the mode and A1 are ignored.  In
         this case an acknowledge message is sent (unless suppressed), a
         length word (containing 1) is sent (36 bits - left half word
         equals 1, right halfword equals zero) and then a word
         containing the origin address for display programs.  (This
         address should always be 1000 (octal); it might have to change,
         however, and this mechanism is provided to permit the user to
         determine what its value is.)

   3B.   The normal case is when A2 is non-zero.

         If there has never been a SETUP request, error condition 1 is
         recognized.  If the mode field is non-zero or 1, or if A1 is
         negative, or A2 is less than the origin (but not zero), or A1 +
         A2 is greater than the current "effective value of the WAR"
         (read on), then error condition 2 is recognized.

         The "effective value of WAR" always points to the word beyond
         the last word of output from the LDS-1.  Before the first
         EXECUTE request, it points to the word after the end of the
         display program (indicating that zero words have been output).
         EXECUTE requests effect the value in various ways (depending on
         error conditions, etc.) as described previously.  The effective
         WAR value is also changed to correctly reflect the effect of
         SETUP requests, which can change the size of the WAR area (type
         1.B), and UPDATE request, which can increase the size of the
         display program causing the whole WAR arla to be shifted.

         If the parameters are correct, an acknowledge message is sent
         (unless suppressed; see MODESET).

         If A1, the number of words to be reformatted (possibly) and
         sent, is zero it is understood that the block of words to be
         processed starts at A2 and terminates with the last word
         before the effective WAR value.  (Thus the number of words to
         be processed is "the effective WAR value minus A2".)

         If the mode field of the first word of the request is zero then
         no reformatting will be done: an exact copy of the core image
         will be transmitted.  If it is a one, then the block of words
         to be processed is _assumed_ to contain the coordinates of end
         points of a sequence of line segments.  (The odd numbered words
         (starting counting with one, not zero!) are assumed to
         represent _set-point_ data and the even-numbered words are
         assumed to contain draw-to data.  (Note that this is consistent
         with LDS-1 "Scaled Coordinate to Memory" mode _as_ _long_ _as_
         _no_ _dots_ _are_ _displayed_!!)  The line segments are recoded
         in ARDS format, five seven-bit ASCII characters to a word, with



Michener                                                        [Page 7]

RFC 186                A Network Graphics Loader            12 July 1971


         the right most bit of each 36 word unspecified.  The last word
         may contain null ASCII characters (all zero) to fill out the
         word.

         The first word transmitted (after the acknowledge message, if
         any) has a left half of 3 and a right half of: 0 (for exact
         core image) or 1 (for ARDS format).

         The next word has a left half equal to the number of words
         which follow and a right half of zero.  For ARDS format, this
         is the number of words after reformatting (of course).

         Unless zero words are to be transmitted, the next words are the
         data request.

         Note that the following sequence of requests could be used to
         simply convert line data (in the correct format) to ARDS
         format:

         (The notation "A,,B" stands for a 36 bit word whose left half
         has the value "A" and whose right half has the value "B".)






























Michener                                                        [Page 8]

RFC 186                A Network Graphics Loader            12 July 1971


         Establish network connection
         SETUP,,0                       ; start
         2n,,0                          ; data representing "n" line
                                        ;   segments follow
         +----------------+             _
         |                |              |
         |                |               - 2n coordinate pairs
         |                |             _|
         +----------------+
         TRANSMIT,,2                    ; request ARDS transmission
         0,,1000                        ; convert and transmit the
                                        ;   whole "program"
         FLUSH,,0                       ; signoff

4. The UPDATE request.

   The UPDATE request allows a portion of the display program to be
   altered and also allows the end of the display to be extended (to
   include more data perhaps).  The mode field of the first word of the
   request indicates the number times the _EXECUTE-action_ is to be
   performed if the UPDATE request is successful.  The UPDATE request
   takes an argument word which is similar to that of TRANSMIT (i.e., A1
   is a length and A2 is an address).

   If no SETUP request has previously been executed error condition 1 is
   recognized.

   If A1 is negative or if A2 is less than the origin of the display
   program, error condition 2 is recognized.

   If A1 + A2 is greater than the end of the display program, then the
   length of the display program is increased to equal "A1 + A2 -
   origin".  The WAR area remains the same length as before, and its
   contents are shifted to their new locations.  The "effective WAR
   value" (see TRANSMIT) is increased by the amount of increase in
   display program length.















Michener                                                        [Page 9]

RFC 186                A Network Graphics Loader            12 July 1971


   An acknowledge message is sent (unless suppressed) if no error
   condition is recognized (and if no problem with core size limitation
   arises).  Also, the flag which is set by severe error conditions
   encountered during EXECUTE requests, is cleared by successful UPDATE
   requests.

   The next "A1" words are read and stored in consecutive locations
   starting in location "A2".  If A1 is zero, no words are read.

   If the mode field of the first word of the UPDATE request is
   positive, it is taken as an iteration count for a multiple EXECUTE
   request.  Otherwise, the next request is read from the Network.

5.  The FLUSH request.

   The Flush request takes no arguments and ignores the mode field of
   the first word of the request.  No acknowledge message is sent.  The
   network connection is broken and the process destroys itself.

6.  THE MODESET request.

   The mode field of the first request word is decoded first.  If it is
   zero or less, or if it is greater than (currently) 6, error condition
   2 is recognized.

   6A.   If the mode field is 1, then acknowledge messages and ASCII
         error messages are not to be suppressed.

   6B.   If the mode field is 2, then acknowledge messages and ASCII
         error messages are to be suppressed.

   6C.   If the mode field is 3, exit from Auto TRANSMIT mode.  (See
         6D.)

   6D.   If the mode field is 4 or 5, whenever an EXECUTE has a normal
         stop, a TRANSMIT request is to be automatically performed.

   The mode field for the transmit is to be 4 less than the mode field
   for this MODESET request.  One (more) word is read from the network.
   It contains the arguments for the TRANSMIT.  (That is, the word is
   saved and used when the TRANSMIT operation is performed.  The values
   of the arguments are checked at that time, not during the MODESET
   request.








Michener                                                       [Page 10]

RFC 186                A Network Graphics Loader            12 July 1971


EXAMPLE

   Suppose a display routine calculated and saved a different 3
   dimensional transformation matrix each time it was executed.  (It
   might be programmed to make an object appear to rotate.)  The user of
   the routine typically would want to set up the matrices and then "let
   'er rip" with ten or twenty (or more) executions.  This could be done
   as follows:

        SETUP,,0

    +-->length,,2000          ; length of display pgm
    |    -                    ; large output area
    |   |  -----
    |   |  -----
    +-->   -----
        | program
        |  -----
        |  -----
         -

        MODESET,,5            ; auto transmit in ARDS mode

        0,,1000+length        ; arguments for transmit

                              ;    meaning "current contents

                              ;    of output area"

        EXQ,,10               ; execute 10 times, sending

                              ;    the data each time

        UPDATE,,20            ; update, then execute 20 times

        8,,address of matrix  ; arguments for update, to

             -                ;    change a matrix
            |
   8 words -  new matrix
            |
             _
           etc.








Michener                                                       [Page 11]

RFC 186                A Network Graphics Loader            12 July 1971


   The output from the Graphics Loader for this example would be as
   follows:

   ACKNOWLEDGE     setup,setup     :(See description of ACKN

                                   ;  for format in word)

   ACKNOWLEDGE     modeset,modeset

   ACKNOWLEDGE     transmit, exq

        output,,1                   ; output in ARDS mode

        leng1,,0
       _
      |

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -