






     HexEdit 2.1
     ~~~~~~~ ~~~

     By Mike Graham.
     Copyright 1986,1991.

     April 20th, 1991. 7:26.
































































                                Contents


              1  Introduction  . . . . . . . . . . . . . . . . . . . . 2
              2  Features  . . . . . . . . . . . . . . . . . . . . . . 2
              3  What is Freeware? . . . . . . . . . . . . . . . . . . 3
              4  What does registration get you? . . . . . . . . . . . 3
              5  Distributing HexEdit  . . . . . . . . . . . . . . . . 4
              6  Commercial use of HexEdit . . . . . . . . . . . . . . 4
              7  Unlimited?  . . . . . . . . . . . . . . . . . . . . . 4
              8  Installing HexEdit  . . . . . . . . . . . . . . . . . 5
                 8.1  General Installation . . . . . . . . . . . . . . 5
                 8.2  Installing for DESQview  . . . . . . . . . . . . 5
                 8.3  Installing for Windows 3.0 . . . . . . . . . . . 5
              9  The Basics  . . . . . . . . . . . . . . . . . . . . . 6
                 9.1  Starting up HexEdit  . . . . . . . . . . . . . . 6
                 9.2  Once You're Started  . . . . . . . . . . . . . . 6
              10  The Keys . . . . . . . . . . . . . . . . . . . . . . 7
                 10.1  F1: Help  . . . . . . . . . . . . . . . . . . . 7
                 10.2  F2: Jump to Byte  . . . . . . . . . . . . . . . 7
                 10.3  Shift-F2: Jump to Sector  . . . . . . . . . . . 8
                 10.4  F3: Search  . . . . . . . . . . . . . . . . . . 8
                 10.5  F4: Search and Replace  . . . . . . . . . . . . 8
                 10.6  F8: Mask non-text bytes . . . . . . . . . . . . 8
                 10.7  F9: Mode  . . . . . . . . . . . . . . . . . . . 8
                 10.8  Alt-A: ASCII Table  . . . . . . . . . . . . . . 9
                 10.9  Alt-B: Base Conversion  . . . . . . . . . . . . 9
                 10.10  Alt-C: Configuration . . . . . . . . . . . . . 9
                 10.11  Alt-N: Next Found  . . . . . . . . . . . . .  10
                 10.12  Alt-P: Previous Found  . . . . . . . . . . .  10
                 10.13  Alt-S: Shell to DOS  . . . . . . . . . . . .  10
                 10.14  Alt-T: Text Search . . . . . . . . . . . . .  10
                 10.15  Alt-U: Undo  . . . . . . . . . . . . . . . .  10
                 10.16  Alt-X: Panic Abort . . . . . . . . . . . . .  11
                 10.17  Esc:Exit . . . . . . . . . . . . . . . . . .  11
                 10.18  Backspace  . . . . . . . . . . . . . . . . .  11
                 10.19  Cursor Keys  . . . . . . . . . . . . . . . .  11
              11  System Requirements  . . . . . . . . . . . . . . .  12
              12  Odd Notes  . . . . . . . . . . . . . . . . . . . .  12
              13  Future Enhancements  . . . . . . . . . . . . . . .  13
              14  Revision History . . . . . . . . . . . . . . . . .  14
              15  Legal Crud . . . . . . . . . . . . . . . . . . . .  18
              16  Credit where credit is due . . . . . . . . . . . .  20
              17  Contacting the Author  . . . . . . . . . . . . . .  21







                                         i




     HexEdit 2.1                                                By Mike Graham



1  Introduction


       HexEdit is a programmer's hexadecimal patch editor.   "What,"  you ask,
     "is  a  programmer's  hexadecimal  patch  editor?"  Well, it's a  special
     editor, similar to a text editor except that it  deals  with  unformatted
     binary files, rather than nice, clean text.  For more info on the uses of
     patch editors, see the HEXEARL.TXT file.

       HexEdit  has  evolved  greatly  since  version  1.0  back  in '86.  The
     revision history is near the end of this document.


2  Features


         -  Handles files of unlimited size.

         -  Records all changes to a file, with an UNDO  feature  wherein  you
            can selectively UNDO any number of changes.

         -  UNDO log files can be saved  to  disk before you leave HexEdit, so
            the  next  time  you edit the file, you will have the same changes
            available for UNDO.

         -  Searches  files  at  a rate of around 10 seconds per megabyte on a
            high-powered machine.

         -  Fast and flexible  search  /  search  and replace.  You can search
            with or without case-sensitivity.    Searches  can be aborted mid-
            stream, even when doing a replace, with no problems.

         -  High-speed,  crisp  response;  HexEdit  can  keep  up  with  every
            keyboard accelerator I've tried it with.

         -  Random  access  jump  to  any  byte(F2) or sector(SF2) of a  file.
            Location can be specified in decimal or hexadecimal format, or you
            can simply specify top or bottom of file.

         -  Searches for character strings or hexadecimal series'.

         -  Will store the location of up to 15,000 search matches.

         -  Move through file by jumping to locations where  items  were found
            in the last search operation.

         -  On-line  base  conversion  including  decimal,   hexadecimal,  and
            binary.

         -  Pop-up  ASCII  table  (Alt-A)  for   quick   reference   of  weird
            characters.

         -  Search for random text strings (Alt-T) in binary files.




                                     Page Two.




     HexEdit 2.1                                                By Mike Graham



         -  Swapping DOS shell

         -  Full colour customization, with all changes stored directly in the
            executable file, meaning no  configuration  files  to  fool around
            with.

         -  Panic  abort of edit.  If all else fails... PANIC!  The file being
            edited will revert to its  original  (pre-edited)  state,  and you
            will instantly drop back to DOS.


3  What is Freeware?


       We're  all  familiar  with the Shareware concept: you're allowed to use
     the product for so many days, then if you intend to continue using it you
     have to send a cheque for so many dollars ere you burn in hell forever.

     Freeware is different.

       We're  all  TOO  TOO  familiar  with  Crippleware  (an evil,  perverted
     mutation of  Shareware)  in  which  you get a product that has all of the
     nice  features  disabled.  Or it dies and will never run  again  after  a
     certain number of days.   To get one that works, you have to cough up the
     money.  How can you tell if it will do  what  you  need  it to DO, if you
     can't USE IT???

     Freeware is better.

       With the Freeware concept, I'm not TELLING you to send  me  money.  I'm
     giving you a completely working product  which  you can use forever and a
     day without paying  for,  if  you  want.    However,  if you DO like this
     product, and you'd  like to see new versions of it in the future, then it
     would likely be in your best interest to register the product and support
     my programming efforts.  There is no preset registration fee  (though $20
     per copy used is recommended).  Send whatever your conscience  tells you.
     All I ask  is  that you at least cover the cost of mailing out the latest
     version to you (minimum $10 to cover  postage, disk, disk mailer, etc.).

       Some  of  the  companion  products  that  come  with HexEdit  (such  as
     HexConvert and KEYLOCK) have actually been released to the public domain.
     This means that I have basically abandoned all ownership of  the programs
     (though I still reserve the names as copyright) so you  can  give them to
     anyone  with no registration obligation at all.   Feel  free  to  install
     KEYLOCK on the machine at work, or whatever.


4  What does registration get you?


       If you register your product, you get the latest version mailed  to you
     on whatever size of floppy disk you specify (also specify the version you
     have,  so if you already have the latest then I'll wait and send you  the
     next one when it's out).   Once  registered,  your name goes on file, and



                                    Page Three.




     HexEdit 2.1                                                By Mike Graham



     you will be alerted of the  next  release  by mail (or whatever method is
     most convenient).  At any  time you can send me $10 and I'll send you the
     most recent  version.  See HEXORDER.FRM for further information regarding
     registration.

       Oh  yeah,  if  you send me a good idea regarding alterations to improve
     HexEdit,  or  if  you send in a good (read 'current and real') bug-alert,
     you will be automatically  registered  for  the  next version (which will
     include your suggestion or bug-fix).

       I'm  expecting  to  release new versions of HexEdit roughly every three
     months or so.


5  Distributing HexEdit


       Feel free to upload any UNMODIFIED copies of HexEdit anywhere you like.
     You can ADD HexEdit-related files to the HEXEDnn.ZIP, but don't CHANGE or
     DELETE  files.  I.e, if you came up with a really amazing help screen  or
     icon for HexEdit, you can include it with the zip file to give to someone
     or  distribute, but make sure that the original  file  remains  with  its
     original name.   You can add a readme file to promote your addition.  BBS
     Advertisements can be added, but I'd  appreciate it if it  doesn't appear
     each time you run  HexEdit  (i.e.  those  irritating RUNME.BAT files that
     some people come up with... I DESPISE title screens!)


6  Commercial use of HexEdit


       If you represent a company that would like to use HexEdit,  but require
     a special version, detailed  technical  specs,  source code, better docu-
     mentation, site licensing, or whatever, then drop me a line, and I'll see
     what I can do.   Changes can usually be made in a weekend, but if they're
     really in-depth and  nasty, then it might take a week.  Drop me a letter!
     What do you have to lose?  Even if you  are a mere human being, and not a
     company at all...


7  Unlimited?


       Occasionally throughout this document I will use words and phrases like
     'unlimited', 'unending', 'really totally  humongous'  etc.   It should be
     noted that there are limits to everything, so when I say unlimited I mean
     limits so huge that you  have to be NASA to exceed them.  For instance, I
     mention unlimited file size, when in  reality  you can only edit files of
     up to 2.5  gigabytes or so (well, up to almost 5 gigabytes, but I suspect
     it gets pretty flaky after 2.5 gigabytes.. I haven't exactly been able to
     test that  part...).    Of  course, it relies on hard drive size as well,
     which  limits most people to files of around 100 megabytes and less.  For
     all intents and  purposes,  that's  big  enough  that I can get away with
     saying unlimited.



                                     Page Four.




     HexEdit 2.1                                                By Mike Graham



8  Installing HexEdit


8.1  General Installation

       The only file absolutely required to use HexEdit is the executable file
     HE.EXE.  If this file is put in your path somewhere, then you should have
     no  trouble at all.  To use the on-line help, the file HEXEDIT.HLP should
     be  copied  into  the same directory as  HE.EXE.    To  use  HEB.BAT  for
     automatic backups (see  subsection  "Starting up HexEdit" below) then you
     will  need to copy HEB.BAT and MAKEBAK.EXE to your path (they do not need
     to be in the same directory as HE.EXE).

8.2  Installing for DESQview

       HexEdit is a DESQview-aware application.  Because of this,  it  can  be
     run  more  fluidly  under DESQview than a non-aware application could be.
     To  install  HexEdit,  you  should  copy  the  HE-PIF.DVP file  into  the
     directory with HE.EXE.  Now, simply pop up the DESQview main menu, select
     the "Open Window" menu, pick "Add  a  Program", and select "O" for "Other
     (add program not in list)".   In  the  dialogue box that appears, fill in
     the directory that you copied HE.EXE and HE-PIF.DVP  to.    Once  you hit
     enter, you can select to install HexEdit.  Note that  if  you also copied
     the Windows 3.0 PIF file to the HE.EXE directory, then you  will actually
     have a choice  between  TWO seemingly identical "HexEdit" applications to
     install.  This is because DESQview partially understands PIF files.  Pick
     the HexEdit in the left-hand column.  HexEdit  is  now  installed.   Note
     that  the  DVP file assumes that the HE.EXE file is in the path.   If  it
     isn't, you will have to modify the DVP file slightly.

8.3  Installing for Windows 3.0

       HexEdit comes with  a Windows 3.0 PIF file, and two icon files.  If you
     want  to run HexEdit under Windows, then you should copy at least the PIF
     file to the HexEdit directory.  To install, simply  run  Windows,  select
     the group  you  want  to  add HexEdit to as the current group, and select
     "New" under the  "File" menu.  You will now see a dialogue box asking you
     whether you want to add a new program item or a new group.  Make sure the
     "Program Item" radio button is pressed, and click on "OK".    You now see
     the "Edit Properties" dialogue box.  Type in the full path of the HexEdit
     PIF file (HE.PIF).  Once that's typed in,  click  on  "Change  Icon", and
     type in the  full  path of one of the HexEdit .ICO files.  Click on "View
     Next" to make sure the path is right, and you should see the custom icon.
     Try changing the icon path to  the  other icon file (there's "HE.ICO" and
     "HE2.ICO") and  viewing  it;  each  icon has its merit.  Once the icon is
     selected,  just  click  on "OK" a few  times,  and  you're  done.    It's
     installed.    You  will likely have to change the PIF  file  slightly  to
     specify where you copied HE.EXE, though.









                                     Page Five.




     HexEdit 2.1                                                By Mike Graham



9  The Basics


9.1  Starting up HexEdit

       Just call up HexEdit with a  file  name  as the first parameter, and an
     UNDO file as the (optional) second parameter.  Additionally, you  can add
     "/MONO"  after the last file parameter to  force  the  'factory  default'
     monochrome colours.  For a quick refresher of parameters,  you  can  just
     run  HexEdit  with  no parameters, and you will get a help screen listing
     all of the parameter choices.

       For example: "HE JUNK.DAT JUNK.LOG /MONO" will start  HexEdit  and load
     JUNK.DAT  using  JUNK.LOG  as the UNDO  log.    The  monochrome  'factory
     default' colour set will be used.

       If you want HexEdit to make a backup of the  file  you're editing, then
     replace  "HEB" for "HE" in the above commands.  HEB is a batch file  that
     automatically  copies  whatever  file you want to edit to a file with the
     extension  .BAK.  If the file you're editing IS a .BAK file, then a  file
     with the extension .BA0 will be created.

9.2  Once You're Started

       The file is read in, and you see the first page (256 bytes) of it.   It
     looks sort of like this:
อ[Editing: C:\UTIL\HE\HE.EXE]ออออออออออออออออออออออออออออออ[HexEdit 2.1]อออออ
 Found:   127/290           Changes : 4297           Mask:Off  Mode:C  Page:1
 Current Sector:          39(00000027)    Byte:      20360(00004F88)
 Total Sectors :         127(0000007F)   Bytes:      65503(0000FFDF)
ออออ00อ01อ02อ03อ04อ05อ06อ07อ08อ09อ0Aอ0Bอ0Cอ0Dอ0Eอ0Fออออออ0123456789ABCDEFออออ
00- 74 69 6F 6E 20 6F 66 20-48 45 58 45 44 49 54 2E -00- tion of HEXEDIT. -00
01- 54 58 54 20 66 6F 72 20-6D 6F 72 65 20 69 6E 66 -01- TXT for more inf -01
02- 6F 72 6D 61 74 69 6F 6E-2E 36 54 68 65 72 65 20 -02- ormation.6There  -02
03- 69 73 20 6E 6F 20 64 69-66 66 65 72 65 6E 63 65 -03- is no difference -03
04- 20 62 65 74 77 65 65 6E-20 74 68 65 20 72 65 67 -04-  between the reg -04
05- 69 73 74 65 72 65 64 20-61 6E 64 20 6E 6F 6E 2D -05- istered and non- -05
06- 33 72 65 67 69 73 74 65-72 65 64 20 76 65 72 73 -06- 3registered vers -06
07- 69 6F 6E 73 20 28 74 68-69 73 20 69 73 20 4E 4F -07- ions (this is NO -07
08- 54 20 43 72 69 70 70 6C-65 77 61 72 65 21 21 21 -08- T Crippleware!!! -08
09- 21 21 29 2E 0F 20 20 20-20 4D 69 6B 65 20 47 72 -09- !!).     Mike Gr -09
0A- 61 68 61 6D 0D 20 20 20-20 42 6F 78 20 36 30 30 -0A- aham     Box 600 -0A
0B- 33 36 18 20 20 20 20 55-20 6F 66 20 41 20 50 6F -0B- 36     U of A Po -0B
0C- 73 74 61 6C 20 4F 75 74-6C 65 74 10 20 20 20 20 -0C- stal Outlet      -0C
0D- 45 64 6D 6F 6E 74 6F 6E-2C 20 41 42 13 20 20 20 -0D- Edmonton, AB     -0D
0E- 20 43 61 6E 61 64 61 20-20 54 36 47 20 32 53 34 -0E-  Canada  T6G 2S4 -0E
0F- 3C 20 6F 72 20 63 6F 6E-74 61 63 74 20 22 6D 69 -0F- < or contact "mi -0F
ออออ00อ01อ02อ03อ04อ05อ06อ07อ08อ09อ0Aอ0Bอ0Cอ0Dอ0Eอ0Fออออออ0123456789ABCDEFออออ
   F1:Help  F2/SF2:Jump  F3:Search  F4:Srch/Rep  F8:Mask  F9:Mode  ESC:Exit
   Alt keys:  A:Ascii  B:Base  C:Config  S:Shell  X:Abort!  T:Text  U:Undo
อออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออ
     At the top, you see the name of  the  file  being  patched (in this case,
     HE.EXE) and  the  version  of  HexEdit.  On the next line you see 'Found:
     127/290' which indicates  that  the  last  search you did resulted in 290



                                     Page Six.




     HexEdit 2.1                                                By Mike Graham



     finds,  and  you  most recently jumped to the location of the 127th found
     item (think of it as location 127 of 290 locations).   In  the  center of
     that   line   you   see  'Changes:  4297'.    This  indicates  that  4297
     modifications have been made to the file (use UNDO (Alt-U) to restore the
     file to its original form).  To the  right  is  'Mask:Off'.   This is the
     indicator  for  the  text filter mask.  Farther to the right is 'Mode:C'.
     This  indicates  that  you're currently in character editing mode, so any
     key you hit (besides arrow keys etc.) will overwrite the  character under
     the cursor.  If you were to change to hex mode (F9) then you can edit the
     hex value of  the  byte directly (the C will change to an H).  Farther to
     the  right  is  'Page:1'.  This tells  you  that  you're  on  the  second
     (numbered from 0)  256  byte  chunk  (or  'page') of the current 512 byte
     sector.  On the next line is the number of the  current  512  byte sector
     within  the file (in decimal, with hex in the brackets) and the offset of
     the current byte  (hex in the brackets).  The next line is similar to the
     one  above, except that it indicates the maximums for the file, i.e.  the
     number of sectors and bytes in  the  file.   Bytes, pages and sectors are
     numbered  with  the first one being zero.    Everything  else  is  pretty
     obvious.

     A word about nomenclature: a file is divided in to any number of 512 byte
     sectors, which are in turn divided into two 256 byte pages.  At any given
     time you are looking at ONE PAGE of  the  CURRENT  SECTOR.   Any time you
     specify a sector target, you will jump to the first  PAGE  of that sector
     (in other words, you might have to hit page-down once  after  the jump to
     get where  you  want  to  be  if  you wanted the second page of a certain
     sector).


10  The Keys


10.1  F1: Help

        This key will call up the  one-page  text file 'HEXEDIT.HLP' if it can
     be found in the same directory as the HexEdit executable file.  Feel free
     to edit this file to your liking.

10.2  F2: Jump to Byte

        Hitting this key will call up a command line which asks: 'Byte to jump
     to [dec/$hex/MIN/MAX/F/L/N/P]'.  The net effect, is that if you type in a
     decimal  number  like  '100'  or  '51231',  then  you will  be  instantly
     transported to that byte (Remember! Bytes are numbered from ZERO, so byte
     #1 is the second byte  in the file).  If you type in a hexadecimal string
     beginning with a dollar sign (i.e. '$F10F') then  you  will  jump  to the
     byte  denoted  by that value.  If you type in MIN, you will jump  to  the
     first (minimum) byte, MAX will jump to the  last  (maximum)  byte  in the
     file.  F is the first found item, L is the last found item, N is the next
     and P is the previous found item.







                                    Page Seven.




     HexEdit 2.1                                                By Mike Graham



10.3  Shift-F2: Jump to Sector

        This  works almost exactly the same as F2 except that if you specify a
     number in decimal  or hex, you will be 'jumped' to the first page of that
     SECTOR,  not BYTE.  Other than that,  the  MIN/MAX/F/L/N/P  choices  work
     exactly the same.  You will find that you will generally use F2, but this
     function is included for completeness.

10.4  F3: Search

        This feature works differently depending on whether you are in  HEX or
     CHAR editing mode.  If you are in HEX mode, it will prompt and search for
     a HEX string.  If you're in CHAR mode, then it will prompt and search for
     a  character string.  After the string is entered you will be prompted as
     to whether you  want  the  search  case  sensitive or not.  Hitting <ESC>
     instead of <ENTER> to terminate input of the search string will cause the
     search to abort.

10.5  F4: Search and Replace

        Same as search (F3) except after the case sensitivity prompt,  you are
     asked for a string/hex  series  to  replace  the search string/hex series
     with  (must be the same length if hex, can be shorter if you're searching
     for text  (string  will  be  padded  with  space (ASCII 32) characters if
     shorter).  After the replacement string/series is entered, a box  pops up
     asking you  if  the  details  are  correct  (remember:  short strings are
     padded at the right!).  If not, you can retype the  replace string/series
     until  it IS right (or ESC to abort).  After the replace string/series is
     entered correctly, you are asked whether you want to be prompted for each
     replace.  If you indicate that you  do  NOT  want  to  be  prompted, then
     everything will happen automatically, and every occurrence of the search-
     string/series in the file will  be replaced by the replace string/series.
     If  you  indicate that you DO want to be prompted, then  every  time  the
     search string is found, you are prompted whether you  want  to  'Replace?
     <Y/N/A/Q>'.   'Y'  and  'N'  are  simply  'yes' and 'no'.  If you want to
     replace this occurrence, then type 'y'.  If  you  don't  want  to replace
     this occurrence, then type 'n'.  If you type 'A'  (for  Automatic or All)
     then all of the remaining occurrences will be replaced automatically.  If
     you type 'Q' (for Quit), then  you  will  be returned to the main HexEdit
     screen without replacing this, or any subsequent occurrences.

10.6  F8: Mask non-text bytes

        Hitting this key will toggle the text mask on and  off.   When active,
     the text mask causes all  bytes  that  are  not  text  bytes  (i.e. ASCII
     #32-#126) to appear on the screen  as  periods ('.') rather than as their
     actual values.  This is convenient  when  you are looking through a file,
     and want  to  view  only  the  textual  information (see also Alt-T: Text
     Search).

10.7  F9: Mode

        Toggle between character  editing  mode  and  hex  editing  mode.   In
     character editing mode you can replace characters by typing directly with



                                    Page Eight.




     HexEdit 2.1                                                By Mike Graham



     the keyboard (the cursor will be on the character array on the right hand
     side of  the  screen).    In  hex  mode, you enter the hex codes with the
     keyboard,  and  the  characters are replaced with the ones represented by
     that hex code (the cursor will be on the hex grid on the left side of the
     screen).

10.8  Alt-A: ASCII Table

        Hitting  this  key  will pop up an ASCII table which has fairly simple
     commands.   All of the standard cursor  commands  (PGUP,  PGDN,  ARROWUP,
     ARROWDN, HOME, and END) do things that make sense, so  it  shouldn't be a
     really stressful thing to get the hang of.  Hit ESC when you're done with
     it.

10.9  Alt-B: Base Conversion

        Hitting Alt-B will pop up a  small  window in the upper-left corner of
     the screen.  There are three lines in this window.  The first line is the
     value in decimal, the second hexadecimal,  the  third in binary.  On pop-
     up, the value displayed will be whatever value was under the  cursor when
     you hit Alt-B.   Once in the window, however, you can tab about the lines
     and change them.  A change in one is reflected in them all.   Hit  ESC to
     return to HexEdit.

10.10  Alt-C: Configuration

        Change  the  default  colours.  If you're running a monochrome system,
     you might not want to run this, as I designed  default  colours that work
     pretty nicely for monochrome, but it never hurts to check  it  out.  It's
     REAL easy.  After hitting ALT-C, you will be looking at a box with a list
     of items down the left, and a facsimile of the HexEdit main screen on the
     right.    Just  use the cursor keys to pick the item to change.  Once you
     have selected an item, you get the attribute  box,  which  shows  you the
     current foreground/background/blink options  for  that item.  You use the
     cursor keys to change the colours  (note  the sample colour swatch at the
     bottom  of the attribute box).  When you have the colour set the way  you
     want, just hit enter, and you will return to the main  configuration box,
     and the  screen  will  be  updated with the colours you selected.  If you
     pick some really gross colours, and decide to switch back to  the colours
     you  had  before  you  entered  the  configuration  section, just  select
     "RESTORE".  Once  you  have  the  screen  the  way  you like it, just hit
     <ESCAPE> and you will be asked  whether  you  want to save the changes to
     disk or not.  If you reply no, then the changes will last for the current
     editing session only, otherwise  they  will  be  saved permanently.  Just
     give it a  try and see what happens.  Changes are written directly to the
     HexEdit executable.  Note  that  you  can  rename 'HE.EXE' with impunity.
     HexEdit always knows  what  you've  renamed  it  to.  The only thing that
     needs to  be  changed  if  you rename HE.EXE is HEB.BAT.  By default, HEB
     calls "HE %1 %2 %3 %4".  If you change  the  name  of  HE.EXE,  than  you
     should change HEB.BAT accordingly.







                                     Page Nine.




     HexEdit 2.1                                                By Mike Graham



10.11  Alt-N: Next Found

        This is just a shortcut  for F2/N.  It will jump you to the next found
     item on the FOUND list.

10.12  Alt-P: Previous Found

        This is just a shortcut for F2/P.  It will jump  you  to  the previous
     found item on the FOUND list.

10.13  Alt-S: Shell to DOS

        Use this function to quickly drop to DOS to copy files etc.  Just type
     "EXIT" at the DOS command line  to  return  to HexEdit.  A note regarding
     swapping to DOS: don't delete any of the files that are in use by HexEdit
     while  swapped to DOS!  I.e. don't delete the file you're editing, or the
     HEXEDIT.LOG  file, or the HEXEDIT.SWP file!.    Changing  directories  is
     okay, but you DON'T want to delete any files that are currently open.  If
     you DO delete any of the really important files (even if  they  have  a 0
     file  size) then bad things could happen, and you will likely have to run
     a CHKDSK/F to clean things up.

10.14  Alt-T: Text Search

        Search  for  random  strings of text (ASCII characters 32 to 126) of a
     certain minimum length.  For  instance,  you're patching COMMAND.COM, and
     you want to change the name of the batch file that's executed on start-up
     (i.e. instead of AUTOEXEC.BAT,  make  it  RUNME.BAT).   After you've done
     this  with  a  quick  search  and  replace  (F4),  you suddenly wonder to
     yourself "Gee, I  wonder  what  ELSE  I  can change?".  Rather than using
     PGUP/PGDN  to crawl around the file looking for text, you can simply do a
     text  search  for  strings with a length of 12 or so.  This will find all
     the interesting  (changeable)  parts  of  the file.  Give it a try.  It's
     hard to explain, but you'll like it.

10.15  Alt-U: Undo

        You can undo an unlimited number of changes made to the file currently
     being edited.  After you hit Alt-U, you will be  prompted  for the number
     of changes to undo (the default  is  1,  or whatever number you undid the
     previous time).    You  can  either type in a number (decimal only..  why
     bother with hex in this instance?) or either  of  the  keywords  'ALL' or
     'PURGE'.  Entering 'ALL' will undo all of the changes, just as if you had
     typed in the number of changes that had  actually  been  done  (saves you
     from typing  weird  numbers  all  of the time).  If you enter the keyword
     'PURGE'  instead of a number, then you will be prompted for the number of
     changes to retain.  For instance, say you had done  a  rather huge search
     and replace and had replaced 100 20 character strings (resulting  in 2000
     changes).  Perhaps you don't want all 2000 changes in  your  logfile.  If
     you don't, you can hit Alt-U  to  pop  up the UNDO prompt, enter 'PURGE',
     then  enter  20  or something somewhat smaller to reduce the size of your
     purge file.   You  don't HAVE to do this... the undo file can grow to any
     size that your hard drive will permit, but sometimes it's nice  the prune
     the sucker down.  Remember that when you UNDO something, that UNDO action



                                     Page Ten.




     HexEdit 2.1                                                By Mike Graham



     is added to the UNDO log... the net effect is that  if  you  keep UNDOing
     one  action,  you  will just toggle between two values and keep adding to
     the UNDO log.  For instance, if you change a  'b'  to  an  'a'  and  back
     again, then HexEdit remember each  change, even though they are redundant
     (i.e. you're back where you started from).  Keeping this in mind, another
     example  of  when  you  would  want to purge would be if you had  done  a
     massive search and replace,  then  decided that you really didn't want to
     do that...  If you UNDO the search and replace,  then  you have redundant
     UNDO records in the log: a set of records changing the  file,  and  a set
     changing it back.    You can PURGE the log down to what it was before the
     whole search and replace fiasco, and still be able  to  UNDO  everything.
     What the heck; if you want to do it, do it.  Remember: if  you  purge the
     UNDO log, the  panic-abort  option  may  not  restore  the  file entirely
     (unless the changes you purged were redundant).

10.16  Alt-X: Panic Abort

        Hitting this key combination pops up a window which asks if you really
     want to fast-abort  the  edit.    If  you  respond  yes, then all of your
     changes to the file are undone, and you  are  immediately  kicked  out to
     DOS.    Use this if you have maimed the file you're  editing  beyond  all
     recognition, and just want to get out HexEdit, lick your wounds, and hope
     nobody ever finds out about the incident.   Note  that  HexEdit  can only
     UNDO the  changes  that  are  recorded in the current UNDO log, so if you
     have PURGED it, you're out of luck.

10.17  Esc:Exit

        If  you can't figure this one out, you need more help than I can  give
     you.

10.18  Backspace

        Yes, believe it or  not  the backspace key gets a separate subsection.
     When you  use  the  backspace  key, the cursor will move one space to the
     left, and it will additionally undo any changes made to the  character on
     the  space it just moved onto.  Note that this is not  the  same  as  the
     ALT-U UNDO, this is just a  quick  way  to undo changes that haven't been
     saved yet.  Just type in a couple of characters and hit the backspace key
     a few times and you'll see what I mean.  You'll love it!

10.19  Cursor Keys

        See the on-line help file "HEXEDIT.HLP" (F1) for fast reference to all
     of  the movement key assignments.  The only thing you need to remember is
     that if you hit the  up arrow when you're at the top of the current page,
     then you will  move  to the bottom line of the previous page.  All of the
     cursor keys work in  that  fashion.  A little experimentation will reveal
     all.








                                    Page Eleven.




     HexEdit 2.1                                                By Mike Graham



11  System Requirements


        HexEdit requires one floppy disk drive, and 384K of memory.   However,
     just because HexEdit will USE pedestrian hardware doesn't  mean  it LIKES
     it.   Give HexEdit hard drives and things like that, and you will have  a
     friend for life.  For ultimate performance, run it on a  RAM  disk.   EMS
     will  be utilized for the swapping DOS shell (up to about 700K or so)  if
     it's found.  The only incompatibility that I  know  of  is  this: HexEdit
     uses direct memory checks to see if a  key  has  been  pressed.  For this
     reason, if your system has the keyboard buffer in  a  nonstandard  place,
     then you might have problems aborting from searches etc.    TSR  programs
     that expand the keyboard buffer are  known  to cause problems.  Note that
     HexEdit currently even  works  on  Tandy  1000's, so any clone that calls
     itself "100% compatible" should work with no problems.


12  Odd Notes


       These  are  NOT  bugs,  they're  simply  somewhat  unexpected operating
     methods.

         -  You  may  find  the  cursor  speed  in  HexEdit to be not so  hot.
            HexEdit uses BIOS functions for most keypress functions, therefore
            it can only go as fast  as  your keyboard sends the keypress info.
            If you use a keyboard  accelerator  like  Cruise  Control, PC-Kwik
            key, or  something similar then you will find MARKED improvements.
            HexEdit spends about 80% if its time waiting for keystrokes, so if
            you use an accelerator then you can pump  keystrokes  into HexEdit
            MUCH faster, making for faster scrolls, etc.  Note  also  that  if
            you use DOS 4.01 or better, then you  can  use  the  command "MODE
            CON:RATE=32 DELAY=2" and that will speed up the  keyboard  as well
            (though not NEARLY as fast as Cruise Control or PC-Kwik key can).

         -  HexEdit  REQUIRES  DOS 3.0 or better.   It  might  work  on  prior
            releases, but some of  the  features might not work properly.  The
            reason  it  needs  the recent DOS  is  because  HexEdit  needs  to
            backtrack the executable file  in  order  to do the configuration,
            find the help file, etc.

         -  The file is saved as  you  go  along.    Whenever  you  change the
            displayed  sector,  the  'Changes:  n'  display at the top of  the
            screen  starts  blinking.   Also, every character  that  has  been
            altered  is  highlighted.   When you try to exit or move from this
            sector using PGUP  or  PGDN  or  whatever,  you  will  be prompted
            whether you want to save the  sector  or  not.  If you answer yes,
            the  sector  will  be saved to  disk  within  the  original  file,
            otherwise  the  changes  will be discarded.  Note that these saves
            are made directly to the original file, so  if  you  want  to play
            around with a file, and you're too paranoid to trust the wonderful
            UNDO feature, then  you  should  use  the  HEB.BAT  file  which is
            documented above.




                                    Page Twelve.




     HexEdit 2.1                                                By Mike Graham



13  Future Enhancements


       Most of these enhancements will happen  in  phases.  The next big phase
     is  conversion  to  TurboVision.    Each potential enhancement  has  been
     labeled either "Soon", "TVision" or "Maybe".  Enhancements labeled "Soon"
     will appear in the  next  version or two.  Enhancements labeled "TVision"
     will appear when I convert to TurboVision (during the summer, hopefully).
     Those enhancements labeled "Maybe" are ones that I  haven't  even decided
     whether I'll DO yet.

     Soon:

         -  Keyboard remapping will be implemented  in the next version or two
            to allow people to change the default keys to whatever they happen
            to want them to be.

         -  Final  implementation  of  my buffered file access  unit  will  be
            happening  soon,  too,  which  will  nail  shut  all of  the  disk
            thrashing problems.

         -  Some day, I will code a method to actually  INCREASE  or  DECREASE
            the size of files, in  order  to  do  a  search  and  replace with
            unlike-sized search and replace strings.   At first I thought that
            this would be somewhat of a waste of time, because you  can't mess
            around  with  the  innards of an executable file THAT much without
            REALLY knowing what you're doing.   I have been informed, however,
            that people also  use  HexEdit  to  edit binary data files, and an
            unlike-sized search&replace would be VERY handy.  Okee dokee.

     TVision:

         -  Pull-down  windows  will   be  implemented  with  TurboVision  (of
            course).  I'm partially against it, but I sort of  know  it has to
            happen  sooner  or  later.    If  anyone  would   suffer   at  the
            implementation of menus,  it's  me; remember I've been using these
            keystrokes for 5  years!  Ah well.  There but for the grace of the
            user go I.

         -  Upon conversion to  TurboVision,  editing multiple files will be a
            reality!

         -  The  pop-up  calculator  will be thrown in  with  the  TurboVision
            release.

         -  Context-sensitive help

         -  Enhanced screen customization

         -  Mouse support

     Maybe:





                                   Page Thirteen.




     HexEdit 2.1                                                By Mike Graham



         -  Do we  want  to  be  able to patch disk sectors directly?  I'm not
            sure.  That's not  really  the PURPOSE of HexEdit, but it wouldn't
            be too hard to do.  How about a directory editor?  Unerase?  Maybe
            as a separate product?
            Feedback!  Need user feedback!

     Well, Frank Lenk  (senior  editor of Computing Now... wonderful magazine)
     recently put up his list of "Bare Necessities" for  the  applications  of
     today.  Well, HexEdit holds up pretty well (once the  TurboVision release
     hits the streets).  The point in Mr.  Lenk's  editorial  that  really hit
     home  for  me  was his including "A Future" in with his vital attributes.
     That's something that not everyone thinks about when  they  buy software.
     One example of an excellent product that appears  to  have  no  future is
     Borland's Sprint.  I'm one of the many people who  bought  Sprint only to
     find out that it's basically a dead product now.  Sure it's powerful, and
     it  does  an  excellent  job  with  text  documentation   (such   as  the
     documentation you're reading right now) but if there's no new development
     happening, then how long is  it  going  to  STAY  powerful?    What about
     printer  drivers,  etc?   The point of my meandering is that I've sweated
     blood over HexEdit, and there's more where that  came  from,  so  you can
     rest  easy.   HexEdit will continue to evolve for as long  as  the  money
     keeps rolling (limping, crawling) in.


14  Revision History


     (Reverse chronological order)


     Version 2.1: April 20, 1991

     A vast improvement over 2.0.

     New Additions:

         -  The HEB.BAT file was added to pacify the people who REALLY want to
            have .BAK files.

         -  F8 now toggles a text mask which, when active, causes all non-text
            characters to appear on the screen as a period '.'.

         -  ALT-N now jumps to next found item.

         -  ALT-P now jump to previous found item.

         -  ALT-X is now the panic button (previously ALT-P).

         -  ALT-A now pops up an ASCII table.

         -  ALT-S  will  call a fully swapping DOS  shell  (swaps  to  EMS  if
            available, otherwise swaps to disk).





                                   Page Fourteen.




     HexEdit 2.1                                                By Mike Graham



         -  Backspace  now  works  in a much more intelligent way, rather than
            just being the same as a back-arrow.

         -  The FastRep program was added  as  a  very  vertical-market, niche
            application  that  I  happened to have lying  around  and  thought
            someone might be able to use.

         -  I tossed in KEYLOCK as well, even though it has nothing to do with
            HexEdit  at  all  (but it's SO nice to add to your autoexec.bat to
            shut off the bleedin' NUM lock).

         -  Windows support has been  greatly  expanded  with  a PIF file, two
            icon files, and enough rewrites to let HexEdit run  in  a  graphic
            window.  Pretty nifty.

         -  DESQview  support  has  been  enhanced  as  well.   HexEdit  is  a
            DESQview-aware application, and there is a .DVP file included.

     Fixes:

         -  That weird bug regarding searches  being SO SLOW under Windows was
            solved (it was Windows' fault).

         -  The search engine was heavily modified to remove some intermittent
            problems dealing with finding null characters, and finding strings
            that overlapped sector boundaries.

         -  The UNDO engine was rebuilt from the ground up.   It  now works so
            fast and clean it even amazes ME.

         -  A really  dumb  bug  was  found  (sharp  eyes, Craig!) in the Jump
            routines.  If you used Shift-F2 (for jump by sector)  and selected
            to jump to  the  next  found  item,  it wouldn't jump there in all
            cases.  Dumb dumb dumb.

         -  Documentation overhauled.


     Version 2.0: February 16, 1991

       The  official release!  Very clean... no known bugs.  You can now abort
     from searches and UNDO activities.  Percent-done boxes were added  to the
     UNDO engine, so now everything that can possibly take more than  a second
     or two now has a percent-done box and the facility  to  abort the process
     cleanly.  Also added was the /MONO parameter, and the RESTORE function in
     the configuration.  I think I'll take a break  from  programming  HexEdit
     for  a little while to work on my next big project (still top-secret, but
     it will make efficient programming a MUCH more enjoyable experience).


     Version 1.9g: February 9, 1991

       There were actually fairly few bugs to fix for this release.  There was
     a  weird bug that only appeared if you were editing files with sizes that



                                   Page Fifteen.




     HexEdit 2.1                                                By Mike Graham



     were evenly divisible  by 256.  Go figure.  I modified the exit prompt to
     revert to the old default of 'Y' instead of 'N'.  The position bar things
     on the  main  screen  (the  ones that show you what byte you're on... you
     know, those hex things in highlight at the side and  top  of the screen?)
     were a bit hard to track if you were far away from them, so I  added more
     at the right and bottom  of  the  screen.    One or two minor things were
     improved, but basically this is version 1.9e with a minor facelift. (1.9f
     was not released).  Also added was the 'Panic Button' (Alt-P)  which will
     automatically  undo all of your changes, and kick you out to DOS with the
     file in it's  original,  pristine condition (providing you haven't PURGED
     the UNDO log).  Also, I swapped F2 and SF2, so that  F2  is  now  Jump by
     Byte, rather than Jump by Sector.  I  did  this  because  Jump by Byte is
     used MUCH MUCH more often. (Jump  by  Sector  was F2 by inertia... it had
     been F2 for over five years..).   I  went  over  HexEdit  with  the Turbo
     Profiler, and I found that HexEdit spends about 85% of it's  time waiting
     for user keypresses, and that's when the  a  key  is  HELD  DOWN.   Quite
     efficient.   The  search  could  use a minor tweak, though.  So could the
     UNDO  function.  Using Turbo Pascal 6.0, I was able to compile HexEdit to
     a 57K executable!!!  Unbelievable!  I am...  speechless.


     Version 1.9e: February 3, 1991.

       I've managed to streamline the code further; we're down to about  a 70K
     executable file.  A few programming glitches were exterminated, including
     one miserable bug  that  still  amazes  me  to this minute.  The previous
     version of HexEdit, 1.9d, required a math coprocessor.  I don't know WHY,
     but  it  did.   I guess I just left the  compiler  switch  in  the  wrong
     position.  Anyway,  because  I  HAVE  a coprocessor, I never noticed this
     flaw.    Things  like  this  BUG  me.  The other things that  were  fixed
     included some idiosyncrasies regarding saving log files, and some general
     cursor movement  stuff.    The  cursor  routines  were updated so that if
     you're at the top of a page and cursor up,  you  will automatically PGUP.
     The net effect is that you can scroll through a file with the cursor.


     Version 1.9d: January 30, 1991.

       Several bugs were fixed in this  release.    The major ones were in the
     UNDO  engine which I thought worked like a charm (of course).  Many minor
     changes  were  also  implemented, including changing the  'Exit  to  DOS'
     prompt  to  default  to  no,  and  changing  the F3/F4  key  assignments.
     Documentation  updated.    I rewrote a lot of the code  to  more  heavily
     encapsulate it.  HexEdit now consists  of  TEN source files.  Every major
     function (jump, search, undo, etc.) each has their own  unit.  Makes  for
     faster compiles.  Anyway, this rewrite caused a few things to glitch, but
     I think I have them all sorted out.  We're up to 7000 lines of  code now,
     with  almost  3000  lines of it  being  HexEdit-specific,  and  the  rest
     library-specific.  Changed default colours to something that looks pretty
     bland,  but  is  visible  for  monochrome  users  without  being  utterly
     disgusting in colour.   Previously,  monochrome  users  were right out of
     luck  because  they  couldn't even SEE  the  prompts  and  stuff  in  the
     configuration section.  Now, if they screw up the colours they  only have
     themselves to blame...



                                   Page Sixteen.




     HexEdit 2.1                                                By Mike Graham



     Version 1.9c: January 26, 1991.

       I'm home from work, and I can see  that  there  were  quite a few minor
     things wrong with  the  UNDO.    They're  fixed. This release will be the
     official BETA release for this week.  I've  fixed  some  glitches  in the
     configuration section that were  driving  me  absolutely around the bend.
     It's weird how sometimes the small bugs can drive you  nuts  when the big
     ones get fixed fast.  I re-coded the base conversion procedure  and saved
     25K in the bargain.  I'm not sure if I like it as much, though.  Figures.
     I've  decided to release only one BETA version per week, that way I don't
     have people pointing out bugs that I've already fixed (for a while there,
     I was always a version or two ahead of the BETA testers).


     Version 1.9a: January 26, 1991.

       Added UNDO, and BYTE JUMP.  Modified the screen layout to display total
     sectors and total  bytes.  This release was VERY hurried.  I got the undo
     working about a half an  hour before I had to be at work... I started the
     upload and RAN.    I knew it worked for the easy test instance I gave it,
     but  I  did no real testing.  I'll be more considerate  for  future  BETA
     releases (I mean, even the word 'BETA' doesn't excuse THAT many sins...)


     Version 1.4b: January 10, 1991 (I took a rest.)

       Added Search/Replace.  Also  modified  HexEdit  to  track down what its
     executable  filename  is,  so you can rename the executable with impunity
     and the self-modification still works.  Also, the help files and such are
     no  longer  searched  in the path.   Everything  is  looked  for  in  the
     directory in which the HexEdit executable resides.


     Version 1.3b: January 5, 1991 (I don't learn, do I? :-> )

       Added option to select window style (no more  totalitarianism  for THIS
     guy).  Added  a procedure to search for any TEXT (ALT-T).  I.e. if you're
     looking  for text, ANY text, in a humongous file, you can specify to find
     a string of characters at least n characters long, and it will find them.
     Also added a selection for case-insensitive searches.


     Version 1.2c: January 3, 1991

       Fixed a few bugs (yeah. real, ugly bugs).  Nothing else really changed.
     This was an emergency release, something I hope not to have to repeat.  I
     guess you're kind of asking for it when you release three versions in two
     days.... I documented the call for base conversion as Alt-B, but coded it
     as Alt-H.  I must have been tired.


     Version 1.2b: January 3, 1991





                                  Page Seventeen.




     HexEdit 2.1                                                By Mike Graham



       Version  1.1b with a face-lift.  I've  added  the  ALT-C  configuration
     section that modifies the EXE file directly to set colours.   Works nice,
     but  you  can't LZEXE the file until after you have it  configured.    Ah
     well.  If you have UNLZEXE or use PKLITE, then you can always just create
     a batch file that  uncompresses  HexEdit, runs it, and then compresses it
     again  for those few occasions when you need to redefine the colours.  Of
     course, you can just set them once then compress it.  This would keep you
     going for the rare occasions that you need to reconfigure HexEdit.   Also
     added was the ALT-B base conversion  utility.   A few minor critters were
     cleaned up (the kind that never pop up  unless  the  user  does something
     WRONG.  I've got to work on the user-hostility HexEdit tends to exude.).


     Version 1.1b: January 2, 1991

       After using my  patch  editor  in  a mostly-working capacity for a long
     time, I started a project wherein  I  had  to figure out the Turbo Pascal
     TPU file structure.  Well, I spent a  LOT  of  time  using HexEdit, and I
     became painfully aware of its limitations.  I abandoned  my  TPU  project
     (I've got to get back to it, though) and rewrote HexEdit.  Version 1.1 is
     basically a total rewrite, with support for files of any  size  etc.  The
     speedy search was refined, blockreads and writes are used for speed. Many
     of the seams were caulked,  and  it  appears  a  much  more  bullet proof
     application.


     Version 1.0: circa 1986

       I first wrote 1.0 way  back a few years when I was around 16 years old.
     It  sort  of  worked, and I used it faithfully, but it wasn't distributed
     much.  It would only  handle files of up to 50K (No, I'm not kidding) and
     it  generally  handled like a dog.  Not bad for a  16-year-old,  but  not
     great.  It took forever to read and save files  (files  were defined FILE
     OF BYTE...   Turbo Pascal version 3.0).  I'm not entirely sure why I kept
     using it... I guess because it was free!


15  Legal Crud


     As  far  as  hardware  compatibility  goes, here is the HexEdit  standard
     system:

         -  Dell system 310 20MHz 386

         -  Dell DOS 4.01 and Dell OS/2 1.21

         -  8MB RAM

         -  155MB CDC Wren III hard drive

         -  Archive tape backup unit

         -  ATI VGAWonder/NEC MultiSync 3D



                                   Page Eighteen.




     HexEdit 2.1                                                By Mike Graham



         -  HP LaserJet III

         -  Roland LAPC Synthesizer card with Rhodes 760 keyboard

         -  Logitech Series 9 bus mouse

         -  Gravis Deluxe joystick and controller

         -  Artist's mannequin

         -  Profile of me, done when I was in grade 2, on the wall.

         -  Two gumball machines.

         -  Me.

         -  A big Pioneer stereo with no  less  than FOUR remote controls  and
            lots of CDs by Enya, Robert Palmer, Billy Joel,  Chris  de  Burgh,
            The Moody Blues, and the B-52's.

         -  A  fridge  with  lots  of  A&W  Rootbeer  and  President's  Choice
            Grapefruit juice in it.    (Not even *I* can handle rootbeer first
            thing in the morning..)

     This is the standard system.   If  your system doesn't match the standard
     system EXACTLY, right  down to the last mote of dust on the nose that you
     crank  on  one of my gumball machines, then I do not  guarantee  that  it
     works  (in fact, I don't even guarantee that it will work on the standard
     system!).

     I  will say, however, that I've never found a system that professes to be
     100% PC compatible that HexEdit doesn't like.

     Basically, I don't guarantee anything.  Every word of this document could
     be a big lie.  I could be sitting at home snickering, thinking of all the
     people  who wasted their on-line time downloading  a  patch  editor  that
     doesn't  work.    I  might  ENJOY  typing  in a thousand lines of  sundry
     documentation in the hopes of sucking some poor  individual  into wasting
     their  time with a worthless product.  I'm not, and I don't, but I  could
     be, and I might.

     If HexEdit works for you, then great, I'm happy, send me  money.    If it
     doesn't, then darn, I'm ashamed, send me a letter  describing  the  error
     and I'll do my best to fix it.













                                   Page Nineteen.




     HexEdit 2.1                                                By Mike Graham



16  Credit where credit is due


     The following wonderful  folks  generously donated some of their valuable
     time to aid in BETA testing HexEdit:
        Neal Sanche
        Monroe Thomas, Sysop of The Keep
        Ben Graham
        Paul Brown
        Craig Harris

     Thanks to Martin Silva for catching that odd bug in the search algorithm.

     Supreme  thanks  to  j William Donovan, who taught me Turbo Pascal when I
     was just a wee shaver.

     I used the TechnoJock Turbo Toolkit windowing and  fastwrite  library for
     Turbo Pascal 5.5  in  the  later  versions  of  HexEdit.   It is a spiffy
     product, well worth the money.

        TechnoJock Software Inc.
        PO Box 820927
        Houston, Texas
        77282-0927

     Also used was Kim  Kokkonen's  EXECSWAP unit.  Turbo Pascal just wouldn't
     be  the  same  without that guy...  Kim is the  president  of  TurboPower
     software,  which  is  a major producer of Turbo Pascal programming tools.
     If  you  program Turbo Pascal and don't  own  any  Turbo  Power  software
     products, you should seriously look into it.  You can contact Kim at:

        P.O. Box 66747
        Scotts Valley CA
        95066























                                    Page Twenty.




     HexEdit 2.1                                                By Mike Graham



17  Contacting the Author


     I can be reached by mail at the following address:

          Michael A. Graham
          Box 60036
          U of A Postal Outlet
          Edmonton, AB
          Canada, T6G 2S4

     Or I can be contacted on InterNet as
     "michael_graham@mts.ucs.ualberta.ca".
     (if that doesn't work, substitute "MGRM" for michael_graham.

     I can be  contacted  on  the  McNamara Software BBS in Edmonton, Alberta,
     (403)433-8375, as "Mike Graham" and am also available under the same name
     at The Keep BBS, also in Edmonton, (403)437-1428.  The latest  version of
     HexEdit  and all of my other PD and  Freeware  programming  efforts  will
     always  be available on these two BBS's.  Feel free to contact me if  you
     have suggestions for improvements, or (perish the thought!) a bug report.




































                                  Page Twenty-One.


