Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Tektronix 4010
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Graphics protocol=== The 4010 was not a raster display and thus had an effectively unlimited resolution, but the command decoding circuitry limited this to 1,024 by 1,024. Because the screen had a 4:3 geometry, only 780 points were visible vertically. The origin was in the lower left.{{sfn|Tektronix|1974|p=3-28}} Encoding values from 0 to 1,023 required 10 bits; 2^10 = 1024. These values were encoded in ASCII, using 5 bits per character, and thus requiring two characters per value, or 4 characters for a complete X,Y coordinate. The encoding scheme was designed to make the coordinate characters safely sent over serial links by assigning each value from the set of [[ASCII#ASCII printable characters|ASCII printable characters]]. X values were assigned the 32 characters between 64 and 95 decimal, mostly the uppercase letters. The Y coordinates are given a similar range from 96 to 127, mostly the lowercase letters. To convert location to an ASCII character code, one added 64 to the X value, and 96 to the Y value. High-order bits for either were the same, from the range 32 to 63, mostly numerals and punctuation.{{sfn|Tektronix|1974|pp=C-1 - C-4}} So the complete formula for calculating the points from the characters was:{{sfn|Tektronix|1974|p=3-27}} X = 32 x (high X character ASCII value - 32) + (low X character ASCII value - 64) Y = 32 x (high Y character ASCII value - 32) + (low Y character ASCII value - 96) Although the manuals always showed the calculation for X before Y, and low-order character before high-order, the four characters actually had to be transmitted in the opposite order, starting with the high Y, then low Y, high X and finally low X.{{sfn|Tektronix|1974|p=3-27}} For instance, consider the coordinate (23, 142). The X coordinate falls within the range 0 to 31, so no shifting is required. Adding 23 to 64 gives 87, which is ASCII character {{keypress|W}}, and since no shift is required the "shift character" is {{keypress|space}}. For the Y coordinate 142, one would need to shift the number back to the range 0 to 31, which could be done by subtracting 128. Doing so leaves 14. Adding 14 to 96 to get the first character gives 110, or {{keypress|n}}. This requires shifting by 128, which is 4 x 32, so the shift character is the fifth in the sequence (the first is zero shift, the space), or {{keypress|$}}. Now the characters are ordered shift-Y, Y, shift-X, X, so the complete coordinate (23, 142) would be encoded as {{keypress|chain=|$n W}}.{{sfn|Tektronix|1974|p=3-27}} Each of these four coordinate characters is stored in a buffer in the terminal, which holds them until the complete coordinate is received and then drawn. The drawing process is triggered by the reception of the low-X character, which the terminal looks for by waiting for a bit pattern that indicates it is in the proper decimal range. This allows a short-cut way to send points that share a Y coordinate by sending only the X coordinates, even just the low-X if the high-X has not changed. This can greatly reduce the total number of characters sent to the terminal if the programmer arranges the data to minimize changes in Y over a given set of coordinates, and even more if they group together points that change only in low-X and low-Y. The overall effect can roughly halve the amount of data sent to the terminal.{{sfn|Tektronix|1974|p=3-27}} Graphics are drawn by entering ''graph mode'' by sending the ASCII Group Separator (GS) character ({{keypress|Control|Shift|M}}). After that every set of four characters (or less) received by the terminal are used to define an X,Y coordinate. The first four following the GS position the graphic cursor, every point after that draws a vector on the display. The system is returned to text mode (''alpha mode'' in their documents) using a number of commands, typically Unit Separator (US, {{keypress|Control|Shift|O}}), but a number of other sequences also have the same effect, including a {{keypress|Return}}.{{sfn|Tektronix|1974|p=3-27}} Because the system draws vectors from point to point while in graphics mode, in order to draw separated lines the commands had to enter and exit graphics mode repeatedly. A single point is drawn by entering graph mode at the desired coordinate, drawing a zero length vector to the same coordinate.{{sfn|Tektronix|1974|p=3-26}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)