RFC 387 (rfc387) - Page 3 of 5
Some experiences in implementing Network Graphics Protocol Level 0
Alternative Format: Original Text Document
RFC 387 Experience Implementing Net Graphics Protocol August 1972 2. If an absolute coordinate exceeds range, simply forcing the sign bit on causes a nice wrap-around. 3. The representation is the same as the mantissa for floating point numbers on most machines. Notice, however, that mantissas of normalized floating point numbers are not in the range for absolute coordinates. The program will have to shift the mantissa until exponent is 0. It may be that few of us interpreted the NGP document to mean two number systems were needed. If that is the case, so much the better. In any case, until shaken from the position by the overwhelming force of contrary logic, we will, in all of our implementations, use System B above for both absolute and relative coordinates. The TEXTR Command ----------------- The last paragraph on page 4 of RFC 292 says, "...a command be included only if its output is a function solely of the current command and the "beam position" current at the start of the command. In other words, the interpreter for level 0 need have no internal storage for 'modes' or pushdown stacks." In the case of the Computek display, most of the NGP commands correspond to capabilities of the device. The lone exception is the TEXTR command. There are two ways to know what beam position to return to after the string is displayed. One way is to read the cursor position from the display just before doing the string output. This is no good because it requires reading from the device (which we can't do until input protocols are implemented). Also, on this device, the cursor position is accurate only to within 4 scope points. The second way to know what beam position to return to is to monitor all motions of the beam in software. Thus our implementations of NGP-0 to Computek translations will employ a software X register and Y register. On absolute commands, the registers will be set to the coordinates for that command. On relative commands, the coordinate data will be added to the registers. At the beginning and end of picture, these registers will be set to 0. The TEXTR command will also cause these software beam registers to be changed. That is, the X register will be incremented for each character of the string to correspond to what is happening in the display itself. Kelley & Meir



