




                                 Zap-It v5.13



                             Copyright 1994-2001

                              Elmer Productions





In this document the following information can be found:

1. What is Zap-It?
2. What is Binary/Hexadecimal??? (only for inexperienced users)
3. How do you use it?
4. Advanced options
5. Legal stuff.
6. Registration
7. Other products
8. How to contact the author.


                                     -1-

                               What is Zap-It?

[FILE_ID.DIZ]
(v5.13) Zap-It - Hex file/disk editor
Zap-It includes lots of features like
Search any/specific text/Replace/Cut/Copy/
Paste/Insert/Calculator/Start new file/Jump/
Menus/Diskcaching/Filecompare from any
fileposition and lots more.
This program will allow the user to edit
files, diskettes and harddisks in hex mode.
Released: 21 Nov 2001
Author: Elmer Productions (ep@elmerproductions.com)
[END FILE_ID.DIZ]

Zap-it is a hexadecimal file-editor, that means it's an ideal editor for
non-text files. From version 2.0 it is also possible to edit diskettes and
hard-disks directly. (Thanks go out to Eric, Chris, Johan for their help with
disk editing, and Johannes Hokamp for "betatesting")
Special features make the use of it even easier that you'd expect.
 - Binary/Decimal/Hexadecimal conversion and calculation.
 - Two windows (Hex and Ascii), you can edit in the one you choose.
 - Non specific text search, you can let Zap-It search for ANY text in ANY
   file. Ideal if you don't know what exactly you are looking for.
 - Disk caching. When you are editing a disk directly, Zap-It will provide
   faster access by keeping the last few sectors you read in memory.
 - Easy configuration with /CFG. You can change the colors in Zap-It, or
   how it searches for non-specific text.
 - Filtering. For reading you can apply a filter so only letters and numbers
   are shown, this won't affect searching or editing.
 - Cut/Copy/Paste/Insert functions
 - Read-Only warning. When a file is read only, you have to confirm that you
   want to change the file. So editing is very safe.
 - Menu support for all of you who don't want to learn all the shortcutkeys.
 - ASCII viewer, so you can view your files as ASCII to spot text faster.
 - FileCompare, with which you can start at any file position and compare
   forwards or backwards, so you can also compare parts of files.
 - And most important: No nasty shareware bugs.


                                     -2-

                        What is Binary/Hexadecimal???


Lets count! 0.. 1.. 2.. 3.. 4.. 5.. 6.. 7.. 8.. 9.. That was not so hard, was
it? (If it was, go back to kindergarten!) Just common sense. But computers
are by far not so smart as humans (of course) so let's make a computer count:
0.. 1.. 10.. 11.. Now don't be surprized, I told you computers are dumb! But
serious: A computer is based on the idea that anything is either on or off,
0 or 1, dark or light, etcetera.

So a computer starts counting with 0 and then adds 1: 0+1=1, but if you try
to add another, the computer has already readched it's maximum value. How do
we (or it) solve that problem? Well, quite simple: If we (humans) reach our
maximum (9) we simply write another number in front of our first one, and
decrease the value with 10 (the maximum value+1=9+1=10). A computer does the
same: 1+1=2, too big, so put a 1 in front and decrease value with the
maximum+1 (1+1=2). This gives 10.

If we add another 1, the problem is gone (the computer can add 0 and 1)
10+1=11. But then it pops up again! Now before I give the answer, I'll let
you think of what to expect..............

Time's up! 11+1=100. Simply apply our trick twice: 11+1=12, beyond maximum,
put (add) a 1 in front and decrease with maximum+1(=2) so we get 20, but the
2 in front is beyond the maximum, so we decrease this one too, and put another
1 in front, and we get: 100. This is binary counting. In stead of 10 values
we only have 2 values per bit.

Some examples of binary counting: 11+11=22, but these are both beyond the
maximum of 1, so we begin at the last bit with our trick: decrease with 2 and
add 1 in front=30, now the first bit (the 3) is way beyond maximum. We apply
the trick again: decrease with 2 and add a 1 in front: 110.

Every digit of a binary number is a bit: the value of 110 has 3 bits and 10010
has 5 bits.

If you don't understand yet, reread this story, or ask a friend for moral
support.

Now, back to our editor. A problem arises when we use binary numbers in
editing. We want to be able to use letters and numbers and punctuation marks
and other exciting characters. We need 256 different characters to be able to
write all this text (and other exciting characters like:  etcetera).
Every character has to have a unique number, so they wont get mixed up.
If we construct the number 255 (the 0 value is also a character, so the 256th
has the value of 255) in binary language, we get 11111111. Now that's a lot
of text for just one character. Imagine if I want to write "Hello" I would
get: 01001000 01100101 01101100 01101100 01101111. You probably understand
why we don't like editing in binary language very much. So we have two
options: 1. Use our own decimal counting
         2. Invent a new system
What will we use. Well, since the first is too easy and logical, we'll choose
the second. Let's invent HEXADECIMAL! (joy, joy) Now don't cry, if you
understand binary, this will be a piece of cake for you.

What happens if we try to reduce the 8 bits to 2. We have to put 4 bits into
a group. A group of four bits can have 16 values (0000, 0001, 0010, 0011, 0100,
0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111) We only got
10 numbers, so we have to invent 6 new numbers to make this work. Let's keep
it simple this time (no really, I mean it this time) and call these 6 new
numbers A, B, C, D, E and F. Let's try to count again: 0.. 1.. 2.. 3.. 4.. 5..
6.. 7.. 8.. 9.. A.. B.. C.. D.. E.. F.. 10.. 11..

See, instead of less numbers we now have more. And if we assign any one of
these 16 numers to the 16 4-bit groups we have, we have found the solution.
We can count HEXADECIMAL! Use the same trick as before: if you want to add 7
to 7 you will get E (7+7=14, but in the HEX(adecimal) system this fits in one
nibble (one nibble is a group of four bits, or half a byte) so we get E
instead. Now add E and E. E+E=S, but S is beyond our maximum (F), so we
decrease it by 16 (decimal) and put a one in front. we get 1C.

Now these last few lines were a bit confusing, how do you know whether a value
is binary, decimal or hexadecimal? If you got 1C, is is of cource hexadecimal.
But if you got 10, it can be any one of them. There's a simple solution to
this problem. If you can't be sure which one a value is, put a letter at the
end of the number. 10 would become 10b for binary, 10d for decimal and 10h
for hexadecimal.

I hope you understand this, at least a little, but if you don't, you can ask
around if anyone knows about it, or you can just start using the program
(it really isn't THAT important to know everything about it, just an idea of
what we're dealing with will do, and if you use Zap-It, you will understand
a lot more when you've used it a bit more often.


                                     -3-

                              How do you use it?


Just start ZAPIT.EXE, optionally with a filename/diskdrive on the commandline.
If you don't specify a file/disk on the commandline, Zap-It will ask you for
one. You can use wildcards (* and ?) in the filename. In this case a list
will pop up from which you can choose. Pressing ESCAPE while in the list will
remove the list and return to the previous dialog.

When you entered a correct name/disk, you will proceed to the editor. You can
browse through the file/disk with the cursors and HOME/END/PGUP/PGDN. If you
want to edit the file/disk, just press INSERT to swich between viewmode and
editmode. You will now see the normal dos cursor in the left window, and the
byte/nibble the cursor is on will be highlighted (in both windows). If you
enter a hex-digit (0-F) the cursor will move one nibble to the right, and the
nibble the cursor was on will have a different color (if the value you entered
was other than the original one). If you want to undo it, simply press
backspace. The cursor will go left and undo the nibble/byte there. If you
don't want to edit hexadecimal (e.g. because you want to type plain text)
press the TAB key. This will switch between left and right window.
If you want to undo the entire screen, press Ctrl-U, and if you want to save
changes, press Crtl-W (IMPORTANT: AFTER A WRITE, IT IS NOT POSSIBLE TO UNDO
THE WRITTEN CHANGES, SO IT IS ADVISABLE TO MAKE A BACKUP OF THE FILE/DISK
BEFORE YOU START EDITING!)

You can use the shortcutkeys, or the pulldown menus (via Alt-F/M/...). When
you are done editing you can press Alt-X to quit or Ctrl-O to open another
file/disk. Help is available by pressing F1.

This is the basic way to edit a file/disk. Advanced options will be explained
in Chapter 4. For beginner users: read chapter 4 later, but remember to press
F1 in Zap-It if you need more help on any function.


                                     -4-

                               Advanced options


Pressing F1 in Zap-It will pop up the help system. Pressing any key while in
the help, will pop up a red windows with information about the function
activated with the key you pressed. If you press a key and no red window
appears, it means that key has no function, or I forgot to include it (please
let me know if that's the case, address below). In the help, all functions
are explained, so I won't waste any space for it here.

Zap-It recognizes some commandline options. Currently there is only one.
If you start zapit with "/CFG" on the command line (without the quotes).
A very different screen will appear with lots of information.

At the left top of the screen, the usable functions are explained. At the
right you will see a list of fore- and background colors you can change
with a moving cursor at the uppermost. (These are Normal, Changed, Warning
and Found and the menucolors).

An example of the way Zap-It will look with the new colors is on the left
of the screen. A little editwindow and underneath it a warning/error/comment
window is shown.

The last line of this block of text says: No. chars to search. That needs a
bit of explaining. If you search a file for non-specific text (Ctrl-T) Zap-it
will look for a number of textcharacters (e.g. letters, punctuation marks) in
a row. That's what this number is about. So the larger the number, the less
likely it is for Zap-it to find non-specific text.

Below this line, a line says: Characters to search for. With underneath it a
diagram with all 256 characters. When Zap-It searches for non-specific text,
only the highlighted characters will count be recognized as text. You can
add or remove characters from this set with + (add), - (remove) and space
(toggle).

Press PageDown for another page with settings you can change. These are
fairly self-explanatory (otherwise, just try them to see what happens).

If you are satisfied with your new settings, press Crtl-W to save them, or if
you don't want them, press ESCAPE to leave Zap-It without saving the new
settings.

WARNING: DON'T SHRINK ZAPIT (E.G. WITH PKLITE OR DIET). THE SETTINGS ARE
WRITTEN DIRECTLY TO ZAPIT.EXE, THIS WILL FAIL IF THE FILES ARE COMPRESSED.
(I've compressed the file myself, so there is really no need to do that. Note
that uncompressing it will also corrupt the file!)

For optimum performance, Zap-It needs about 300Kb base memory free. The
minimum is about 160Kb.

The DOS-Shell option will use the COMSPEC environment variable to detect
what command shell to run. If this can't be found, C:\COMMAND.COM will be
tried. Zap-It will temporarily de-allocate the filebuffers (up to 2*64Kb), so
it will keep about 160-190Kb base-memory occupied (depending on the amount
of free memory at startup, when the filebuffers are allocated).

Also, if you want to run Zap-It from a batch file, you can experiment with
the errorlevel variable. (If you don't know what this means, don't use it.)
Zap-It will return:
0 - Terminated correctly
1 - No filename was entered at startup (or on commandline)
2 - Wrong option was used on the commandline (/xxx)
3 - Not enough base memory available on re-entry (after DOS-shell)
4 - Not enough base memory to run Zap-It (at startup)

If you take a close look at the file menu, you will see a list of files at
the bottom. The file marked zero is the file you are currently editing. If
you open other files, this history list will grow (until item 4), allowing
you to reload a previous file very quickly. The position where in the file
you were editing when opening a new file will also be restored. You can also
easily set up Zap-It to have a history at startup. Just enter all the files
you will want to edit on the commandline, with the file to be opened last.
Zap-It will add the previous files to the history list at startup. So you
can easily create a batchfile that will enable you to edit up to 5 files
easily, if you need to edit those files frequently. Note that the default
historylist can also be set in the configuration (run "ZAPIT /CFG")

Replacing (Ctrl-R) is normally pretty fast, but if you replace a string
with something of a different length, Zap-It needs to insert or delete bytes
from the file many times (the number of times it is replaced). This can be
VERY slow on large files. Already, on a 300Kb file, I noticed a slowdown of
approximately a factor 5. This will be a lot more on larger files.

Also, if you really want the top speed, you should consider using 43/50 line
mode if you are not using that already. It can speed up all kinds of search
and replace functions by about 10%, since the information is processed in
larger blocks.

With V5.13 Zap-it has been enhanced to permit disk (absolute sector) 
editting on FAT32 volumes which are supported by WIN95B, WIN98 and WINME.
Disk reading should not require any special attention, but the undocumented 
DOS LOCK volumeletter: command must be issued in order to permit writing.
(for example LOCK C:)  The LOCK command must be issued prior to and 
within the same DOS box that Zap-it runs.  In addition, to perform absolute 
disk writing on a system (i.e boot) volume (usually the C drive), you must 
boot to a DOS Prompt.  There is also a DOS UNLOCK command.  PROCEED VERY 
CAUTIOUSLY WITH ABSOLUTE DISK WRITING AS YOU CAN RENDER YOUR SYSTEM UNBOOTABLE.


                                     -5-

                                 Legal stuff


The author (M. Egmond, Elmer Productions) of this program (ZAPIT) cannot be
held responsible for any damage occurred to your or others' computer, or any
other property of any kind, whether or not caused by using this program.

The original program is checked for all known viruses with the latest
virusscanners. No virus has been detected, still I cannot be held responsible
for any virusses contained in this program (I didn't put any in). You should
always scan new software before using it.

You may not reverse engineer, decompile or disassemble the software. You may
not modify this program, and you may not distribute modified copies of this
program.

This program may be freely distributed as long as you distribute the complete
software-package in the uninstalled state (ZAPITxxx.ZIP, where xxx is the
version number.)

If you want to put this program on a BBS, or CD-ROM, or other media (with a
wide range of customers), please let me know about it. I'll be able to
supply the latest version. This is important, because my distribution
facilities are limited, and Zap-It is slowly spread.

This program may not be sold for profit without written permission from the
author (M. Egmond, Elmer Productions). A resonable amount may be charged for
copying services and material.

These rules are subject to change without notice.


                                     -6-

                                 Registration


This program is CARDWARE!! If you want to continue using this program (very
likely :) after a 30 day trial period you are free to do so. However, in return
I would like to receive a message (see address below). Your conscience won't
be at peace, until you send me a message :).

Please mention the version number in your message, so I can see if you are
using the latest version.

If you want to reward me for writing this program it can be done. Transferring
money between countries is tricky and expensive, so it would be best if you
donate some money (however much you think this program is worth) to a charity.

If you want to see some other programs from Elmer Productions, just check the
website.


                                     -7-

                               Other products


Other products available from Elmer Productions are:
 - CaveIt   - A simple game in which you have to beat monsters in order to
              save the world. The game runs on 50 line text-mode, but with
              a specially designed font, so it really doesn't THAT bad.
 - TagStrip - A tagline-file-double-tagline-finder-and-stripper. This
              program can find not only exact double lines but also ALMOST
              doubles. Just run TagStrip on a text-file containing those
              taglines, and all (almost) doubles will be deleted (if you
              wish to)
 - XCom2Cht - A cheat program for XCom2 Terror of the Deep. You can edit
              your soldier statistics, all buildings on all 8 bases,
              manufacture and research, store contents and craft equipment.
 - SPEdit   - A Supaplex Level editor. If you liked the game, you'll
              certainly like this editor! Try it!
              Note: The GAME is available too. ABSOLUTELY FREE, check
              my homepage.
 - Igor     - A modern boulderdash clone. There are A LOT of objects in this
              game (over 80 really different ones), and it allows levels of
              up to 126x126 in size. Pentium 166 or better recommended!
              (as of 1 Nov 1998 it was not finished yet, but a pre-release
              demo is available at the website - see below)


                                     -8-

                           How to contact the author


Any questions? Remarks? Suggestions? Bugs? Etcetera? Tell me about it.

INTERNET E-MAIL: ep@elmerproductions.com
WWW            : http://www.elmerproductions.com

Thanks for your support and enjoy this program!
