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.