1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-13 15:27:28 +00:00
PDP-10.its/doc/_info_/trmctl.houstn
2018-09-27 19:53:49 +02:00

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