diff --git a/doc/_info_/doc.info b/doc/_info_/doc.info new file mode 120000 index 00000000..60e3fab1 --- /dev/null +++ b/doc/_info_/doc.info @@ -0,0 +1 @@ +info/pr.> \ No newline at end of file diff --git a/doc/_info_/fido.order b/doc/_info_/fido.order new file mode 100755 index 00000000..f68698e3 --- /dev/null +++ b/doc/_info_/fido.order @@ -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.... + +  \ No newline at end of file diff --git a/doc/_info_/its.binfmt b/doc/_info_/its.binfmt new file mode 120000 index 00000000..24d49d51 --- /dev/null +++ b/doc/_info_/its.binfmt @@ -0,0 +1 @@ +sysdoc/binfmt.> \ No newline at end of file diff --git a/doc/_info_/its.clo b/doc/_info_/its.clo new file mode 120000 index 00000000..f1fc0988 --- /dev/null +++ b/doc/_info_/its.clo @@ -0,0 +1 @@ +sysdoc/clo.> \ No newline at end of file diff --git a/doc/_info_/its.intrup b/doc/_info_/its.intrup new file mode 120000 index 00000000..4281b762 --- /dev/null +++ b/doc/_info_/its.intrup @@ -0,0 +1 @@ +sysdoc/intrup.> \ No newline at end of file diff --git a/doc/_info_/its.job b/doc/_info_/its.job new file mode 120000 index 00000000..6377392f --- /dev/null +++ b/doc/_info_/its.job @@ -0,0 +1 @@ +sysdoc/job.> \ No newline at end of file diff --git a/doc/_info_/its.locks b/doc/_info_/its.locks new file mode 120000 index 00000000..adaa5547 --- /dev/null +++ b/doc/_info_/its.locks @@ -0,0 +1 @@ +sysdoc/locks.> \ No newline at end of file diff --git a/doc/_info_/its.magtap b/doc/_info_/its.magtap new file mode 120000 index 00000000..848e84ed --- /dev/null +++ b/doc/_info_/its.magtap @@ -0,0 +1 @@ +sysdoc/magtap.> \ No newline at end of file diff --git a/doc/_info_/its.ncp b/doc/_info_/its.ncp new file mode 120000 index 00000000..43cedae7 --- /dev/null +++ b/doc/_info_/its.ncp @@ -0,0 +1 @@ +sysdoc/ncp.> \ No newline at end of file diff --git a/doc/_info_/its.tty b/doc/_info_/its.tty new file mode 120000 index 00000000..3d1bc2b5 --- /dev/null +++ b/doc/_info_/its.tty @@ -0,0 +1 @@ +sysdoc/itstty.> \ No newline at end of file diff --git a/doc/_info_/its.tv b/doc/_info_/its.tv new file mode 120000 index 00000000..44df4fc6 --- /dev/null +++ b/doc/_info_/its.tv @@ -0,0 +1 @@ +sysdoc/tv.> \ No newline at end of file diff --git a/doc/_info_/its.ufd b/doc/_info_/its.ufd new file mode 120000 index 00000000..b4b398ca --- /dev/null +++ b/doc/_info_/its.ufd @@ -0,0 +1 @@ +sysdoc/ufd.> \ No newline at end of file diff --git a/doc/_info_/its.usr b/doc/_info_/its.usr new file mode 120000 index 00000000..f7fcbde2 --- /dev/null +++ b/doc/_info_/its.usr @@ -0,0 +1 @@ +sysdoc/usr.> \ No newline at end of file diff --git a/doc/_info_/rmail.order b/doc/_info_/rmail.order new file mode 100755 index 00000000..b213f3ae --- /dev/null +++ b/doc/_info_/rmail.order @@ -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:; 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 "/", include "; 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:; 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*" +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 ";^A OMAIL,COMMON;,/" as the command string. +It means, according to the above rules, +to concatenate ; OMAIL, COM: OMAIL, +and the user's mail file (either ; MAIL +or COMMON; MAIL) with ; 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 ; 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: 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*", 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. + \ No newline at end of file diff --git a/doc/_info_/rmail.recent b/doc/_info_/rmail.recent new file mode 100755 index 00000000..a1aba204 --- /dev/null +++ b/doc/_info_/rmail.recent @@ -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. 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. +î \ No newline at end of file diff --git a/doc/_info_/spell.info b/doc/_info_/spell.info new file mode 120000 index 00000000..5e5faf4e --- /dev/null +++ b/doc/_info_/spell.info @@ -0,0 +1 @@ +info/spell.> \ No newline at end of file diff --git a/doc/_info_/teco.error b/doc/_info_/teco.error new file mode 100755 index 00000000..53c5240c --- /dev/null +++ b/doc/_info_/teco.error @@ -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 + \ No newline at end of file diff --git a/doc/_info_/teco.order b/doc/_info_/teco.order new file mode 120000 index 00000000..71c4caff --- /dev/null +++ b/doc/_info_/teco.order @@ -0,0 +1 @@ +_teco_/tecord.> \ No newline at end of file diff --git a/doc/_info_/trmctl.aaa b/doc/_info_/trmctl.aaa new file mode 100755 index 00000000..915ed0ed --- /dev/null +++ b/doc/_info_/trmctl.aaa @@ -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 _4 + > + 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. diff --git a/doc/_info_/trmctl.houstn b/doc/_info_/trmctl.houstn new file mode 100755 index 00000000..991e4d54 --- /dev/null +++ b/doc/_info_/trmctl.houstn @@ -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 "" 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 + diff --git a/doc/_info_/trmctl.tek b/doc/_info_/trmctl.tek new file mode 100755 index 00000000..01bf0458 --- /dev/null +++ b/doc/_info_/trmctl.tek @@ -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) (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 - 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 + +where 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