edit 
		SUPER DIRECTORY PROGRAM information
		      (primarily for SYSOPs)


Information on how to install/use on RCPM systems.  Read the SD.HIS file
for the history of updates to this program.

------------------------------------------------------------------------

     NOTE:  May be assembled with ASM, LASM, M80, MAC or SLRMAC


    A feature has been added that does away with the need for several
versions of SD.COM.  It allows the inclusion of a 4, 6, or 8 on the com-
mand line which relates to 40, 64 or 80 character displays. (2, 3, or 4
filenames per line.)  The default value is that stored in NPL and LPS if
MAXCL is NO, and the value at MAXCL and LPS1, 2 or 3 if MAXCL is YES.

    MAXCL - this equate, if YES, enables RCP/M operators to store the
value of 2, 3, or 4 at the location defined by MAXC.  Just have your
signon or RBBS program ask for or assign a value for NPL (names per
line) and store it at the location MAXC.  The suggested addresses for
MAXC are 3BH if using 3EH for the wheeel byte location or 3EH if using
3BH for the wheel byte.  No need to keep several versions of SD online
for various users, such as DIR40, DIR64.

    The following equates are the values for the number of lines per
screen (LPS) to be changed as needed when MAXCL = YES.

    LPS1 -  this is the number of lines per screen if NPL = 3. (64 col
	    option)
    LPS2 -  this is the number of lines per screen if  NPL < 3. (40 col
	    option)

    These additional equates allow one to specify the number of lines
that will be displayed for each of the optional formats (4 & 6).  This
would allow one to set up SD for optional remote use with a TRS-80 Mod
100 (for example) by setting LPS2 to a value of 8.


Here are some command line examples:

    If MAXCL = yes	   SD <cr>

    Will display all files on current drive using the value stored at
MAXC to determine the number of filenames per line.


			   SD $6 <cr>

    Will display all files on the current drive and display files in the
64 column mode (3 filenames per line).	It will also store a 3 at the
memory location defined by MAXC for subsequent use by SD or any other
utility that uses the variable filenames per line function.

    If MAXCL = NO	   SD <cr>

    Will display all files on the current drive using the value defined
by the NPL equate.

			   SD $4 <cr>

    Will display all files on the current drive and display files in the
40 column mode (2 filesnames per line).  It will revert to the mode de-
fined by NPL on subsequent uses of SD.

    KTHREE - this equate allows control over the number of columns used
in the display of file sizes.  If KTHREE = YES, then only three digits
will be used, limiting proper display of file sizes to 999k or less.  If
KTHREE = NO, then SD will use five digits, allowing files as large as
64,535k to be displayed.  The advantage of using KTHREE = YES is that
you may use a fence charcter even in the four file display mode.  This
makes the display more readable. (Note: KTHREE only changes the display
of individual file sizes and totals are not affected.)

    PDRI RI & PRUS - these equates allow (if YES) or disallow (if NO)
the printing of the drive and/or user numbers at the front of each file
display line.  These affect only the CRT format and all printer formats
still report the drive (and user if REPUSR = YES) numbers.  This allows
the display of the user number without the drive specification if this
format is needed.  A good example would be a 40-column format used on
a RBBS which makes use of a large number of user areas.

    PRLIBD - if this equate is set 'NO' when PRDI and PRUS are 'YES', SD
will suppress the display of drive/user numbers on LBR file display
lines.	One may wish to use this format if PRBRDR = YES.

    PRBRDR - allows the printing of a quasi-border around the left side
of library file member lines if set 'YES'.  This makes for a more read-
able format when displaying a large number of LBR files.  (Try it both
ways until you decide if you want this option on or off.)

    In place of the $U option, you may specify the Drive/User with the
filename, such as:

	  SD A1:*.*, SD 1:*.*, SD B:FN.FT, SD B4:FN.FT $AD, etc.

    You may still use the $U option if desired, although it seems the
DU: form is a much easier and more logical method.  File lengths over
four megabytes are read correctly.

    Files  may be  shown in vertical or horizontal listings, although
this must be set when the program is assembled for a particular system.
The distribution copy is set for vertical alphabetization since most
non-RCPM users will likely prefer this presentation.  (SYSOPs will need
to set a number of equates and reassemble the file in any event.)

    SD.COM has support for .LBR files (an 'L' option to list their mem-
ber files) and support for the  "WHEEL" byte option.  Size of library
member files are shown in 'k'.

    To use SD.COM:

	B>SD		  shows all non .SYS files on current drive/user
	B>SD *.*	  same as SD <ret>
	B>SD ?		  displays a help guide with available commands
	B>SD *.ASM	  shows all .ASM files on current drive/user
	B>SD HELLO.*	  shows all files this D/U starting with HELLO
	B>SD *.TXT $AD	  shows all .TXT files on all drives and users
	B>SD MDM.* $ADL   shows all files starting with MDM on all
			      drives and user areas and in all libraries

    In addition to the filename option, up to 11 command line options
may be specified.   Option fields are preceded by a single dollar sign.
Example:  SD B:$ADnU0fpS.  (Upper-case and/or lower-case may be used.)
Spaces within the option field are insignificant i.e., "$ SADN U0FP" is
equivalent to "$  S A D N  U0  F P").  The only exception concerns the
"USER" option, cannot say  "U  5", must say "U5", etc.

    Users should also be aware of two restrictions on the command line
format.  SD scans the entire command line for a dollar sign preceded by
at least 1 blank to delimit the beginning of the option field.	For this
reason, invoking SD with a command line such as:  "SD $ $AR" is illegal,
since SD will consider the first dollar sign to be the option field de-
limiter.  If you need to specify a filename whose first  character is a
dollar sign precede it with a drive code as in "SD A:$ $AR".  In this
instance, SD will consider the first dollar sign insignificant as it is
not preceded by a blank.

    You give up the ability to specifically search for a filename whose
name begins with a '$'.  However, such files will be listed, along with
others, if the command line "SD $CU3" (or any other options) were speci-
fied.


			OPTIONAL COMMANDS:
			-----------------

  "A" - all users:  Causes SD to display directories of all
	user areas starting at the user area specified in the
	'U' option or, if the 'U' option is omitted, user area
	0 and continuing up through the MAXUSR value from the
	LODRV-HIDRV table.  (WHEEL=TRUE and the WHEELbyte set,
	0-MXZUSR.)

  "D" - all disk option:  Allows SD to search all disk drives
	online starting with the first disk drive allowed (nor-
	mally "A" drive).  For example, "SD B:$D" will result
	in SD searching all drives beginning with drive B.
	"SD $D" will result in SD searching all drives auto-
	matically beginning with the A drive, regardless what
	drive you started on.

  "F" - file  option:  The directory output  will be echoed to
	a disk file named "DISK.DIR" on the DEFAULT drive.  If
	this name already exists then the directory output will
	be APPENDED to the end of the file.  "DISK.DIR" will
	otherwise start as a new file.	The append feature al-
	allows you to build up one massive file on the default
	drive containing the directories of all of your disks,
	without having to concantenate a swarm of individual
	directory  files.

  "L" - LBR list option:  Library file members are shown followed
	by their length in 'k'.  The total length of the entire
	library is also shown.

  "N" - no page  option:  Disables the page pause option.  Use-
	ful when running SD in the 'F' and/or 'A' modes when you
	don't want the page prompt slowing you down.  The page-
	pause prompt will not be put into the output file or to
	the printer (if either is enabled).

  "O" - only shows .SYS files:	Most CP/M systems have at least a
	few .SYS files which normally do not show when requesting
	a directory listing.  This option shows ONLY those .SYS
	files.  (R/O files show with any normal listing.)  It is
	very handy feature as no reverse video, etc. is needed to
	quickly show .SYS files.  (USELC can be set to put the
	attribute character into lower case for both .SYS and R/O
	files, we recommend its use.)

  "P" - printer option:  Forces all console output to be echoed
	to the CP/M list device, with the most significant bit
	set to 0.

  "S" - system option:	.SYS system files will be included in the
	output	rather than being suppressed.  (USELC will show
	the attribute character in lower case, easily and quickly
	identifying any .SYS files when this option is exercised.
	R/O files will also then have the attribute character in
	lower case.)

  "U" - user option:  Allows the specification of the user num-
	ber for the directory of the form "Uxx" where the user
	# is greater than 0, but not greater than a specified
	value not to exceed 15.  The user option specification
	will be illegal if the user # is out of range, omitted,
	or if 'U' is specified on a pre-CP/M 2 system.	"U1" is
	legal, but "U 1" is not.  In this respect, the 'U' op-
	tion differs from the other options in that embedded
	spaces ARE significant.

  "V" - if included, SD version number and date is displayed.

  "4, 6, or 8" - Filenames per line option:  These will allow
	the user to specify the number of filesnames per line
	to be used in the display.  The format used relates to
	40, 64, or 80 character displays which give 2, 3 or 4
	filenames per line, respectively.  If MAXCL = YES, the
	specified value is stored in the memory location de-
	fined by MAXC.	If MAXCL = NO then SD reverts back to
	the value defined by NPL after displaying the optional
	format.  If MAXCL= YES and WHLCL = YES then SD will
	not allow the use of these command line options and
	will use the value stored at MAXC for display.


     If an unrecognized option (or illegal user option specification) is
detected, the command line will be played back to the console up to the
point where the error was detected.  If the REPERR option is disabled,
SD will ignore everything on the command line past the illegal field.
In this situation, an incorrect user number would default back to the
current user number.

     Finally, if the all-disk and/or all-user options are enabled it may
be desirable to restrict searches.  To facilitate this, a table is in-
cluded in SD (beginning at label "LODRV" and continuing through "HIDRV").
The table consists of a single byte for each drive to be searched begin-
ning with 'A'.	Each byte may be in the range of 0-31 and defines the
highest user number that SD will search for that particular drive.  The
highest drive number to search is defined by the length of the table.
If four DBs are present between LODRV and HIDRV, then drives A-D can be
searched.  The source file includes the LODRV-HIDRV table in its maximum
configuration for 16 drives.  However, delete all DBs referencing drives
that are not available on your system.	Even though SD will intercept
attempts to search non-existant drives, there really is no point in al-
lowing SD to always search drive C when you only have 2 logical drives.
Depending on how your BIOS is constructed and how long it takes to let
the BDOS know of the select error, it could save some time.

    You don't have to be running NZCPR or ZCPR2 to use the WHEEL, MAXCL,
MAXUSER, or MAXDRIVE byte features, just have your signon or RBBS pro-
gram assign and store the correct values in the proper locations to set
these features, or add code to BYE to provide the correct values when a
remote user logs on (before entering CP/M).

				- Notes contributed by various people
