TSR Edit v2.1 Editor by David Steiner Manager by Mark Van Kekerix March 20, 1987 TSR Edit is a user supported program. To encourage further development a donation of $20 is suggested. As we do not expect everyone to consider this program worthy of such a donation we will take what we can get. A record will be kept and registered users will be notified upon substantial changes. David Steiner 2035 J #6 Lincoln, NE 68510 Special thanx to those who helped by putting source code in the public domain or elsewhere and saving us time and effort: STAYRES Lane Ferris Karson W. Morrison Lynn A. Canning This group of routines is excellent for resident programs and windows from Turbo Pascal. DISPLAY Keith G. Chuvala A fast inline routine to do screen updates. It is easy to use and takes up little code space. INT24 Bela Lubkin These routines replace/enhance Turbo Pascal's IORESULT function and include DOS error trapping for critical errors. They can be found in Programmer's Journal May/June 1986 edition. TSR Edit v2.1 - page 2 TSR Edit v2.1 Editor by David Steiner Manager by Mark Van Kekerix WHAT YOU NEED This program should have been distributed as two separate archive files. One file should be the program itself with a short documentation file, the other file contains this documentation file and a small utility program. We decided to distribute this way to allow people to download the essentials for a test run and later get the documentation if the program is deemed worthy. This will also allow a shorter download if/when a later version comes out. This is especially important to those of us using information networks that cost. The contents of the archived files are as follows: TSRED21A.ARC: TSREDIT.COM The editor and file manager. TSREDIT.RM Short explanation of program. TSRED21B.ARC: TSREDIT.TXT This documentation file. REPTAB.COM Program to change tabs in a file to spaces. REPTAB.PAS Source for REPTAB.COM If you like this program (or even if you don't) feel free to distribute it to other users. Please keep the files archived as shown above and distribute both together. GETTING STARTED All that is required to run this program is to type 'TSREDIT' at the DOS prompt. You will see a short message telling you if the program was loaded and, if so, how much data space it is employing. This value should be 30000 if you have sufficient memory, otherwise it will adjust itself to fit or give an error for insufficient memory. This will be covered in more detail under MEMORY MANAGEMENT, as well as an explanation of the command line option. TSR Edit v2.1 - page 3 Alt-F9 will call up and exit TSREDIT. Control-F9 quits the editor and releases its memory back to the system. We don't suggest using this option if you have loaded another resident program after it, as it will create a hole. Definitely do not use this option if you are currently within another program as you will then halt that program also, without releasing its memory. Most of the commands used are listed in the help windows (F1 in the editor) and should be self-explanatory. A quick look at the command summaries below is suggested. Then proceed on to the last section on MEMORY MANAGEMENT to get a good idea of this program's use of memory (this gets repeated over and over 'cause its important). TSR Edit v2.1 - page 4 TSR EDIT IN GENERAL TSR Edit is actually two programs in one. The first is the File Manager, which allows some limited, but handy, DOS functions. The second is the Editor, which is a fairly powerful text editor (not a word processor). This program will allocate itself as much memory as you tell it to from the command line (in addition to its code space of 75K). It defaults to 30K of data space, but will us from 10 to 65« kilobytes. The two subprograms of TSR Edit share the same data space for their buffers. The file manager uses this area for a copy buffer while the editor uses it for its work file. You may toggle between the file manager and editor by using the Alt-F10 key combination or exit from either using Alt-F9. To call TSR Edit up again just type Alt-F9 and it returns to wherever you exited from. You may notice that if you exit using Alt-F9 and then try to re-enter right away you hear a beep. This means that the residency routines are passing the key combination to their normal destination. If you are using another resident program that requires the Alt-F9 key combination to start this should allow access to it. With version 2.1 a check has been added to see if you are in the correct video mode to call up TSR Edit. If you are not in an 80 column text mode you will get a double beep when pressing Alt-F9. This was done so you don't have your graphics screens demolished by accident. In several instances you will be confronted with yes or no questions. When this happens there will be a default answer shown, to accept that just hit ENTER. Otherwise you may toggle the answer with the SPACE BAR or type Y or N as appropriate and press ENTER. In order to keep this program from bombing if you happen to have a DOS error, there have been some error trapping routines added. When an error occurs you will (hopefully) be presented with a 'Error: doserror' message telling you what the problem is. After this the program will continue as best it can or abort the offensive function. A common example of a previously tragic error would be switching to drive A with no disk present. Now you just get a nice little message telling you it's not ready. Now, on to the in-depth descriptions. TSR Edit v2.1 - page 5 THE FILE MANAGER IN DETAIL FUNCTION KEY SUMMARY: F7 Mark file F8 Remove mark from file F9 (Alt) Exit file manager F9 (Ctrl) Exit file manager and release memory F10(Alt) Switch to editor CURSOR KEY SUMMARY: Up-Arrow Move up one entry Down-Arrow Move down one entry PgUp Up one window PgDown Down one window ALT-KEY SUMMARY: A Active path C Copy marked entries D Delete marked entries E Erase marks F Free space on disk G Get default directory L Load file to Editor M Mask directory R Rename file X Toggle color/monochrome settings NOTES ON THE FILE MANAGER The right window of the file manager contains a summary of the commands used as well as some information about its current path and mask. The current drive and directory are found on the second line from the bottom, followed by the current mask. The left window will contain the current directory listing. The maximum number of entries it will hold is 255. If there are more entries than this an error message will be presented to make sure you take note. If this happens, one way around the problem is to use the mask option described below to reduce the number of entries shown. The file manager was designed to allow limited DOS functions while still within another program that may not have such operations. It is not intended as a full-fledged directory management program. Because of this it only lists files in a directory, not any sub-directories that may branch from it. It is also helpful to keep in mind TSR Edit v2.1 - page 6 that if you can't find a file that should be in a directory, or if there are no entries, you should check the current mask setting before assuming the directory is empty. Whenever you exit the file manager the program resets the default drive and path to whatever it was upon entry. This is done to minimize problems that may occur when entered from within some other program. Since the DOS error trapping was instituted the program will not exit until it can find that path. Keeping this in mind, if you are trying to exit and keep getting DOS errors it may well be from having removed the disk it is looking for. All you have to do is replace that disk and all will be well. Finally, it is up to you to use these functions with discretion when the file manager is entered from another program. It is not wise to delete or rename files that another program was using. You could get an unpleasant surprise. DESCRIPTIONS OF FILE MANAGER FUNCTIONS F7: MARK FILE Use this key to mark a file to be copied or deleted. F8: REMOVE MARK If you change your mind about a file to be copied or deleted then use this to remove its mark. F9: EXIT FILE MANAGER This function controls entering and exiting TSR Edit. Alt-F9 will exit back to DOS or whatever program you may have called it from, data and current position in the editor intact. Control-F9 is a much more complicated matter, and not because you have to reach farther to hit them both at the same time. This key sequence will exit the program for good and release its memory. If other resident programs were loaded after it a hole is created. This is not a very serious matter, but irritating and wasteful. However, if you attempt this from within another program you will terminate it also and its memory will remain allocated. Then you don't have a hole, the memory is just gone and you have to reboot to get it back. Finally, this function does not warn you if your editor file has not been saved so watch that too. Be sure consider all of this BEFORE a Control-F9 operation. TSR Edit v2.1 - page 7 ALT-F10: EDITOR This key combination will transfer control to the editor. See THE EDITOR IN DETAIL. ALT-A: ACTIVE PATH This option allows you to set the path used by the file manager. Just type the new path name when asked as you would from a DOS prompt. If the directory you want to go to is a branch of the current path just type that directory name, or if it is off the root directory then start the path name with a '\'. You may change drives by typing the drive letter and a colon (again, just like from a DOS prompt). Entering a drive change this way also remembers the current path setting on that drive (to get the root directory add a '\'). Trying to change to a drive that is left open will reset the active path to the current drive and default path. ALT-C: COPY MARKED ENTRIES Setting up to use this function is easy, just mark the entries you want to copy and hit Alt-C. The next window is more difficult to get used to though, as it relates to the shared data space of the file manager and the editor. At the top of this window you will see the amount of memory allocated to each of these two subprograms. The copy buffer must be at least 10K to remain useful, so this function will not work with less. For now, we'll assume that the data is saved and just reply yes to the "release editor memory" prompt. The next prompt then asks for the destination path. Just type in where you want it to go as if it were the last part of a copy command from the DOS prompt. Now the files are copied to the destination in whatever size blocks will fit in the copy buffer at one time. Please refer to MEMORY MANAGEMENT for a better understanding of why the editor must be cleared. After a successful copy you will notice that the marks you set have been erased. This may be a little disturbing if you intended to delete the files from the current directory next, as you will have to mark them again. Alas, there is a larger purpose. When a large number of files are copied, some of them may not make it due to lack of disk space or whatever. When this happens a message is displayed briefly and files that have not been copied will remain marked. This is extremely useful when copying several files from a hard disk to floppies. If some don't make the transfer just change floppies and enter Alt-C again. TSR Edit v2.1 - page 8 ALT-D: DELETE MARKED ENTRIES This function just deletes the files that are currently marked. Before allowing a delete it asks if you are sure and tells you the number of files you have marked. ALT-E: ERASE MARKS This option is just a quick way to remove all the marks you have set. You could use the F8 key on all the entries also, but that's a bit tedious. ALT-F: FREE SPACE ON DISK If you want to know how much free space is on a disk you'll have to ask for it. Just type Alt-F and tell the program which drive you want to check the free space of. If you ask for a drive that DOS doesn't recognize you get an error saying 'Unknown unit'. ALT-G: GET DEFAULT DIRECTORY This key combination allows you to reset the file manager's active path to whatever the default directory was when you entered TSR Edit last. ALT-L: LOAD FILE TO EDITOR This function was added to make loading a file to the editor easier. Just point the side marker (¯) to a text file and enter Alt-L. You are prompted as to whether or not you want to load this file. Answer yes and the file is loaded and control passed to the editor. Note that it does not erase the editor's data space first, but inserts the data wherever you left the cursor sitting. The inserted block will be highlighted. ALT-M: MASK ENTRIES This allows you to set a mask to be used on the directories loaded into the File Manager. The current mask is shown in the right window at the bottom. It starts out as '*.*' but once changed it remains set until Alt-M is used again. This can be very handy to reduce large directories to a more easily handled size. TSR Edit v2.1 - page 9 ALT-R: RENAME FILE To use this option point the side marker at a file to be renamed and press Alt-R. You are then prompted for a new name. Should you change your mind just press ENTER. ALT-X: TOGGLE COLOR/MONOCHROME SETTINGS This option is for those who don't have the luxury of a color monitor (or don't like our colors). If you're system doesn't show the initial colors well, hit Alt-X and the display will be in white and light gray. TSR Edit v2.1 - page 10 THE EDITOR IN DETAIL FUNCTION KEY SUMMARY: F1 Editor help menu F2 Editor information menu F7 Mark block begin (Alt) Goto block begin F8 Mark block end (Alt) Goto block end F9 (Alt) Exit editor (Ctrl) Exit editor and release memory F10 Enter character number (Alt) Switch to file manager CURSOR KEY SUMMARY: Arrows Move cursor Ctrl-Lft Left one word Ctrl-Rt Right one word Home Beginning of line (Ctrl) Top of window End End of line (Ctrl) Bottom of window PgUp Up one window (Ctrl) Top of file PgDown Down one window (Ctrl) Bottom of file Ins Toggle insert/overwrite mode Del Delete character under cursor BackSpace Delete character behind cursor Tab Tab (mode depends on Ins toggle) (Shft) Tab (depends on NOT(Ins toggle)) ALT-KEY SUMMARY: C Copy block to cursor position D Delete block E Erase Editor memory F Find string L Load a disk file to cursor position M Move block R Repeat last find S Save data to disk file W Window size & tab increment set X Toggle color/monochrome settings Y Delete line at cursor position Z Restore current line TSR Edit v2.1 - page 11 NOTES ON THE EDITOR Those of you familiar with the Turbo Pascal Editor will notice the striking (almost scary) similarities between it and this editor. That is because I happen to like the Turbo Editor and used many of its ideas while creating this program. This editor was originally designed to allow a quick way to edit batch files and such without specifically loading some other editor. Other applications include editing script files for communications programs without having to exit, changing an include file while still editing the main program in Turbo Pascal, or referring to source code while writing documentation as I am now. I also found it to be my favorite editor for writing assembly code (no reloading an editor and source file after an assembly or link). As a restriction of Turbo Pascal I have had to impose a maximum line length of 253 characters. You may think it should be 255 but there are problems when I get to close to the maximum string length. For now, I think 253 is reasonable. DESCRIPTIONS OF EDITOR FUNCTIONS Most of the cursor keys are self-explanatory and are left out of the following descriptions. The exceptions are the Backspace and Tab keys. F1: HELP This function key simply pops a help window that lists all the Alt-Key functions as a quick reference. F2: EDITOR INFORMATION This window displays a lot of helpful information about the Editor's current status. First it lists the insert\overwrite status, followed by the current tab increment. The next three lines list the current Editor file's size and the amount of memory allocated to the editor (effectively the maximum file size). The last line is simply the current file name the editor is using if one has been specified in a load or save. TSR Edit v2.1 - page 12 F7: BLOCK BEGIN This key marks the beginning of an area to be used for block manipulations. If the end of the block occurs later in the file then the area will be highlighted. Holding the Alt key while pressing F7 is a quick way to get the beginning of a block. F8: BLOCK END F8 is very similar to F7 except it marks the block's end position. Alt-F8 will jump to the block end. F9: EXIT TSREDIT See the description above under THE FILE MANAGER. F10: CHARACTER ENTRY / FILE MANAGER Here is an interesting function (and useful by my standards). After F10 is pressed a small window appears asking for a character number. Here you may enter the ASCII number of any character (hex or decimal) and it will be inserted as though you typed it. To enter a hex number precede it with a '$' (eg. $CE for character 'Î'). It will accept any number from 1..255, other numbers or no entry are interpreted as a space character. Note that it honors the insert/overwrite toggle. Alt-F10 will transfer control to the file manager. See THE FILE MANAGER IN DETAIL. BACKSPACE: DELETE CHARACTER TO LEFT The backspace is fairly well understood by most people but there is a situation to note with this editor. When you at the beginning of a line and hit the backspace the current and previous lines are concatenated. This is true unless the concatenation would produce a line longer than 253 characters (our maximum line length). If this occurs the backspace just doesn't function. Should you still wish to concatenate these two lines you must shorten one of them until they will fit on one line together. TSR Edit v2.1 - page 13 TAB As mentioned above the tab is dependent upon the insert\overwrite toggle. This means that if you are in insert mode the tab key inserts the proper number of spaces and if you are in overwrite mode it just goes to the proper location. This is where the Shift- Tab option comes in. If you are in insert mode but do not want the tab to insert spaces then hold the shift and it acts as if the editor were in overwrite mode. The inverse is true if the editor is in overwrite mode to start with. The tab increment is set with the Alt-W command described below. Changing the tab increment has no effect on text already placed, as the tab key only inserts spaces. Although a format line might be nice to allow variable spacing between tab marks, again I stress that this is not a word processor. ALT-C: COPY BLOCK This function will copy the highlighted block (described above under F7 & F8) to the current cursor position. It then becomes the new marked block. Note that to use any of the block commands you must be outside of the highlighted area. No response indicates that there isn't enough free memory to add another copy of the block or the current line will exceed 253 characters if text is inserted. ALT-D: DELETE BLOCK This will delete the current marked block. The begin and end marks are then both placed where the vacated area was. Your current position is also placed at this location. Note that this function works even if the highlighted area is not on the screen (in other words, make sure you know what you are deleting). ALT-E: ERASE EDITOR MEMORY This function just clears the editor data so you may start a new file or load a fresh one. It will (should, anyway) let you know if you have altered the data since it was loaded or saved last. TSR Edit v2.1 - page 14 ALT-F: FIND STRING This limited version of a find function was added so the editor would have the basics. The first prompt asks for a search string and the second pertains to case sensitivity. Searches are from the current position to the end of the file. While searching it pops a window just to let you know its working. The search may be repeated with the ALT-R function described below. ALT-L: LOAD FILE After pressing this key combination you will be prompted for the file name to load. You just enter the file name and hit ENTER. If the file is somewhere besides the current default directory you must also include the path. To abort this function just hit ENTER with no file name. You may also load a file from the File Manager with its Alt-L function. If you are loading after data is already in the editor, the loaded block will be highlighted. After the file is loaded the full path and file name are kept by the editor to make sure it gets returned to where it belongs. This name may be used by the save option described below. The editor will load as much of a file as it has room for, then stop when it gets within 253 bytes of the end of the data space. This also produces an error message to make sure you notice. Also, if any lines in the loaded file exceed 253 characters they are truncated. This can occasionally be frustrating, but every program has its limitations. ALT-M: MOVE BLOCK This function moves the highlighted block to the current cursor position. If it does work you are either inside the highlighted portion or there is not enough free memory for the copy of the block during transfer (the move is done in the editor data space). Another reason it may not work is if inserting text will produce a line longer than 253 characters. ALT-R: REPEAT LAST FIND Use this to repeat the last find you entered. The search string will remain the same since it was last set even if the editor data is cleared. TSR Edit v2.1 - page 15 ALT-S: SAVE DATA TO FILE If you have loaded or saved a file previously you will first be asked whether or not you would like to use that file name. If not, then you must enter the file name to save to. Be sure to include the path name if it is not the current default directory. If you change your mind about a save then answer no to the the 'USE filename (Y/N)?' prompt and hit ENTER at the file name prompt. Although an explicit print command has not been included you can also get printer output from this save function. When promted for a file name simply enter 'PRN' instead of a normal DOS name. This will 'save' the file to the printer, effectively giving you a hard copy. It's not a print spooler, but it allows printer output without having to exit your current application program, assuming you have TSR Edit loaded. ALT-W: WINDOW SIZE & TAB INCREMENT This pops a menu that prompts you for the main window size and tab increment to be used. First you are asked for the start and end columns (xstart,xend). You may enter any value from 1..80 for xstart then enter a comma and a number from 1..80 for xend and finally hit return. Repeat this for the start and end rows with numbers in the range 1..25. The minimum window width is 3 and the minimum height is 2 (excluding the border). Note that it is easy to make a two line window at the top of the screen by skipping the width dimension prompt and entering '1,4' at the height prompt. The last question is for the tab increment and may be from 1..20. The default is 8 spaces, the same as the DOS TYPE command interprets a tab character in a file. If you wish to edit a file that contains ASCII tab characters I suggest using the REPTAB.COM program I have included in this package. See USING REPTAB.COM below. If you do not wish to change any of these window or tab values simply hit ENTER and the old ones are kept. ALT-X: TOGGLE COLOR/MONOCHROME SETTINGS See the section on Alt-X under THE FILE MANAGER. ALT-Y: DELETE LINE This command simply deletes the line the cursor is currently on and moves you to the next one. TSR Edit v2.1 - page 16 ALT-Z: RESTORE LINE If you make alterations to a line and bungle it you may use this function to restore it to how it looked when you started editing it. However, if you leave the line or use a mark block command you will update the permanent copy of it and this command will not have any noticeable effect. The HOME and END keys will also update the permanent copy. TSR Edit v2.1 - page 17 MEMORY MANAGEMENT THE COMMAND LINE: As mentioned above the data space used by this program may be specified on the command line. This work space is IN ADDITION to the code space of 75K. The program defaults to 30K of data space which makes the total amount of memory used about 105K. The minimum data space is 10K and the maximum is 66K. This gives a total memory use range of 85K to 150K. When TSR Edit allocates memory to itself it will 'eat up' as much as it can get while still leaving 30K for COMMAND.COM and other programs. If the program is looking for 60K of data space, but there is only 120K of free memory it will adjust itself to fit. The new data space should end up around 15K instead. This is calculated as follows: FreeMem - 30K - CodeSpace = DataSpace Where the code size of TSR Edit is approximately 75K. TSR Edit may be run as follows: TSREDIT buffsize where buffsize = the amount of memory to be used for its workspace in kilobytes (eg. 'TSREDIT 30' is the same as the default). FILE MANAGER COPY COMMAND: After selecting this option from the file manager you will be shown a window with the current buffer allocations. The editor always eats up as much as it can for itself. When the editor memory is allocated the top line will show a small (1-2K) buffer for the copy area. This is not enough to allow an efficient copy so in this case you must free the editor's allocated memory. The next line will tell you if the data in the editor has been saved. If so then it is safe to release the memory used by the editor (this also clears it). If not you must decide if the editor file was important. If so then answer no to the question on the next line and you TSR Edit v2.1 - page 18 will have to go into the editor and save that data. When everything is settled answer yes and the editor space is then released. The next window either shows your current copy buffer size and asks for the destination or gives you an error if the buffer is too small. Note that because the minimum work space allowed by TSR Edit is 10K you can always meet the copy buffer limit by releasing the data area. Once you have released the editor's memory space you will not have to do so again until you enter the editor using the Alt-F10 key combination. Thus, if you are only using the file manager you will not be asked all of these questions for every copy you attempt. TSR Edit v2.1 - page 19 USING REPTAB.COM This short but useful program just takes a file and replaces all of the tab characters (ASCII #9) with the appropriate number of spaces. It has two command line parameters, the file name and the tab increment to be used. Enter as follows: REPTAB filename [tabincr] The tab increment is optional and defaults to 8. It reads the entire file into memory, replaces all the tabs and rewrites it to disk. The lines in the file to be translated must not exceed 255 characters or they will be truncated. The number of lines shouldn't matter as the program uses heap space and there should be plenty of room. Since it operates directly on the file it is converting, a backup is recommended. I do not suggest using this program on an original and do not make claims for its reliability. I have used it often to convert assembly source files so I could use TSR Edit with them and haven't encountered any problems. However, I may just have been lucky. The source for this little program was included so you can make any alterations you see fit. For example, if you are overly conscious about memory management you may notice that it wastes a lot of space by storing each line in a large string variable. TSR Edit v2.1 - page 20 USING TSR EDIT WITH OTHER TSR PROGRAMS I recently had the oportunity to try loading TSR Edit with SideKick as well as a few other such programs. I've added this section to relay what I have discovered. First, I'm happy to say that TSR Edit can be loaded before or after any resident program I've tried. Unfortunately, it also has a few quirks (mainly with SideKick). When running this with SideKick you may have a bit of trouble if you try to call SideKick from the DOS prompt immediately after exiting TSR Edit. I found that by pressing a RETURN before attempting to call SideKick solves this problem. I tried doing the same call sequence from within other programs with unpredictable results (never anything serious though). Whenever SideKick gives you a series of beeps just hit a key that won't cause problems with the current program and you'll get the SideKick menu (this always works for me). For some odd reason you may sometimes call SideKick from within TSR Edit, but not always. For example, I couldn't do this when starting from a DOS prompt, but I could if I entered TSR Edit from within QuickBASIC's editor and then called SideKick. TSR EDIT AND MOUSE DRIVERS: I also recently had to use MicroSoft's QuickBASIC at work and discovered some minor problems with the mouse. After exiting TSR Edit the mouse buttons wouldn't work. This has to do with the way TSR Edit handles the first key pressed after an exit. When this happens, pressing any key will get you back to normal and the mouse buttons will work. Also if you pop up a TSR Edit window it only saves the current screen and does not suppress the mouse drivers. You will find that moving the mouse may alter a character or two on the screen. While this is not critical, it does affect the appearance of the screen until it is updated again. SUMMARY: In general, if you have a problem with TSR Edit conflicting with another resident program just hit a key that won't kill anything and then try to call your resident program again. This can be a pain sometimes, but you probably won't be trying to enter some other resident program immediately after exiting TSR Edit very often. (The problem with mice is a bit more likely to happen, so let me know if you would like a version with this fixed.) TSR Edit v2.1 - page 21 THE PAST AND FUTURE OF TSR EDIT I (Dave) started this 'little' program as an exercise in writing a text editor. Mark added DOS functions a little later and then we made them somewhat interactive. Version 1.0 was never released but I made so many changes that I had to call the first released version 2.0. The main change was in the editor, originally it used a data structure similar to that in REPTAB.PAS. Although this was nice because you could use as large a data space as memory would allow, it was incredibly wasteful. A common Pascal file would have so much blank space on lines that a 30K file on disk would require over 100K of editor memory. So I basically rewrote over half the code to make it memory efficient. Now a text file loaded in the editor should be the same size as that listed in the directory. This being my first attempt at an editor I can hardly expect it to be perfect, but I think its pretty nice. Anyone with suggestions for improvement can write or leave mail on GEnie (D.STEINER) if you like. You don't have to make a donation to enter a suggestion, but it would be greatly appreciated. If, however, sending money would prevent a response then just write anyway. I'm very curious as to how well this program is accepted as well as how we could improve upon it. Suggestions concerning the file manager will be forwarded to Mark. As you may have noticed this is also my first attempt at documentation. Because of this I am open to criticism on this manual also. If I didn't do an understandable job on explanations or forgot something, let me know. Improvements being considered currently for the editor are accessing files larger than the work space, disk access speed, and a way to call it from a graphics screen. For the file manager we have considered listing two directories at the same time or perhaps including the date stamp of the files. Donations and/or suggestions would, of course, greatly speed such developments. REVISION HISTORY: 2.1 April 5, 1987 Fixed bug with the find command, didn't always put the cursor on the found string. Changed max line length from 132 to 253 characters. Fixed cursor & default colors on monochrome systems. (Note: I don't have a monochrome system to test on but I'm pretty sure it works.) Now it just beeps if not in 80 column text mode. Sped up displays, finds and loads (a little, anyway). Fixed bug when loading with a large data area.