📄 rfc186.txt
字号:
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 1971EXAMPLE 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 _ | - data |_ ACKNOWLEDGE transmit,exq output,,1 leng2,,0 _ | - data |_ . (in total, there are 10 sets of output.) . . ACKNOWLEDGE update,update ACKNOWLEDGE transmit, update output,,1 leng11,,0Michener [Page 12]RFC 186 A Network Graphics Loader 12 July 1971 - | - data | - . . (in total, there are 20 sets of output.) .ACKNOWLEDGE MESSAGES These messages are each a single 36 bit word. They can be suppressed dynamically by the MODESET request. The left half of the 36 bit word identifies the fact that it is an acknowledge message by containing a 1. The right half is further divided into two 9-bit fields (quarters). The right 9-bit field (within the right half word) contains the opcode field of the last request sent by the user. Thus if an UPDATE request was received last, this field is a 4. The left 9-bit field (within the right half word) contains the number of the action actually being performed. This differs from the opcode of the last request received only for Auto TRANSMIT mode and when a positive mode field is given in an UPDATE request (which is an EXECUTE count). Possible pairs of these fields are given below. Note that Auto TRANSMIT mode sends only one acknowledge message which indicates both successful execution of the display program _and_ correct parameters for the TRANSMIT operation.Michener [Page 13]RFC 186 A Network Graphics Loader 12 July 1971 Currently Most Recent Comments: Executing: Request Received: SETUP SETUP ; Sent before data words are read. EXQ EXQ ; Never sent in Auto-Transmit mode. TRANSMIT EXQ ; Only sent in Auto-Transmit mode. TRANSMIT TRANSMIT EXQ UPDATE ; Never sent in Auto-Transmit mode. TRANSMIT UPDATE ; Only sent in Auto-Transmit mode. UPDATE UPDATE ; Sent before data words are read. MODESET MODESET ; When setting up Auto-Transmit mode, ; this is sent before the argument ; word for TRANSMIT is read.Notes: 1) A MODESET request which suppresses acknowledge messages is never acknowledged. One which permits acknowledge messages is always acknowledged. 2) Requests which read data words (certain SETUP, UPDATE and MODESET requests) send acknowledge messages (unless suppressed) _before_ reading the data words.ERROR MESSAGES These messages contain one or more words. If acknowledge messages are suppressed, then only one word is sent. (The assumption was made that brevity of response would also be desired for error messages if it were also desired for normal output.) The first (or only) word contains a left half of 2. (Identifying this as an error message). The right half contains the number of the error condition recognized; these numbers are summarized below. If the long form of the error message is being used, additional words are sent, the first contains a positive count of the remaining words in the left half and zero in the right half. Words following theMichener [Page 14]RFC 186 A Network Graphics Loader 12 July 1971 count word contain five 7-bit ASCII characters per word (the last word may end in null characters) which spell out a descriptive error message. These messages are summarized below: Error Condition Number Error Message 0 UNRECOGNIZED OPERATION CODE 1 PREVIOUS SETUP REQUIRED 2 INVALID MODE OR OPERAND FIELD 3 PREVIOUS EXECUTE FAILED 4 DISPLAY PROCESSOR OCCUPIED 5 OUTPUT AREA OVERRUN 6 DISPLAY ERROR: TWO SECOND TIME OUT 7 DISPLAY ERROR: IMPROPER DISPLAY STOP 8 DISPLAY ERROR: MEMORY PROTECTION VIOLATIONOUTPUT FROM TRANSMIT This output consists of an identifying word (left half of 3, right half containing 0 for image mode and 1 for ARDS mode), a count word (left half indicating the number of words following this word, right half of zero) and zero or more data words in whatever data format the first word indicated.Michener [Page 15]RFC 186 A Network Graphics Loader 12 July 1971Appendix 1 The environment at the beginning of execution of the user's display program is as follows:This LDS-1 is in program mode.RAR/ Origin of user's program.WAR/ First word of a block of core at least as long as requested via SETUP operations. This block immediately follows the last word of the display program.PC/ Origin of user's program.SP/ Address of first word beyond the end of a 200 (octal) word area of combined data sink and control register stack.P1/ Unspecified.P2/ Unspecified.DSP/ First word of a 200 (octal) word area of combined data sink and control register stack.UR/ Unspecified.RCR/ Unspecified.WCR/ Minus one plus the negative of the length of the "WAR area" as specified in the most recent SETUP request.DIR/ Stop on WCR positive. Do not stop on Hit. Matrix Multiplier inactive. "Overlap" permitted. Two dimensional mode. Do not "Do Twice".RSR/ Unspecified.SR/ 0, except for bits not under program control like the stylus "Z" coordinate bits.NEXT/ Unspecified.Michener [Page 16]RFC 186 A Network Graphics Loader 12 July 1971SAVELB/ -3777,,-3777SAVERT/ 3777,,3777VIEWLB/ -3777,,-3777VIEWRT/ 3777,,3777WINDLB/ -3777,,-3777WINDRT/ 3777,,3777INSTLB/ -3777,,-3777INSTRT/ 3777,,3777NAME/ Unspecified.CDIR/ Scaled Coordinates to Memory Curve mode inactive. Minimum effort inactive. Solid, not dashed lines. Self mode inactive.HITANG/ Unspecified.SELINT/ Unspecified.Matrix Multiplier/ Unspecified.Origin of program -1/ (Should be jumped to when the display program is finished.) [This RFC was put into machine readable form for entry] [into the online RFC archives by Lorrie Shiota, 10/01]Michener [Page 17]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -