

                                    EDMACS

                          Installation Instructions
                                  For RSTS/E
                                      By

                               Michael A. Bloom

There are three steps to getting a working EDMACS on your rsts/e system.
For other than RSTS/E, some additional work described later may be needed.

                                    STEPS

1) Choose a PPN to place the distribution files. It should be empty before
   you begin.
2) Load the files into that PPN from the tape. 
3) Fix directory references within the distribution.  In the following
   procedure, "p,pn" refers to the PPN you chose above.

	mung fix [p,pn]

   The above command should make all of the necessary PPN reference
   alterations.  A report of changes will be echoed at the crt.

   The file edm.rel contains the code to EDMACS, which may now be run
   by saying MUNG EDM.REL. The manual in EDMACS.DOC now applies.
      ----      ----      ----      ----      ----      ----      ----
   On the CSUN RSTS/E system, the file EDMACS.TEC is a front end to the 
   real current release, called EDM.REL.  (Edmacs.tec just prints an 
   informational message and then EI's EDM.REL.)  If you don't want to 
   print the informational message, you can install EDM.REL under the
   name EDMACS.TEC, discarding the supplied EDMACS.TEC .


The source is in DP.TEC.  If you change it, RUN MAKE, which leaves EDM.REL, a
condensed version in the text buffer.  When MAKE gives you a TECO prompt,
you need to say to TECO: ewedm.rel$ex$$.  This writes a new EDM.REL. MAKE
has also written a new 'bind.key' (This file contains the dispatch table. 
When you start edmacs up, This table is read in at one shot instead of being 
built command by command.).  Bind.key is written automatically. 

	(If you have made changes to DP.TEC, you should choose
	 a name other than edm.rel to save the new version under.
	 This will allow you to test your changes before you 
	 replace any existing edm.rel.
	)

There exists another version of make called NUMAKE. The only
difference is that it reads the file called NEWEDM.TEC instead of DP.TEC
and it writes TEMP.KEY instead of BIND.KEY.  This can provide some added
security when making changes.

*.TXT are the various help files and the INSTANT POCKET GUIDE.

* Refcrd.txt may be photoreduced so that both pages fit on a single
  side of an 8.5 by 14 sheet of paper. Fold this in half and then
  in thirds and you have a handy instant pocket reference.
  
*.RNO and *.DOC are the documentation files.

                              CHANGES TO EDMACS
When you make changes to EDMACS, be sure to comment them in standard
format:
!* comment text !
A comment should start with "!*" and end with an exclamation point. There
should be NO other text on the line after the closing '!'.  Lines containing
code that should be executed by MAKE if make is run, should begin with:
!.B!
Such lines will be executed during startup if DP.TEC is run, but if make
is run,  make will execute them internally, and remove them from the text
buffer before you write out an EDM.REL.  All the dispatch table loading
commands in DP.TEC begin this way, and thus are never present in the file
EDM.REL, to which make has edited in commands to load the dispatch table
from the file BIND.KEY.

       ***** DISCLAIMER **** **** DISCLAIMER **** **** DISCLAIMER ****

Many references are made in the documentation for the use of Teleray 10
terminals. As distributed, TECO supports four terminal types: vt52 (type 0),
vt100 in vt52 mode (type 2), vt100 in ansi mode (type 4), and vt05 (type 6).
CSUN has changed the CRTRUB.MAC file from the TECO distribution so that 
type 6 supports teleray 10's instead of VT05's.  The modified CRTRUB.MAC
is included in this distribution. If you have teleray 10's, you will want
to rebuild teco using it.  

If you are using vt05's you should beware that there is some code in
EDMACS that uses some t10 specific sequences when the terminal type is
class 6.  These can be removed, as they are only used for type 6. To find 
them, search for the string:  0:w-6"=

                              NON DEC TERMINALS

If you are using other non-dec terminals, and have modified CRTRUB.MAC
to support them, you will want to modify the commands in Q register E,
the terminal special function macro. All special terminal control not done
by TECO's terminal driver is done through this macro. 
Here it is (commented):

@^UE/
 Ui+0UJ                           !* accept one or two arguments.           !

 QJ"=                             !* if only one arg (arg2 is 0)            !
    155^T                        !*  put out escape                        !
    Qi"A                          !* if arg1 is alphabetic                  !
        0:w-4"=^^[^T'             !*  and an ansi vt100 , then put out a "["!
      '
    Qi^T                          !* put out arg 1                          !

   |                              !* else - two args                        !
    155^T                         !* put out escape                         !
    0:W-4"N                       !* if not ansi vt100                      !
          ^^Y^T                   !* cursorpos leadin                       !
          QJ+31^T                 !* y coordinate                           !
          QI+31^T                 !* x coordinate                           !
         |                        !* else its an ansi terminal              !
          ^^[^TQj:=^^;^TQi:=^^H^T !* put out ansi cursorpos sequence        !
         '
   '
If you change it, the macro should perform cursor positioning when it gets
two arguments, and should take the following single args:
^^J : clear to end of screen.
^^K : clear to end of line.
^^H : home cursor
If you add a very foriegn terminal, say an adm3, you may need to 
conditionalize the code in this macro further. 
---------------------------------------------------------------------------
                                    RSX-11

Installation on RSX-11 is fairly similar, although the current version of
MAKE produces lines that are too long for TECO command files on RSX. You
can probably squish it safely, tho....I haven't tried it.  EDM.REL,  DP.TEC
and any other macros will need to have the line:
0ed
added to the beginning of them for RSX (and probably VMS) if they don't 
already start with it..
It is safe to search for all occurences of !* in dp.tec, and delete
to the end of the line.

For RT-11, you need to remove all PPN/UIC references, possibly replacing
them with device specs. Again, you can use FIX.TEC (with perhaps
a little bit of editing) for this.



Maintanence of EDMACS is simple and straightforward:  On the RSTS/E
system,  none should be required.  None should be needed for transporting
EDMACS to RT11 systems, with the single exception that reference to any
acount numbers should be deleted.  This occurs only in the HELP command
which gets data from help files in the PPN [44,22] (on the CSUN RSTS/E
system). On RT-11 and RSX systems, you should be able to edit by
running DP.TEC.  Some changes may be needed to make.tec to produce
a working edm.rel on systems other than rsts/e, however.

Most of EDMACS' commands are bound to routines located in 6 q-registers.

They are : QJ,QO,QR, QS, QT, and Qu.
(Edmacs uses other registers, but for lower level routines than the
commands that are bound to keys)

                      About the command q-registers

Each routine in a given command Q register has a number which distinguishes
it from all off the other routines in the same Q register.  For each command
Q register there is one help file called HLP?.TXT where '?' is the 
Q register's name.  The files are organized as TECO pages,  help on
one command per page. The pages are numbered consecutively from 0 to the
highest numbered routine in that Q register.  Most of the help files have
an empty page 0,  since most o the q registers do not have a routine 0.
(this may change)  It is necessary to leave blank pages in help files when
there is a gap in numeric sequence in order that EDMACS can access the 
correct page for higher numbered routines.

Help files:
	[44,22]HLPJ.TXT<40>
	[44,22]HLPO.TXT<40>
	[44,22]HLPR.TXT<40>
	[44,22]HLPS.TXT<40>
	[44,22]HLPT.TXT<40>
	[44,22]HLPU.TXT<40>
	[44,22]SCREEN.TXT


A TECO macro for changing PPN/UIC references is provided with the EDMACS
distribution. It is called FIX.TEC.  It can be used for changing all
occurences of the original EDMACS PPN/UIC's to whatever PPN/UIC you 
decide. the command is:

	MUNG FIX ext=[p,pn]

where ext is the extension of the files you wish to change. This step
is necessary for RSX users since their UIC's are in octal rather than
decimal.  RT-11 users will probably have to remove PPN/UIC references.
Text edit FIX.TEC to contain the UID's that you want.

For RSX-11 users (and perhaps VMS users),  the first line of the
EDMACS code must start with "0ED" This sets the ED flag within TECO
to 0.  RSX-11 TECO initializes this flag to one.


For those who have partial (or complete) source to TECO, three
files of interest are present.  CCLCM2.MAC contains a macro-11
version of EDMACS that may be linked in to TECO in place
of the CCLCMD.MAC (or CCLCMD.OBJ) that comes with the TECO
distribution.  The advantage of doing this is that EDMACS
will load a heap faster since it will be located in the initial
startup overlay. 

The file CCL.tec contains a TECO macro for building CCLCM2.MAC.
It  may also,  with a little bit of editing be  used to prepare
MACRO-11 code from other TECO programs.

CRTRUB.MAC contains modifications to TECO to support Teleray 10
terminals. 
    ----------------------------------------------------------------------
         INFO   INFO   INFO   INFO   INFO   INFO   INFO   INFO   INFO

A useful utility called INFO is also included. You may try it.
It is functionally based upon the ITS INFO package that runs under
*REAL* (ITS) Emacs.  The text layout conventions it uses are 
compatible with that of ITS INFO. (or twenex XINFO)

I expect it should work if you have teco v35 or later, but I
make no promises about it.  You may have to edit out some default
PPN/UID's (athough FIX has edited in a working PPN )
You may notice a small table at the end of some info files.
This table speeds up INFO's operation considerably. It is produced
by ei'ing compile.tec.  It is not necessary to use this however
If the table is not present in an info file, it just wont be used.

