H E X C A L I B U R = = = = = = = = = = The Hex Editor Version 1.02 Reference Manual Gregory Publishing Company 333 Cobalt Way, Suite 107 Sunnyvale, California, 94086 (408) 727-4660 Copyright (c) 1989 Gregory Publishing Company All Rights Reserved LICENSE ======= All versions of "HEXCALIBUR -- The Hex Editor" are NOT public domain software, nor are they free software. Non-registered users are granted a limited license to use Hexcalibur on a trial basis for the purpose of determining whether or not it may be suitable to their needs. Any use of Hexcalibur, except for this limited purpose, requires registration. Any use of copies of Hexcalibur that are not registered by any individual, corporation, private enterprise, governmental agency, or other entity or institution is strictly forbidden. Registration permits a user the license to use Hexcalibur on a single computer. The registered user may use Hexcalibur on more than one computer, but it must not be used on two or more computers at the same time. No user may modify Hexcalibur in any way, including, but not limited to, decompiling, disassembling, or otherwise reverse engineering the program. All users are encouraged to copy Hexcalibur for the trial use of others subject to the above mentioned restrictions and also subject to the following conditions: (1) Hexcalibur must be copied without modification, complete with the file containing this license information. (2) Verbal or written notice must be given the person receiving the copy that use of Hexcalibur requires the payment of a $30.00 registration fee to Gregory Publishing Company. (3) All support files must be included with the copy. These files are: HC.EXE -- The Hexcalibur program. HCDOC.TXT -- This document. SAMPLE1.TXT -- A sample file of data characters. HCMONO.FIL -- The black and white colors file. Any README or HEXNOTES files that may be on the original disk. (4) Hexcalibur may not be distributed along with any other product. Operators of electronic bulletin board systems (Sysops) may post Hexcalibur for downloading by their users providing the above conditions are met. Distributors of public domain or user supported software may distribute copies of Hexcalibur subject to the above conditions. An order form is included in this file which may be used to register your copy of Hexcalibur. THANK YOU FOR YOUR SUPPORT! WARRANTY ======== Gregory Publishing Company makes no warranty of any kind, express or implied, including without limitation, any warranties or merchantability and/or fitness for a particular purpose. Gregory Publishing Company shall not be liable for any damages, whether direct, indirect, special, or consequential arising from a failure of this program to operate in the manner desired by the user. Gregory Publishing Company shall not be liable for any damage to data or property which may be caused directly or indirectly by use of this program. IN NO EVENT SHALL GREGORY PUBLISHING COMPANY BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING ANY LOST PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF YOUR USE OF OR INABILITY TO USE HEXCALIBUR, OR FOR ANY CLAIM BY ANY OTHER PARTY. ORDERING INFORMATION ======== =========== Registration of Hexcalibur licenses you to use the product for any reasonable purpose as you need. Users need only register one version of Hexcalibur. Registration automatically includes licensed use of all upgrades. The version of Hexcalibur on this disk is version 1.02, dated August, 1989. Depending upon how long after August, 1989, you are reading this, there may be later versions of Hexcalibur available. We have a large list of enhancements already planned for future versions. Upon receipt of your payment for registration, we will automatically ship you (providing you supply a clearly written mailing address and phone number) the most current version of the program. Additional updates are available to registered users ONLY for a nominal fee of $10.00 per disk. Please use the order form supplied on the next page when placing an order. NOTICE TO CUSTOMERS OUTSIDE NORTH AMERICA: Please send only checks that are drawn on a US Bank that are payable in US Dollars. Please add an additional $1.50 to cover postage for the mailing of the diskette outside the USA. ORDER FORM ===== ==== Gregory Publishing Company 333 Cobalt Way, Suite 107, Dept. F1 Sunnyvale, California 94086 (408) 727-4660 Quantity Item -------- ---- ________ Registration for Hexcalibur ............. @ $30.00 ea $ ___________ (Includes one copy on disk of the most current version.) ________ Upgrade of Hexcalibur ................... @ $10.00 ea $ ___________ (For already registered users only.) Recordings from Gregory Publishing Company on cassette tape: ------------------------------------------------------------ ________ Synthesized Sullivan, volume I ........... @ $ 9.00 ea $ ___________ (Gilbert & Sullivan overtures orchestrated on a synthesizer.) ________ Synthesized Sullivan, volume II .......... @ $ 9.00 ea $ ___________ Documentation for Unisys A-Series Computer Systems: --------------------------------------------------- ________ The Complete CANDE Primer ................ @ $30.00 ea $ ___________ ________ The Extended ALGOL Primer, volume I ...... @ $25.00 ea $ ___________ ________ The Extended ALGOL Primer, volume II ..... @ $29.00 ea $ ___________ ________ The Extended ALGOL Primer, volume III .... @ $31.00 ea $ ___________ ________ A-Series DMSII Programming ............... @ $40.00 ea $ ___________ ________ Gregory's A-Series Technical Journal ..... @$225.00 ea $ ___________ (Annual subscription, 10 issues per year.) SUBTOTAL $ ___________ California Residents add applicable Sales Tax $ ___________ (No sales tax on Journal subscriptions) TOTAL $ ___________ Name: _____________________________________________________________ Company: __________________________________________________________ Address: __________________________________________________________ __________________________________________________________ Phone: __________________________________________________________ Pre-paid orders only. Purchase orders o.k. if TOTAL amount exceeds $100.00. Corporate/Government/Multiple Users =================================== All corporate, business, government, and other commercial users of Hexcalibur must register. The registration fee for the first license of Hexcalibur is $30.00. This price includes the delivery of an updated disk which will be mailed to the licensee. Additional registration fees for users AT THE SAME ORGANIZATION are $25.00 each for 2 - 20 users and $20.00 each per additional user after that. This fee is for registration only. Users are expected to make their own copies of the updated software from the disk sent the original licensee. NO DISK WILL BE MAILED TO A CUSTOMER WHO AVAILS HIMSELF OF ANY DISCOUNTED REGISTRATION FEE. Example: If your company has five users that want to use Hexcalibur, the license fee for all five would be: $30.00 (for the original license) + ($25.00 x 4) = $100.00 (for the other four users) ------- $130.00 TOTAL registration fee The first user would be sent an updated disk, and the other four would obtain copies from that user. If your company has 25 users, all of whom are going to use Hexcalibur, the registration fee would be: $30.00 (for the original license) + ($25.00 x 20) = $500.00 (for users #2 - 20) + ($20.00 x 5) = $100.00 (for users #21 -25) ------- $630.00 TOTAL registration fee Not all registrations need be made at once. After payment of the first registration, you may take advantage of the discount schedule by adding new users. Simply include your ORIGINAL LICENSE NUMBER (which is provided on the disk mailed to you) with your order, and you will receive the discount. NOTICE: YOU MAY NOT USE HEXCALIBUR WITHIN YOUR ORGANIZATION WITHOUT A PRIOR PURCHASE OR LICENSE ARRANGEMENT. Introduction ============ Hexcalibur is a high quality editor designed expressly for examining, modifying, or otherwise manipulating disk files in their raw, or binary, format. You may examine and change any part of a file using either hexadecimal characters (4- bit characters) or standard ASCII characters. Hexcalibur is especially useful for examining and editing files that standard ASCII editors either will not read or will read but display in a format that is not terribly useful. With Hexcalibur, you can: (1) Examine and change the contents of WordStar or other specially encoded files. (2) Filter incompatible codes out of files. (3) Convert Unix or BTOS text files (line terminator = 0a) to MS-DOS format (line terminator = 0d0a) or to MacIntosh format (line terminator = 0d), or vice versa. (4) Examine and change the printer codes in a file to be printed. (5) Search game programs for clues in the text portion of the codefile. (6) Examine and change soft font data files for laser printers. (7) Examine incoming .COM and .EXE files for software virus patterns and, possibly, eradicate them. ...and much more! New ideas for using this product come to mind every day! The key to doing any of these things is THAT YOU KNOW WHAT YOU ARE DOING. Hexcalibur does not advise you or attempt to protect you from yourself. It will let you do anything to a file at the binary level. If you change an executable codefile, you had better know what you are doing! But for those who know, Hexcalibur provides a convenient tool for making the kind of changes that, until now, were extremely difficult to do! An immediate use of Hexcalibur can be illustrated using this documentation file you are now reading. This file is formatted for printing on any printer that uses the sequence "Form Feed/Carriage Return" ("0c0d" character sequence) as a page separator. If your printer does not use that character sequence, but uses something else, you can easily change this file to print on your printer. Suppose, for example, that your printer uses the hex character sequence "1f" as its form feed instruction. You could change every "0c0d" in this file to "1f" by taking the following steps: Beginning at the MS-DOS prompt, proceed as follows. (The step numbers are for reference purposes only. Do not type them in. "Alt" refers to the "Alt key", and refers to the "ENTER key.") 1. HC HCDOC.TXT 2. press any key to leave the greeting screen 3. Alt-R 4. 0c0d 5. 1f 6. when the confirm prompt appears, type: r 7. Alt-X 8. y 9. Now print the file using the MS-DOS PRINT command, and you will find that it will eject pages properly on your printer that uses "1f" as a page eject instruction. The pages that follow provide instructions on how to use Hexcalibur. Hexcalibur has been designed for intuitive operation. Most of the commands are accessed by different Alt keys. (For example, Alt-B moves to the beginning of the file, Alt-E to the end, Alt-F is FIND, Alt-R is REPLACE, and so forth.) Wherever possible, standard DOS keys have been used for various paging functions. (For example, the cursor arrows work as expected; if you move to a line off of the screen, the screen will scroll one line; Page Up and Page Down may be used to move through the file in 256-character blocks.) An on-line summary of the commands is readily available by pressing function key F1. Use this screen for quick reference to any command. The screen colors are user-configurable. If the appearance of the screen is not right for your computer, type Alt-C. This will bring up the Color Menu. Once in the Color Menu, use the cursor arrows to change colors. The Left and Right arrows change the foreground color, while the Up and Down arrows change the background color. When you have your screen colors set as desired, press the ENTER key to save them. They will be saved in a file called HC.FIL and will be available for all future runs of Hexcalibur. Installation ============ To install Hexcalibur onto a hard disk system, proceed as follows: 1. Insert the floppy into a floppy drive. (We will assume you are using drive A.) 2. Select the drive you want the program to run from. For example, if you want the program on drive C, enter: C: 3. Change to the directory you want the program to run from. For example, to put the program under the directory DOS, enter: CD DOS For best results, put Hexcalibur into a directory that is part of your normal PATH. 4. COPY A:*.* 5. Set your screen colors. To do this, enter: HC SAMPLE1.TXT Alt-C Select your colors as described in "Color Selections" (later in this document). Exit the color menu by pressing the ENTER key. Exit the program (if desired) by entering: Alt-X Your screen color selections are now saved in a location that is visible to your DOS PATH. Hexcalibur will therefore find the color file every time you run it. (You can also make additional color files under other directories if you wish to use different colors in different locations.) 6. Mail in your Registration on the enclosed order form. If possible, please let us know to what use you plan to put this program to. 7. Make a copy of the original diskette and give it to a friend. Hexcalibur ========== Command Summary List -------------------- Function Key Sequence -------- ------------ Move 1 character to the left. . . . . . . . . . . . . . . . . . Left Arrow Move 1 character to the right . . . . . . . . . . . . . . . . . Right Arrow Move Up 1 line; scroll 1 line if at top of screen . . . . . . . Up Arrow Move Down 1 line; scroll 1 line if a bottom of screen . . . . . Down Arrow (Each line is 16 characters long.) Move Up 1 page. . . . . . . . . . . . . . . . . . . . . . . . . Page Up Move Down 1 page. . . . . . . . . . . . . . . . . . . . . . . . Page Down (Each page is 256 characters in length.) Beginning of line . . . . . . . . . . . . . . . . . . . . . . . Home End of line . . . . . . . . . . . . . . . . . . . . . . . . . . End Beginning of file . . . . . . . . . . . . . . . . . . . . . . . Alt-B or Alt-0 Move in 10% of the file . . . . . . . . . . . . . . . . . . . . Alt-1 Move in 20% of the file . . . . . . . . . . . . . . . . . . . . Alt-2 Move in 30% of the file . . . . . . . . . . . . . . . . . . . . Alt-3 Move in 40% of the file . . . . . . . . . . . . . . . . . . . . Alt-4 Move in 50% of the file . . . . . . . . . . . . . . . . . . . . Alt-5 Move in 60% of the file . . . . . . . . . . . . . . . . . . . . Alt-6 Move in 70% of the file . . . . . . . . . . . . . . . . . . . . Alt-7 Move in 80% of the file . . . . . . . . . . . . . . . . . . . . Alt-8 Move in 90% of the file . . . . . . . . . . . . . . . . . . . . Alt-9 End of file . . . . . . . . . . . . . . . . . . . . . . . . . . Alt-E Go to specific sector and byte. . . . . . . . . . . . . . . . . Alt-G (Type in the desired sector and byte number and press ENTER.) Switch between Hex Window and Text Window . . . . . . . . . . . F2 Toggle Insert Mode/Overtype Mode. . . . . . . . . . . . . . . . Insert Delete Character. . . . . . . . . . . . . . . . . . . . . . . . Delete (In the Hex window, both hexades are deleted at once.) Begin Block . . . . . . . . . . . . . . . . . . . . . . . . . . Alt-A Initiate Copy of Selected Block . . . . . . . . . . . . . . . Alt-C Initiate Move of Selected Block . . . . . . . . . . . . . . . Alt-M Delete Selected Block . . . . . . . . . . . . . . . . . . . . Alt-D Retrieve most recently selected Block for Pasting . . . . . . . Alt-P Find text . . . . . . . . . . . . . . . . . . . . . . . . . . . Alt-F Find and Replace text . . . . . . . . . . . . . . . . . . . . . Alt-R Save File . . . . . . . . . . . . . . . . . . . . . . . . . . . Alt-S Exit Program (with option to save the file) . . . . . . . . . . Alt-X Quit Program (same as Alt-X). . . . . . . . . . . . . . . . . . Alt-Q Undo All Changes since the most recent Save . . . . . . . . . . Alt-U Select Screen Colors. . . . . . . . . . . . . . . . . . . . . . Alt-C Toggle Display All/Display only Printables in the text Window . Alt-Z Display Product Information . . . . . . . . . . . . . . . . . . Alt-I View Command Summary. . . . . . . . . . . . . . . . . . . . . . F1 Cancel an operation in progress . . . . . . . . . . . . . . . . Esc The Screen Layout === ====== ====== HEXCALIBUR Workfile: C:\HEXCAL\NONAME.TXT Sector: 000 Byte: 000 F1 - HELP 0 0 F2 - Switch Window overtype ESC - Cancel Operation 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 10 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 20 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 30 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 40 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 50 60 00 00 00 00 00 00 00 00 00 .. .. 60 70 00 00 00 00 the hex window 00 00 00 00 00 .. the text .. 70 80 00 00 00 00 00 00 00 00 00 .. window .. 80 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90 A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ A0 B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ B0 C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ C0 D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ D0 E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ E0 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ F0 Size of File: 65536 Available Memory: 365160 When first coming up in Hexcalibur, you will notice two large windows taking up the majority of the screen. The smaller window on the right side is the text window, consisting of the character translations of all the bytes in the file. The larger one on the left side is the hex window, containing two hex characters for every byte in the file, one for the lower four bits and one for the upper four bits. Each character in the text window has a direct correspondence across in the hex window, and vice versa. The screen is laid out so that corresponding hex and text characters are always visible when editing. When editing in the hex window, the corresponding character in the text window is simultaneously updated; when editing in the text window, the corresponding hex character pair is also updated. You may edit in one window at a time and use the F2 command to switch windows. The top line of the screen consists of the title, HEXCALIBUR and the name of the workfile being edited, including the name of the path to that file. Other features displayed on the screen include the exact location (in sectors and bytes) of the cursor in the file. This is displayed in the upper left hand corner of the screen directly under the title, HEXCALIBUR, and it is updated as the cursor moves through the file. Beneath the position display is the mode display. There are three separate modes: overtype, insert mode, and block mode. Overtype and insert mode can by toggled by the insert key. Block mode is started by an Alt-A command, and no editing can take place as in the other two. The bottom line contains the size of the file and the remaining available memory the editor may use. The size of the file is updated as editing takes place. The available memory changes as blocks of space are assigned, which is typically in blocks of 8K bytes. Color Selections ===== ========== HEXCALIBUR Workfile: C:\HEXCAL\NONAME.TXT Sector: Byte: F1 - HELP F2 - Switch Window overtype ESC - Cancel Operation 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF 00 Color Selections ...------------- 00 10 ------|||||||||| 10 20 ...................... |||||||||||||||| 20 30 . Current Field: . |||||||||||||||| 30 40 . TEXT . |||||----------- 40 50 ...................... ---------------- 50 60 ---------------- 60 70 Left/Right cursors Change text color ---------------- 70 80 Up/Down cursors Change background color ---------------- 80 90 ---------------- 90 A0 TAB Move to next field ---------------- A0 B0 Shift-TAB Move to previous field ---------------- B0 C0 ---------------- C0 D0 Alt-D Load default colors ---------------- D0 E0 ENTER Return and save changes ---------------- E0 F0 ESC Return without save ---------------- F0 Size of File: Available Memory: All color selections are saved in a file named HC.FIL. If this file is not found when the program begins running, the editor will come up with its default colors. Another indication that it has not been found the HC.FIL file is that the bottom of the title screen will display "To set screen colors, type Alt-C". To enter the color selection menu once in the editor, use the Alt-C key. In response to the Alt-C command, the color selections screen will come up. You will be able to edit one color field at a time. The field that is currently being edited is displayed at the top center of the screen. There are six different color fields that you may edit. While editing colors, the functions of the keyboard are redefined thusly: Left/Right arrows ----------------- Use the left and right arrow keys to change the current field's foreground text color. Up/Down arrows -------------- Use the up and down arrow keys to change the current field's background color. TAB --- The TAB key shifts the editor to the next field. Shift-TAB --------- The Shift-TAB key shifts the editor to the previous field. Alt-D ----- Loads and displays the default colors of Hexcalibur. ENTER ----- Returns to Hexcalibur and saves the colors displayed on the screen to the HC.FIL file. These color selections are now permanently saved for all future runs of Hexcalibur. ESC --- Returns to Hexcalibur without saving the displayed colors. Tutorial ======== To begin running Hexcalibur from a DOS prompt, enter the command: hc [filename] where the filename is the name of the file to be edited. Although the filename is optional, if it is not provided, Hexcalibur will immediately prompt you for a file name. Note: If you have no file to start with, begin editing using the file named SAMPLE1 supplied on the disk. As you load Hexcalibur, the title screen will first appear on the screen. As the program loads the file, a counter at the bottom left hand corner of the screen displays how many bytes are currently loaded. As soon as the file is loaded, press any key to enter the editor. IF THIS IS THE FIRST TIME YOU ARE RUNNING HEXCALIBUR, you may want to change the screen colors. To do so, type Alt-C. You may then change your screen colors as described on the Color Selection Menu. (For additional information on color selection, see the section on "Custom Color Settings".) As the editor comes up, your cursor will be located at the top left hand corner of the hex window. To begin, use the arrow keys to move the cursor around the hex window. Move to the end of a line and notice that the cursor wraps around to the next line of the hex window instead of moving over to the text window. To change windows use the F2 key. This will move you to the corresponding character in the text window. Now move to the bottom of the screen and you will see the file scroll up while the cursor holds its position. If you press the home key, the cursor will move to the beginning of the line of the current window. The end key will move the cursor to the end of the line of the current window. Try a few page up and page downs. The entire file will shift a page (half of a sector) up or down. For larger jumps through the file you will want to use the Alt-(0..9) keys. Try pressing Alt-3. The cursor will move to a position 30% of the way through the file. Editing in Overtype Mode ------------------------ To start this sample editing session, do the following: 1. Press the insert key to change the program into Overtype mode. 2. Press function key F2 to switch to the text window. Now begin typing some text characters. You will notice that the characters you are typing are overwriting the existing characters. Also notice that the corresponding characters in the hex window have changed their values in accordance with the changes you are making in the text window. Now press function key F2 again, and you will move to the hex window. While you are in the hex window, you can only use hexadecimal characters: 0-9 and A-F. As you type, you will notice that, as in the text window, the characters you type will overwrite the character which the cursor sits on. The corresponding text characters are updated as well. Editing in Insert Mode ---------------------- Now press the insert key and you will notice that, at the upper left hand corner of the screen, it now says "insert mode" where it used to say "overtype." Press the F2 key so that your cursor is in the text window. Begin typing, and you will notice that the text from the cursor forward gets shifted forward, and the typed character is inserted at the cursor. The cursor is also shifted one space to the right. Again, the characters in the hex window are adjusted. Move over to the hex window (by pressing F2) and try typing there. You will notice that insert mode in the hex window works a bit differently. Move the cursor to the left hex character of a pair. Type a number and watch all of the pairs of hex characters shift forward, from the cursor on. The number pressed will be inserted into the right hex character and the left hex character will turn to 0. The cursor is moved to the right hex character where the typed number sits. If you type another number, the right hex character will shift to become the left hex character, and the character keyed becomes the right hex character. The cursor then moves another character to the right. Working with Blocks ------------------- In order to work with blocks you must always begin by pressing Alt-A (begin block). When you do so, you will notice that the mode indicator towards the upper-left hand corner of the screen is flashing "block mode" and the character your cursor sits on is now highlighted with a block mode color setting. You are now in block mode. Note: You cannot edit text in block mode, but you can switch freely between the hex and text window with F2. Try moving the cursor around the screen and you will see that the text between the start of the block and the current position is highlighted. Now hit F2 to switch to the opposite window and notice that the block has remained the same. When you have decided on a block, look directly above the windows to see the block options: Alt-C = copy block Alt-M = move block Alt-D = delete block First try a block copy by pressing Alt-C. The block highlight will disappear, not the text, and above the windows it will say "Move cursor to destination, press ENTER." Do as the instructions say and you will see the formerly highlighted text reappear where the cursor sits. The cursor will appear at the end of the copied block. Try the same procedure with move block (Alt-M) this time. You must start a new block again with Alt-A. Notice that when you actually press Alt-M, the highlighted text disappears instead of remaining as with an Alt-C. Pressing Enter at the destination will act the same as with an Alt-C. Now try the procedure with delete block (Alt-D) after starting another block with Alt-A. When pressing Alt-D, the highlighted block is removed and you are no longer in block mode. Using Paste Block ----------------- Now imagine that you accidentally deleted the wrong block. It will be easy to recover this deleted block with Paste Block (Alt-P). When pasting a block you must NOT be in block mode. The last block used in block mode is automatically saved in a block buffer and can be retrieved with Alt-P. Press Alt-P now and above the windows it will say "Move cursor to destination, press ENTER." If the cursor still sits in the same place when the delete was made, you do not need to move it. Press Enter and the block will be replaced. If you wish to do another Paste block with the same block, you may. The block remains in the buffer until it is replaced, when block mode is used. Basic Editing Features ===== ======= ======== Overtype -------- In overtype mode, anything typed on to the screen will overwrite existing characters on the screen. In the hex window, the overwrite will take place over the character which the cursor is on, as in the text window. In the hex window, it edits only the upper or lower eight bits of the corresponding text character in the text window. The insert key toggles overtype and insert mode. Insert ------ In insert mode, anything typed on to the screen will cause all text, from the cursor forward, to move up a space, and the typed character to be placed at the cursor. When typing in the hex window, the first character typed will be inserted as the rightmost 4 bits and prefixed by a zero; the second key typed will cause the first character to be shifted to the left and then the second character will become the lower 4 bits. For example, if we have: 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f and we are in insert mode with the cursor over the "9" of "98" and we type a "6", the display will change to read: 90 91 92 93 94 95 96 97 06 98 99 9a 9b 9c 9d 9e Now the cursor will be over the "6" of the "06" and the characters from "98" up will have been shifted one full position to the right. If (note we're still in insert mode) we now (while over the "6") type "7", the "6" will be moved to the left and the "7" inserted after it. The display will then read: 90 91 92 93 94 95 96 97 67 98 99 9a 9b 9c 9d 9e The cursor will be left over the "9" of the "98", which is the next available position on the screen. The insert key toggles overtype and insert mode. Delete ------ When deleting a character, all text beyond that character is shifted back to fill the void. In the hex window, both hex characters are deleted with one keystroke. Change Display (Alt-Z) ---------------------- This will change the text window to display either all printable characters or just ASCII characters. Switch Between Hex and Character Edit (F2) ------------------------------------------ This will shift windows to the corresponding character in the other window. This allows you to edit using either hex characters or ASCII characters. Color Selection (Alt-C) ----------------------- Alt-C will bring up the color selection help screen. There are six different color fields to edit: text, background, special characters, help screens, block characters, and non-printable characters (hex character who have no printable translation). The current field being edited is displayed in the top half of the help screen, and the cursor is located at one of the characters of that field. The arrow keys change the color of the current field and the Tab keys shift fields. ESC will cancel all color changes and ENTER will save them. Moving Around in the File ====== ====== == === ==== Arrow Keys ---------- Using the arrow keys will move the cursor throughout the file. When reaching the end of a line or a page, the screen and cursor will automatically wrap. Note: The arrow keys will not move the cursor from one window to another. Page Up, Page Down ------------------ Paging up and down will shift the file exactly one screen page (256 bytes) accordingly. Home ---- Moves the cursor to the beginning of the line of the current window. End --- Moves the cursor to the end of the line of the current window. Beginning of File (Alt-B) ------------------------- Moves the cursor to the beginning of the file. End of File (Alt-E) ------------------- Moves the cursor to the end of the file. Move to x% of file (Alt-0..9) ----------------------------- Moves to a certain percentage of the file (i.e., Alt-3 moves the cursor to a position at 30% of the file size). Goto (Alt-G) ------------ Lets you specify exactly where in the file you want to move to, using sector and byte values. Find (Alt-F) ------------ Searches for a given string in hex or text, depending on the current window, and then moves the cursor to the position of the string if found. Find and Replace (Alt-R) ------------------------ Alt-R prompts for two strings: a target string and a replacement string. Each time the target string is found in the file, you are asked if you want the replacement to be done. The possible responses are: y -- yes: replace this one occurrence of the target string with the replacement string. n -- no: skip this occurrence of the target string but continue searching for the next occurrence of the target. r -- replace all: replace all remaining occurrences of the target string without prompting again. The ESC key may be used to cancel the Replace operation. Any time while a Find or Replace is in progress, pressing any key on the keyboard will stop the operation, and the prompt ENTER = continue / ESC = break will appear. When this happens, press the ENTER key to continue the operation. To abort the operation, press the Escape key. Block Mode Editing ===== ==== ======= Block Mode ---------- Block mode is initiated by executing an Alt-A. In block mode, blocks of text may be copied, moved, or deleted, regardless of which window you are in. Both windows will be updated to the change. Text cannot be edited in block mode. Begin Block (Alt-A) ------------------- Turns block mode on and places a marker at the current position of the cursor. The cursor then should be moved to the position at the end of a desired block before executing a block action, i.e. copy block. Delete Block (Alt-D) -------------------- To execute a delete block, you must be in block mode. When the desired block to remove is highlighted, an Alt-D will delete it. Note: In case of accidental delete, the block is still available in memory. It may be retrieved by typing Alt-P. After typing Alt-P, move the cursor to the location where you would like to put the accidentally deleted block, and press ENTER. The block will be inserted back into the file. Blocks are only saved to one level deep. Once a new block has been selected, the previous block is no longer retrievable. Copy Block (Alt-C) ------------------ To execute a copy block, you must be in block mode. When the desired block to copy is highlighted, press Alt-C. The highlighting of the text will disappear. Move the cursor to the desired location where the block is to be copied and press Enter. Move Block (Alt-M) ------------------ To move a block, you must be in block mode. When the desired block to move is highlighted, press Alt-M. The highlighted text will be removed. Move the cursor to the desired destination location and press Enter. Paste Block (Alt-P) ------------------- Alt-P will paste the most recently selected block to any position in the file. Alt-P is pressed OUTSIDE of block mode. It causes the program to retrieve the most recently selected block and make it available for insertion into the file. This may be a block that was previously deleted, moved, or copied. As with move block and copy block, after pressing Alt-P, move the cursor to the location in the file where you desire the block to be inserted, and press ENTER. File Options ==== ======= Undo changes (Alt-U) -------------------- Undoes changes in the file since the last save was made. Save File (Alt-S) ----------------- Alt-S causes a small menu to appear in the Hex window. You are given the option to rename the file and then save it. To actually save the file, you must press the ENTER key in the last box on the menu. To cancel the save operation, press the Escape key at any time. If there already exists a file with the name you are attempting to use, you will be given the option of making a backup file (with the .BAK extension) when the save takes place. Upon completion of the save, the program returns to normal operation. Exit Program (Alt-Q) -------------------- Same as Alt-X. Exit Program with Optional Save (Alt-X) --------------------------------------- Alt-X exits the program and gives an option to save the file. ESC may used to escape the exit altogether. Once you have moved to the Save menu via Alt-X, it is impossible to get back to the program. Pressing ESC while in the Save menu will exit the program, and the file will NOT be saved. (A notice to this effect is posted at the bottom of the Save menu when Save is entered via Alt-X.)