Table of Contents A. Title........................................................... 1 B. DISCLAIMER...................................................... 2 C. Introduction.................................................... 3 D. Starting heXEdit................................................ 4 E. Command Line Options............................................ 4 F. Environment Variable - XEOPT.................................... 5 G. Loadfile box.................................................... 5 1. File/Directory Attributes.................................... 7 H. Main Display.................................................... 7 I. Commands........................................................ 8 1. Help......................................................... 8 2. ASCII chart.................................................. 9 3. Convert a number............................................. 9 4. Change colors............................................... 10 5. Decimal offset ............................................. 11 6. Shell out to DOS prompt or another program.................. 11 7. Edit........................................................ 11 8. Goto an offset.............................................. 13 9. Hexadecimal offset ......................................... 14 10. Load a new file............................................ 14 11. Push position on marker stack.............................. 14 12. Search again............................................... 14 13. Octal offset .............................................. 14 14. Retrieve position from marker stack........................ 15 15. Search..................................................... 15 16. Clear marker stack......................................... 16 17. Goto marked position....................................... 16 J. Other Notes.................................................... 16 K. Comments....................................................... 17 L. Appendix....................................................... 17 1. Version History............................................. 17 2. Trademark information....................................... 20 --- heXEdit ------------------------------------- Page i --- A. Title heXEdit Version 4.2 11-05-94 Robert Stuntz 2120 Aspen Dr. Woodstock, IL. 60098 U.S.A. CompuServe : 71043,117 --- heXEdit ------------------------------------- Page 1 --- B. DISCLAIMER THIS SOFTWARE AND MANUAL ARE DISTRIBUTED "AS IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED. BECAUSE OF THE VARIOUS HARDWARE AND SOFTWARE ENVIRONMENTS INTO WHICH THIS PROGRAM MAY BE PUT, NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED AND ALL LIABILITY IN THE USE AND EFFECTS OF THIS PROGRAM SHALL REST WITH THE USER. THIS PROGRAM HAS THE ABILITY TO ALTER YOUR FILES! YOU ARE RESPONSIBLE! (Sorry, but I have to warn you ...) --- heXEdit ------------------------------------- Page 2 --- C. Introduction heXEdit (XE) is a program that will allow you to display and/or edit any file. It doesn't have a fancy interface but serves my purposes perfectly. I wrote this program because I became frustrated with a couple of other commercial programs. They either had some annoying peculiarities or required too much thought on my part just to search for and change a couple of bytes. heXEdit was written using Turbo Pascal v6.0, although it doesn't use any of Borland's object libraries. It does however write directly to video memory for speed when scrolling thru the file. If you're using a CGA monitor you may see some 'snow' as I don't check for the vertical retrace period before writing to video memory. heXEdit will keep no more than 1760 bytes of the file you load in memory at a time, as I didn't feel like messing with a variable amount of memory available. heXEdit requires about 160k bytes of free memory in order to execute. --- heXEdit ------------------------------------- Page 3 --- D. Starting heXEdit To start heXEdit, enter XE [options] [:][] [options] The drive designator, filename and options are ... optional on the command line. If only a drive designator is specified, XE will show you the files from that drive's current directory. If a file is specified XE will try to load that file, if not, you will see a list of files from the current directory. All of the available command line options are explained in the following section. E. Command Line Options Available command line options are as follows : 1. /C or /M /C This option tells XE to use it's default color set. /M This option tells XE to use black and white colors; for monochrome monitors. 3. /? or /H Either of these two options will display a short message about the start-up syntax. 4. /Lc[c[c]] The files and directories in the Loadfile box (described in the next section) are sorted, depending on the value of this option. /L is followed by 1-3 characters listed below which describe the actual sort options. c = U, D, F N, E, S, T A, Z (group 1) U - unsorted; directory and file entries are listed as they are read from the disk, then list drive designators D - put directory entries at the top of the list, followed by files, then drive designators (default) F - put file entries at the top of the list, followed by directories, then drive designators (group 2) --- heXEdit ------------------------------------- Page 4 --- N - sort files/dirs by name (default) E - sort files/dirs by extension then name (sorting by ext slows down the speed at which the list is sorted and displayed, more than the other options) S - sort files by size, dirs by name (physical size of dir entry irrelevant) T - sort files/dirs by date/time (group 3) A - sort files/dirs in ascending order (default) Z - sort files/dirs in descending order Note that it is possible to specify options that are in conflict with each other. However, the last option specified belonging to each group is the one used. For example, you could use /LDNF, and in this case the F would take precedence over the D. For /LES, the S will take precedence. If you do not specify an option for a group, a default value will be used (D for group 1, N for group 2, and A for group 3). If there is an invalid option or sub-option specified, XE will exit with an error message. F. Environment Variable - XEOPT All of the command line options can also be specified thru an environment variable called 'XEOPT'. To set the value of XEOPT, use the DOS SET command at a DOS prompt before running XE. For example: SET XEOPT=/LFEA/C If command line options are used, they will override environment variable options if they conflict with each other. G. Loadfile box If a drive designator is specified on the command line, XE will show you the files from that drive's current directory. If a file is specified XE will try to load that file, if not, you will see a list of files from the current directory of the current drive. If a file or directory has it's hidden attribute set, it will be displayed in lower case. At the end of the list, you will see one or more drive designators. The drives you can choose from are all the available drives, including remote (or network) drives. If a drive is a removeable media device (like a floppy drive), then you will see the characters '( )' surrounding the drive letter. If a drive is a fixed media device (like a hard disk drive), then you will see the characters '[ ]' surrounding the drive letter. If a --- heXEdit ------------------------------------- Page 5 --- drive is a remote device, whether it's fixed or removeable, then you will see the characters '{ }' surrounding the drive letter. If a drive is local and fixed, then the VolumeID will be displayed to the right of the drive letter. Selecting one of these will show you the contents of that drive's current directory. To load a file, simply use the UP and DOWN arrow keys to move the highlight bar to the file you want to load, then press ENTER. You can also use the PAGEUP and PAGEDOWN keys to scroll thru the list of files a page at a time. Pressing the HOME key will move you to the top of the list, pressing END moves you to the end of the list. New with version 4.1 * You can now do a 'hypersearch' to jump right to a file, directory, or drive designator rather than scrolling thru the list. While in the Loadfile box, if you press a letter or number, or any other valid filename character, the highlight bar will move to the first file or directory whose name begins with the character you pressed. The search starts from your current highlight bar position and stops at the first match it finds. It will wrap around to the top, if nothing matches, and continue searching up to your current position. If no match is found, you will hear a short, low pitch beep. XE will also check the drive designator entries, at the end of the list, for your 'hyper-character'. For ex., if you don't have any files or directories that start with the letter 'B', and you press 'B', the highlight bar will move to the drive designator '[ - B: - ]'. Pressing the period '.' key will move you to the directory entry of '..' (the parent directory label). Also new with version 4.1 * On the left border of the Loadfile box is a percentage indicator (either '', '', or '' - ascii codes #25, #18, #24) of how far up or down you are in the list of files/directories. When you (the highlight bar) are at the first file/directory in the list, the indicator is at the top of the border. If you are 70% of the way down the list, the indicator is about 70% of the way down the border; etc, etc. It is there as a quick reference, not an exact measurement. * And on the right border, the options that you specified (or the default options) for the Loadfile box sort options (/L) will be displayed. Pressing ENTER on a directory entry or a drive letter will change to that directory or drive. While using the Loadfile box, you may encounter an error, for one reason or another. Generally speaking, you will be given one, some or all of the options below : 1 - (A)bort : if you press 'A' XE will abort the operation. 2 - (R)etry : press 'R' to retry the operation. (Maybe the drive door was opened before you hit ENTER to load the file.) --- heXEdit ------------------------------------- Page 6 --- 3 - (Q)uit XE : press 'Q' to quit XE and return to the DOS prompt (or wherever it was that you came from). 4 - Any other key : if you hit any other key than the ones described above you will be returned to the Loadfile box. While in the Loadfile box, pressing ESC will exit the Loadfile box and either 1) return you to the last file you were viewing, or 2) if no file was previously loaded, exit XE altogether. 1. File/Directory Attributes One last feature of the Loadfile box is that you can change the attributes of a file simply by pressing F5-F8 (providing the file is available; i.e., the disk is in the drive etc). And starting with version 3.64, you can also change the Hidden attribute bit of a subdirectory. Move the highlight bar to the file you want to work with and then simply press one of the following keys, depending on what you want to do. F5 - toggles the Archive bit F6 - toggles the System bit F7 - toggles the Hidden bit F8 - toggles the Read_Only bit If the attribute change was successful you will hear a high pitch tone, otherwise you will hear a low tone indicating that the attribute could not be changed for one reason or another. You should also see the attribute change in the Loadfile box if the change was successful. *** NOTE : Be sure you know what affect changing an attribute will have on your system. Some programs act on the attributes of a file or may even require certain attributes to be set. H. Main Display Once the file is loaded you will see the main display. At the top is the name of the file loaded. On the left side of the display are numbers (in hexadecimal,decimal or octal) indicating the offset into the file. In the middle are 22 rows of 16 bytes which are the file's contents. On the right, the ASCII character for each byte in that row. In the ASCII portion of the display, any characters past the EOF (end-of-file) are shown as a '.' (ASCII #249). On the bottom is a status word indicating your current operation, a three letter abbrev indicating whether the offset display is in 'hex'adecimal, 'dec'imal, or 'oct'al, the percentage into the file from the top line, and the size of the file in --- heXEdit ------------------------------------- Page 7 --- decimal. I. Commands Following is a list of commands once you are in XE and then a brief explanation of each : F1 - Help A/Alt+A - ASCII table B/Alt+B - Base conversion (decimal-hexadecimal-binary) C - Change colors D - Change offset display to Decimal Alt+D - Shell out to a DOS prompt, or other program E - Edit the file G - Goto offset H - Change offset display to Hexadecimal L - Bring up the Loadfile box M - Push position on marker stack N - Search again (using the last used search string) O - Change offset display to Octal R - Retrieve position from marker stack S - Search (for text or a byte string) Z - Clear all entries from marker stack ALT+1 thru ALT+9 - Goto marked position UP/DOWN arrow keys - scroll up and down one line at a time PAGEUP/PAGEDOWN - move up/down one page at a time HOME - move to the beginning of the file END - move to the end of the file ESC/Alt+X - quit XE 1. Help F1 Pressing F1 will display a help screen. You now have the following commands available : F1 : Help on Help F2 : Display index (keywords) for items in the help file F3 : Goto the previous screen (limited) F5 : Zoom/Unzoom the help screen ENTER : Get help on a highlighted keyword Arrow keys : Scroll the help screen contents left, right, up and down ESC : Exits help TAB / SHFT+TAB : Highlight the next/previous visible keyword --- heXEdit ------------------------------------- Page 8 --- PAGEUP/PAGEDOWN : Move up and down a page at a time HOME/END : Goto the beginning/end of the help info for the current item In the upper left corner of the help screen (in the border), you may see a number and possibly one of three arrow characters. The number is the left column, of the help info, you are at. If you are at column one, it will not be displayed. The arrow characters indicate if there is more info either above or below (or both) of your position. A couple of notes on the help file. 1. heXEdit expects the help file (XE.HLP) to be in the directory that XE.EXE is in. If it is not, you will get an error message when you invoke help. 2. If you modify the help file, make sure your keywords are capitalized and start in column one. It will probably be easier to just look at the help file that came with heXEdit to see how it's done. 3. There is a limit of 75 lines of information per keyword. 4. Keyword information begins with it's keyword and ends with a slash (#47). 5. To create a keyword in a help screen, precede the keyword with a tilde (#126) and end it with a back-quote (#96). 2. ASCII chart A or Alt+A Display an ASCII chart. ASCII chart commands : LEFT arrow key : go back 16 characters RIGHT arrow key : go forward 16 characters PAGEUP : go back 128 characters PAGEDOWN : go forward 128 characters D : display numbers in decimal H : display numbers in hexadecimal ESC or ENTER : exits ASCII chart 3. Convert a number B or Alt+B --- heXEdit ------------------------------------- Page 9 --- Convert a number from either decimal, hexadecimal or binary to the other two. Base convert commands : UP/DOWN arrow keys : select the base of the input number ENTER : convert the number ESC : exit the base convert routine Using the arrow keys, move the highlight bar to the base of the input number and then either 1) press ENTER and enter the number or 2) just start typing the number. After the number has been converted, press any key to select the base for another conversion or press ESC to exit. When you enter the number, I only check for validity with the first character. If you try to convert an invalid number an error message will be displayed. The largest number that can be accurately converted is a 32 bit number. It has a very simple input routine, so don't be surprised if you can enter an invalid number. The conversion will be incorrect of course. I leave it mostly up to you to enter a valid number. 4. Change colors C This command will allow you to change the color of just about anything. You can also save the colors you choose so that XE will startup with those colors. Simply select the area you want to change the color in by pressing a letter 'A' thru 'P'. A colorbox of all possible colors will appear. The current color of the item you selected will have two white bars on either side of an 'X'. You can now move those white bars around with the arrow keys to select a new color. With the white bars around the color scheme you want, press ENTER. If you change your mind and don't want to change the color of that item, press ESC. There are a couple areas that have a color selection restriction. Area 'G', Altered bytes background, you can only select the background, the foreground is the same as the main bytes (area 'A'). The border for Help, 'M', only the foreground can be selected as it's background is the same as the Help text (area 'L'). And the edit cursor position color, 'P', only the background can be changed. Color Change Commands : F1 : get help A-P : select the area you want to change S : save the currently selected colors to XE.EXE ESC/ENTER : exit the color change screen --- heXEdit ------------------------------------- Page 10 --- The 'S' command will save the currently selected colors to the executable file (XE.EXE). If XE.EXE is not available where it was started from, an error message will be displayed to that effect, which means your colors have not been saved. If you want the default colors back, start-up XE with the /C option. If you want to retain the default colors make sure you then save the colors, otherwise the next time you start XE you will have whatever colors were last saved in XE.EXE. 5. Decimal offset #'s D Change the offset display to base 10, decimal. 6. Shell out to DOS prompt or another program Alt+D This command will shell out to a DOS prompt or another program. When this command is pressed, XE first looks for an environment variable called XESHELL. If found, XE will try to run the program name specified by that environment variable. When using XESHELL, the entire pathname needs to be used if the program you want to shell too is not in your current directory. XE does not search the directories in your PATH for the program specified. Also, the program specified has to have an extension of EXE or COM and command line parameters can be included. The following is an example of how to set the value of XESHELL (from a DOS prompt): SET XESHELL=C:\UT\LIST.COM /4 If XE does not find a value for XESHELL, it looks for COMSPEC. The rules above also apply to COMSPEC. COMSPEC is normally set to the command processor COMMAND.COM. If neither environment variable exists, you will receive an error message stating so. If COMMAND.COM is the program shelled to, typing EXIT will return you to heXEdit. If XESHELL is used to run a different program, exiting that program will return you to heXEdit. 7. Edit E Begin editing the file at the current position. If the file is a READ ONLY file, a short message to that affect will appear and you will be returned to the view mode. Of course, you could just press 'L' to bring up the Loadfile box and change the READ ONLY --- heXEdit ------------------------------------- Page 11 --- attribute of the file with F8. And then go back and edit. But, it might be READ ONLY for a reason ... If you had previously searched the file successfully (meaning you found an item) then if that exact item is displayed on screen when you go to edit mode, then the cursor will be positioned at the first character of that item. When I say exact item, I mean the last item that you found in your search (this does not quite work as I'd like it too...). Also, shown at the bottom is the offset of the cursor position. Edit commands : F1 : get help Alt+A : displays the ASCII chart Alt+B : base number conversion Alt+D : shell out to DOS or other prog BACKSPACE/LEFT arrow key : move cursor left 1 byte RIGHT arrow key : move cursor right 1 byte PAGEUP : move cursor to first line on page PAGEDOWN : move cursor to last line on page HOME : move cursor to beginning of line END : move cursor to end of line TAB : toggle cursor position between the hexadecimal display and the ASCII display of the file. The above editing commands will move the cursor within the area the cursor is in. You can edit the file making changes in both areas at the same time, if so desired. ENTER : quit editing. If you made changes to whole bytes you will be prompted to save the changes or not. Press 'Y' to save the changes or 'N' to lose the changes. Only the portion of the file that is in memory is actually saved. So don't worry about waiting for a long save if you are editing a large file. You are then returned to the View mode. ESC : quit editing. If you made changes to whole bytes you will be prompted to discard the changes or not. Press 'Y' to discard the changes and return to view mode, or 'N' to return to edit mode. After pressing either ENTER or ESC (as above), you can press ESC to cancel the request and return to edit mode. To change a value when in the hexadecimal portion, just type in it's new value. The background of the character will change, indicating which bytes have been changed. Valid values are $00 - $FF. Obviously, pressing a key like 'P' will do nothing because 'P' is not a valid hexadecimal character. To change a value when in the ASCII portion of the display, simply press the key of the new value. Or, hold down the ALT key while --- heXEdit ------------------------------------- Page 12 --- typing the ASCII code, on the numeric keypad, of the character you want, then release the ALT key. Using the ALT key in this area, you can enter a value from 32-255. Again, the background will change indicating a change. 8. Goto an offset G Goto an offset in the file. You are prompted for an offset to go to. You can enter either a decimal number or a hexadecimal number. If you press ESC while entering a number you will be placed back in the View mode with no repositioning taking place. The BACKSPACE key can be used to edit your entry. If you enter an offset that is beyond the EOF (or < 0) you will be prompted again for a number. New with version 4.0 * If you've done at least one Goto command, you can also select any past offsets you've entered by pressing H, (H for History). After pressing H, the most recent offset entered is displayed. If you want to see other offsets that are in history, press the UP ARROW key. Using the UP and DOWN ARROW keys you can see all the offsets in history. When you've found the offset you want to goto just press ENTER. Pressing ESC while viewing the history items will return you to the input offset prompt. There can be a maximum of 50 offsets saved in history. Anytime a Goto command is done, the offset is added to history. The oldest entries will be lost from history when new offsets are added and there are already 50 offsets in history. Duplicate offsets are not re-saved to history. If you are displaying the file offsets in hexadecimal, then a '$' character is placed on the input line for you. The '$' character tells heXEdit that the number you are entering is in base 16. If you were displaying the file offsets in decimal the '$' is not put on the input line. You can press the BACKSPACE key to erase the '$' if necessary. To enter the offset, just type in the number, no commas, and press ENTER. Also, if at anytime while entering a number, you enter an 'A' through 'F' and you do not have a '$' as the first character, it will be inserted into the input line at the beginning and your entry will be taken as a hexadecimal number. For example: Keystroke Screen 3 3 5 35 1 351 E $351E etc ... --- heXEdit ------------------------------------- Page 13 --- 9. Hexadecimal offset #'s H Change the offset display to base 16, hexadecimal. 10. Load a new file L You will enter the Loadfile box in order to select a new file (as described earlier in this document under 'Loadfile box'). Since you can't leave the edit mode without either saving any changes or losing changes, you needn't worry about saving the current file before loading a new one. 11. Push position on marker stack M Your current position in the file can be saved with this command and then be retrieved later on. Your position is saved on a stack. If the stack is full the oldest position will be deleted and the rest of the entries will move down the stack to make room for the new entry. The maximum number of positions you can save is 100. Also, when your position is saved, it's location on the stack is reported to you so you can see how full the marker stack is. This command can also be used while searching. If the search string is found, you can press 'M' to save that position on the marker stack and then continue searching. 12. Search again N Search again using the last used search string. If there is no previous search string, you will be prompted, as if you pressed 'S', to enter a search string. 13. Octal offset #'s O Change the offset display to base 8, octal. If you happen to be looking at a REALLY BIG file, any offsets --- heXEdit ------------------------------------- Page 14 --- greater than 134,217,727 bytes will appear as '+++++++++' in the left side of the main display. 14. Retrieve position from marker stack R While viewing the file, if you do this command you will be moved to the location specified by the top marker stack entry. Once you have been moved to the new location, the entry you retrieved will be deleted from the marker stack. If there are no markers on the stack, then nothing will happen. 15. Search S Search the file for a byte or text sequence. You will be prompted for the type of search (B)yte or (T)ext. New with version 4.0 * If you've done at least one search, you can also select any past items you've searched for by pressing H (H for History) when you are asked for the type of search to perform. After pressing H, the most recent search item is displayed. If you want to see other search items that are in history, press the UP ARROW key. Using the UP and DOWN ARROW keys you can see all the items in history. When you've found the item you want to search for just press ENTER. Pressing ESC while viewing the history items will return you to view mode. There can be a maximum of 50 items saved in history. Anytime a (B)yte or (T)ext search is done, the item is added to history. The oldest items will be lost from history if new items are searched for and there are already 50 items in history. Duplicate items are not saved to history. For a byte sequence, enter the bytes in hexadecimal notation then press ENTER. As with editing, you must enter a complete byte, for the search to work correctly, although I don't check for that here. You can use the BACKSPACE key to go back and make corrections. The maximum length for a byte sequence is 9 bytes. I think that is plenty long enough, even 4 bytes would probably be enough to find what you're looking for. For example, you might see this prompt : Enter search bytes : Now you would just press the numbers or letters that make up the bytes you want to search for, like : D3 45 FF 00 C4 6E There is no need to enter a space between each byte as I do that for you while you're entering your numbers. --- heXEdit ------------------------------------- Page 15 --- For a text sequence, just type in the text to search for, no quotes are needed, and press ENTER. The maximum length for a text sequence is 25 characters. The search is case insensitive. If the search string is found, the display will move to that string's location in the file and will be highlighted at the top of the screen. You can now press any key to continue the search, press 'M' to Mark the position or press ESC to stop searching. While XE is searching, you can press any key to interrupt and stop the search. Just to make things simple for myself, every search starts at the beginning of the file. Even on large files, starting at the beginning to find something you know is near the end doesn't take very long at all (at least not on my 40Mhz 386!). And beginning with v3.5, the searching is done using the Boyer-Moore algorithm. This should significantly speed up searching compared to my previous method; on ANY computer. 16. Clear marker stack Z This command will delete all entries from the marker stack. Careful, there is no turning back from the results of this command. 17. Goto marked position Alt+1 thru Alt+9 Using these commands will move you to a previously marked position without deleting the mark information. The retrieve command 'R' moves you to the last position and deletes the mark, using Alt+1 - Alt+9 does not delete the mark. Alt+1 moves you to the first marked position, Alt+2 moves you to the second marked position, etc etc. If you try to move to a position that has not been marked yet, nothing will happen except a message telling you so. J. Other Notes If for some reason you rename XE.EXE you will need to rename the help file, XE.HLP. For example, if you rename XE.EXE to XEDIT.EXE, the help file should be renamed to XEDIT.HLP. And if for some other reason you have XE.EXE loaded under XE, and then save new color information, you may need to force a re-read of the last part of the file to get the correct information loaded. --- heXEdit ------------------------------------- Page 16 --- The Loadfile box has a limit of 2500 files or directories that it can display for you. If you change to a directory with more than 2500, you will not see all of the files. 2500 is about as high as I can go due to stack space limitations. If you want to load a file that is in a directory with more than 2500 files, you'll have to specify that filename on the command line when you start XE. XE does not support any video modes other than 80x25 text but will work with a monochrome monitor. Just don't forget to include the '/M' option on the command line and then save the color configuration to retain the monochrome 'colors'. This program should NOT be compressed with PKLITE. It will not run if it is. Because, XE reads the current color setup from itself, compressing it with PKLITE will cause a runtime error. K. Comments I would STRONGLY suggest that you make a backup copy of any file you're going to modify, just in case you decide later you want the original file back. You should have a backup copy anyway as a matter of safeguarding your files in case of catastrophe. I have a 40Mhz 386dx AT running MS-DOS 6.2. XE should work with most system configurations though. Also, I don't expect any payment for use of this program. Feel FREE to use it how you like, but be careful :). Rob L. Appendix 1. Version History v1.0 04-08-91 - Initial writing v1.1 05-16-91 - Minor internal changes v1.2 07-04-91 - added Marker commands v1.21 08-03-91 - increased marker stack size to 100 added Z command; clear marker stack v1.3 08-12-91 - added Goto Offset command fixed a bug or two v2.0 09-25-91 - added Loadfile box (instead of typing in the filename) set to video page 0 at startup (this was done in case you shell out from another program and that program puts you in a video page other than 0, like Turbo Debugger. XE needs to be in video page --- heXEdit ------------------------------------- Page 17 --- 0. XE returns to the video page you where at before it started when you exit) added backspace key use while editing (acts like left arrow key) added 'D', 'H' and 'O' commands while viewing changed Help command to 'F1' from 'H' made Search command case insensitive added ability to enter a drive designator on cmd line to start Loadfile box on that drive and of course fixed some bugs ... v2.1 10-19-91 - decided I better try and trap most of the I/O, as opposed to only some, for errors, to avoid a possible run-time error allow loading of read-only files allow entry of ASCII chars 32-255 when editing in ASCII portion of display (formerly 32-126) check for and handle extremely long path names in display swapped ability to change Help screen color with Base convert search command now highlights found text, (no flashing arrow!) hidden files (and directories) are lowercase in Loadfile box and the usual bug fixes ... v2.11 10-21-91 - fixed base convert color saving and loading from cfg file v3.0 11-11-91 - fixed pagedown problem of going past EOF on display for files with a length approaching that of the buffer size added '%' into file indicator you can now call up the ascii chart and base convert from edit mode with Alt+A, Alt+B in edit mode, Pg Up/Dn now just goto first/ last line. column position is not changed totally new help system (yea!) v3.01 11-12-91 - fixed extra '%' char left when going from 100% to <100% allow config file to take on same name as executable; in case you rename XE.EXE v3.02 11-18-91 - fixed bug when executing from second level or deeper sub-dir. v3.1 11-25-91 - fixed configuration file saving problem added ALT+1 thru ALT+9 commands (goto marked position) restricted input length for base conversion v3.2 01-23-92 - added colorbox for color selection, instead of entering numbers. v3.3 01-29-92 - XE.CFG file is now history. Color information is saved in the executable added cmd line options /C, /M, /?, ?, /H slight (very) improvement in display speed --- heXEdit ------------------------------------- Page 18 --- restore cursor from a Ctrl-Brk input no more editing past the EOF v3.31 02-05-92 - fixed byte search problem with char case v3.32 02-07-92 - fixed byte search problem with char case (this time for real. haste makes waste...) v3.33 02-23-92 - change Loadfile box to show files in the current directory of a drive (previously root dir) v3.4 04-04-92 - added ability to abort searching update '%' into file indicator during search added Alt+A for ASCII chart cmd from View mode added Alt+B for Base convert cmd from View mode cursor is positioned at location of last search item when going to edit mode; if that search item is visible on screen in same file changed default colors a little file list in Loadfile box is now sorted by name fixed PgUp bug in Loadfile box v3.5 04-23-92 - implemented the Boyer-Moore search algorithm for a definite improvement in search speed v3.51 06-10-92 - fixed search routine bug v3.52 06-29-92 - ditto v3.53 08-10-92 - allow 'C' (change colors) command in mono; so you can save the mono colors to XE. v3.54 12-10-92 - allow ESC while editing when only half of a byte has been changed. v3.6 02-06-93 - show offset of cursor when editing line wrap cursor when moving v3.61 04-03-93 - fix display for files > 9999999 bytes long set highlight bar to last position in Load file box v3.62 04-10-93 - fix runtime error when specifying a legal but unused drive letter on cmd line. v3.63 04-19-93 - minor change to an included unit v3.64 04-22-93 - allow Hidden attribute bit change on a subdirectory (via F7 in Loadfile box) v3.65 09-16-93 - fix dash/dots not showing up in display v4.00 12-9-93 - added ALT+D command, shell to DOS/other prog added history function for searching and goto offset command editing cmd ESC, now prompts to discard chgs or not changed included unit so Loadfile box can load 2500 files versus 300! check for DOS v3.0+ otherwise exit check available memory, exit if not enough v4.10 02-16-94 - filename first char search in Loadfile box take out available memory check XEOPT environment var for options if offset display is octal and you're at an offset > 777777777 octal, dsply +++++++++ for offset v4.11 03-23-94 - fix backspace key not backing up a line --- heXEdit ------------------------------------- Page 19 --- v4.12 07-12-94 - chg Loadfile box to check for remote drives, config.sys LASTDRIVE value not used anymore check for DOS v3.1+ otherwise exit v4.13 07-21-94 - display date/time in Loadfile box of dirs display volumeid of local, fixed drives surround drive letter with symbols representing the device type v4.14 08-03-94 - fix vol label display bug in Loadfile box v4.15 08-07-94 - fix .HLP filename construction bug v4.16 08-13-94 - fix .HLP filename construction bug v4.2 11-05-94 - added cursor position highlighting in edit fix history storage of 9 byte search seq highlight byte of Goto cmd 2. Trademark information 'Turbo Pascal' and 'Turbo Debugger' are registered trademarks of Borland International, Inc. 'PKLITE' is a registered trademark of PKWARE, Inc. --- heXEdit ------------------------------------- Page 20 ---