This file contains information about the Houston Instruments DP-3-5 flatbed plotter and the PTC-5A-3 terminal interface at the Plasma Fusion Center. The plotter is a standard flatbed plotter. Unlimited X motion is provided by moving the paper between take-up reels on either side of the machine. 22 inches of Y motion is provided by moving the pen perpendicular to the direction of paper motion. Steping motors provide incremental steps of 0.005 inches in X and Y directions. The interface accepts ASCII characters from a modem and sends appropriate pen-movement commands to the plotter. It also contains a firmware character generator so that symbols can be easily plotted. Basic Theory of Operation ------------------------- The terminal interface acts as a two-way multiplexer between the plotter and a regular terminal to the modem. ----------- -------------- --------- Ma Bell | | | | | | -----<-->----| modem |-<-->-| interface |--<-->--| tty | | | | | | | ----------- -------------- --------- | | -------------- | | | ------>------| plotter | | | -------------- Initially the interface passes characters to and from the tty. This enables you to log in to the system and get set up as if the plotter was not present. The interface passes all characters to the tty until it sees the two character sequence "" from the host computer. [Yes, this is a crock, but there's not much we can do about it.] All subsequent characters are treated as plotting commands until the command to leave graphics mode arrives. This is described below. The interface contains a 1024 byte buffer for characters to the plotter. When plotting, the interface expects a non-standard sort of ACK/NACK protocol (described below) to be used. Communication Protocol ---------------------- Data is transmitted to the interface in block lengths of 96 characters. (This is suggested - perhaps some experimentation is called for, as the maximum length is 480 characters.) (012 octal) must be used as a delimiter following the block. After a block is transmitted, the acknowledge sequence is started by the host transmitting (021 octal). The PTC-5A responds with either "1" (CR will be 215 octal) for positive response, or "0" for negative response. A negative response indicates that an error was detected in the last block of data, and it should be sent again, a positive response indicates the block of data was received without detected errors, and memory is available for the next block. A from the host must terminate the acknowledge sequence. Command Characters ------------------ Vector Multiply "?" (077 octal) This character is followed by a number encoded into ASCII as follows : (+ N 77) ; where 1 <= N <= 29. All subsequent vectors (including those used to draw characters) will be repeated this number of times. This number will remain constant until this command is issued again with a different multiplier. Pen Up "^" (136 octal) This raises the pen. Pen Down ">" (076 octal) This lowers the pen. New Pen "]" (135 octal) Select a new pen on a multi-pen instrument. We don't have this. Symbol Mode "=" (075 octal) Causes the plotter to enter symbol mode. The next character gives the rotation of the symbols relative to the X axis : "0" = 180 degrees "1" = 0 degrees "2" = 90 degrees "3" = 270 degrees Following this, legal ASCII symbols are drawn until symbol mode is exited. (See below for legal symbols.) In addition to the 62 legal ASCII symbols, there are 14 special characters suited to labelling points on graphs. These are selected by using the alternate rotation codes : "@" = 180 degrees "A" = 0 degrees "B" = 90 degrees "C" = 270 degrees Exit Symbol Mode and "_" (137 octal) End Plotting If the plotter is in symbol mode this causes it to return to vector mode. If the plotter is in vector mode, this causes the interface to stop plotting and start sending characters to the tty again. Vector Mode ----------- This is the default mode of the plotter. All vectors, whether the pen is up or down are relative to the present pen position. DX and DY have a maximum magnitude of 28 (decimal) steps without using the vector multiply. One ASCII character is sent for DX, then one for DY. The encoding for both is : (+ (abs D) (if (minusp D) 40 100)) where D is either DX or DY. (40 and 100 are octal, of course.) It is always necessary to supply both DX and DY, even when one is zero. For drawing long vectors, especially with the pen up, the use of repeat counts can save sending large numbers of characters. Symbol Mode ----------- Symbols are generated on a 7 steps high, by 6 steps wide matrix. Scaling the size of the symbol is done by using the vector repeat counter before entering symbol mode. The allowable ASCII characters are 40 to 135 octal. This includes uppercase letters, numerals, and some symbols. To plot a string of symbols (e.g. a title) simply supply all the symbols in sequence. Pen up, pen down, and spacing between the letters is done by the interface firmware. The fourteen special characters are selected with ASCII @ through M (100 to 115 octal) after using the alternate rotation commands to get them. Some are a bit hard to describe, but to get some idea : "@" square "A" octagon "B" triangle "C" plus-sign "D" X "E" diamond "F" arrow (up) "G" X with a bar across the top "H" Z "I" Y "J" square with diagonal lines out from corners "K" star "L" X with bars across top and bottom "M" vertical bar