












                   Super File Manager v1.0

                        USER'S GUIDE




                        David Steiner
                        2035 J Apt. 6
                        Lincoln, NE  68510
                        (402) 475-0601




     Written for:

                 Capitol PC User Group Inc.
             1987 Software Programming Contest.




     Permission is granted for Capitol PC and other not for 
profit organizations to publish the source and executable 
portions of this program.

                  >> SYSTEM REQUIREMENTS <<


     I believe the only restrictive requirement for this 
program to be the use of MS DOS version 2.0 through 3.2, 
and possibly later versions.  Other than that it should run 
with most any hardware configuration.


                     MEMORY REQUIREMENTS

     The program uses the full 64K code segment plus about 
35K of space for its data segment.  In addition to this it 
requires heap space for its copy buffer and other internal 
operations.  The amount of space required for this will 
vary according to your system's disk drives as follows:

          360K floppies      4K
          1.2 Meg floppies   7K
          20 Meg fixed      16K

Thus, the minimum amount of memory to run this program 
would be 103K if you only accessed floppy drives.  If you 
intend to access a 20 Meg fixed disk then you would need to 
have around 115K of free memory.

     For most systems this is not a restrictive amount of 
memory to ask for, unless there are an unusual number of 
resident programs active.  However, if you do run out of 
memory the program will simply abort and give you a bit of 
error information.  Please see the discussion (far) below 
entitled ABORT ON ERROR for a bit more information.

     A final note on memory requirements is that the 
Undelete function on menu two requires a second copy of the 
disk's file allocation table.  For this reason you would 
need about double (very rough estimate) the heap space 
stated above.  So to use this function on floppy disk you 
need a minimum of 107K free memory.  If SFM runs out of 
memory when trying to execute this function SFM does not 
abort, it just disables the function.


                       SFM FILE LIMIT

     The maximum number of file's that SFM will load into 
memory from a directory is 512.  If this limit is exceeded 
SFM tells you so and most commands remain active.  The two 
that are disabled are the undelete and update directory 
functions on menu two.  Note that this means you can use 
the menu two functions, but will be unable to save them to 
disk (sorry about that).


                   Super File Manager - 2
                    >> OVERVIEW OF SFM <<


     Super File Manager (SFM) is very good at what it is 
designed for.  For those of you familiar with the 
commercial programs XTREE (real pretty) and NORTON'S 
UTILITIES (very functional) I can tell you that SFM is 
something of a cross between them.  Its advantage over 
XTREE is its ability to display more that one directory.  
The advantage over NORTON, in my opinion, is that SFM is 
easier to use.  But you may find that the most overwhelming 
advantage is that the source code is available and you can 
tailor SFM to your tastes.

     The commands for SFM are broken into two menus.  The 
commands in menu one allow all of the normal management 
functions and act directly on the disk.

     Those commands set in menu two are for the "super" 
mode.  They include functions that you won't use often, but 
are nice to have around.  Changes from this menu are made 
in memory and only become permanent at your decision by 
updating the changes on the disk.

     Giving credit where it is due I must admit that I got 
the idea for the layout from a shareware program called "PC 
DOS Filer" by Bill Neidert.  I didn't have thirty bucks so 
I wrote SFM instead.

     If you only have a single disk drive SFM is still 
potentially useful for you. If your system has 640K of 
memory SFM will be able to load an entire 360K disk during 
a copy before requesting that you insert a new disk for the 
other drive.  While SFM does not allow you to load two 
different directories from the same drive, it does take 
advantage of DOS's method of using a single floppy as both 
drives A and B.  (Ever seen the message "Insert diskette 
for drive B: and hit any key"?  That's what I'm talking 
about.)


                   Super File Manager - 3
                        >> STARTUP <<

     Most of the first SFM screen displays information you 
probably don't care about, but my ego demanded some 
gratification.  Towards the bottom, however, are two items 
you should pay attention to.

     The second to last line displays the information "Copy 
buffer = xxxxxx bytes ( xxxK )."  This is the amount of 
heap space SFM currently has available to it.  This buffer 
the memory area used for all temporary data, including the 
copy buffer.  Note that for SFM a kilobyte is interpreted 
as 1024 bytes.

     Generally, this number should be fairly high.  On my 
system (640K) it is listed as 356K, and I load about 150K 
worth of resident programs before running SFM.  This is 
more than enough memory to allow all SFM functions.

     The last line just asks whether or not you have a 
color system.  The default answer should reflect your 
system setup (according to the current text mode).  If you 
prefer black and white, or have a CGA display adapter 
paired with a monochrome monitor just answer no and you get 
the ugly, but readable, two color setup.


                   Super File Manager - 4
                 >> BRIEF COMMAND SUMMARY <<


MENU ONE:

     F1             : Display help in left window.
     F2             : Display help in right window.
     F3             : Load a subdirectory in left window.
     F4             : Load a subdirectory in right window.
     F5             : Load a new path in left window.
     F6             : Load a new path in right window.
     F7             : Select command to left.
     F8             : Select command to right.
     F9             : Mark a file for a later operation.
     F10            : Remove a mark from a file.
     DEL            : Delete a file or directory.
     
     CLEAR ALL      : Clear all marks from files in window.
     MARK ALL       : Mark all files.
     COPY           : Copy the marked files.
     DELETE         : Delete the marked files.
     COPYINFO       : Display size total of marked files.
     MOVE           : Move marked files without copying.
     RENAME         : Rename file / directory.
     RELOAD         : Force SFM to reload the directory.
     SET MASK       : Mask the files being displayed.
     MAKE DIR       : Make a new directory.
     TOG ATTR       : Toggle an attribute bit for a file.
     CLEAR DISK     : Clear all files from a floppy disk.
     MENU 2         : Enter the advanced functions menu.
     QUIT           : Exit SFM.


MENU 2:

     F7             : Select command to left.
     F8             : Select command to right.
     F9             : Same as PICK UP (below).
     F10            : Drop a file after moving it.
     
     SORT           : Sort the directory.
     VOL LABEL      : Specify a new volume label.
     RENAME         : Rename a file in memory.
     RELOAD         : Force SFM to reload directory.
     UNDELETE       : Attempt to recover deleted file.
     PURGE          : Zero out all deleted entries.
     DISKINFO       : Technical information about disk.
     PICK UP        : Move entry around directory.
     UPDATE         : Write the altered directory to disk.
     MENU 1         : Return to normal SFM function menu.


                   Super File Manager - 5
                 >> GETTING AROUND IN SFM <<


     This section will provide a summary of what SFM 
expects from you when it asks for input.

                          YES OR NO

     All yes or no prompts are handled the same.  You are 
presented with a question followed by the default answer.  
To accept this just hit the ENTER key, to toggle it hit the 
SPACE BAR or the "+" key.  You may also type a "Y" or "N" 
to answer directly.  After the response you want is 
displayed you then press the ENTER key to accept it.

                          SELECT...

     A similar technique is used for questions that start 
out with the word "Select".  You may use the SPACE BAR or 
"+" key to step through the possible responses and then hit 
the ENTER key when you have chosen the one you want.  You 
may also type the first letter of the option you want, if 
you already know what is available.

     If you change your mind about executing the current 
command at one of these prompts you can abort the function 
by typing the ESC key.

An example:
     When you are preparing to sort a directory you will 
     eventually be presented with the "Select sort order >" 
     prompt.  The default is "Forward" when the program 
     starts but you may also select "Reverse" by hitting 
     the SPACE BAR, "+", "R" or even "r" key.  If you 
     decide not to sort the directory you can press the ESC 
     key to abort the function.

               THE CURSOR KEYS : FILE POINTER

     The cursor keypad is used by SFM to move the arrow 
around the directory window, as well as moving the entire 
window around the portion of the directory displayed.  The 
keys function as follows:

          Home      : Move to beginning of directory.
          End       : Move to the end.
          Pg Up     : Scroll up the length of one page.
          Pg Dn     : Scroll down the length of one page.
          UpArrow   : Move up one entry.
          DnArrow   : Move down one entry.
          -->       : Switch to right window, if loaded.
          <--       : Switch to left window, if loaded.


                   Super File Manager - 6
Note that the "Del" key has a special meaning.  This key is 
used to delete the file or directory pointed at by the 
arrow.  This function is covered below under MENU ONE 
COMMANDS.


           SHIFT-CURSOR KEYS : HIGHLIGHTED COMMAND

     SFM also uses the cursor keypad to move the highlight 
bar in the command window.  By holding down the SHIFT key 
the cursor keys take on the following meaning:

          Home      : Move bar to upper left corner.
          End       : Move bar to lower left corner.
          UpArrow,
          DnArrow   : Switch rows.
          -->       : Move bar right one entry.
          <--       : Move bar left one entry.

     For those people who don't like the idea of having to 
hold down the SHIFT key to move the highlight bar there are 
other keys that perform the same function:

          F7        : Move bar left one entry.
          F8,
          SPACE,
          "+"       : Move bar right one entry.

     Finally, you will notice that I have provided a 
wraparound feature so that using the SPACE BAR will still 
get you to any of the commands.  After you have highlighted 
the command you want pressing the ENTER key will execute 
it.


                        STRING INPUT

     Now on to those prompts that require you to enter a 
path or file name.  You will be asked to enter a string 
value and you basically just type in whatever you think 
fits the question and hit ENTER.

     There is a limit set on the number of characters that 
will be accepted, but this shouldn't usually be a problem.  
For most prompts this limit is the amount of space to the 
end of the line.  Unless you happen to like real long path 
names (over 50 characters) you will never hit this limit.  
If you attempt to enter more characters than are allowed 
you get beeped (a very short beep).


                   Super File Manager - 7
     Should you decide against executing a function that is 
asking for this type of input you can abort by just 
pressing ENTER without typing anything.

An example:
     When you are asked for a new directory mask SFM will 
     only accept twelve characters.  This makes sense, 
     since anything longer than that will be ignored when 
     the new mask is parsed anyway.  If you want to leave 
     the mask set as is, you just press ENTER without 
     typing in a new mask.


                   Super File Manager - 8
                    >> THE SFM SCREEN <<


     Most of the items displayed on the screen will have an 
obvious meaning, but we'll cover them all anyway (sorry if 
you don't like wordy documentation).

     First let's just note that there are three distinct 
portions of the screen; the command window at the bottom, 
and two display windows.  Normally the two display windows 
will contain directory information, but on occasion they 
will also display a help screen.


                    THE DIRECTORY WINDOW

     The top line of the window is a box that contains the 
path of the directory being displayed.  Note that if you 
have a very long path name this box only displays the last 
38 characters of the path name, which should be enough to 
let you know where you are.

     The next line is actually part of the window's 
border.  Most of the time this is simply a horizontal 
line.  However, when you have set a mask (explained below) 
this line will display the mask as you entered it.  It 
becomes a simple horizontal line again when you enter '*.*' 
or its equivalent as the mask.

     The body of the window displays the current directory 
and the relevant information about each file:

          Column    What's there
          ------    ---------------------
            1       Name
            2       Extension
            3       Size OR
                      <DIR> = Directory
                      (VOL) = Volume Label 
            4       Date last updated
            5       Time last updated
            6       Attributes:
                      A    = Archive bit
                      S    = System file
                      H    = Hidden file
                      R    = Read-only file
                      >DEL = Deleted file

Note that the file size is overwritten by <DIR> or (VOL) 
since entries of this type have a size of zero anyway.  
Also, you will not see the ">DEL" or "(VOL)" symbols (or 
the files associated with them) when you are in menu one, 
they are only displayed in menu two.


                   Super File Manager - 9
     The last line is displayed as part of the window's 
border.  This line will contain two pieces of information:

          DirSize = Total of all file sizes in directory.
          Free    = Amount of free disk space left.


                        HELP WINDOWS

     The help windows simply display a list of those 
function or cursor keys that have special meanings for the 
current menu.  The help windows from menu one can be 
toggled on or off using the F1 and F2 keys.  The help 
window for menu two remains displayed at all times since 
you may only use menu two commands on one directory at a 
time.


                       COMMAND WINDOW

     The bottom four lines are used to display the command 
menu.  This window will contain the commands that may be 
selected for the current menu.  The current command will be 
highlighted and this may be executed by pressing the ENTER 
key.

     Selecting a command is covered above by the section 
called SHIFT-CURSOR KEYS.

     This window has two other uses.  The user will be 
prompted for input through this window and error or warning 
messages are displayed here also.


                   Super File Manager - 10
                       >> MENU ONE <<

     This menu contains the commands that you will most 
often use.  Let the descriptions begin...

F1, F2 : DISPLAY HELP

     Pressing one of these function keys will display a 
     brief help window that lists what each function key is 
     for as well as how to select and execute commands.  
     This window remains displayed until the F1 or F2 key 
     is pressed again.  F1 displays in the left window and 
     F2 is for the right.

F3, F4 : LOAD A SUBDIRECTORY

     If the file pointer in the current window is next to a 
     subdirectory that subdirectory will be loaded.  It is 
     loaded into the left window if F3 is pressed and to 
     the right if F4 is pressed.

F5, F6 : LOAD A NEW PATH

     These keys prompt you for an entirely new path.  If 
     you wish to get a directory from another drive then 
     just include the drive specifier as part of the path 
     name.  Another item to note is that the new path name 
     is relative to the current window's path, just as the 
     CD command from DOS is relative to its current 
     directory.
     
     An example:
          The current directory you have loaded is 
          C:\BS\SFMDOCS.  If you wanted to go to the root 
          directory you could enter "\" and press ENTER.  
          If you wanted to go to C:\BS then you'd enter 
          "..".  Or finally if you wanted to load the 
          default directory on drive A: you type "a:".

F9 : MARK ENTRY

     The important commands available in menu one act on 
     groups of files.  This is the function key that you 
     use to tell those commands that this file should be 
     included in the operation.  When you press F9 the 
     entry next to the file pointer in the current window 
     will become highlighted, unless it happens to be a 
     directory entry.  Directories are not included in any 
     of the group commands so there is no reason to mark 
     them.


                   Super File Manager - 11
F10 : UNMARK ENTRY

     Should you change your mind about including a file in 
     one of the group commands you can remove the tag by 
     using this key.

DEL : DELETE FILE OR DIRECTORY

     This key may be used to delete a single file or 
     subdirectory entry.  It does not matter if the file 
     has been marked or not.
     
     When deleting a file the read-only attribute must not 
     be set.  Should you wish to delete such a file you 
     must first use the toggle attribute command described 
     below.
     
     When deleting a directory it must be empty or you will 
     get an error message (access to file denied).  To 
     alleviate this problem you must load that directory 
     and delete all of its files (better safe than sorry).

CLEARALL : CLEAR ALL MARKS FROM WINDOW

     Does just what it sounds like, removes all marks.  
     This includes those not displayed through the current 
     mask (described below).

MARK ALL : MARK ALL FILES IN WINDOW

     Hey! This is the opposite of CLEARALL, with a couple 
     of exceptions.  It doesn't mark directories and only 
     applies to those files that are displayed through the 
     current mask.

COPY : COPY ALL MARKED FILES

     Finally we get to something that actually needs a 
     description.  This function copies all of the files 
     that are marked and are visible through the directory 
     mask.
     
     Where?  If there is another directory loaded SFM will 
     ask if that should be the destination.  If not, or you 
     answer no, you are prompted for the destination path.  
     This path may be entered relative to the source path.
     
     During a copy many things can occur and you're about 
     to here about them...
     

                   Super File Manager - 12
COPY : continued

     For example, what if there is an error writing to the 
     destination.  Well if the error is caused by the 
     destination file already existing with the read-only 
     attribute set (or some similar error) you have the 
     option of quitting or continuing with the next marked 
     file.  If you still want to replace a file with its 
     read-only bit set you will have to first use the 
     toggle attribute function described below.
     
     What if the destination disk gets full?  Well, that 
     depends on whether or not you can change disks.  If 
     you can change disks you may continue with the copy 
     operation.  The program assumes that drives A and B 
     are floppy drives and that all others (if present) are 
     fixed disks or perhaps RAM drives.  My apologies to 
     those with a different (and odd) configuration.
     
     If you get to a point where you need to change disks 
     during a copy there are all kinds of options:
     
          First you are told to change the disk (the new 
          one must be formatted).
          
          Then SFM loads a directory from the disk so you 
          can make sure it is OK to copy to it.
          
          The next prompt will ask whether or not you wish 
          to clear the disk (described below).
          
          Now if the destination path was not present you 
          are asked whether or not SFM should create it.
          
          If you do not want the path created then SFM 
          assumes that it should write to the root 
          directory and finally continues with the copy.
     
     Here is something to take note of when a copy gets 
     interrupted.  SFM is smart enough to remember what it 
     had already loaded before the error. However, 
     sometimes it must reload all of the files starting 
     with the one that caused the error.
     
     The most common cause of this is from using the clear 
     disk option during a disk change.  During a clear 
     operation SFM uses the copy buffer space for temporary 
     storage before writing the new (empty) FAT and root 
     directory to disk.
     
     As an attempt to clarify this the next page contains 
     an example of using the copy function.


                   Super File Manager - 13
COPY : continued

     An in-depth example:
     
          You have decided to copy the entire utility 
          directory from your fixed disk to floppies as a 
          backup.  First you load that directory and mark 
          all of the files.  Next you place a blank floppy 
          in drive A, load it into the other window and 
          create the destination path "A:\UTILITY" (see 
          MAKE DIR).
          
          Now you get the file pointer in the window that 
          contains "C:\UTILITY", select the COPY command 
          and accept the default for the destination, which 
          is "A:\UTILITY".
          
          About half way through you get the prompt "Disk 
          full: Continue with copy?"  You decide to 
          continue and are asked to put a new disk in drive 
          A.
          
          After doing this you notice that it has loaded 
          directory "A:\" in place of the old "A:\UTILITY" 
          directory that was there.  This means that the 
          destination path was not present so SFM decided 
          to load the root instead.
          
          You now notice that the disk contains several 
          files that look like your recently divorced 
          (wife/husband)'s tax records.  Heh-heh, well now 
          we know how to answer that prompt at the bottom 
          of the screen that says something like "Clear 
          Disk?".
          
          So now we've cleared the disk, what about the 
          next (LAST) question "Attempt to create 
          A:\UTILITY?".  For consistency in our backup 
          scheme we say yes and SFM creates the directory 
          and continues with the copy by reading in the 
          files from where it was interrupted.
          
          That about wraps up a windy copy example.
          
          As a final note I would like to point out that an 
          error during a disk change will result in 
          starting over from the "Insert new disk in drive 
          A and PRESS ANY KEY" prompt.  This could happen, 
          for example, by putting an unformatted disk in 
          the drive by accident or if SFM fails to create 
          the destination path for some reason.



                   Super File Manager - 14
COPYINFO : DISK SPACE REQUIRED FOR MARKED FILES

     Choosing this option will display two or three lines 
     of valuable information about the files you have 
     marked.  First it totals the sizes of all those files 
     that are marked and visible through the current mask 
     (see below).
     
     The first line shows how many files are marked and 
     their total size in bytes.  The next line shows how 
     much disk space they require on their current drive 
     and tells whether or not you could store another copy 
     on that drive.  If you have another directory loaded 
     on a different drive there will be a third line  
     containing similar information.
     
     This may not always be completely accurate.  SFM does 
     not take into account the fact that there may be files 
     in the destination directory that have the same name 
     as those in the source.  So once in a while SFM will 
     say that the files will not fit, when they really 
     would since the duplicate files will be overwritten.

DELETE : DELETE MARKED FILES

     This function will delete all of the marked files from 
     the current directory.  Use with caution since you 
     can't always recover something you have deleted.  If 
     SFM runs across a file with a read-only attribute or 
     for some other reason cannot delete one of the marked 
     files you will get an error message.  When this 
     happens SFM will ask if you would like to continue 
     with the next marked file.

MOVE : MOVE A FILE WITHIN THE TREE STRUCTURE

     Here is an interesting function.  SFM will take those 
     files that are marked and simply delete their names 
     from the source directory and place them into the 
     destination directory.  This is a quick and simple way 
     to move files around on a hard disk.  Because the file 
     is not physically moved the destination path must be 
     on the same disk or you will get an error message.
     
     This function was not as hard to write as it may seem, 
     DOS does the work for us.  Unfortunately there is no 
     way to access this function directly from the DOS 
     command line (somebody wasn't thinking at MicroSoft 
     headquarters).



                   Super File Manager - 15
RENAME : RENAME A FILE

     This command will prompt you for a new file name for 
     the file currently being pointed at.  After you have 
     entered one SFM attempts to change the name on disk, 
     if it is not successful you probably didn't enter a 
     valid DOS name.

RELOAD : FORCE A FULL RELOAD

     This function is handy when you are accessing floppies 
     a lot.  As long as the path for the current window is 
     the root directory changing disks is easy.  It also 
     reads in the disk free space again to be certain it is 
     correct.

SET MASK : MASK ENTRIES THAT ARE DISPLAYED

     This function allows you to specify what files are to 
     be displayed in the current window, as well as which 
     are included in group operations.  This mask operates 
     just like the one you would use for a directory from 
     the DOS command line.
     
     The current mask for each window is displayed near the 
     top of the window, unless it is set to "*.*".  The 
     mask will not be changed again until SFM is told to 
     change it.  It may be 'turned off' by entering "*.*" 
     as the mask.  Also note that this mask has no meaning 
     when you enter menu two.
     
     Changing the mask does not affect which files are 
     marked, but marked files that aren't shown by the mask 
     are not included in group operations.  This is useful 
     if you want to quickly mark all files with a certain 
     extension.
     
     An example:
     
          You plan to copy several files to drive A from 
          your SFM source directory.  This is no small task 
          since the files you wish to copy are scattered 
          among two thousand test files.  Luckily the 
          majority of the files to be copied end with the 
          "INC" extension.  First you set the mask to 
          "*.INC" and then use the 'mark all' function.  
          Then you set the mask back to "*.*" and mark two 
          more files that didn't happen to end with "INC", 
          namely "SFM.COM" and "SFM.PAS".  Finally you can 
          use the copy function to copy the marked files.



                   Super File Manager - 16
MAKE DIR : CREATE A NEW SUBDIRECTORY

     If you need a new subdirectory while working with SFM 
     just ask for one.  You will be prompted for a new path 
     to create.
     
     It will be created in relation to the current path, 
     but is not limited to that.  You can make a directory 
     anywhere you want, even on a drive that is not 
     currently loaded into a window.  The only limitations 
     are what DOS will accept and the length of the input 
     line (you don't really want a path that long anyway).

TOG ATTR : TOGGLE A FILE'S ATTRIBUTE BITS

     This function affects the file that is currently being 
     pointed at.  You will be presented with the prompt 
     "Select attribute to toggle >" followed by the current 
     default.  Your choices for attributes that may be 
     switched are the archive, hidden and read-only bits.
     
     Once you have decided which attribute to toggle hit 
     ENTER and if that bit was set it is now cleared and 
     vice-versa.  Should you change your mind about 
     toggling any of these attributes just hit the ESC 
     key.  You must use this function to clear the read-
     only bit of a file before it can be deleted or 
     overwritten.
     
     Note that SFM stores the last value you selected so 
     that next time you enter this function that is the 
     default.  You should also note that you may select the 
     attribute to toggle by typing the first character in 
     its name (e.g. "a" for archive).

CLEARDSK : CLEAR A DISK'S FAT AND ROOT DIRECTORY

     This function effectively clears a disk of all 
     information, leaving you with a fresh diskette.  It 
     does not zero every byte on the disk as this would 
     take quite a while and most people don't need that 
     particular service anyway.
     
     Concerning the limitations of this function I must 
     point out that it only works on drives A and B and 
     requires that disks are formatted.  I doubt there is 
     anyone who wants to use SFM to clear a fixed disk so 
     the first limitation shouldn't be too restrictive.
     
     SFM does not actually verify a diskette when it clears 
     one, but it comes close.  Since the disk must be 
     formatted anyway SFM assumes that the FAT on the disk 
     has the bad sectors already marked.  SFM simply 
     preserves these marks and frees up all other sectors.


                   Super File Manager - 17

MENU 2 : SWITCH TO MENU 2

     Menu two is the "super" in Super File Manager.  It 
     contains all of the advanced functions that require 
     special handling.  It is covered later in detail, for 
     now I shall just mention that SFM makes sure the 
     current directory is available before switching to 
     menu 2.

QUIT : EXIT SUPER FILE MANAGER

     This function just plain quits.  There is no warning 
     since the worst that could happen is that you would 
     have to type "SFM" again to get back in.  Besides, an 
     "Are you sure?" prompt is more often annoying than 
     beneficial.


                   Super File Manager - 18
                       >> MENU TWO <<


     Here are the less used, but more advanced functions.  
These functions do not work directly on disk, but merely on 
copies in memory.  If you are satisfied with changes you 
have made you will have to tell SFM to update the disk 
using the UPDATE function.  If you make a mistake you can 
RELOAD the directory and start over.

     While in menu two you will be limited to a single 
directory at a time.  This is done mostly because of the 
extra memory required for these functions, but also to help 
prevent mishaps and make keeping track of changes you have 
made easier.  Another limitation is that you may not change 
directories while in this menu, you will have to return to 
menu one to do that.

     Also, there is no mask for menu two.  All files are 
displayed including deleted files and the volume label if 
present.  Notice that a deleted file does not show its 
attributes.  SFM assumes that you don't care much about a 
deleted file's attributes.

F9 : PICK UP FILE

     Since the menu two functions do not include any group 
     operations this key is used a bit differently than in 
     menu one.
     
     Pressing F9 will highlight the current entry.  Good, 
     now what?  Well, now you can move this up or down 
     (arrow keys) in the directory and the 'drop' it when 
     it is in place with the F10 key or by pressing RETURN.
     
     Many people think it saves time if DOS can find a file 
     right at the top of a directory.  By placing 
     frequently accessed files towards the beginning of a 
     directory you can cut the response time of DOS 
     somewhat.  I suppose this is true, but I prefer a 
     directory where I can find things.  In any case the 
     function is there, use it for whatever reason suits 
     your purpose.

F10 : DROP FILE

     Drops a file that has been 'picked up' using F9 or the 
     PICK UP command mentioned below.

PICK UP : PICK UP FILE

     Same thing as F9, I just needed one more item to give 
     menu two an even number of commands.


                   Super File Manager - 19
SORT : SORT DIRECTORY

     After choosing this option you are asked which field 
     you would like to sort on.  The choices are name, 
     extension, size, date & time or attribute.  You may 
     select a field by stepping through the choices (SPACE 
     BAR) or typing the first letter of the field.  After 
     the field is selected type ENTER.  ESC will abort the 
     sort function if you change your mind.
     
     The next prompt is for the sort order, either forward 
     or reverse.  Selecting the order is done using the 
     same method as selecting the field.  Forward is always 
     from first to last, smallest to biggest, or earliest 
     to latest according to the field.  Reverse, rather 
     predictably, is the opposite.
     
     The fields are pretty much self-explanatory.  The date 
     & time field selection sorts according to date first, 
     then time if the dates match.  I combined them since I 
     couldn't think of a good reason for keeping them 
     separate.
     
     The attribute field the only one not self-
     explanatory.  It sorts files in the following order:
     
               System files (if in the root directory)
               .  directory
               .. directory
               Volume label
               Normal directories
               Normal files
               System files (anywhere but root)
               Hidden files
               Deleted entries of any type 
     
     If you've tried sorting a directory already you 
     probably noticed that the attribute sort is actually 
     performed after every sort.  It has been included as a 
     separate option for those times that you don't want 
     any actual sort done, but would like to have entry 
     types grouped together.  An example would be putting 
     all of the subdirectories at the top without 
     disturbing the order of the normal files.
     
     If, for some reason, you don't want the attribute sort 
     ordering in a directory you will have to move the 
     files into position one by one.  (Sorry, source code 
     is available if this becomes a problem).


                   Super File Manager - 20
SORT : continued

     Finally, if you have a very long directory to sort you 
     may notice that SFM can take quite a bit of time.  
     This is because I decided to use a stable sorting 
     routine (insertion sort).  The trade-off in time was 
     worth it since directories seldom get longer than 100 
     entries.
     
     An example:
          If you first sort on name and then by extension, 
          the files will be in alphabetical order within 
          each group of extensions.

VOLLABEL : CREATE, DELETE OR CHANGE VOLUME LABEL

     Selecting this option will allow the setting of the 
     volume label if the current directory is the root.  A 
     volume label serves no purpose in any other directory 
     since DOS ignores them elsewhere.
     
     If there is currently a volume label you are asked if 
     it should be deleted, if you answer yes then that's 
     it.  If it is not deleted you may rename the volume.  
     If there is no current volume label you are prompted 
     to enter a new one.  You may just press ENTER if you 
     change your mind about creating or renaming the 
     volume.
     
     Any eleven character string may be entered as a volume 
     label.  You can even enter control characters if you 
     wish.  Try entering ^G some time and then exit to DOS 
     and get a directory.  Better rename it quickly, before 
     it drives you bonkers.

RENAME : RENAME A DIRECTORY ENTRY

     Another rename command?  Yes, but much more powerful  
     than the rename found in menu one.  The only type of 
     entry you may not rename here are the directories that 
     DOS reserves ("." and "..").
     
     No error checking is performed so you must be a little 
     careful.  If you enter a character that is not valid 
     to DOS you will not be able to access that file again 
     until you give it a valid DOS name (have fun all you 
     pranksters).  You must also watch out for duplicate 
     file names.
     
     SFM will format the name as DOS would by inserting 
     spaces before a period, truncating at 12 characters 
     and converting all characters to upper case.


                   Super File Manager - 21
RENAME : continued

     The real reason for this command is much more 
     functional.  I had a few disk errors once and some 
     valuable files somehow ended up with a space in the 
     middle of their names.  DOS wouldn't let me load or 
     rename them.  This function allows access to any such 
     file.

RELOAD : FORCE SFM TO RELOAD THE DIRECTORY

     This option is available for those times you perform 
     some menu two function and decide afterwards that you 
     didn't really want to.  As mentioned earlier, changes 
     are made in memory while in menu two so it is a small 
     matter to restore what you started with.

UNDELETE : ATTEMPT TO RECOVER A DELETED FILE

     SFM will make a good guess as to what parts of the 
     disk belonged to a deleted file and then restores 
     those portions to it.  This function has the best 
     chance for success immediately after the file has been 
     deleted, and its chances are reduced drastically every 
     time you copy or delete a file on the disk.  Note that 
     this file recovery is analogous to the Norton Utility 
     called Quick Unerase.
     
     DOS saves very little information about a file in its 
     directory entry and this makes a recovery operation a 
     bit difficult.  The only data that we have are where 
     the file started and how long it was.  SFM basically 
     starts in the same place as the file did before it was 
     deleted and starts adding free disk clusters as they 
     are found until there are enough to cover the size 
     specified in the file's entry.
     
     SFM knows that a file cannot be recovered for sure if 
     the first cluster was overwritten by something.  There 
     is no way to be certain that a file has been truly 
     recovered, short of having you verify each cluster as 
     it is added to the file.  This is beyond the scope of 
     SFM and would be extremely tedious at any rate.  
     Should you require this type of service I can suggest 
     that you try Norton's Utilities.
     
     If the recovery operation was successful you get a 
     message stating as much, and are asked to enter a new 
     first character.  SFM requires that the character be 
     valid for DOS and that you do not create a duplicate 
     file name.



                   Super File Manager - 22
PURGE : REMOVE DELETED FILES FROM DIRECTORY

     This is just a cleanup function.  If you use the menu 
     two functions very often you probably get quite tired 
     of seeing a bunch of deleted files displayed.  Unless, 
     of course, one of the deleted files happens to be one 
     you wish to recover.  However, in most cases you can 
     do without the clutter and you can get rid of them 
     quickly by using this function.  All the purge does is 
     move the deleted files to the rear and then zeros out 
     their entries so they appear to never have been used.

DISKINFO : TECHNICAL INFORMATION ABOUT CURRENT DISK

     This is some of the information that SFM uses in its 
     disk operations that may be of interest to you.  If 
     you happen to know what these values are for your 
     system's drives I would suggest comparing them.  If 
     they do not match you should avoid using SFM's menu 
     two functions on anything important until you have a 
     chance to track down the problem (either you were 
     mistaken or SFM doesn't recognize your disk 
     configuration for some reason).
     
     The disk information displayed by SFM is taken 
     directly from DOS and therefore usually accurate.  If 
     not, the problem may be caused by an incompatible 
     version of DOS.  As I understand things, SFM should be 
     valid for DOS versions 2.0 through 3.2 and hopefully 
     any that appear in the future.  SFM was developed 
     under MS-DOS 3.2.

UPDATE : WRITE CHANGES BACK TO DISK

     As you have probably read ten times now, menu two 
     functions will not make changes directly to the disk 
     until you specifically tell SFM to do so.
     
     One distinct word of warning: don't change disks while 
     in menu two.  If you happen to update the wrong disk 
     you will wipe out the old file allocation table, 
     losing all data that used to be on that disk.  If 
     you're curious though, try it some time with a couple 
     of test disks.

MENU ONE : RETURN TO MENU ONE

     Just like it says.  The only things to note here are 
     that you will be notified if the directory was changed 
     since last updated and that the directory will be 
     reloaded if necessary before returning.


                   Super File Manager - 23
                    >> ABORT ON ERROR <<


     It is not very likely, but you may at some time see a 
screen that starts out something like "An error not handled 
by this program has occurred."  If this happens you will 
see a couple of lines that follow that tell where the 
program aborted and why.

     The message you are most likely to see is one that 
says "InitVars : Couldn't load default directory".  This 
will occur right after answering the first prompt about 
system colors.  SFM was initializing variables and aborted 
when it couldn't load a directory to start with.  All it 
means is that SFM requires that you run it from a valid 
directory.

     Another possibility would be running SFM with too 
little memory.  You will receive a message that says either 
"LoadFAT : Insufficient memory to load FAT" or "ClearFAT : 
Insufficient memory for temporary buffer."  If possible, 
you should remove some of the resident utilities on your 
system and try again.

     Any other error conditions are handled through a 
routine that tells you the type of error and the error 
number.  I doubt you will ever get such a message, but I 
will cover it just the same.  Here is a hypothetical 
example:

          AbortOnError :
            A user break (^C) has occurred.
            Error number = $01
                 Address = $xxxx

Unless you get the source code and recompile SFM with the 
"{$C+}" compiler directive you will never actually get this 
message.  SFM disables user breaks since they aren't needed 
and they slow down the display screens.

     Note that if you receive an AbortOnError message and 
you have the source code for SFM you can track down exactly 
where the error occurred.  Just run Turbo, type "W" and 
enter "SFM" as the workfile name.  Then type "O" to enter 
the Options menu and then "F" for the Find run-time error 
option.  When asked for the address type in the number that 
was displayed with the AbortOnError message.

     This is a helpful function for persons interested in 
altering SFM.  Should an error result from a change, the 
program exits in an orderly fashion and resets those 
portions of the system it altered back to what they were 
(see the technical documentation about interrupt handlers).
