Brian Nelson 21-MAY-1985 11:34 29-JAN-1986 15:25 21-APR-1986 10:21 This is yet another text editor which was first written a few years ago in Macro-11 and used on RT, RSTS/E and RSX. The Macro-11 version (not included here) predates EDT change mode, which is one of the reasons why it was written to start with. This is a complete redesign and rewrite in C with some Macro-32. It functions as both a line editor and full screen editor. The main reason it was rewritten in C was for portability and to be able to run in native mode. Documentation is in the *.MEM files and also in online help. Note that it is copyrighted and can not be ported to any other system and sold. It does allow multiple paste buffers and multiple file windows, see HELP and notes at the end of this document. The PDP11 task image dynamically determines actions at run time based on the underlying operating system, thus the same task image run under P/OS, RSX11M+ and RSTS/E. On the PDP11, it takes 38KW user + 4KW shared. The shared section is clustered against RMSRES for RSTS/E and P/OS. On RSX11M Plus v 3.0 you can recompile and task build with RMSRES as a supervisor mode library (on the PDP 11/44, 11/70, 11/73 and 11/84) and get a very significant improvement in speed due to the elimination of the constant remapping back to the first library from RMSRES. The file TEDSUP.TSK takes advantage of this. The file TEDID.TSK is an I/D space version of this editor; it runs on 11/44's and J11 based systems under RSX11M+ and MicroRsx V3, and is currently being used on RSTS/E 9.3 The speed difference between TED.TSK and TEDID.TSK (or TEDSUP.TSK) is quite dramatic, the difference in file loading and writing being almost three to one. This points out the price you pay when you use clustered resident libraries. While the use of such an editor could be considered by some to be of questionable value now that TPU is available, this one does run on VMS and the PDP11 execs (RSTS/E, P/OS, RSX11M+). There is no reason why it could not be ported to RT11 and MSDOS, giving the appropiate exec interface. You have full source here. To install: P/OS Copy TED.TSK to [userdisk] and *.HLP to [001002] Copy EDRESL.TSK to [001001]. Do an INS [001001]EDRESL EDRESL is a cluster library against RMSRES. as in: $ cop/cont dz1:[ted]ted.tsk ted.tsk $ cop/cont dz1:[ted]edresl.tsk lb:[1,1] $ cop dz1:[ted]tedvt220.hlp lb:[1,2]tedvt100.hlp $ ins lb:[1,1]edresl $ run ted Also, the logical TED$TEMP is the first choice for it's work file location, otherwise it goes in current default. You can, of course, download via Kermit-11 to the PRO for all files needed. The *.HLP files are FIXED 512. The P/OS version also allocates a 18 KW dynamic region to cache the workfile and to allocate space for a reasonable number of workfile buckets. Currently you would overflow a RD52 before running out of space in the region. RSTS/E This version will ONLY run under version 9.0 or later. It needs dynamic region support, which was lacking in previous versions of RSTS/E. Copy the TED.TSK image to someplace where you want it, with a 234 protection code. Copy the files *.HLP to LB:[1,2] with a protection of 40. Create a CCL for it. In the following, the account SY:[0,250] is assumed to exist. If your CPU supports I/D space, replace 'TED.TSK' with the file 'TEDID.TSK'. If this is used by users lacking the INSTAL priviledge, you will have to put a <234> protection on the task image. $ copy ted.tsk [0,250] $ copy edresl.lib [0,250] $ ins/lib [0,250]edresl $ def/com/sys SED [0,250]ted.tsk $ def/com/sys TED [0,250]ted.tsk $ set prot=234 [0,250]ted.tsk As in P/OS, the logical TED$TEMP will be attempted first for the work file. If that fails, it goes into SY:. Privileges are up only for the region creation, they are not up at the time of work file creation. RSX11M+ Basically the same as P/OS and RSTS/E. TEDID is an I/D space image, TEDSUP.TSK uses RMSRES in supervisor mode. VMS Copy TED.EXE to sys$system:TED.EXE and sys$system:SED.EXE Install them as foreign commands as in SED :== $SED TED :== $TED Run INSTALL and add them /shar/head/priv=exquota, as in: $ set verify $ ass/sys sys$sysroot:[syshlp] ted_help $ cop 1:[brian.ted]ted.exe sys$system:ted.exe/prot=w:re $ cop 1:[brian.ted]ted.exe sys$system:sed.exe/prot=w:re $ cop 1:[brian.ted]tedsubpro.com ted_help:tedsubpro.com/prot=w:re $ run sys$system:install sed/del ted/del sys$system:sed.exe/shar/head/priv=exquota sys$system:ted.exe/shar/head/priv=exquota /exit $ set noverify $ exit The EXQUOTA priv is desired so the editor will never die due to running out of space for it's work file but is not absolutely required. Add logical TED_HELP as in ASS/SYS SYS$SYSROOT:[SYSHLP] TED_HELP Copy TEDVT100.HLP and TEDHELP.HLP to TED_HELP with W:R access Copy TEDVT100.HLP to TED_HELP:TEDVT220.HLP also. If you assign a process logical called TED_TEMP to another device and directory and have the privilege to access it, TED will place it's workfile there. You are all done. Differences from the PDP-11 version: 1. There is no pratical limit on the size of the file being edited, as in the PDP-11 version TED uses a work file which is internally LRU cached. The size of the cache is based on your WSQUOTA. The internal index used to access the work file is dynamic, it will grow when need be. This 'new' TED (the one written in C), on the PDP-11, will create an 11 KW dynamic region to cache the workfile and store pointers. 2. New commands in the screen editor include GOLD @ and GOLD #, see the screen editor help menu (GOLD H) for information. (VMS only) 3. The editor creates a process logical called TED_LAST_FILE_EDITED so it can remember the last file edited. (VMS only (so far)) 4. All I/O is done in RMS in Macro-32 for speed, i/o thruput is not a strong point of the C language. 5. Gold B now selects alternate windows. Gold 3 selects alternate paste buffers. 6. The VT220 is supported ala the command SET TER VT2 or by checking the terminal type set (normally) by $SET TER/INQ in LOGIN.COM. The FIND, INSERT HERE, REMOVE, SELECT PREV SCREEN and NEXT SCREEN keys are supported. Under P/OS, VT220 mode is assumed. For edit history, see EDMAIN.C