1
0
mirror of https://github.com/PDP-10/its.git synced 2026-04-07 14:23:52 +00:00

Add missing .INFO. files.

This commit is contained in:
Lars Brinkhoff
2018-09-27 14:35:31 +02:00
parent 8ce4632ed1
commit 96eca1801b
21 changed files with 895 additions and 0 deletions

1
doc/_info_/doc.info Symbolic link
View File

@@ -0,0 +1 @@
info/pr.>

54
doc/_info_/fido.order Executable file
View File

@@ -0,0 +1,54 @@
FIDO IS A WATCHDOG, SOMEWHAT LIKE A DISOWNED MINI-PEEK,
WHICH WILL SEND YOU A MESSAGE WHENEVER AN 'OBJECT' OF INTEREST
APPEARS ON (OR DISAPPEARS FROM) THE SYSTEM.
TYPING '?' AT FIDO WILL PRODUCE THE FOLLOWING SUMMARY OF
COMMANDS:
*****
HOW-2 TRAIN FIDO:
GIVE FIDO UP TO 10 THINGS TO WATCH FOR, SEPARATED BY COMMAS, BLANKS,
OR CARRIAGE RETURNS. THERE ARE FIVE TYPES OF OBJECTS:
1) USER JUST GIVE THE UNAME, E.G.'LOSER'
2) TTY GIVE 'T' FOLLOWED BY 2-DIGIT OCTAL TTY #, E.G. 'T04'
3) HOST GIVE 3-DIGIT OCTAL HOST NUMBER,FOLLOWED BY 'H'.
4) JOB GIVE 'J=' FOLLOWED BY THE NAME OF THE JOB TO WATCH FOR.
5) DEVICE GIVE: '*LPT*' FIDO BARKS IF PRINTER USED
'*DIS*' DITTO FOR 340 DISPLAY
'*SIX*' DITTO FOR PDP-6
- A MINUS SIGN PREFIXED TO ANY OF THE ABOVE WILL MAKE FIDO BARK
IN THE ABSENCE (NOT PRESENCE) OF THE OBJECT FOLLOWING.
Z PREFIX BY DECIMAL # TO SET SLEEP TIME IN SECS (DEFAULT 10 SEC)
^L LISTS OBJECTS THUS FAR, CLEARS SCREEN IF DATAPOINT
^G KILLS THE CURRENT LINE, STOPS TYPEOUT IF ANY
RUBOUT--AS USUAL
FINALLY, TO USE YOUR WATCHDOG, GIVE
^S WHICH WILL START FIDO PROWLING THE GROUNDS.
******
AFTER LEARNING WHAT YOU WANT IT TO WATCH FOR, FIDO WILL DISOWN
ITSELF AND WAKE UP EVERY 10 SECONDS OR SO TO CHECK THE SYSTEM
STATUS; IF IT FINDS SOMETHING, IT WILL BARK AT YOU IN THE FOLLOWING
FASHION:
'WOOF!! WOOF!! HERE BE:
T23 RWG HACTRN'
FIDO WILL BARK ONCE FOR PRINTING TERMINALS, THRICE FOR
DATAPOINTS. (IF FOR SOME REASON IT CANNOT SEND THE MESSAGE,
FIDO WILL SIMPLY GO BACK TO SLEEP AGAIN.) AFTER IT HAS BARKED ABOUT
AN OBJECT, FIDO WILL NEVER LOOK FOR THAT OBJECT AGAIN, BUT WILL
CONTINUE SEARCHING FOR ANY OTHERS IT WAS GIVEN. IF ALL
ARE GONE, FIDO WILL GO AWAY.
BEING DISOWNED, FIDO WILL SURVIVE A LOGOUT OF ITS CREATOR;
YOU MAY LOG IN ANYWHERE ELSE AND FIDO WILL STILL WORK FOR YOU
IF YOU HAVE THE SAME UNAME.
HOWEVER, BEING DEVOTED, FIDO WILL DIE OF LONELINESS
IF ITS CREATOR'S UNAME DISAPPEARS FROM THE SYSTEM FOR LONGER THAN
5 MINUTES; THUS, ONE NEED NOT WORRY ABOUT LEFTOVER FIDOS.
A DISOWNED FIDO USES ONLY ONE PAGE OF CORE AND ROUGHLY ONE
SECOND COMPUTE TIME PER HALF-HOUR, SO THE NEIGHBORS SHOULD
NEVER HAVE REASON TO COMPLAIN....


1
doc/_info_/its.binfmt Symbolic link
View File

@@ -0,0 +1 @@
sysdoc/binfmt.>

1
doc/_info_/its.clo Symbolic link
View File

@@ -0,0 +1 @@
sysdoc/clo.>

1
doc/_info_/its.intrup Symbolic link
View File

@@ -0,0 +1 @@
sysdoc/intrup.>

1
doc/_info_/its.job Symbolic link
View File

@@ -0,0 +1 @@
sysdoc/job.>

1
doc/_info_/its.locks Symbolic link
View File

@@ -0,0 +1 @@
sysdoc/locks.>

1
doc/_info_/its.magtap Symbolic link
View File

@@ -0,0 +1 @@
sysdoc/magtap.>

1
doc/_info_/its.ncp Symbolic link
View File

@@ -0,0 +1 @@
sysdoc/ncp.>

1
doc/_info_/its.tty Symbolic link
View File

@@ -0,0 +1 @@
sysdoc/itstty.>

1
doc/_info_/its.tv Symbolic link
View File

@@ -0,0 +1 @@
sysdoc/tv.>

1
doc/_info_/its.ufd Symbolic link
View File

@@ -0,0 +1 @@
sysdoc/ufd.>

1
doc/_info_/its.usr Symbolic link
View File

@@ -0,0 +1 @@
sysdoc/usr.>

303
doc/_info_/rmail.order Executable file
View File

@@ -0,0 +1,303 @@
RMAIL is a program for reading and editing mail.
It can conveniently be used either to examine one
or more files of mail, or to copy several files
into one, optionally editing the combined contents.
There are two major modes: "perusal mode", and "update mode".
Of perusal mode it is also said that "an rmail file has not
been specified". In update mode, it is said that one has been.
Perusal mode is good for viewing other people's mail; update
mode, for one's own. If RMAIL is run with a null command string,
it operates in updated mode on one's own mail, using the default
names for all the files.
Perusal mode:
To invoke RMAIL in perusal mode, supply it with a command
string containing the names of the files to be examined,
separated by commas. The default for the first filespec is
DSK:<msname>;<xuname> MAIL. The default for each other filespec
is the previous file. If only one filename is specified, it
is the first filename. Alternatively, to specify a user's
mail file, give JUST the user's name and use a "/" instead of
a comma - the file will be found on COM: or the user's
directory, as appropriate.
"^A" may be used at the beginning of a filespec to represent
the default first filename, in case it is desired to change only the second.
Thus, "COM:^ASENDS" will get the SENDS file for the user whose
name is the default at that moment.
All the files named are read in, concatenated together, in
the order they appear in the command string, and the first
message in the first newmail file is then displayed.
Editing may be done in perusal mode, but RMAIL will not
write the edited string into any file of its own accord.
Update mode:
For this mode, the command string should contain a list
of newmail files terminated by commas, and users' names
terminated by slashes, as for perusal mode,
followed by the name of the rmail file, followed by an
altmode. If it is desired not to use any newmail files,
just the rmail file name and the altmode should be given.
When including a :RMAIL in an execute file, for best results
before every "<user>/", include "<user>;<user> OMAIL," so that
the user's omail file, if any, will be grabbed. If a user's mail
file and omail file are both specified, the omail file should
come first, since otherwise it may be deleted when the spec of
the mail file is reached.
The default names for the rmail file are
DSK:<msname>;<xuname> RMAIL, rather than the names of the
last newmail file.
In update mode, RMAIL reads all the files, including the
rmail file, and concatenates them together, as in perusal
mode, except that if the rmail file starts with "*APPEND*<crlf>"
it goes at the front instead of at the end (this is good for
those who use the "APPEND" option in the mailer).
The result is then written back on top of the rmail
file (which is created if necessary), and then all user's
mail files specified with slashes are deleted. When
RMAIL is exited via the X command, the result of
the user's editing will be again written out on top of
the rmail file. At intermediate times, the S option may
be used to save the editing in that way.
Invoking RMAIL with a null command string is the same as
using "<xuname>;^A OMAIL,COMMON;,<xuname>/" as the command string.
It means, according to the above rules,
to concatenate <xuname>;<xuname> OMAIL, COM:<xuname> OMAIL,
and the user's mail file (either <xuname>;<xuname> MAIL
or COMMON;<xuname> MAIL) with <msname>;<xuname> RMAIL,
write the result back out on top of the file RMAIL, then
delete all the other files mentioned. After editing, the result may again
be written out in <msname>;<msname> RMAIL.
The I option switches into update mode, asking the user to
specify the name of the new rmail file. If RMAIL was already
in update mode, the old rmail file is written out (as by S).
Once RMAIL is running:
RMAIL is normally in option mode. In that mode, several
single-character commands, called options, are available,
including escapes into other modes.
If an unrecognized option is typed, a statement to that effect
will be typed out. The user then has another chance to type
an option, and is reminded that "?" types documentation.
Unless it says otherwise in the description of a particular
option, after any option is executed, the current message
will be displayed, and a new option will be awaited. In other
words, options normally do not leave option mode.
The options are:
N move to Next message (then display it and read an option)
When looking at the last message, N does nothing but
notify the user of that fact.
N may be preceded by a decimal integer, which will act
as a repeat count. 1000N is a good way to go to the last
message in the buffer.
D Delete the message and move to the next.
The deleted message is appended to the end of Qreg 9.
U Undelete the last message deleted, putting it before
the message which had been current, and moving back
to it. Successive undeletes will undelete earlier
messages (the deleted messages live in a stack).
P move to the Previous message.
When looking at the first message, P does nothing but
notify the user of that fact.
P may be preceded by a decimal integer repeat count.
10000P means "go to the first message" - it fails only
when starting out at the first message.
SPACE move to the next screenful of a long message.
At the end of a message, space will go back to the
beginning.
. move to the beginning of the current message.
In addition, if more than one message is being looked
at (as, after a W option), "." will select just the
message that the pointer is inside. Thus, "."
is the "inverse" of W, in some ways.
R Reply to message. Usually, a :QMAIL addressed to the author
of the current message, along with all the recipients of
the message listed in the message (including the user who
is reading his mail, presumably) is displayed, and the reply may be
typed in, using all the facilities of ^R mode.
^C ends the editing, causing the message to be sent as
specified in the buffer.
If you change your mind about the message, just clean out
the buffer and then ^C; no message will be sent.
In either case, RMAIL will return to option mode.
Subject headers and other
QMAIL features may be used by putting the appropriate
QMAIL commands in the buffer. For this purpose, when
ALTMODE is typed, it will prompt for the QMAIL command
to follow, and both will go in the buffer (^G quits).
If you really wish to put a stray altmode in the buffer,
you can use META-ALTMODE, but that will probably cause
nothing but trouble.
The R option will automatically specify a subject line
identical to that of the message being replied to.
It can be changed by editing, of course.
You should not put anything on the first line of the
:QMAIL in the buffer, except for recipient names.
While the reply is being edited, the character ^Y is set
up to insert the text of the message being replied to,
in case it is desirable to quote part of the message in
the reply.
Actually, RMAIL executes a QMAIL by writing the text of
the message into a file named COM:<uname> RMAIL and then
valretting the :QMAIL along with an altmode-G telling
QMAIL to snarf that file. When QMAIL exits, RMAIL restarts
and deletes the temporary file. If the :QMAIL is replaced
by anything else, it will be valretted to DDT.
M Mail a message. Like R, except for its default,
which is to set up an empty :QMAIL command, in which
the user may insert recipients, text, subject, etc.
O Output the message to a file - good for forwarding a
message to someone else's mail file; also good
for filing messages according to topics.
The default for the file to be used is displayed,
and the user may type in and
edit an explicit specification to override it.
In such a specification, a lone filename is used as the
second filename of the file to be written.
An altmode tells RMAIL to proceed, appending the
current message to the front of the specified file,
which will be created if necessary. However, if the
file starts with "*APPEND*<crlf>", the new message
will go at the end instead of the front.
To abort the O command, clear out the filenames
in the buffer with ^A^K (leaving the buffer empty)
and then type the altmode.
X eXit: kill the job and return control to DDT.
If an rmail file was specified, the current buffer
is written out into the rmail file first.
S Save: write the rmail file.
Does nothing if no rmail file was specified.
The RMAIL is NOT killed, so further editing may be
done.
I Inputs a new rmail file, and enters update mode.
If RMAIL was already in update mode, the old rmail
file is written out, as if the S option had been typed.
Then ^R-mode is used to enter the name of the new
rmail file, with the name of the old one shown
as the default. An altmode tells RMAIL to go ahead.
To abort the I command, clear out the filenames
in the buffer with ^A^K (leaving the buffer empty)
and then type the altmode.
^C just as in TECO; returns to DDT. When RMAIL is
proceeded, it will redisplay the screen.
^R escape into ^R mode to edit the message.
An altmode will return to option mode.
ALTMODE
escape to the TECO interpreter. The next attempt
by the TECO interpreter to display the buffer
will return to option mode.
L Show a List of all messages. This command puts on the
screen text that resembles the mail file except that
every message is truncated to 100 characters at most.
RMAIL then invokes ^R mode, which allows the user to
move the cursor to any message he desires. On exiting
from ^R, RMAIL will show and point at the message
which was selected in that manner.
W show the Whole buffer. Normally, virtual buffer
boundaries are set up to restrict editing to a
single message. This option flushes them.
After doing a W, the option "." will
go back to the single message that the pointer
is in. P or N will do that and then move back
or forward. A D option is unwise after a W, but
one can recover from it using "$G9$$".
The W option is especially useful before a
^R or altmode.
F reads in a string (using ^R mode), and then searches
through all the remaining messages for the string.
It stops on the first message that contains the
string. To find the same string as last time, give
the null string as the argument.
If the current message itself contains the string,
F will not move to a later message, so if
you want to find the next message after the current
one, do an N before the F. If the string is not found,
F will stay at the current message, also. Note that
case is ignored while searching (since FSBOTHCASE$
is set nonzero by RMAIL). While the string is being
read in, the word "FIND" will appear at the bottom
of the screen to remind the user of what is happening.
^L clears the screen and redisplays.
? shows a brief description of all available options.
The display will remain until a character is typed
in; that character will be used as an option.
Random information:
RMAIL keeps data in Q-registers ..B, ..L, 6, 7, 8, 9, X and Z.
6 holds the default filenames for the O option.
7 holds the names of the newmail files, followed by the
name of the rmail file. In perusal mode, Q7 holds 0.
8 holds the last string specified in an "F".
9 holds all messages deleted with "D".
The input and output files are not clobbered by RMAIL but the
default filenames are clobbered by the S, M, X and O options.
Some options may clobber Q-regs 0 and 1, but I hope by now
those qregs are always saved and restored.
The sources for RMAIL are .TECO.;RMAILX >, .TECO.;RMAILZ >,
and .TECO.;RMAILL >.
RMAILX is the macro that implements option execution,
while RMAILZ processes the command string and the input files.
While in RMAIL they normally live in Qregs X and Z, they do
not depend on that. They are designed to be able to be used
independently, in macro packages - see the comments at the
front of each file for how to call them and what they do
with and to various qregs.
RMAILL is a macro to load up and dump out an RMAIL.
It reads RMAILX and RMAILZ; also it sets up a driver routine
in Q..L to call them with approriate interfacing.
When using RMAILX and RMAILZ from a macro package, copying the
structure of that driver routine should be useful.
SYS1;TS RMAIL is actually just a simple bootstrap program
to load TECO (through SYS1;RMAIL TS) and tell it to run
RMAIL (found in SYS1;RMAIL TECO).
To create a new RMAIL, do ":TECO RMAIL;", if you have a macro
package that will take that to mean "run (INIT);RMAIL .TECO."
(as ALL macro packages morally should). This will write a file
.TECO.;RMAIL TECO which should be copied to SYS1.
Also, SYS1;RMAIL TS should be a link to the version of TECO
used to create RMAIL TECO.

80
doc/_info_/rmail.recent Executable file
View File

@@ -0,0 +1,80 @@
Recent or coming changes to RMAIL
10/17/76
XRMAIL
For printing terminal, no longer does automatic typeing of message.
Rmail will come up with a ":" prompt. The T command Types a message
until a --MORE--, which is still decided on by same algorithm. T prints
the message # just before the message. If there is a * next to the line
count in the --MORE-- line, it means that the number of characters per
line in the remainging text is greater than 80. There is one * for each
multiple of 80. (Ie. a file of 240 character lines has *** printed). In
response to --MORE--: you may type any command. Space will print the
rest of the message. Number followed by space will print that many
lines and then --MORE-- again. Note that while at the --MORE-- the
pointer is where RMAIL broke for the --MORE--, so if you enter edit
mode or something, thats where . will be.
"A" request now advances to next message and summarizes it. (Ie. does
an N then a B). This way you can step through some mail with A A A
until you find something you want to type.
Numeric arguments can now be rather complex.
10/05/76
XRMAIL
For printing terminal, now prints at least until any lines
containing subject or from before stoppping for --MORE--.
Echos requests on all terminals. Uses echo area for
displays. Numeric arguments may now be negative, no longer
redisplays between typing each digit. Z used as an argument
will generally act like giveing the maximum meaningful value
to a command. -Z also works. Some request that enter a ^R
mode for thier parameters (F,O,I) now use less of the screen
to avoid extra redisplay.
New requests:
nB Summarize the next N requests. Produces output of the
of the form:
# Lines Date From Subject
1: 5 5 OCT 1976 012 [USER@SYSTEM] Ineresting discussions
2: 26 10/04/76 1121- [Pogran@Multics] Proposed RFC on ITS experience
3: 10 10/04/76 22:24 [RMS@AI] T: Since @ works fine on several DEC sy
4: 193 10/03/76 19:26 [To: FOO@BAR, Mic] answer to your question.
The first message is more or less normal, note the message came
with a network standard header, and the date gets truncated to
14 characters, so the time was actually 120 something, probably
also in another time zone. Eventually it is hoped to convert
all such dates to one standard form in the current time zone.
The 2nd exaple has a Multics type date, while the rest have
ITS internal format dates. Note the 3rd message has a T:
in the subject field, this means that the subject shown is
really the first line of text in the message, since there was
no subject. Note the subject field gets truncated at whatever
the line width of the terminal is (or whatver the system thinks
it is). In the 4th message the From field says To:. This means
that the message was from yourself (ie. contained a string matching
the XUNAME of the user running RMAIL) therefore the more useful
information of whom it was to is printed.
N defaults to printing 1 message. ZB can print from . till end.
nJ Jumps to message N. Makes the Nth message the current message.
ZJ goes to last, J defaults to first. Note that the D request
presently actually removes the message, so all messages after
the deleted one are in effect renumbered. It is planned to
eventually changes D and U to leave the message in place, but
have most requests ignore it, then actually delete upon saveing
the RMAIL file.
; Reads in the rest of the line, and then executes the request
without further redisplay. Ie. if you want to delete and then
see the previous message rather than the next one, you go
;DP<CR>. Note that requests that enter a ^R mode for their
parameters will still enter ^R mode and you must still type
the paramters. Ie. ;FD, will enter ^R mode, let you type a
string, and then delete the next message containing that string.
î

1
doc/_info_/spell.info Symbolic link
View File

@@ -0,0 +1 @@
info/spell.>

60
doc/_info_/teco.error Executable file
View File

@@ -0,0 +1,60 @@
#OV NUMERIC OVERFLOW
..E BAD VALUE IN QREG ..E (OUTPUT RADIX)
2<1 THE SECOND ARGUMENT WAS LESS THAN THE FIRST
AFN AMBIGUOUS FLAG NAME IN "FS" COMMAND
ALT STRAY ALTMODE WHEN FS NOOPAL$ = 0
AOR ARGUMENT OUT OF RANGE
ARG BAD ARGUMENT
BEL A BUILT-IN ^R COMMAND CALLED FROM MACRO SIGNALED AN ERROR
CMD A CHAR THAT ISN'T A TECO COMMAND WAS EXECUTED
DCD A DISABLED COMMAND WAS EXECUTED
DSI DAMNED SCREW INFINITELY
ERP EXITING MACRO CONTAINING UNTERMINATED ERRSET
ICB ILLEGAL ^] COMMAND
IFC ILLEGAL F COMMAND
IFN ILLEGAL FLAG NAME IN "FS" COMMAND
IQN INVALID Q-REGISTER NAME
ISK INVALID SORT KEY - "^P" COMMAND
IUC ILLEGAL MICRO-TAPE (READ "E") COMMAND
KCB KILL CURRENTLY SELECTED BUFFER
M^R ATTEMPTED TO MACRO A MEANINGLESS NUMBER
NDO NO DEVICE OPEN FOR OUTPUT - TRY "EW"
NFC NO FREE CHANNELS TO POP INTO
NFI NO FILE OPEN FOR INPUT - TRY DOING "ER"
NHP NONEXISTENT HORIZONTAL POSITION
NIB YOU HAVE ADDRESSED A CHARACTER NOT IN THE BUFFER
NIM NOT IN MACRO
NOP SPECIFIED TYPE OF IO CHANNEL HASN'T BEEN PUSHED
NRA FILE NOT RANDOM ACCESS
N^R FS ^R EXIT$ - NOT IN ^R
PCE PUSHDOWN CAPACITY EXCEEDED
PTM COMMAND-READING POPPED OUT OF MACRO INTO TECO'S MIDAS CODE.
QIT ^G TYPED ON TTY AND FS NOQUIT$ WAS NEGATIVE
QNB Q-REGISTER NOT BUFFER
QNN Q-REGISTER NOT NUMERIC
QNS Q-REGISTER NOT STRING
QRF Q-REGS FAILED, PROBABLY TECO BUG
QRP Q-REGISTER PDL OVERFLOW OR UNDERFLOW
SFL SEARCH FAILED
SNI SEMICOLON NOT IN ITERATION
SNR THERE IS NO VALID SEARCH STRING TO REPEAT
STL STRING ARGUMENT TOO LONG
STS DISPATCH STRING TOO SHORT
TMN TOO MANY MACRO, ^]Q-REGISTER, ^]^X, OR ^]^Y NESTINGS
TMR MORE SORT RECORDS THAN CHARS IN BUFFER
UBP UNBALANCED PARENTHESES FOUND WITH AN FL-TYPE COMMAND
UCT UNSEEN CATCH TAG
UEB BUFFER ENDED UNEXPECTEDLY DURING AN FL-TYPE COMMAND
UEC UNEXPECTED END OF COMMAND
UGT UNSEEN GO-TAG
UMC UNMATCHED ")" OR ">" AS A COMMAND
UNA UTAPE NOT ASSIGNED
UNF UTAPE NOT FLAPPABLE
URK TECO GRABBING INFINITE CORE
UTC UNTERMINATED CONDITIONAL
UTI UNTERMINATED ITERATION OR ERRSET (MISSING ">"?)
UTL UTAPE NAMEING FAILED (ES COMMAND)
W"A WRONG ARG TO " -- SHOULD BE G,L,N,E,B OR C
WLO FS OFACCP$ WHEN OLD ACCESS POINTER WASN'T MULTIPLE OF 5
WNA WRONG NUMBER OF ARGUMENTS

1
doc/_info_/teco.order Symbolic link
View File

@@ -0,0 +1 @@
_teco_/tecord.>

58
doc/_info_/trmctl.aaa Executable file
View File

@@ -0,0 +1,58 @@
This file describes the functional characteristics of the Ann Arbor Display
Controller. These terminals come in various screen sizes (16. x 32., 20. X 50,
24. x 80., and 40. x 80.) and come as display controllers (sans monitor) or
as an integrated display. Some models (rare) have winning features like
Clear EOL, inverse video, blink, etc. but the most common variety don't
have any of these features. The standard controller has a 24. x 80. screen.
It can come with a serial (up to 9600 baud) interface or parallel (up
to 1620 chars/sec or approximately 16K baud - cursor controls are faster).
Characters are written on the screen at the cursor position in overwrite
mode (i.e. what was there previously is deleted) - this includes space
(ASCII 40), which is used for erasing due to the absense of Clear EOL, etc.
Writing in the last column of a line (80. if the first column is 1) causes
the cursor to be advanced to the first column of the next line. On the
last line of the screen, this causes wraparound to the top line of the
screen.
There are 8 cursor control commands:
Erase Screen (FF - 14): Takes about 1/30'th of a second, leaves the cursor
at the top left corner of the screen (0,0).
Carriage Return (CR 15): The usual, takes no time (just sets the cursor
register).
Linefeed (LF 12): The usual, timing simlar to CR. On the bottom
line of the screen, it will wraparound to the same horizontal
position on the top line of the screen, or it will cause scrolling
depending on a switch on the controller (wraparound is the prefered
mode of operation).
Back Space (BS 10): Moves the cursor back one character position.
In column 0, it moves the cursor back to column 79. (the last one)
of the SAME line. Thus its behavior is not analogous to
Cursor Right (which proceeds onto the next line).
Cursor Home (VT 13): Move the cursor to 0,0 (top left corner)
Cursor Right (TAB 11): Move the cursor one position to the right, without
erasing or chaning characters on the screen (note sending out
SPACE - ASCII 40 does erase, so this is used to forward space
without erasing). In the last column, this causes wraparound
to the next line, column 0. On the last line of the screen,
wraps to the top line or scrolls depending on the page mode switch.
Cursor Up (SO 16): Moves the cursor up one line, maintaining the
same horizontal position (like line starve or inverse linefeed).
On the top line, the cursor does not move (i.e. this is a no-op)
Cursor Address (SI 17): Absolute cursor position. The next two characters
specify the column and line of the cursor position, respectively.
The column character is computed by <c/10.>_4 + <c-<c/10.*10.>>
where c is the column number (origin 0) - this is sort of BCD like.
The row character is simply the row number (origin 0) + 100 (octal)
Thus 0,0 is ^O^@@ and 23.,79. is ^OyW
Don't have any information on keyboard characteristics for controllers that
have them.

172
doc/_info_/trmctl.houstn Executable file
View File

@@ -0,0 +1,172 @@
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

154
doc/_info_/trmctl.tek Executable file
View File

@@ -0,0 +1,154 @@
This file is intended as a summary of the Tektronics 4010
series operating manual for prgrammers needing such info.
Tektronics terminals are a storage tube, graphics display terminal
which means that no display hackery involving partial screen erase
is possible. 4010 is upper case only, 4012 is upper/lower case
and 4013 is a 4012 with switchable apl char set.
VITAL STATISTICS:
line length: 74
height: 35 lines
chars: 96 printable chars upper/lower case ascii or APL, 7x9 dot matix
graphics: cross-hair input, 1024x1024 point output
baud rate: 110-9600 baud.
hard copy: some units have a local hard copy unit (4610)
which can be computer initiated. output to the terminal
is ignored during hard copy cycle (8 secs).
Keyboard:
switches: local/line; APL/ascii-APL; reset; local clear;
tty lock (shift lock for alpha chars only)
auto repeat
i/o modes: several half and full duplex modes are switch select.
an option exists for sending a busy char when screen
is full.
Control characters:
^A-^F No effect (ignored)
^G rings the bell
^H Backspace
^I TAB. note (!!!) this losing tab only tabs one space, not 8
^J Line feed; wraps around to top of screen, center of screen.
Does not cause exit from graphics mode, as does CR.
Note: wraparound on end of line generates CRLF.
^K Vertical tab, opposite of LF
^L No effect; see escape ^L
^M CR and clear graphic modes
^N See escape
-^Z Ignored. Note ^V is used often as a pad character.
^] Sets terminal in graphics mode. Should not be used
while in GIN (graphics input) mode.
^_ Resets graphics mode to alpha mode.
$ Escape followed by the chars below:
^E Causes terminal status byte to be sent to
the computer and the location of the lower left
corner of the cursor in graphics units.
(this is for alpha mode)
In graph mode, sends terminal status and coordinates
of the display beam. In GIN mode, causes the
location of the cross hair to be sent.
^O Selects the ascii character set
^N Selects the APL character set
^L Screen clear (requires about 1.5 secs to clear)
also resets to alpha mode and homes the cursor
^Z enter GIN mode. Causes crosshair to be displayed.
^W Causes a hard copy to be made. Takes about 8 secs
chars sent to terminal during this time are ignored.
Status byte: BIT 8 Arbitrary
BIT 7 Always 0
BIT 6 Always 1
BIT 5 Hard copy bit; 0 means HC is available
BIT 4 Vector bit; 1 indicates terminal is in
vector drawing mode
BIT 3 Graph mode bit; 0 indicates graph mode
BIT 2 Margin bit; indicates left margin is set at
center of screen
BIT 1 0 indicates aux. devices connected
GIN mode address bytes: 4 char. address with 01 as bits 6 and 7
5 MSB X, 5 LSB X, 5 MSB Y, 5 LSB Y
Cursor Coords: Coords are given in graphics units
Conversions: Character takes up 14 points wide by 22 high
Cursor Positioning: Vertical motion by ^K (up) and ^J (down).
Horizontal motion ^H (back) <space> (forward).
Infinite backspaces (73) and vertical tabs (34) will cause home up.
Also clearing the screen will cause homeup. Cursor positioning
can also be accomplished by motion of the cursor with graphics
commands, but the calculations are more complicated.
Delays: Char writing time is 1 ms.
Vector writing takes 2 ms.
Hard Copy - Leave about 10 secs to be sure.
Enter GIN Mode - Leave about 20 ms.
Screen Clear - Leave about 1.5 secs.
End of Line (CR,LF) - PAD
TAB - See comments on ^I above - max 8 ms.
Graphics: ^] enters graphics mode. ^_ leaves it silently.
^M leaves it and does cr. ^J and ^K have their normal
function, but otherwise do not effect graphics mode.
Graphics Mode Features:
1) Absolute Position. All coordinate specifications are
absolute on a 1024 X 1024 matrix. Only 760 or so is
viewable in the vertical direction.
2) The first coordinate specification received causes
"dark" motion to that coordinate. Thus graphic positioning
requires re-entering graphics mode via ^]. It is not
necessary to exit. Thus ^]<4 BYTES><4 BYTES>^]<4 BYTES>
will move to the first, draw to the second, and move to
the third location.
3) Graph Mode Memory. Up to 4 bytes specify an X and a Y
coordinate. Bits 7 and 6 identify the meaning of the byte
(not their order): 01 is HI-Y(5 MSB'S), 11 is LO-Y, 01 is
HIGH X, 10 is LO-X (The ambiguity in HI-Y and HI-X will
be noted momentarily). The memory hack remembers previous
bytes so new bytes don't always have to be sent (sort of
a poor man's short vector mode!). The following
are the allowed byte sequences:
a LO-X
b LO-Y HI-X LO-X
c LO-Y LO-X
d HI-Y LO-X
e HI-Y LO-Y LO-X
f HI-Y LO-Y HI-X LO-X
Note that the HI-Y vs HI-X question is resolved
by whether LO-Y has been seen.
4) Vectors take about 2 millisecs to get written.
5) People dealing with "decoding" tektronix streams should also
note that <rubout> - 177 often appears twice in a row, when
the scheme above indicates it should only appear once.
Ignore the second rubout for correct decoding - it is a LO-Y
character and will be followed by LO-X or HI-X always.
Fonts: ESC ^O selects the ASCII font, ESC ^N selects APL (on 4013)
FOR MORE INFORMATION REFER TO TEKTRONICS 4010 SERIES USERS INSTRUCTION
MANUAL (AT LEAST ONE COPY OF WHICH IS KEPT IN 38-248).
------------
Color
The Tektronix 4105, 4107, (and maybe other) terminals are raster (not
storage tube) terminals compatible with the old terminals. They have
three bit planes which map 8 colors into a moderate number of possibilities.
Color command is
ESC M L <index>
where <index> is an ascii digit from "0" to "7" (60 to 67 octal).
Default mapping from index to color is
0 - black 1 - white
2 - red 3 - green
4 - blue 5 - cyan
6 - magenta 7 - yellow