mirror of
https://github.com/PDP-10/its.git
synced 2026-01-13 15:27:28 +00:00
173 lines
5.9 KiB
Plaintext
Executable File
173 lines
5.9 KiB
Plaintext
Executable File
|
|
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 "<SEMI-COLON><COLON>" 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.) <LF> (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 <XON> (021 octal). The PTC-5A responds with
|
|
either "1<CR>" (CR will be 215 octal) for positive response,
|
|
or "0<CR>" 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 <LF> 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
|
|
|