Whatever happened to Kim Watt??  He is alive and well in Milwaukee
Wisconsin.  You can find him at:

    7267 W. Marine Drive
    Milwaukee, WI 53223
    (414) 355-2332

He may have been temporarily missing, but has been busy as you will
notice by the enclosed diskette.  On it you will find a new program
called DMAN, the diskette manager.  It is a highly sophisticated
manager for all those diskettes that us computer enthusiasts have
accumulated over the years.  How many times have you been looking for
a particular program, and not had the slightest idea of where to start
looking?  Well, this will never happen again!  DiskMAN will tell you
EXACTLY where it is.

DiskMAN is a single machine language program that operates through
your disk operating system, and uses an overlay technique for
effective memory management much like your DOS does.  All of the
different modules are contained within a single file for quick access,
and to be sure that all the modules are present and never get
scattered during disk copies.  Versions will be individually available
for:

    LDOS Mod 1/3/4/Max
    DosPLUS Mod 1/2/3/4
    MultiDOS Mod 1/3/Max
    NewDOS Mod 1/3

Built in features to the DiskMAN system, in addition to the overlay
techinque from a single file, are:

    Works on ANY MEDIA that your dos supports, floppy/rigid/double
    density/double sided/8"

    Build in keyboard editor including insert and delete keys

    Thorough error checking with recovery in most cases.

    Ability to log and detect diskettes

    Built in memory ring buffer for quick I/O operations

    Works through a single INDEX file for quick file retrieval

    Can run in EXPANDED and COMPRESSED modes for maximum use of
    available disk space

    12 user definable flags may be kept for each file

    Additional data fields for author/company/phone/index/group/class

    Ability to retrieve files using type parameters and wild card
    masks

    Built in HELP functions for all library commands

    All files are kept in sorted linking lists, no need to EVER sort

    Real time insertions/deletions never take more than 2 seconds no
    matter how many disks/files are logged, and the file is ALWAYS
    sorted!

    Data compaction techniques are used for maximum disk space useage

Let's take a look at how to make DiskMAN manage YOUR diskettes.
Please keep in mind that this is only a preliminary information sheet
to get you started.  Complete documentation will be forthcoming.

Supplied on the enclosed single density, single sided, 40 track
diskette are two files: DMANL1/CMD and DMANL3/CMD.

These two versions are for the Mod I/III LDOS disk operating system
ONLY (other above mentioned versions will be available at program
release time).  Copy the appropriate version to your LDOS dos
diskette, and rename the file you will use to DMAN/CMD.  This is
important, and the file MUST be called this.  When you have the file,
from LDOS Ready, type: DMAN.

You are now at the DiskMAN COMMAND PROMPT, which can be recognized by
the *> followed by a blinking cursor.  Any time this prompt appears,
DiskMAN is ready to accept commands, much the same as the prompt READY
from your operating system.  For now, just type: HELP to get a list of
the internal SYSTEM LIBRARY.  Help is available for each command by
entering: HELP command from the command prompt.  Any time you wish to
review the library commands, type: LIB from the command prompt.

The first thing we must do is to INITialize an INDEX file that will
hold the disk name/date and file information.  You may at this time
type: HELP INIT to get a complete listing of the valid parameters.
From the command mode, type: INIT.  DiskMAN will now prompt you for a
FILESPEC? to use.  Enter any valid file specification that is valid
for your operating system, including any drive number if desired.
DiskMAN will check to see if the file currently exists, and if it
does, if you want to re-use it.  Once the file is created, you will be
asked for the number of DISKETTES that the file can hold.  There will
be no limit on the number of FILES (except for available disk space),
but a maximum number of diskettes MUST be specified.  When you enter a
value, DiskMAN will tell you how much minimum space will be required.
Answer Yes if this is OK, or No if you want to type in another number.
The filesize is computed as: number of disks/16 + number of disks + 1
SECTORS.  The appropriate filespace will then be allocated.  Next you
will be asked if the file data is to be stored in COMPRESSED or
EXPANDED format.  In compressed mode, 8 files may be stored in a
sector, and in expanded mode, 4 files may be stored in a sector.  The
difference in data will be the amount of additional information stored
on each file.  When the file has been
created/allocated/initialized/verified, you will be returned back to
the *> command prompt.  If any errors occur during the init
proceedure, appropriate messages will be delivered to the video.  If
the file has been initialized without errors, the top portion of the
video will display the current index FILENAME (preceeded with - for a
compressed file, and + for an expanded file), the number of disks
available/used, the number of files used, and the current size of the
file in kilobytes (actual length of disk space used for data).

Now that an INDEX file has been initialized, we are now ready to begin
logging diskettes.  Let's start, for practice with your current system
diskette.  Type HELP LOG to get a list of the valid commands.  Now
type: LOG.  If you wish to log INVISIBLE or SYSTEM files also, you may
type: LOG :0(I,S).  You may also use wild card masks as will be
discussed later.  You will now be asked for the drivespec that you
wish to log.  Type :0 (colon is MANDATORY) to log the disk on drive 0.
On your video you will be displayed the disk number/name/date and the
type of diskette it is.  Then, one at a time, the files will be
brought to the video along with a mini-prompt: A(dd, C)ontinuous,
E)dit, N)ext, S)earch, Q)uit?.  Notice the reverse parenthesis on the
ADD command.  This reverse symbol indicates the action taken if the
ENTER key is pressed.  At this time, press the E key to edit the
currently displayed file.  If you are in EXPANDED mode, you will
notice additional data fields over and beyond the COMPRESSED mode.
You may use the 4 arrow keys to move the cursor to additional fields,
or type information directly into a field.  When entering information,
the following editing commands are available:

    R arrow - move cursor right one space, do not change character
    Sh R arrow - move cursor right one space and erase (same as
      spacebar) 
    L arrow - move cursor left one space, do not change character
    Sh L arrow - move cursor left one space and erase (same as
      backspace) 
    U arrow - shifts data from the cursor to end right (insert mode)
    D arrow - shifts data from the cursor to end left (delete mode)
    Clear - erases data from the cursor to the end of line
    Enter - terminate input, all displayed chars are significant
      regardless of the current placement of the cursor.

When editing the PHONE field, enter 7 or 10 DIGITS (0-9), with or
without punctuation, or press BREAK to clear the field

When editing the INDEX field, enter a LETTER from A-D only.

When editing the FLAGS at the lower portion of the screen, press +
(Y/S) or - (N/R) to set/reset the flags respectively.  When all
editing is complete, press either BREAK or ESCAPE (normally shift up
arrow) at the beginning of any field.  You will be re-presented with
the previous mini-menu.  Now press A to save the current file to disk.
The next file will be presented to the screen in a likewise manner.
When all files have been located on the source disk, you will be
reminded to LABEL the current diskette, and be returned back to the
command mode.  Make sure you mark the logged diskette with the DISK
NUMBER that DiskMAN has supplied.  This information will still be
displayed on the video, along with the type of diskette that was
logged.  DiskMAN has taken the disk name/date from your diskette, and
saved it into the current index file.  It has also written DiskMAN #
xxxx onto the NAME/DATE field of your diskette for later
identification.  To verify this, type LOG :0 again to see that DiskMAN
now knows exactly what this disk is.

Now that the diskette has been LOGGED, we may perform other operations
on the data.  If we wish to see the files on the diskette that we have
just logged, type: DIR.  The VISIBLE files that we just logged will be
displayed.  (notice that if you type DIR a second time, less disk
accesses will occur due to the internal disk memory ring buffers).  If
we had logged invisible or system files, we could type: DIR (I,S) to
display all the files entered.  Now try: DIR (I,S,A) for an expanded
listing of the files.  If you had entered additional information into
the record, we could view it with: DIR (I,S,A,X) for an expanded view.
Wild card masks may also be used here, as in the LOG command.  Try:
DIR P!.  This will display all files that start with P.  Try: DIR
*/SYS (I,S) to display any system files logged.  Wildcard characters
supported are ?, *, and !.

Once a diskette has been LOGGED, it may not be logged again.  In this
case, use the UPDATE feature.  Right now type: UPDATE :0.  This will
display the files one at a time, and if they had been previously
logged, the new directory information will be logged to the file.  If
it is a new file (not in the index for the current disk#), it will be
presented to you in the same way that it was when the disk had been
logged.

DiskMAN also has a built in check and repair feature.  Type CHECK.
Each link for each disk will be checked.  If there are any errors in
the linkages, they will be reported to the video, and you will be
asked if it to be repaired (if it is repairable).  Press Y to correct
the error, or N to leave it unchanged.

DiskMAN also has many additional commands built in to the system.  One
handy feature is the dos command mode.  Type: DOS.  You will be
prompted to enter a dos command.  DiskMAN will then move itself to
high memory and protect itself, and pass the command string along to
dos.  When the dos command has been completed, the command prompt of
*> will be displayed.  Press ENTER or BREAK to redraw the video, or
enter the next command.  Try: DOS DIR :0.  A directory will be
displayed by the opsystem.  Note that ANY dos command may be issued
including FORMAT/BACKUP as long as HIGH MEMORY is left unchanged!  Do
not use this command to load config files!

DiskMAN is also recursive.  Type: DOS DMAN.  A new copy of diskman
will be loaded.  You may now run the program just as you had the first
time.  Try to init another disk and log files.  When you are done,
typing: EXIT will return you back to the *> prompt from the PREVIOUS
copy of diskman that was running.  You may continue to do this as long
as there is sufficient free memory.

Well, this brief summary should get you started with the program.
Please advise of any bugs, or just comments/suggestions to me at the
above address or phone number.  Thanks for taking a look at DiskMAN.

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

Additional information on DiskMAN Version 0.02 - 09/17/83

Versions for MultiDOS have been completed due to popular request.  The
following files are now contained on the disk:

    DMANL1/CMD - LDOS Mod I
    DMANL3/CMD - LDOS Mod III
    DMANM1/CMD - MultiDOS Mod I
    DMANM3/CMD - MultiDOS Mod III
    LAZY/DOC   - Original documentation file in LazyWriter
    LAZY/NEW   - Additional information 0.02 in LazyWriter

The following corrections to the program have been made over version
0.01:

    Last 4 flags of each file were getting lost, but not now
    Mod I files are now stored correctly
    Dos Commands are now displayed/executed correctly
    Help command summary correctly displayed on Mod I

The following information is informative only:

Use the ADD command only to log protected disks into the index file.
Use the LOG/UPDATE commands for dos readable disks.

Command summary for the BROWSE command:

    Right arrow - next alphabetic file in sequence if any
    Left arrow - previous alphabetic file in sequence if any
    Shift Right arrow - next higher alphabetic link
    Shift Left arrow - previous alphabetic link
    Up arrow - next higher disk number
    Down arrow - previous disk number

Example:

Say index file contains the following entries:

    Disk #1 A/CMD A1/CMD AB/CMD AZ/CMD B/CMD
    Disk #2 A/DAT M1/DAT MB/DAT MM/DAT ZZ/DAT
    Disk #3 L/ASM L1/ASM LB/ASM LM/ASM MM/ASM

Say the current file displayed is MB/DAT on Disk #2

The following keys would respond as follows:

    Right arrow - MM/DAT (next alphabetic)
    Left arrow - M1/DAT (previous alphabetic)
    Shift Right arrow - ZZ/DAT (first char next in sequence)
    Shift Left arrow - A/DAT (previous first char in sequence)
    Up arrow - L/ASM (next disk #)
    Down arrow - B/CMD (previous disk #)

When adding disks via the ADD function, the DISK TYPE will always
display as ---/-D/-S/-"/- to indicate that the disk type is UNKNOWN.
When logging disks via the LOG/UPDATE functions, and only when using
MultiDOS, the DISK TYPE will always show ??? for the first entry
(cylinder count) as this cannot be directly established through the
MultiDOS operating system.  Please mark the correct cylinder count on
diskettes logged using MultiDOS (ie. if the disk is in a 40/80 track
drive).  The density/sides/size/floppy will all be indicated
correctly.

When you are experimenting with the system, always use the N paramter
for the LOG/UPDATE commands so that your original diskettes will not
be altered.  Without this parameter, the disk name/date will be stored
in the index file, and the source disk will be changed to "DiskMAN
xxxxx" where xxxxx indicates the number assigned by DiskMAN.  The N
parameter will leave the source disk unchanged.  You will only be able
to UPDATE disks logged with this parameter with the N parameter.

System features that are not currently implemented:

The KILL command followed by a disk number only will remove the entire
disk from the index and delete all files.  This will make the space
available for other files, and restore original disk name/date back to
the source disk.  The KILL command followed by a wildmask will delete
only files that match the mask.  Currently, all files may be deleted
from a disk, but the disk itself will remain in the index.

Future implementation of the KILL command:

KILL #1 - remove disk #1 from the index, remove all files from index,
and free all space for addition files/disks.

KILL !#1 - remove all files from disk #1 from the index, but leave the
disk number logged.

Any problems/suggestions should be directed to me at:

    Kim Watt
    7267 W. Marine Drive
    Milwaukee, WI 53223
    (414) 355-2332

Thank-you for reviewing the DiskMAN system.

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

Of course, Kim just doesn't know when a program is supposed to be
finished.  Once again, he has added many new features to the DiskMAN
program.  Here is a brief rundown of the NEW features:

You may now repeat the last command entered to the system, with
optional editing.  Whenever you are at the *> command prompt, pressing
the <ENTER> key alone will re-display the last command entered to the
system (if there was one).  When it is displayed, you may press
<ENTER> again to execute the command, or use the editing keys to alter
the input.  Right and Left arrow keys will position the cursor without
altering characters.  Just overtype the desired changes, or use the
insert/delete (up/down arrows) keys to make/drop holes.  This opens up
easy command help also.  If you are in the middle of entering a long
system command, and cannot remember the correct parameters, just use
the left arrow key to move the cursor back to the beginning of the
line, press the up arrow key 5 or more times, and type the word HELP
and press <ENTER>.  The associated help screen will be brought to the
video.  Press <ENTER> once again, and the last command will
re-display.  Now press the down arrow key to delete the word HELP and
continue entering you command.  Remember, you can press the <ENTER>
key at any cursor location, and the entire displayed line will remain
significant.  Use the <CLEAR> key to delete unwanted characters from
the current cursor location.  Use the <BREAK> key at any time to reset
the current line and the last command.

When DiskMAN logs a disk into the index file, it writes the text
"DiskMAN ## xxxxx" to the name/date fields of the source disk (unless
the 'N' param is specified).  Starting with version 0.03, the text has
been moved to the last 16 characters of the AUTO COMMAND field of the
directory.  If the current auto command is 16 characters or less in
length it will be retained, but if longer than 16 characters, it will
be disabled by placing a single carriage return at the first location.
In case some of you testers have been logging in diskettes without the
'N' parameter, I have provided a special command.  When using the
UPDATE command, a 'hidden' parameter of 'R' will RESET the diskette
back to the correct structure and replace the disk name/date back on
to the source disk.  The text string will be moved to its new location
at offset F0H.  The UPDATE command will search both locations on the
diskette in case it was logged in with an earlier version of DiskMAN
for compatability.

The CHECK, TEST, DIR, and NAMES library commands now allow
specification of a diskette RANGE.  The range can take on 4 different
formats:

    #dn - search disk number (#dn) only
    #dn- - search starting at #dn to end of file
    #-dn - search from beginning to #dn
    #dn1-dn2 - search from disk number #dn1 to #dn2

The LOG and UPDATE commands will now save the remaining free space on
the diskette in integer kilobytes.  This information is derived from
the @DODIR call to the opsystem.  The MultiDOS system, however, has no
such call, so the free space will be logged as 0, and displayed as
dashes.  Diskettes logged by LDOS will have the correct free space
noted.  The DIR and NAMES commands also have additional parameters to
locate available free space.  The search may also contain one of three
operators, =><.

    NAMES (f=3 - locate disks with exactly 3 free K
    NAMES (f>3 - locate more than 3 free K
    NAMES (f<3 - locate less than 3 free K
    NAMES (F=0 - locate all full disks

PDS files are now flagged in the file records.  Unfortunately, the bit
I am using was previously unused and indeterminate, and therefore, any
previously logged diskettes will possibly show the P attribute
erroneously.  The UPDATE command will correct all of the attributes,
as well as log the new disk free space data.

The FLAGS command will now display only the flag names to the video.
Use the (E) parameter to EDIT the flags.  The names will also remain
on the video when completed.

The INIT command has had it's syntax drastically changed in order to
provide conformity with the rest of the commands.  Use HELP INIT for
complete syntax.

The DIR command now will exhibit printer forms control on printed
listings.  The default settings are 60 printed lines on 66 lines/page
paper.  These setting may be altered with the P= and L= parameters
(use HELP).

The UPDATE command now also has a new parameter, the EXACT option.
This will delete all files not included in the update search, and make
the index look exactly as the files just entered.  Examples:

Disk #1 was logged by: LOG :0(I,S)

The command: UPDATE :0(E)
  will delete all I and S files!

The command: UPDATE :0(I,S,E)
  would leave all files unchanged

When using this option, be sure to specify enough parameters to keep
all files from being accidentally deleted.  This is the only way to
automatically delete files from the index.  The update command will
normally only ADD new files and UPDATE previously logged files, but
will not DELETE any that do not appear in the new directory.
Experiment to see the functions using this new parameter.

Three new commands have also been added to the system:

VERSION will display the current version number, the assembly date,
and the number of patches installed in the system.

REMOVE will delete all files from a specified disk # in the index, and
re-install the disk name/date back to the source disk.  The DISK #
count at the top of the screen will not change, but the next time a
disk is LOGGED, it will be given the number of the last deleted disk.

CHANGE allows you to alter the current format of your index file.  You
may expand the file to hold more diskettes, or change from compressed
> expanded and back again.  A second file will be created with the new
parameters, and the currently open file will be left unchanged.

Well, that's all for this week.  My special thank's to Skip Taylor for
his usual outstanding suggestions.

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

Only one new enhancement to the 0.04 version of DiskMAN.  The LOG
command now allows an 'F' parameter which will force the re-logging of
a previously logged diskette.  Normally this is only if you wish to
're-start' the DMAN data file.  If you wish to log the same diskette
into multiple data files, it is advisable to use the 'N' parameter on
all files beyond the original file used.  This will prevent the
diskman identification number from being re-written to the diskette on
each log.

The CHANGE command has also been corrected to create a file size
larger than the current file.  Previously, the space was being
allocated, but the # of disks available was not being correctly
reflected in the new file.

Also, be sure to use the DMANL1/CMD (ldos mod 1) version of the
program if running under the MAX80 with LDOS.
