                                   07/28/92
                           BLITZSCHNELL: THE PROGRAM

     Written in Machine Language, and very compact, Blitzschnell is a hard
drive defragmenter and optimizer.  This is the documentation to version 1.0,
the Beta release. Blitzschnell version 1.0 is shareware. The registration fee
is $29.95 plus $3.50 for shipping and handling. If you belong to and actively
support user groups, you can recieve a $5 discount off the registration
price.  If you register more then one databasement title at once you qualify
for an addition $5 off. To receive a user group discount, please send a copy
of your membership card or some other form of proof (an AIM mailing label
perhaps) along with your order.  Make check or money order payable to Erin
Monaco.  Please do not send cash.  The address is:


                            Erin Monaco
                            35244 Chestnut
                            Wayne, MI  48184

If you have comments or suggestions feel free to write or call me at (313)
485-4906.  Registered users will be informed via mail of any updates.

                           BLITZSCHNELL: THE MANUAL

*****************************************************************************
                                  DISCLAIMER
*****************************************************************************

The author assumes no responsibility for loss or damage arising from the
use or misuse of this product. Including but not limited to loss of hardware
software or data. By using this program the user accepts sole responsibility
for any and all damages relating to the use of this product.

*****************************************************************************

This program takes a steep departure from other defragmenters and optimizers
I have seen on the market to date.  It offers a visual perspective of your
drive's organization.  In fact, this visual format forms the base of
Blitzschnell.  While designed primarily for hard drives, this program may be
used with disks and other mediums, provided Blitzschnell can identify the FAT
format.  It is not intended or recommended that you use this program to
reorganize copy protected disks. Acc. slots have been disabled to prevent
accidental changes being made to disk or partition currently in Blitzschnells
buffers. If you have problems try disabling all auto programs before you
try again.  If that does not help, please inform me of the problems you are
experiencing.

This manual is intended to give you a brief overview of the functions for
Blitzschnell.  Along with that it will provide the user with useful
information and suggestions.

Ok, before I continue, I think it necessary to familiarize yourself with a few
terms that you will encounter from time to time.

FAT:          Stands for File Allocation Table.  The Atari uses basically the
              same format as the IBM. Each grouping of sectors is called a
              CLUSTER.  A standard cluster consists of two sectors grouped one
              after the other on a disk or partition.  Each cluster has an
              entry in the file allocation table.  The purpose of this table
              is to provide the operating system with a means to determine
              which sectors are already being used and which are not, and
              provide the basis for chaining files together.  When you click
              on a program to run it from the desktop, the directory entry for
              that file contains the number of the first cluster of the file.
              The operating system loads the sectors of that cluster and
              checks its FAT entry to determine if there are more clusters.
              If there are, the current cluster entry will point to the next
              cluster of the file.  If not, it will contain a value which
              informs the operating system that there are no more clusters to
              the file.

CLUSTER:      A grouping of sectors, usually two.  The Atari maintains two
              FATs one after the other on a disk or partition in case one
              becomes damaged. By grouping sectors together as clusters, this
              reduces the size that the FAT needs to be.  The fat contains
              one entry for each cluster on a disk or partition.

SECTOR:       Drives are broken up into logical units called sectors.  The
              Standard sector size on the Atari is 512 bytes.  By dividing
              a disk or partition into sectors operating systems and the
              drives themselves can locate and access information contained
              in these sectors.  Tracks are groups of sectors. Think of a
              track as a dresser, and a sector as a drawer in that dresser.
              A standard single sided disk has 80 tracks, or dressers.  Each
              Track, or dresser has 9 sectors, or drawers.  By using this
              system, a disk or hard drive can locate a given sector, using
              a formula.  This makes quick and reliable access possible as
              it is now possible to access data without reading everything
              else up to that point.

TITLE:        ENTRY:               COMMENTS:
------        ------               ---------
DESK          About Blitzschnell   Form listing credits and important info.

DRIVE         Select               Allows you to select a new logical drive.
              Map                  Visually maps drive to work window.
              Toggle Fat           Allows you to switch between FAT's.
              Info                 Displays information on current drive.

FILE          Trace                Allows the selection of a specific file's
                                   clusters.
              Quit                 Exit the program to desktop.

CLUSTERS      Move                 Allows you to move selected clusters from
                                   one location to another.
              Reserve              Allows you to reserve selected clusters.
              Free                 Allows you to free selected clusters.
              Zero                 Will zero out selected clusters, but keep
                                   the FAT entry intact.

MODE          Warnings             Allows user to turn most warnings on or
                                    off.
              Short View           Allows user to toggle cluster display mode.

COOL_STUFF    Registration Form    Provides a form generator, making it easier
                                   to register. Needs a printer.
              Databasement Titles  Gives info on three programs by
                                   Databasement.

Most menu items have keyboard equivalents, using a [CONTROL]+"keystroke"
combination. These combinations are to the far right of the menu item. For
example, [CONTROL]+[M] will do the same as selecting "MOVE" from the menu.

One option that has no menu item is [CONTROL]+[8], This option will select
all empty clusters (clusters whose fat entry is zero). This can be used
to zero out clusters that do not belong to any current file.  This will erase
all files that have been deleted but not overwritten.

When Blitzschnell first loads, it fetches the boot sector and first FAT of
the default drive (usually the one you loaded the program from).  At this
point you have a menu and an empty window with title, information line,
vertical up and down arrows and scroll bar. Hit return to remove the
credits dialog.  The window title tells you which drive's FAT is currently
in the buffer.  The information line displays the number of used clusters,
number of free clusters, number of reserved clusters, number of bad clusters,
first cluster currently displayed in the work window, and the number of
selected clusters.  Now click on "Drive" and select item "Info".  The window
now contains information on your drive.  Near the middle of the screen
there is a line that tells you the FAT entry size.  Blitzschnell recognizes
two common entry sizes, a 12 bit entry size (disks) and a 16 bit signed entry
size (Hard drives, with partions of no more then 16 megs maximum).  If the
entry size says "UNKNOWN" in inverse, you should NOT use this program, as
the results could be devastating to your data.  You should always check
the fat size to determine if you can use Blitzschnell with any particular
hard drive or other medium.  Disks should be fine- however, remember not to
use this program with copy protected disks. (ie, most commercial games).

If for some reason you get some kind of an error while the program is reading
in the FAT or directory, Blitzschnell will abort the loading process.  In some
instances this problem can be cleared up by selecting option "Toggle Fat". An
alert box will pop up telling you which FAT the program will load, either the
first or the second. In most instances, when you select a drive that is
currently active (already in the buffer) your request is ignored, however,
when you toggle FAT's you can click on the same drive identifier and the
program will load in the information again.  Then you can proceed to "Map"
out the drive's FAT.

Notice how the screen fills up with boxes containing letters and/or symbols?
Each box represents a cluster entry in the current drive's File Allocation
Table. An "X" simply means there is valid number in the entry.  This usually
means the cluster is part of a file.  A "*" symbol means the cluster has been
marked as bad by the operating system.  A circle with an "R" inside it means
that the cluster has been reserved. A blank box means that the cluster is
free to be used by the operating system.  Now go to "mode" and select "Short
View". Now each cluster (box) contains three letters, or one of the symbols,
or a blank.  In addition to the "*" and reserved symbol, the long view also
supports a delta (triangle). This symbol means that even though there is a
valid fat entry for this cluster, the cluster doesn't belong to any file on
the drive.  When you delete a file the Atari operating system seems to
sometimes forget to free up all the clusters that belonged to the file.  This
can be a problem because the operating system sees these clusters as belonging
to a file, even when they no longer do, and so it won't allow them to be used.
I have had drives that have had 20 clusters like this. Thats 20K of disk space
that I am unable to use!  I have heard where people have had megabytes of
their hard drives clogged up like this.  Notice now that instead of "X"'s
the cluster boxes have three letters.  The letters are used as a numbering
system (base 26, A-Z).  The point of this is now you can SEE which clusters
belong to the same file!  Take "AAA" for example, all "AAA" clusters will
belong to the same file.  How do you know WHICH file you ask?  Simply move
the mouse to a desired cluster and hold down the right mouse button. The
standard info line is now replaced with a new info line.  This line tells
you what file that cluster belongs to.  It also tells you the cluster number
of the first cluster in the file.  It tells you which cluster number you are
currently on, and it tells you the next cluster to this file.  If "~~~~~"  is
in the value slot, it means that the value is invalid.  So if "NEXT"
reads "~~~~~" it means that you have reached the end of the file.  Now move
the mouse to an empty box and hold the right mouse button.  All the values
are "~~~~~" except for "CURRENT" - since this cluster does not belong to a
file, there is no information to display.

Using the scroll bar, scroll through the clusters (single sided disks fit
entirely in the viewable part of the window).  Examine the clusters.  Do
you see any fragmented files? Fragmented files are files whose clusters
are not all grouped together, one after the other.  Fragmentation is most
often caused by deleting files and adding to the size of files that already
exist.  If you deleted a file that occupied 5 clusters and then saved a file
that took up 15 clusters, 5 of the 15 clusters of the new file would be
written to the location of the deleted file.  But what about the other ten?
Well, they would be placed in free clusters further down the table.  What
you have now is a fragmented file.  This is bad, because it can slow down the
reading and writing of that file.

The process of defragmenting a drive is to group all a files clusters together
one after the other.  To select a file go to the menu and click on "Trace"-
a revised file selector box will appear.  This selector works much the same
way as a standard selector. Two differences are that you can not select a
drive-you are limited to the drive you are working on.  Also, the close box is
gone. Now the title bar of the window that displays files contains the
previous path and "\*.*" - which means you are seeing ALL the files in that
directory. Unlike the standard file selector, I have given mine the ability to
     1: display more files at once.
     2: Display even hidden and system files.
     3: Not limited to 100 files.
     4: work from a buffer of the directory sectors directly in memory.
To get to a parent folder, one only needs to click on the window title
bar.  You can also trace a folder.  Folders are basically files too.
They hold the names, locations, etc. of the files they contain.  To
trace a folder, click on the folder name, then with the file name
field left blank, click on "ok".  Blitzschnell will now select that folder.
The root directory can not be traced, as it lies along with the two File
Allocation Tables and the bootsector before the start of the first cluster.
What tracing does is selects all the clusters of a given file, selected
clusters are then inverted in the window.  You can also manually select
individual clusters.  To do this you simply click on the cluster box using the
left mouse button.

Once you have selected a cluster or a group of clusters, there are a few
options available to you.  One is to move them.  When you click on "Move"
the info line asks you to click on a destination cluster.  You can still
scroll through the clusters.  This allows you to find a suitable place to
move the cluster(s) to.  Even if the clusters are located all over your
drive, Blitzschnell will write them continuously, one after the other.
A note of warning!  Blitzschnell will overwrite clusters, even if they belong
to another file!!!  When moving file clusters around it is VERY important that
you make sure that you will not overwrite another file's clusters!  I suggest
you stick to blank clusters.  Sometimes it becomes neccessary to move clusters
out of the way so you have enough room to link a file back together.  When
Blitzschnell finds a selected cluster it follows these steps when moving it;
1) Clears the destination cluster's FAT entry.
2) Links Destination cluster as next cluster of file.
3) Reads source cluster's FAT entry and copies it to destination cluster's FAT
   entry.
4) Reads source cluster to buffer. Continues till buffer full or no more
   clusters are selected.
5) Saves number of clusters in buffer starting at first destination. If more
   clusters are selected start back at first step.

The above steps clearly show that it would be self destructive to have any
destination cluster fall in the range of the source clusters (selected
clusters) unless, the first destination cluster lies BEFORE the first (source)
selected cluster.  For example, it would be destructive to move a file whose
first cluster is 10 and continues for 10 clusters, by selecting any cluster
in the range of 10-19.  However if you were to select cluster 9 as the
destination cluster, the move should be performed without problems.  If you
are unsure or have ANY doubts about the effects of a move, I strongly suggest
that you select empty clusters only.  Remember it is up to the user to make
sure that no file's clusters fall in the destination range! One last caution,
be sure that NO bad clusters ("*") fall in the destination range, as this can
lead to a file being cut off or scrambled beyond recovery.

The next two options are "Reserve" and "Free". Reserving sectors is of
a very limited use.  The main reason it was implemented was so you could
reserve a few clusters after your subdirectories (folders).  But why?
By doing this, the Operating System is prevented from using those clusters.
When you first create a folder, it is assigned one cluster (2 sectors)
as time goes by and you add files to the folder, the operating system may
need to increase the size of a folder by another cluster.  This may happen
till you have a folder that's five clusters in size.  If one did not reserve
the clusters, they would surely be overwritten by the very files placed in
that folder.  With clusters reserved, you can move the new folder's clusters
back to the reserved clusters.  This can eliminate the need to move sometimes
hundreds of files around, just to link a folder back together.  The "Free"
option can be used to release reserved clusters or clusters signified by
the Delta (Triangle).  If you remember, Deltas are cluster whose fat entries
say they are used, but belong to NO file.  In this way you can reclaim those
clusters the Operating System is unaware of as usable.

The last option is "ZERO".  When you delete a file from the desktop (using
the operating system's delete file function) only two things really happen.
One, is that the first byte of the file's directory entry is changed to hex
value, $E5 (tells the OS that the file has been deleted). The second, is
all of the FAT entries for that file are zeroed out (usually, but not always).
This means that the actual contents of the file are still on the disk or
partition, where they may be seen by prying eyes.  Using the zero command,
you can zero all the sectors of a file, thus erasing the contents of the file.
The fat entries and directory entry of that particular file however, remain
intact.  No provisions are made for deleting the filename as this can be
accomplished from the desktop by merely dragging the file to the trash.
But now you can be sure that a file is really erased.


You can turn most warning alerts off by selecting "Warnings".  A check mark
in front means that warnings ARE enabled.

You can toggle the viewing mode from short to long by selecting "Short View"
A check mark in front means that short view is active.

"Cool_Stuff" has two options, "Registration Form" and "Databasement Titles".
Selecting titles brings up a dialog that gives a brief explination of the
programs available from Databasement and most Atari supporting shareware
sources.  Registration will bring up a form, where the user enters their
name and address, along with buttons with which they can select the programs
they would like to register for.  This is only practical if you have a
printer, as once you click on ok, Blitzschnell will print out an order form.
Once the form has been printed out, you need only list the quantity of
each program you want, total how much you need to send, fill out an envelope
with the address provided right on the form, and mail it with your payment.


                                   08/08/92
                             BLITZSCHNELL: UPDATES
                                  Version 1.1

-Implemented widescale FAT range checking.
-Spelling mistake in resource corrected.
-Most alerts changed from annoying all caps.
-Keypauses have been changed to mouse pauses.
-[CONTROL]+[C] has been implimented;
    If you get unexplained bombs while mapping, you can compare the two FAT's
    on disk or partition.  The program will load in the FAT's informing you of
    any errors in the loading process.  If there are no errors, it will
    compare the two FAT's, stoping at the first cluster # that is different.
    After it has completed the comparison it will check both FAT's to
    determine if their values are within range.  If the program comes across
    a value that is out of range, it will alert you.  You can continue or fix
    the cluster in question.  I recommend that you click on "FIX IT" as this
    will merely mark the entry as being the last in a files chain.  If the
    cluster in question does not belong to a file, it will show up as a delta
    (triangle) when you map.  Then you can clear it or whatever.  If the
    cluster in question belongs to a file, that cluster will be the new end
    whether it was originally or not.  Seeing as you would get a seek error
    however if the program tried to load the cluster with the range error, it
    is best to click on "FIX IT" or you will just get an error when trying to
    map.

    Another note, to help clear things up.  By implementing widescale range
    checking, you should no longer encounter seek errors using Blitzschnell
    unless the disk is somehow physically damaged!  All functions, like
    trace and move will terminate on range errors as if it had encountered
    an end of file mark.  These errors will show up in files if you view
    the information on a cluster (right mouse button) something like 4060
    in the next column is obviously invalid when you only have a total of
    say, 351 clusters.  By using the compare FAT's function [CONTROL]+[C]
    you can restore these cluster entries to valid values.  Just click on
    "FIX IT" every time the alert pops up warning you of an invalid value.

    The widescale range checking pretty much removes the need for the new
    compare function, but I have decided to leave it in, as it can be of use.
    I don't think its a good idea to leave entries with range errors in the
    FAT's.  As a side note, I believe the ST's OS performs similar range
    checking, as these 'errors' usually don't mess up the desktops functions.

    I hope these improvements solve the problems some of you have encountered.

                                   08/09/92
                                  Version 1.11

- Fixed bug that could cause file #'s to be off by one from mapping to
  tracing.
- Reworked routine for setting new display cluster when file is traced.

                                   08/15/92
                          Version 1.2 (Not Released)

- Cleaned up compare function output.
- Added new error alerts, revamped error traping in load buffer routine.
- Reordered code at program start, for smoothness.
- Added code to more closely follow desktops handling of loading root and
  sub-directories.

  The directory handling code is comparable to range checking except it
  tries to deal with errors the way the OS (desktop) would. This should
  further the programs reliability when dealing with corrupted sectors.
  By and large this new code in untested as I have none of these problems
  to test it on.  An extra word of caution. Please back up important data
  before use of this program.  If you are unsure, but think you may have
  bad sectors, or corrupted sectors, as long as you do not "Move" any files
  the directories will not be rewritten to disk!  This is important as the
  new code for saving directories has not been sufficently tested.  Another
  note.  When using the compare function if you select "FIX IT" to correct
  FAT entries out of range, it will save the FAT's.  This isn't related
  to the above text but I thought it worth mentioning.

                                  (08/31/92)
                                 Version 1.22

- Cleaned up code (shrunk program by about 2K) while adding new code.
- Fixed glitch so when a file is traced it takes into account the end of
  the clusters. (eliminating gobs of empty lines).
- Clusters can now be selected with out the redraw after EVERY click!
- "Next" cluster information changed, if a value is in the range of $FFF8-
  $FFFF (16 bit entry) or$FF8-$FFF (12 bit entry): "EOF" (end of file)
  is now displayed. If a cluster does not belong to a file "NEXT" will
  display the contents of that entry. (note: clusters that do not belong to
  a file SHOULD be empty) :)
- Selection or deselection of clusters can be done in batches, now when
  you select/deselect a cluster keeping the left mouse button pressed you
  can move the mouse, selecting/deselecting more clusters.  Selection or
  deselection depends on the first cluster you click on, if its selected
  all subsequent clusters will be selected till you release the button.
  At which point you can select or deselect more clusters in the exact
  same way.
- Updated and corrected manual.

                                  (09/07/92)
                                 Version 1.23

- Fixed glitchs that popped up in version 1.2X that incorrectly determined
  the end of cluster buffer and failed to update current clusters when
  loading subdirectories of more then one cluster.
- Added button text for 'Disk write protected' alert, it was left out by
  mistake.

                          END OF UPDATE INFORMATION


Why should I register? Like many Shareware programs, this is a labor of love,
a hobby, and above all, a dream.  So far I have invested over 850 hours of
work on this program in the course of 6 1/2 months. Thats roughly 30 hours
a week, and this is in addition to working my "real" job (the job that pays
all my bills).  Some people do not realize the impact their inaction has
on a programmer and his program(s). If users like yourself do not support
this program, I can not justify supporting it myself. So I ask, if you use
the program, register it! This will allow me to improve it with more
functions and greater flexibility.

Registered users will be informed by mail of updates and revisions as they
become available.  Registered users only, will get updates starting with
version 2.0 (Coming soon!). Registered users will be able to get a copy of
version 2.0 with its many improvements for the price of an update. ($5)
A manual will be available for version 2.0 -- it will deal with program
use and give solid information on many facets of your drive's data
structures.  Those who don't register, will have to pay the suggested
retail price.

Comments and suggestions are welcome - its the only way I'll know what YOU
want.  You can call or write to the address provided, I will be most happy
to hear from you.
                         Sincerely, Erin Monaco.

                               Erin Monaco
                               35244 Chestnut
                               Wayne, MI 48184
                               (313) 485-4906
                               (313) 485-2818

I can also be reached on Genie, just mail E.MONACO
As this is a beta (test) version I appreciate any reports of problems you
may have.  I will make every reasonable attempt to solve the problems...
GUARANTEED!
