Dec 152017
 
DCOM-Directory Commander. A shell packed with features. Editor, spooler, cache, command line editor, menuing, and its own batch macro language.
File DCOM344.ZIP from The Programmer’s Corner in
Category File Managers
DCOM-Directory Commander. A shell packed with features. Editor, spooler, cache, command line editor, menuing, and its own batch macro language.
File Name File Size Zip Size Zip Type
DCOM.BIN 44979 23237 deflated
DCOM.COM 2075 1506 deflated
DCOM.DOC 392012 95449 deflated
DCOM.OVL 182308 80215 deflated
ORDER.FRM 5741 742 deflated

Download File DCOM344.ZIP Here

Contents of the DCOM.DOC file








Information in this document is subject to change without notice.
Neither the owner or distributors make any expressed or implied
warranties with regard to this software, including merchantability,
applicability for any purpose or non-infringement of patents,
copyrights or other proprietary rights of others. This software is
provided "as is" without warranty of any kind.

In no event will the owner or distributors be liable to you for any
damages, including any lost profits, lost savings or other incidental
or consequential damages arising out of the use or inability to use
this software.

dCOM is not, nor has it ever been, public domain or free software. It
is distributed in two forms: 1) under the User Supported software
concept (Shareware) or, 2) in pre-paid form complete with typeset
documentation, quick reference cards, and user registration. Non-
registered users of dCOM are granted a limited license to use dCOM for
a trial period, in order to determine if it suits their needs. Any
other use of dCOM or use past this period, requires registration. All
users are granted a limited license to copy dCOM only for the purpose
of allowing others to try it, subject to the above restrictions as
well as these: 1) dCOM must be distributed in absolutely unmodified
form, including ALL program files, documentation files, and other
files. dCOM may not be included with any other product for any reason
whatsoever without a license from DAC Micro Systems. No charge or
payment may be levied or accepted for dCOM (except that recovered for
media costs).

Bulletin Board system operators may post dCOM on their BBS for
downloading by their users without written permission only if the
above conditions are met, and only if no special fee is necessary to
access the dCOM files (a general fee to access the BBS is ok).

Registering dCOM allows you to use the product after the trial period.
Registered dCOM users get mailed notification of dCOM updates and
priority when calling the dCOM Support BBS. Most importantly,
registered users know they are helping to make sure that high-quality
software like dCOM can continue to be distributed in this low-cost
manner. For more information on ordering, refer to the ORDERS.DOC
file included with this package or, call the dCOM Support Board for
on-line ordering.

All DAC Micro Systems products are trademarks or registered trademarks
of DAC Micro Systems. Other brand and product names are trademarks or
registered trademarks of their respective holders.



DAC Micro Systems
40941 176th St E
Lancaster, CA 93535
Voice: 805/264-1700
Data: 805/264-1219







ACKNOWLEDGEMENTSACKNOWLEDGEMENTS

There have been many fine people who have contributed ideas,
suggestions, time, and support through the many phases and iterations
of dCOM's development - and it would be nice to mention all of them by
name. However, the list has grown too long to fit on one page, and is
probably a bit more than what the average user cares to read.

So, I will just leave it that I am most thankful for the individuals
that have worked with me through all the beta versions, for the
individuals that would call for an upgrade after hearing a minor
change had been made, for the individuals who played the role of
devil's advocate (developers who would rather hear superficial praise
instead of what can be the cold harsh reality are only fooling
themselves), for the individuals that would bring the most minute
inconsistency to my attention, and for the individuals that worked
with me time after time in testing dCOM on equipment not readily at my
disposal, until we got it right.

Additionally, I would also like to credit this excellent word
processor, Microsoft Word.

And not least, to the good Lord for any talents that may be apparent.


Dave Frailey
Lancaster, CA
October 1989




























iiii







PREFACEPREFACE

As with most fine things in life, they didn't just evolve or happen as
the result of a big bang. The collective research, development, and
design represented in dCOM amounts to tens of thousands of hours of
hard work. Please remember this and how you would feel the next time
you have an urge to illegally make a copy of some software.

Generically, MS-DOS would have you seated behind the wheel with no
instrumentation, no daylight, and no headlights. In response, quite a
number of DOS Shells and DOS Utilities have materialized over the
years. A lot of them however, have only succeeded in tainting many a
good user against DOS Shells. Lest we forget, a DOS Shell should
reduce keystrokes, not impose an overwhelming variety of uncorrelating
commands and sub-menus that take 200 lumens of brain activity to
remember. If nothing else, please set aside any previous bias'
concerning DOS Shells.

For the novice dCOM provides a simple way to learn and use a hard
disk. For the hacker, there is no end to the undying need for
flexibility and sophistication. For the programmer, there is no
greater development tool than the programmable macro keys and high
powered text editor.

The initial concept of dCOM was to provide the hard disk user with an
aesthetically quick, convenient, non-cumbersome means with which to
"get around" subdirectory structures, run programs, and perform
housekeeping chores. Throughout its evolvement, this concept has
remained intact and uncluttered, enhancement after enhancement. dCOM
is still a window into your hard disk, capable of changing directories
and running programs quicker than you can say Jack be Nimble. This,
however, is only where it begins....
























iiiiii







FEATURESFEATURES

o Tag files for block copying, moving, deleting, printing, or
attribute changing. Copying can span multiple target diskettes.
Optional caching for floppy accesses to track 0 improves copying
to floppy disks by as much as seven times.

o A variety of directory sort modes including one with executable
files first. Optionally see hidden and system files (which can
be protected with an access password). Hide and rename
subdirectory names.

o Change directories and run programs just using the keypad.

o A Command Set that correlates with functionality and is easy to
learn and use.

o High-powered macro keys that are programmed similarly to batch
files and are automatically compiled and "tokenized" to a memory
buffer for instantaneous response times and efficient use of
memory. All batch commands are supported plus an additional
subset of commands like nestable IF blocks, DO blocks, looping,
etc....

o Extensive menuing systems can be built using the macro keys. The
menu mode can be configured to pop-up automatically and fully
supports password protection for each selection or for access to
dCOM's utility functions. The powerful macro command set lets
you build menu selections which can even display a menu of files
to select from before running a program.

o A high-performance, full-feature, multi-window, multi-buffer text
editor with PC line drawing and enhanced video options. Buffer
sizes are limited only by available memory.

o A powerful visual tree which is fully mouse driven. Copy and
move actions can easily invoke the tree for use in selecting the
destination drive and directory.

o Full Mouse support. Most file-oriented commands can be performed
totally with the mouse.

o Fully configurable color (snow inhibited automatically on CGA)
with support for EGA/VGA extended colors.

o File extensions other than COM, EXE, or BAT can also be
configured as executable by having another program run and
passing it the selected filename.

o A high-performance, resizeable print spooler with hot-keys for
clearing the spooler's buffer, sending form-feeds, and sending
line-feeds to the printer. Printer output for the system and the




iviv




spooler is easily redirected to another LPT port or a COM (RS232)
port.

o The keypad "+" key can be configured to emulate a Return key,
which can be toggled on-the-fly with a hot-key.

o A Screen Saver configurable from 1 to 59 minutes, which is mouse-
sensitive.

o A hot-key that blanks the screen and locks the keyboard. If the
system password is active, it is required to reactivate the
screen and keyboard.

o An extensive alarm clock system which can hold 38 different
alarms based on daily or calendar events.

o An optional activity log can keep track of every program run,
when it started, stopped, minutes active, and any parameters
used.

o dCOM only consumes approx. 50K of conventional memory.






































vv







ContentsContents

==================================================

PREFACE........................................iii

INTRODUCTION.....................................1
Requirements...................................3
The Documentation..............................3
Term Definitions...............................4

INSTALLATION.....................................5
The Home Directory.............................7

RUNNING dCOM.....................................8
Command Line Switches..........................9
As the Primary Shell..........................14
With MS-DOS Version 2.........................16
A Guided Tour.................................17
On a Z100.....................................19
Color on the Z100...........................20

USING dCOM......................................22
Hot-Keys......................................23
With a Mouse..................................25
Prompt Editing................................27
TSR Programs..................................28
Critical Errors...............................30
Encountering Trouble..........................31

THE UTILITY MODE................................33
Tagging Files.................................35
Extension Execute.............................37
Screen Layout.................................39
Quick Reference...............................41
Command Reference.............................42
Configuration Menu............................53
Colors......................................59
Mouse.......................................61
Disk Drive Override Table...................62
















vivi




THE VISUAL TREE.................................63
Using the Tree With Copy or Move..............64
Using The Tree - General Use..................65

PRINT SYSTEM & SPOOLER..........................66
Menu..........................................68

THE ALARM/EVENT MENU............................72

THE MACRO KEYS..................................73
General Use...................................74
Editing.......................................76
File Format...................................78
Title Line Switches...........................80
Commands Quick Reference......................81
Variables Quick Reference.....................82
Command Reference.............................83
Variable Reference............................94
Examples......................................99
Technical Tricks.............................107

MENUING........................................109
Security.....................................111

THE TEXT EDITOR................................112
General Use..................................113
Windows and Buffers..........................115
Marked Blocks................................116
Copying/Moving...............................117
Screen Layout................................118
Quick Reference..............................119
Command Reference............................120
Configuration Menu...........................125

TECHNICAL DISCUSSIONS..........................127

AUTHOR.........................................128






















viivii

Introduction
----------------------------------------------------------------------



INTRODUCTIONINTRODUCTION

======================================================================
dCOM is a full-screen, high-performance, interactive DOS Shell and DOS
Utility. You can change directories, sort directories, execute, edit,
print, copy, move, rename and delete files with a single correlating
keystroke. You can selectively tag files to be copied, moved,
deleted, or printed. Entire directory contents can be copied, moved,
and deleted. Subdirectories can be renamed or hidden. And, the copy
command has the capability to span several destination diskettes when
multiple files are involved.

Directories can be sorted in many different ways. One puts all of the
executable files in alphabetical order, right up front before the
other files that you wouldn't be interested in if you wanted to run a
program. Another categorizes your files based on their extensions.
And of course, the standard sorts on date/time or size, in ascending
or descending order. Hidden and system files can also be seen with
the touch of a key.

dCOM's user-interface provides you with a command set that correlates
with functionality, making it easy to learn and remember. All
destructive commands prompt for confirmation first before proceeding.

dCOM features an extremely flexible and powerful macro (function) key
facility. The macro keys are programmed in a manner similar to batch
files and are memory resident, providing instantaneous responses.
But, unlike other shells, they do not use temporary batch files, nor
do they invoke a second copy of COMMAND.COM (unless programmed to do
so, or a resident DOS command is used). With the macro keys, you can
program dCOM to perform any of your most commonly used MS-DOS
commands, change directories, run programs, compile source code, and
more.... You can also use the macro keys to build extensive menuing
systems.

dCOM also includes a high-powered print spooler which tunes itself to
your computer and printer, and can be resized or disabled at will. It
is supported with a hot-key that will clear its contents and any
internal buffer in the printer. When its output is configured to talk
directly with the printer port, CPS rates exceeding 5200 have been
noted during graphics or font downloads to a laser printer.

Fully configurable mouse support is built-in. With the mouse you can
perform almost all of your normal file-oriented functions such as
copying or deleting files. You can also use the mouse to change
directories, run programs, execute macro keys, and invoke the visual
tree.

dCOM sports a full-screen, full-featured, multi-window, multi-buffer
text editor which out-performs editors twice the size of dCOM. No
other editor loads, saves, or searches faster. This editor searches
case-insensitive as much as twice as fast as editors that are case-
sensitive. In a development atmosphere, the macro keys and text
editor become a tool that soon becomes a necessity.



11

Introduction
----------------------------------------------------------------------

dCOM is also available in a Zenith Z100 version. There are some
features mentioned in this documentation that are not supported in the
Z100 version, most notably are the print spooler and the hot-keys. If
you are an IBM user, please disregard the occasional references made
concerning the dissimilarities.

If you are inclined to think that since we have gone out of our way to
support two different types of MS-DOS based computers, that dCOM might
contain some extraneous code for the machine other than you're using,
think again. Each version of dCOM only contains code for the
processor it was written for. Also, each version of dCOM is solely
written in extremely tight and efficient assembly language. (For some
reason, the author feels like he's buying more code than needed to do
the job, and somewhat jilted when he pays money for software that ends
up being written in some high-order language like BASIC, Fortran,
Pascal, or even C.)











































22

Introduction
----------------------------------------------------------------------




RequirementsRequirements

IBM compatible with MDA, CGA, EGA, or VGA video. Or, a Zenith Z100
series microcomputer, monochrome or color. A good minimum is 512K
memory, but dCOM can easily run in 256K.

MS-DOS Version 2.0 or higher.

Expanded Memory (Lotus/Intel/Microsoft EMS, Version 3.2 or greater)
can be helpful, but is not required. If present, dCOM uses it in
several ways. The print spooler uses it before resorting to
conventional memory for its buffer. And, whenever dCOM runs a
program, it will save its working buffers to EMS rather than having to
leave them in precious conventional memory. This provides a nice side
effect with the Text Editor because you can have it loaded to the
gills and not impact conventional memory when you run a program. You
can also configure dCOM to run its transient portion straight from EMM
(using the /EMM command line switch), improving performance each time
you run a program or macro key, but consumes 48K of expanded memory.


The DocumentationThe Documentation

For the sake of readability and to keep this documentation from being
dull reading, there may be an occasional blurb containing dry humor,
slang, or improper English. If this seems unsavory, we beg your
indulgence.

We have tried to be as comprehensive as possible while still sticking
to the essence. At times, in an effort to satisfy the technically
inclined, we may go into a topic in-depth. In which case, the
pertinent information will be described first.

Frequently this manual will make use of quotation marks to set-off a
particular section of text. When the use of quotes surrounds
something meant to be typed from the keyboard, do notdo not type the
quotation marks. They are only intended to isolate what would be your
typed response from the other text comprising this documentation.


















33

Introduction - Term Definitions
----------------------------------------------------------------------




Term DefinitionsTerm Definitions

FILENAMEFILENAME - Under MS-DOS based computers, filenames are comprised of up
to 11 possible characters; the first eight characters are the
filename, which are separated with a period from the last three
characters called the extension. By Microsoft's definition filename
only means the first eight characters; however, it seems that filename
is more often used as slang for a file's name as a whole, including
the extension. Some common sense may be required if ambiguous
circumstances are encountered.

DIRECTORYDIRECTORY - Though it generally refers to a listing of files found on
a specific disk or subdirectory, within dCOM it is usually (unless
explicitly stated otherwise) used to refer to a subdirectory's name.

DRIVE SELECT BOXDRIVE SELECT BOX - Refers to the lower right corner of the screen when
the utility mode is active which, if the mouse pointer is moved into,
will display a set of valid disk drive designations.

ENTRYENTRY or DIRECTORY ENTRYDIRECTORY ENTRY - Refers to a file or subdirectory name
displayed on the screen that was read from the default drive's current
directory.

HOME DIRECTORYHOME DIRECTORY - Refers to the drive and directory where you installed
dCOM.

MENU MODEMENU MODE - Refers to when the macro key menu mode is active, which is
initially controlled using the /M or /MP command line switches.

SELECTEDSELECTED - Refers to the directory entry currently highlighted in the
utility mode.

SIDEBAR MENUSIDEBAR MENU - Refers to the menu which runs vertically along the
right edge of the utility mode's screen when the mouse is active.

TOGGLETOGGLE - Refers to a mode that can be in either an on or off
condition, sometimes used as yes or no. When the command that
controls the mode is issued, the current state of the mode is inverted
(or reversed) causing it to cycle back and forth.

TSRTSR - A program that terminates and stays resident in memory.

UTILITY MODEUTILITY MODE - Refers to when dCOM is in its utility mode where
filenames are displayed and you can then copy, move, delete, run,
etc...

WILDCARDSWILDCARDS - Refers to the use of the "?" and "*" in a typed response
for a filename. In dCOM, they function identically to their use in
regular MS-DOS.

^^ - (the caret symbol) When it prefixes a keyboard key (e.g. ^X), it
indicates the use of CtrlCtrl with that key (similar to shifting a key).

ss - (lower case S) Implies the use of shiftshift with that key (e.g. sF1).


44

Installation
----------------------------------------------------------------------




INSTALLATIONINSTALLATION

======================================================================
Installing dCOM consists of making a subdirectory on your hard disk
and copying the contents of the distribution disk to it.

This subdirectory that dCOM is installed in is referred to throughout
this documentation as the Home Directory. Under MS-DOS Version 3,
dCOM automatically determines where the Home Directory is when you run
it from the path. Under MS-DOS Version 2, however, you must tell dCOM
where the Home Directory is. Refer to The Home Directory for more
information.

The distribution disk consists of at least the following files:

DCOM.COMDCOM.COM Initialization and loader.
DCOM.000DCOM.000 Resident code (IBM).
DCOMZ.000DCOMZ.000* Resident code (Z100).
DCOM.001DCOM.001 Transient utility code.
DCOM.002DCOM.002 Text Editor Overlay.
DCOM.003DCOM.003 Configuration Overlay.
DCOM.004DCOM.004 Macro Key Compiler Overlay.
DCOM.005DCOM.005 Help Overlay.
DCOM.006DCOM.006 Search Disk Overlay.
DCOM.007DCOM.007 Visual Tree Overlay.
DCOM.008DCOM.008 Alarm Overlay.
VCNV.COMVCNV.COM Version Convert Program.
ZIBM.FNTZIBM.FNT*! Alternate IBM Look-alike Screen Font (Z100).
README.DOCREADME.DOC Contains any errata found in the manual.
CHANGES.DOCCHANGES.DOC Contains any changes not in the manual.

* These files may be deleted for use on IBM compatibles.
! This file must be renamed to DCOM.FNT before it is recognized.























55

Installation - Copying the Program Files
----------------------------------------------------------------------




Copying the Program Files to a Hard DiskCopying the Program Files to a Hard Disk

1. Determine where to install dCOM on your hard disk and make a
subdirectory for it.
(MD C:\DCOM).

2. Insert the dCOM distribution diskette in drive A.

3. Copy the distribution files to your hard disk.
(COPY A:*.* C:\DCOM).

Normally it is desirable to have the subdirectory containing dCOM
searched by the PATH. This allows you to exit dCOM and rerun it
without having to worry about what drive or directory you're currently
using. Additionally, you may also want your AUTOEXEC.BAT file to
automatically run dCOM when your computer is first turned on. Both of
these capabilities are performed by modifying your current copy of the
AUTOEXEC.BAT file, using a suitable text editor.

Adding dCOM to the PATH is done by locating the existing PATH
statement (if one doesn't exist, insert a new line containing one) and
appending the full pathspec of the drive and directory where you
installed dCOM (e.g. "PATH C:\DOS;C:\DCOM;C:\DCOM"). Having dCOM run
automatically every time your computer is powered up is done by adding
a line on the end of AUTOEXEC.BAT that reads "DCOM".

If you are already running dCOM and want to use its text editor to do
this, select the AUTOEXEC.BAT file and press "E" to edit it. After
you are done making changes, press Alt-W to save it and Alt-X to exit
the editor. To test changes made to the AUTOEXEC.BAT file, you must
reboot your computer.

An example of what a AUTOEXEC.BAT file might look like is:

@ECHO OFF
PATH C:\DOS;C:\DCOM;C:\UTILITYS
SET DCOM=/E300/T
DCOM


















66

Installation - The Home Directory
----------------------------------------------------------------------




The Home DirectoryThe Home Directory

As stated earlier, the subdirectory that dCOM is installed in is
referred to as the Home Directory. If you are using MS-DOS Version 3
or greater, dCOM automatically determines where the Home Directory is
and all you need to know is what it means when we refer to it.

If you are using a version of MS-DOS below Version 3, you must tell
dCOM (by setting its environment variable) where the Home Directory
is. If you do not set the environment variable and you run dCOM from
a different drive or directory then its Home Directory, dCOM will have
no idea where to find its overlay files and will immediately exit with
an error message indicating so.

Setting the environment variable is done using the MS-DOS SET command
and can be accomplished by adding a line in the AUTOEXEC.BAT file as
follows: "SET DCOM=pathspec" (where pathspec is the drive and
subdirectory to be considered the Home Directory). For example, if
you had made a directory on drive C called DCOM, and copied dCOM's
files into it, you would add this line in your AUTOEXEC.BAT file
before it runs dCOM:

SET DCOM=C:\DCOMSET DCOM=C:\DCOM

NOTE: The dCOM environment variable can also be used to set default
command line switches. If it is used to hold both the Home
Directory and command line switches, list the Home Directory
first (i.e. SET DCOM=C:\DCOM /M/E300).




























77

Running dCOM
----------------------------------------------------------------------




RUNNING dCOMRUNNING dCOM

======================================================================
Running dCOM is the same as running most other programs. If the
current drive/directory does not contain DCOM.COM, then you must tell
MS-DOS where to find it or have the PATH set to find it in another
subdirectory. For instance, if you installed dCOM in a subdirectory
on drive C called "DCOM", and you are now in a different subdirectory
or at the root directory, you could issue the following to tell MS-DOS
Version 3 where to find and run dCOM: "\DCOM\DCOM".

NOTE: As shown in the example above, MS-DOS Version 3 allows you to
include a directory path when issuing commands. On MS-DOS
Version 2, however, you must change directories first and then
run the program.

If the current drive and directory contains DCOM.COM or the
subdirectory holding dCOM is included in the MS-DOS PATH, you would
simply type: "DCOM" (and press return).

NOTE: It may be desirable to have the AUTOEXEC.BAT file
automatically run dCOM when your computer is first powered up.
If so, add the necessary command(s) (described above) after
the last line of AUTOEXEC.BAT.

If you are using dCOM under DesqView or TopView environments,
configure them that dCOM does not write directly to the screen and
that it uses its own colors. Even though dCOM does write directly to
the screen, it conforms to TopView multi-tasking BIOS protocols.



























88

Running dCOM - Command Line Switches
----------------------------------------------------------------------




Command Line SwitchesCommand Line Switches

Command line switches are optional parameters that can be provided on
the command line when you run dCOM. They control various features
that dCOM needs to know when it initializes itself. For example, if
you want a bigger environment size than the default (160 bytes), you
could enter "DCOM/E300" to run dCOM and set the environment size to
300 bytes. Multiple switches can be given by appending one right
after the other (the use of spaces is optional).

Command line switches can also be given using dCOM's environment
variable. Using the environment variable has the advantage that you
don't have to retype the switches every time you exit and rerun dCOM,
because variables installed in the environment remain in effect and
intact throughout your use of the computer until another command is
issued on the same level to change them. Using the environment
variable also ensures that each time you run dCOM, it will be
configured the way you intended. Setting dCOM's environment variable
is done using the MS-DOS SET command and would best be done by adding
a line in the AUTOEXEC.BAT file before dCOM is run. For example:

ECHO OFF
PATH C:\DOS;C:\DCOM
SET DCOM=/M/E300SET DCOM=/M/E300
DCOM

If you are already using the environment variable to set the Home
Directory, do not use an additional SET command. Append the command
line switches after the Home Directory pathspec
(i.e. SET DCOM=C:\DCOM /M/E300).

/A/A Enables an activity log of all programs run while dCOM is
resident. Using this switch consumes 2k of memory for the
activity log buffer (if EMS is not present). When the
activity log is active, a file called DCOM.LOG is built and
updated in dCOM's Home Directory, containing the date, start
time, stop time, minutes active, full program pathspec, and
parameters used. The anticipated usefulness of this option
is in documenting computer usage. If you enable this option,
some systematic method of purging the log file should be
implemented on a weekly or regular basis - its size can
easily grow to large proportions.

You can also write a macro key to log user names into the log
file as shown below:

[F1] LOG ON
:L1
GET %1 Enter Your Name:
IF %1<[email protected] GOTO L1
ECHO %DT %TI %1>>C:\DCOM\DCOM.LOG
GOSUBMF MAIN




99

Running dCOM - Command Line Switches
----------------------------------------------------------------------

Using this macro key would work best if the F1 key were all
that was in the default macro file, and the /F1 and /M
command line switches are also used. The main macro file in
the above example would then be MAIN.MAC, which would have
all the normal macro key (menu) functions. Control would
return to the default macro file when a RETURN macro command
is encountered in the MAIN.MAC macro file, or the Esc key is
used. You might also want to prevent unauthorized access to
the utility mode by using the /MP switch instead of /M.

/E###/E### Overrides the default environment size (usually 160 bytes)
with the size specified in bytes following the "/E". Without
specifying this switch, dCOM creates an environment the same
size as which MS-DOS is using. When dCOM runs a second copy
of COMMAND.COM, it will pass its environment size imbedded in
the command line (which makes sure that any SET commands
issued by a batch file have the same amount of environment
space that dCOM would have) if the MS-DOS version is 3.2 or
greater. Due to a little bit of technical wizardry, dCOM
will pick up on changes made to the environment when its
using a second copy of COMMAND.COM to run a batch file.
dCOM's environment size can be viewed using the Alt-V
command.

Note: The macro key temporary variables (%0 - %9)
temporarily use the environment for storage. If you use them
frequently, you will probably want to use the /E command line
switch, making sure that there's at least 100 bytes of
environment space available (free) for their use. Normally,
/E300 is a good safe number.

/EMM/EMM Tells dCOM to load and run its transient portion directly
from expanded memory. This reduces some of the memory
overhead in checksuming and/or reloading the transient
portion from disk every time an application is run, at the
cost of consuming 48K of expanded memory. If you use this
switch, do not configure the buffers statement in CONFIG.SYS
to use expanded memory with the "/X" switch (which is only
available in MS-DOS Version 4+). At least through MS-DOS
Version 4.01, MS-DOS does not properly restore the mapping
context of the EMM page frame after a critical error occurs.
Irregardless of this switch, the print spooler still uses EMM
if existent and all of dCOM's internal buffers are still
saved to EMM when an application is run.

/F##/F## Tells dCOM to automatically run a macro (function) key when
dCOM first runs. Shifted function (macro) keys are indicated
either by prefixing with an "s" or by adding 10 to the number
(e.g. sF10 or F20 both represent shifted F10). If more than
one of these switches are used, they are executed in
numerical order. For example, "/sF10/F5" will automatically
run the F5 and then the ShiftF10 macro keys, respectively.
Using an auto macro key can be useful to have dCOM always
start on one particular drive/directory, to load TSR programs
(which can be removed with the ^V command at a later point),
to set the printer to a desired pitch, etc.... If the /MF
command line switch is also used, specifying a different


1010

Running dCOM - Command Line Switches
----------------------------------------------------------------------

macro file than the default (DCOM.MAC), the alternate macro
file is loaded first before any auto macro keys are executed.

Note: This feature is automatically disabled if there are
multiple copies of dCOM in memory. Also, the execution of
automacro keys can be aborted if Esc is pressed in time.

/K/K Tells dCOM to KEEP the transient portion's memory when it
runs a program, instead of releasing it for the program to
use. This switch was mainly intended for users running dCOM
from a floppy disk and eliminates the need to keep a working
copy of dCOM in the drive dCOM was originally run from
(except when you invoke a command that uses an overlay file),
but at the expense of tying up approx. 45K more memory.
Without this switch, dCOM will still run from a floppy disk,
but if a program is run that modifies the high memory area
that had contained the transient portion, dCOM will then try
to reload the transient portion from the original drive it
was run from. If the file containing the transient portion
is then not found, an error message is posted to reinsert the
working dCOM disk, or press Esc to exit dCOM. This switch
may also be used by hard disk users to eliminate the minor
disk accesses which happen every time control returns to dCOM
after it runs a program that overwrites the transient portion
in high memory. But its hard to imagine anyone being THAT
critical on performance, enough to give up the 45K more of
conventional memory that is required to hold the transient
portion.

/M/M Forces dCOM to initially run in the Macro Key Menu Mode
instead of the utility mode. When this switch is specified,
dCOM loads as usual, but then simply displays a menu of the
macro key titles. The user can exit to dCOM's utility mode
by pressing Esc when no gosub'd macro files are active. If a
gosub'd macro file is active, pressing Esc forces a return to
the previous active macro file (and displays its menu). To
return back to the menu mode after escaping out of it, press
the Esc key again. For more information, refer to the
section called Menuing.

/MP/MP Same as /M described above except that the user must enter
the access password (set using the utility modes's Alt-A -
Access Password command) before being allowed access to the
utility mode (provided the access password is active). This
would ensure that user's not having your confidence never
reach a potentially destructive arena. For more information,
refer to the section called Menuing.

/MF=file/MF=file Specifies an alternative macro file as the first macro file
loaded. If not specified otherwise with this switch, the
default macro file is DCOM.MAC. Macro files must always
reside in dCOM's Home Directory. The full syntax of this
switch would have the name of the macro file immediately
following the "/MF", optionally separated with a space or
equals sign (e.g. "/MF=MAIN.MAC"). If this switch is set
using the environment variable, the equal sign must be left
out or MS-DOS will produce a syntax error. Using this switch


1111

Running dCOM - Command Line Switches
----------------------------------------------------------------------

is mainly useful for running an auto macro key and you don't
want to give up a regular function key in the process. You
would specify the filename containing the auto macro file
with this switch, also include a switch to automatically run
that macro key, and then at the end of that macro key do a
GOTOMF to your main macro file.

/P/P Gives the printing application priority when the print
spooler is active. This will result in the current print
operation returning control back to you sooner, but
conversely causing the printer to take a little longer before
finishing its job.















































1212

Running dCOM - Command Line Switches
----------------------------------------------------------------------


/T/T Informs dCOM that it can safely use any valid tree files
saved from the last session. Without this switch, dCOM will
always initially assume that all saved tree files are invalid
and the first time the tree is invoked for each nonremovable
drive, its entire contents will be scanned to read in the
directory structure. If you use dCOM constantly from power
up to power down, you will probably want to use this switch.
For more information, refer to the section called The Visual
Tree.

/TREE/TREE Forces dCOM to start up in the visual tree instead of the
utility mode.














































1313

Running dCOM - As the Primary Shell
----------------------------------------------------------------------




Running dCOM As the Primary ShellRunning dCOM As the Primary Shell

You may run dCOM as the primary shell (meaning dCOM is the first
program loaded by your computer - not COMMAND.COM) by using the SHELL
command of CONFIG.SYS and telling dCOM that this is how it is being
run by giving it a /SH command line switch. You must tell dCOM that
it is being invoked as the primary shell so that it will know that it
must establish the environment (not just create a copy of it), and so
that it knows there is nothing to exit to.

Running dCOM as the primary shell has advantages and disadvantages.
The advantages are that it squeaks the most out of your free memory
because COMMAND.COM isn't loaded, providing about a 5000 byte increase
(depending on DOS version). And it provides better security if you
enable the password protected macro menu mode (/MP command line
switch) because Ctrl-C's and Ctrl-Break's are ignored while CONFIG.SYS
is being interpreted, effectively eliminating any opportunity for the
user to abort a hard disk boot sequence (unless he/she is
knowledgeable that a PC will boot off the floppy first). The
disadvantage is that there is no exiting dCOM.

When you run dCOM as the primary shell, the /SH command line switch
does two things: 1) it tells dCOM its being run as the primary shell,
and 2) it informs dCOM where its Home Directory is. An example of
what a CONFIG.SYS file might look like in this case is:

FILES = 20
BUFFERS = 20
DEVICE = \DOS\ANSI.SYS
SHELL = \DCOM\DCOM.COM /SH=\DCOM/E300 SHELL = \DCOM\DCOM.COM /SH=\DCOM/E300

Note the use of the /SH tells dCOM its Home Directory is located in a
subdirectory called DCOM on drive C: (because its the current drive).
The /E300 (which is a normal command line switch) sets up a 300 byte
environment. Any other command line switches desired must be included
on this line and should be appended after the /SH (like /E300 is).

If you do not provide a path (and the equal sign) immediately after
the /SH switch, dCOM will assume the root directory of the default
drive as its Home Directory and it follows that all of dCOM's files
must then be in the root directory.

When dCOM is run as the primary shell, it will attempt to execute the
AUTOEXEC.BAT file as part of its normal initialization. In this case,
the AUTOEXEC.BAT file should make no references to dCOM (dCOM is
already running). Its much too late to be specifying any command line
switches using the environment variable, or worse, running another
copy of dCOM. Also, avoid using the AUTOEXEC.BAT to load TSR
programs; their memory will "sandwich" the memory temporarily being
used by COMMAND.COM (which is always invoked to run a batch file) and
render that 5K or so that COMMAND.COM uses as useless. TSR programs
in this instance are better loaded by using an auto macro key.




1414

Running dCOM - As the Primary Shell
----------------------------------------------------------------------

NOTE: At least MS-DOS Version 3.3 has a bug regarding the CONFIG.SYS
SHELL command. It only supports command line lengths of 36
characters or less. Using more than 36 characters produces
hyroglyphics on the command line for the command processor
being invoked. This means that starting at the /SH switch,
you should be mindful of the number of characters you're using
if you use this version of MS-DOS.




















































1515

Running dCOM - With MS-DOS Version 2
----------------------------------------------------------------------




Running dCOM With MS-DOS Version 2Running dCOM With MS-DOS Version 2

When dCOM is run under Version 2 of MS-DOS, there are some things that
it can't determine automatically like it can under Version 3 or
greater, that need to be configured for or told to dCOM explicitly.

One of these is the Home Directory, which is discussed in detail in an
earlier section under Installation called Home Directory.

Another is your disk drive configuration. Under Version 2, dCOM can
determine which drives are valid, but it can't determine which drives
are removeable vice nonremoveable (nonremoveable drives are usually
hard disks). Under Version 2, dCOM considers all drives to be
removeable unless specifically overridden. This can adversely affect
the operation of a couple of dCOM's features, like the tree and the
search disk function. To correct this assumption, you will need to
configure the Valid Drive Override Table in the utility mode's K -
Configuration Menu, so that dCOM will know which of your drive's are
removeable and which are not.

Under Version 2, dCOM cannot automatically pickup on changes made to
the environment by a second copy of COMMAND.COM (which would mainly
play when a batch file uses a SET command). This same limitation will
also have an adverse affect on using dCOM as the Primary Shell because
when dCOM runs the AUTOEXEC.BAT file, the normal use of setting the
PATH (which is an environment variable) won't remain in effect. This
can be circumvented however by using an auto macro key instead to do
the same setup work that AUTOEXEC.BAT would.




























1616

Running dCOM - A Guided Tour
----------------------------------------------------------------------




A Guided TourA Guided Tour

Once you have installed dCOM, started the engine, and made the
necessary pre-checks (mirrors, seat belts, controls, driver
visibility, etc...), you are now ready to be taken on a tour of some
of dCOM's fundamental capabilities.

The first screen displayed is the Utility Mode's screen. While you
are in the utility mode, you can always press "H" to get a list of all
commands or functions available (and also some help on other areas
like the hot-keys).

One of the first things you need to know about the utility mode is
that all the entries on your screen with a "" following their
names, are subdirectories. If you have a color monitor,
subdirectories are displayed in a different color from executable
files (files that you can run having a COM, EXE, or BAT extension)
which are also in a different color from just regular old files.

You can change into a subdirectory by selecting it with the cursor
keys and pressing Return (or select it with the mouse and press the
left button). When you change into a subdirectory, the entry that
always shows first is "PREVIOUS ". This is representative of the
prior directory (". .") and if you select it and press Return, you'll
be back in the directory you were just in.

You can log onto a different drive by pressing "L" and dCOM will ask
you which drive you want to log onto. (If you have a mouse, you can
move the pointer into the extreme lower right corner of the screen and
a menu of valid drives will pop-up (the drive select box) where;
clicking the left button will also log onto that drive). A thing to
remember is that each drive maintains its own unique current
directory. When you log onto drive D, its current directory will be
displayed (in a lot of cases it's usually the root directory). If you
change drive D's current directory, log onto drive C, and then return
to drive D, it will still be in the same directory you had left it in.

The next thing to learn is how to run a program. Well, just like
changing directories, you just pick the file and press return (or
click on it with the mouse left button).

While you are running a program, dCOM is still active in the
background doing such things as spooling to the printer (if you ask it
to), looking out for upcoming alarms, or anything else you might ask
it to do by pressing one of the Hot-Keys.

Well, right about now, everyone starts to wonder "how do I enter MS-
DOS commands?". Very easily, just press the Tab key. When you press
the Tab key, dCOM clears the bottom line and displays a prompt like
MS-DOS does (i.e. "C>") and whatever you type now will react just as
if you typed it at the normal MS-DOS command prompt.

Ok, now lets say you want to copy some files to drive A. Well, you
could sit there, pick each file one at a time, press "C" to copy it,


1717

Running dCOM - A Guided Tour
----------------------------------------------------------------------

and type "A:" to tell dCOM where to copy it to. But there's an easier
way. Before pressing "C" to copy, use the "T" key to tag each file
you want copied and then press "C". After you press "C" to copy, dCOM
clears the bottom line and asks you where you want to copy the files
to. What you enter here is exactly like what you would enter if you
were using COPY from MS-DOS (if you type "A:", they will get copied to
whatever is the current directory on drive A). If you would like to
use the visual tree to select the destination directory, press the
keypad's "-" (hyphen) key while the copy command is prompting you for
the destination. dCOM also offers a very powerful cache option when
copying files to or from a floppy disk (enabled in the Utility Mode's
configuration menu) which can better than double the performance of
any other mechanism for copying files (i.e. MS-DOS' XCOPY or COPY
commands).

Considering everything we've said so far, can you imagine how files
are deleted? Right, pick the ones you want by tagging, or with no
files tagged, select the file you want, and then press "D". Since
this is potentially very dangerous, dCOM will stop and ask you to
confirm before it goes ahead and deletes anything.

How about moving files to a different subdirectory? The same thing,
pick them and then press "M". And like the copy command, the tree can
be used to select the destination directory by pressing the keypad's
"-" (hyphen) key after the move command has been invoked.

To complete this quick tour, we will quickly show you how to invoke
the text editor so you can easily make changes to batch files or text
files. This is done by selecting the file and pressing "E". The
editor will immediately pop up on the screen and load the file. After
the file is loaded and displayed (which only takes a heartbeat), you
can move around the text using the cursor keys and make any changes
needed. When you are ready to save your changes and exit, press Alt-W
to write the changes back to the file, and press Alt-X to exit the
editor. Help is available while in the editor by pressing Alt-H (or
F7). There is a lot more to the editor than just this, but this is
enough to get you going.

Should you ever have a need to exit dCOM (strongly discouraged), press
"X" while in the utility mode. If the editor has any open files, the
print spooler buffer is not empty, or there are TSR's resident in
dCOM's memory, you will be warned first before dCOM actually exits.

dCOM is a very powerful tool with which to use and manage your
computer. It has a lot of features and capabilities that not everyone
will need or ever find. You shouldn't feel uncomfortable thinking
that you don't have a complete hold or knowledge on its entire
workings right away. It will take some time before even the most avid
power user might have a complete mastery of all its intricacies. But
even using it with the functions we just mentioned, it provides an
ease of use and unparalleled speed not found in any other Dos Shell.








1818

Running dCOM - On a Z100
----------------------------------------------------------------------




Running dCOM On a Z100Running dCOM On a Z100

This section describes the differences for operation on Zenith's Z100
series microcomputers. If you are an IBM (compatible) user, you may
skip this section.

The major differences between use on the Z100 and use on IBM
(compatibles) computers is the Z100 version provides no support for
the print spooler, the hot-keys, or background colors. Other subtle
differences here and there will be encountered, and must be accepted
using a little common-sense. There are some things the Z100 just
can't do (like support EGA palette colors).

The Z100 version does however, for the most part, function identically
with the IBM version (they are compiled using the same source code).
On a Z100, the lack of an Alt key is adjusted for by using its F0 key
(the IBM has no F0 key), which you press and release to get an
"Alternate:" message and then press the letter of the Alt key desired.

Mouse support can easily be added by attaching a serial mouse (ensure
you acquire one compatible with the mouse driver software mentioned
next) and purchasing a Z100 mouse driver from:

Paul F. Herman, Inc.
Software Graphics Tools
3620 Amazon Drive
New Port Richey, FL 34655
813/376-5457.

The Z100 version fully emulates the IBM character set (through dCOM's
internal video drivers) which means you can edit text files (with
dCOM's editor) containing extended (high-order) characters without any
trouble. You can also use the editor to create files containing line-
drawing characters using the editor's line-drawing mode, and print
them on a similarly capable printer.

When you run dCOM on a Z100, it automatically determines that its
being used on a Z100 and loads the resident portion from DCOMZ.000
instead of DCOM.000 (you can delete DCOM.000 if you are sure you'll
never need to run dCOM on an IBM compatible).

Alternate character fonts are also supported on the Z100. By default,
dCOM uses its own internal font (identical to the Z100's default font
if no ALTCHAR.SYS is used) which may be overridden by renaming the
included font file ZIBM.FNT to DCOM.FNT, which produces IBM look-alike
characters. This font file uses the same format as ALTCHAR.SYS so it
may be edited using Zenith's font editor or, an already custom-
tailored font file may be copied and used instead as DCOM.FNT, without
any further fuss.

If you are using MS-DOS Version 2, you will definitely need to
configure the Valid Drive Override Table in the utility mode's
configuration menu. If you are using MS-DOS Version 3 or greater, the
Zenith version of MS-DOS still tends to need some adjustment to the


1919

Running dCOM - On a Z100
----------------------------------------------------------------------

Valid Drive Override Table because it likes to create extra drive
control blocks that appear as valid drives, even though not physically
present. Its a good idea to visit this menu and do the automatic test
with either MS-DOS version and make changes if necessary.

After starting a copy command, the advertised method of invoking the
tree for use in selecting the destination directory (from the
keyboard) is to press the keypad "-" (minus) key. However, on the
Z100, since the keypad "-" and the regular "-" are not distinguishable
(under the current keyboard mode that dCOM configures it to), and the
"-" character is also a valid filename character, dCOM takes the safe
route and only reacts to the Tab key. An alternative method to
invoking the tree during a copy command is to press the Tab key.
Since the "-" character is a valid filename character, the "-" key
next to the equals key still generates the "-" character.

Another method of paging through files in the utility mode (instead of
using F11 and F12) can be done using an unadvertised command, N - Next
Page. When "N" is used to page through the utility mode, it functions
similarly to a Page Down except that it will wrap around to the first
page when issued on the last page.



To compensate for the Z100's lack of some essential cursor keys, dCOM
remaps some of the Z100's extraneous keys (to dCOM's needs) to provide
an equivalent for most of their capabilities:

IBM Z100 Description
----- ---- -----------------------
^LEFT ^B ^LEFT ^B Move back a word
^RIGHT ^F ^RIGHT ^F Move forward a word
HOME ^S HOME ^S Position to start of field/line
END ^N END ^N Position to end of field/line
PgUp F11 PgUp F11 Display previous page
PgDn F12 PgDn F12 Display next page
^HOME sF11 ^HOME sF11 Depends on situation




Color on the Z100Color on the Z100

Color on the Zenith Z100 is supported but, unlike the IBM, it is not
used automatically. You must issue a command to the utility mode's
configuration menu before dCOM will switch to the use of color. When
dCOM is run on a Z100, the utility mode's K - Configuration Menu will
display an additional command in its prompt, "C - Color". To switch
the Z100 in and out of using color, press the "C" and dCOM will
immediately reflect the new condition (if on, using the values entered
for Colors). The prompt then reflects an option to save the new state
as the default.

NOTE: Background color is not supported and the maximum color range
for any of the working colors is 0 to 7. If a color higher
than 7 is specified, the modulus 8 remainder is used. These
limitations also apply to the editor's configuration menu.


2020

Running dCOM - On a Z100
----------------------------------------------------------------------


NOTE: For performance reasons, dCOM defaults to not using color on
the Z100. Using color on the Z100 degrades video performance
noticeably. The Z100's video hardware requires that three
banks of video ram be managed simultaneously when using color
instead of just one for monochrome.





















































2121

Using dCOM
----------------------------------------------------------------------




USING dCOMUSING dCOM

======================================================================
Throughout this documentation, we will constantly refer to several
distinct modes of operation that dCOM can be operated in. It is
important to understand which mode is which when we refer to them.
For example, the most commonly referred to mode is the utility mode.
The utility mode is the default operating mode from which you copy
files, delete files, run programs, change directories, etc....

Another mode that is also referred to a lot is the menu mode
(sometimes referred to in full form as the macro key menu mode). dCOM
can be configured using the /M or /MP command line switches to come up
in the menu mode instead of the utility mode (described in detail in a
latter section called Menuing). This mode is provided so that you can
utilize the sophisticated features of the macro keys in a menu driven
environment, enabling you to build a powerful and flexible menuing
interface.

It is also important to understand that dCOM is not just a program
that disappears after you instruct it to run another program. It is
still alive and working when you do, and there are a lot of things
that we will talk about that pertain to this. For instance: the hot-
keys, the print spooler, printer redirection, and the alarm/event
system are all examples of things that still work even though you're
running another program.

There is a lot of capability and sophistication built into dCOM.
Extreme care has been taken to provide it as benignly to your
environment as possible and still provide the utmost in power and
performance. It will constantly look out for you as intuitively as it
can. Its error checking, handling, and reporting are as explicit and
in depth as is possible.

Do not feel you have to learn it all overnight, or in a week. But you
can easily be tapping a lot of its power in a just a matter of
minutes.



















2222

Using dCOM - Hot-Keys
----------------------------------------------------------------------




Hot-KeysHot-Keys

Hot-Keys are commands that dCOM recognizes no matter what you happen
to be doing or what program you happen to be running.

Shift-Ctrl-BShift-Ctrl-B Blanks the screen and locks out the keyboard (also
locking out the mouse when dCOM is running). This could
be handy when unwanted company walks in the room or
when leaving your computer unattended. The only way to
resume is by pressing it again. If the access password
is active (as set with Alt-A - Access Password), it
must be entered instead of Shift-Ctrl-B to reactivate a
blanked screen. If someone had been fooling with your
computer during your absence, the first time you enter
the password you will probably receive a beep for an
invalid password (because it still contains some of
their keystrokes). Note that while you type the
password, the screen will remain blanked until the
correct password is entered and followed by the Return
key.

Shift-Ctrl-CShift-Ctrl-C Clears the print spooler buffer and resets the printer
(clearing its buffer). After this command is issued,
dCOM flushes (discards) any output to the printer until
15 seconds of dormancy occur, ensuring that the current
print operation is thoroughly cancelled (this feature
works even if the print spooler is disabled). The
flush period can be cancelled sooner by issuing a
second Shift-Ctrl-C.

Shift-Ctrl-FShift-Ctrl-F Sends a form-feed to the printer on the current printer
port (set with ^P). This can be handy when you print
something that didn't advance the paper to a new page
and you want to continue printing starting with the
next page, or just want to eject the current page (and
not have to get up from your seat to do so). Form-
feeds sent using this command will wait till any
existing characters in the spooler are depleted before
actually being transmitted.

Shift-Ctrl-LShift-Ctrl-L Sends a line-feed to the printer on the current printer
port (set with ^P). This can be handy when you print
something and then want to advance the paper one or
more lines before continuing to print something else
(and not have to get up from your seat to do so).
Line-feeds sent using this command will wait till any
existing characters in the spooler are depleted before
actually being transmitted.

Shift-PlusShift-Plus Toggles the current mode of whether the "+" key on the
keypad will react as a Return key or as a "+" key.
Many of the 84-key keyboards do not provide a second
Return key on the keypad. If you would rather that the
keypad's "+" key acted as a Return key, dCOM can do


2323

Using dCOM - Hot-Keys
----------------------------------------------------------------------

this for you. Normally you would have this mode
default on in dCOM's Configuration Menu and then use
this hot-key to temporarily toggle the keypad "+" back
to its original meaning in the event that you pull-up a
calculator type TSR (or find yourself in any other
situation) that would make you want the keypad "+" to
act as a "+" key.




















































2424

Using dCOM - With a Mouse
----------------------------------------------------------------------




Using dCOM With a MouseUsing dCOM With a Mouse

dCOM features a very powerful mouse interface. Most file-oriented
commands can be performed totally using the mouse without keyboard
intervention. dCOM automatically defaults with the mouse enabled, if
a mouse driver is present. The mouse can be disabled if desired,
using the utility mode's configuration menu. The mouse driver
installed must be Microsoft or Logitech compatible.

When the mouse is enabled, a side bar menu appears along the right
edge of the utility mode's screen and a smaller mouse selection menu
also appears in the tree.

When working in dCOM's utility mode, some of the mouse side bar
commands, when picked, wait for further selection before they execute.
For instance, if you had tagged 10 files (using the right mouse
button) and then picked "Copy" from the side bar, it would execute
immediately because the source is already clear. However, if no files
are tagged, selecting "Copy" from the side bar menu highlights "copy"
and then waits till you go click the left button on a filename or
directory before the copy command is actually invoked.

After a copy or move command has been invoked, the tree may be
selected from the side bar menu and used to indicate the destination
for the copy or move. Alternatively, if you wish to use the tree to
select a directory on a different drive after you have started a copy
command, you can move the mouse into the drive select box (lower right
portion of the screen) and click the left button on the drive you wish
the tree to display.

If you originally invoke a copy or move command from the tree, control
stays in the tree for selection of the destination directory.

All pop-up menu's except the side bar menu and the macro key menu are
draggable by holding down the right mouse button while positioned in
the menu. Their new position is saved automatically in DCOM.INI for
future use.

All pop-up menu's can be cancelled by clicking the mouse outside their
windows.

The normal use of the mouse buttons is that the left button acts like
pressing Return on whatever is selected and the right button tags
files. This means you can change directories and run programs just by
positioning the mouse pointer on the appropriate entry's name and
click the left mouse button. Or, you can use the right mouse button
to expeditiously tag a number of files because it will tag with
dragging as fast as you can move the mouse (while holding down the
right button).

If you have a Logitech three-button mouse, the center button will
cause the selection to move to where the mouse pointer is with no
further action. This is useful to position the selection on a file
that you then wish to perform some action on that isn't supported by


2525

Using dCOM - With a Mouse
----------------------------------------------------------------------

the side bar menu, or if you want to exhibit your ambidextrous
capabilities by using the mouse with one hand and then the keyboard
with the other.

When in any kind of a subfunction that asks for a Yes or No answer
(except the editor), you can answer Yes by pressing the left mouse
button or you can cancel by pressing the right mouse button (like when
confirming that you want to delete files).

Paging the screen in the utility mode (or any menu that has enough
entries to contain more than one page) can be accomplished with the
mouse by clicking the left button on the appropriate set of double up
or down arrows that appear at the bottom of the side bar.

In the utility mode, the mouse can be used to log onto a different
drive by moving the mouse pointer into the drive select box (bottom
right corner of the screen) and clicking the left button on the drive
desired. The list of valid drives is only displayed in the drive
select box when the mouse pointer is actually in its area. If you
have more valid drives than will fit totally within this window, it
can be scrolled horizontally by attempting to move the mouse beyond
the window's left or right borders.





































2626

Using dCOM - Prompt Editing
----------------------------------------------------------------------




Prompt EditingPrompt Editing

Quite a few commands, when invoked, prompt for additional information
(e.g. the utility mode's copy command asks for a destination). When
you are editing a response to a multi-character prompt, the following
special keys are available:

Left ArrowLeft Arrow Moves the cursor one character to the left.
Right ArrowRight Arrow Moves the cursor one character to the right.
BackspaceBackspace Moves the cursor one character to the left destructively.
InsIns Toggles the current insert/typeover mode, changing the
shape of the cursor to indicate so.
DelDel Deletes the character under the cursor, closing from the
right.
Up ArrowUp Arrow In the utility mode, scrolls backward through the last
commands entered to the prompt involved.
Dn ArrowDn Arrow In the utility mode, scrolls forward through the last
commands entered to the prompt involved (you must scroll
backwards first, before you can scroll forward).
^X ^X Delete from cursor to end of field/line.
^Left ^Left Move back a word.
^Right ^Right Move forward a word.
Home Home Position to start of field/line.
End End Position to end of field/line.

Taking the time to learn the use of these basic editing keys can
seriously enhance your use of dCOM.





























2727

Using dCOM - TSR Programs
----------------------------------------------------------------------




TSR ProgramsTSR Programs

TSR (terminate and stay resident) programs pose some problems when
installed from anywhere but at the command prompt of the first MS-DOS
command processor (COMMAND.COM). When they are installed from a shell
(such as dCOM), they can irreversibly fragment user memory (if the
shell doesn't go to some trouble to avoid this), and they can be
wagering quite a nasty little war over who is doing what with
interrupt handlers.

When you run and load a TSR from within dCOM, you are advised of how
much memory the TSR(s) consumed when control returns to dCOM (you can
view and clear (remove) TSR's loaded since dCOM was run using ^V).

TSR's loaded prior to running dCOM generally do not present a problem
except for one: SideKick. To the author's knowledge, only SideKick
goes to such lowly extremes as to check 18 times a second (quite a
sizeable amount of processing time stolen from your application),
whether or not you've loaded a program that has inserted itself as a
keyboard interrupt handler. If SideKick is resident when dCOM is
first run, you will be given the message: "SideKick Resident Error".
When this occurs, it means that dCOM isn't going to waste its time
fighting with SideKick and removes its hardware keyboard interrupt
handler, which removes its capability to catch "hot-keys". If you
load SideKick after running dCOM, there is no technical problem and
life goes on as planned. If you are a SideKick fan, you may want to
consider having SideKick loaded by an auto macro key (refer to Command
Line Switches).

If there are TSR programs resident when you exit dCOM, you will be
warned that continuing with the exit will remove the TSR's. TSR's
can't be allowed to stay resident when dCOM exits for two reasons: It
would seriously fragment your memory and the TSR would unknowingly
attempt to chain back to what were dCOM's interrupt handlers, which
would now be non-existent (lock-up city).

When you load a TSR from dCOM, you should avoid doing it in a manner
that invokes a second copy of COMMAND.COM first. When COMMAND.COM is
used to load a TSR, the resident portion of COMMAND.COM's memory
becomes sandwiched between dCOM's and the TSR, and cannot be recovered
(unless you use the Clear command of ^V - View/Clear TSR's).
Currently, under MS-DOS Version 3, the amount of memory lost because
of this is approximately 4,000 bytes per incident.

Techniques that would use COMMAND.COM are: Running a TSR from the
utility mode's MS-DOS command prompt (the Tab command), running a TSR
from a batch file, or running a TSR using the ">" operator in a macro
key.

Techniques that would not invoke a second copy of COMMAND.COM are:
Running a TSR using dCOM's (point-n-shoot) Ret or Space Bar commands,
or running a TSR in a macro key without the ">" operator.




2828

Using dCOM - TSR Programs
----------------------------------------------------------------------

Each macro key has an optional switch (/R) that can be used on its
title line to force dCOM to remove any TSR's loaded by that macro key
when it finishes, but TSR's loaded prior to the macro key are kept.
























































2929

Using dCOM - Critical Errors
----------------------------------------------------------------------




Critical ErrorsCritical Errors

dCOM goes to great lengths to prevent and intercept critical errors
(the familiar Abort, Retry, Ignore message which you receive under MS-
DOS whenever you didn't close a drive door or remove a write-protect
tab, etc...). One example is instead of blindly attempting to access
a destination drive for any file I/O operation, dCOM always checks to
ensure that the drive you have specified is valid and ready. While
this may be above and beyond the normal call of duty, at the least,
all well behaved programs should trap for critical errors. If not
trapped, a painstakingly, well-designed screen gets obliterated by the
message and the opportunity exists for the user to abort back to the
previous process, giving the program no opportunity to save unwritten
information to disk or remove interrupt handlers.

When a critical error occurs, dCOM's critical error handler pops-up on
the screen with the particular error displayed inside a box, giving
the same three options. Responding with Retry or Ignore behaves
identically to the MS-DOS counterpart. Responding with Abort forces
dCOM to cancel the current disk operation in progress, close any open
files, and return to the command mode of either dCOM or the editor (no
harm done). dCOM cannot allow an Abort to behave like it does under
the MS-DOS critical error handler which exits the current process and
returns control to the calling program.
































3030

Using dCOM - Encountering Trouble
----------------------------------------------------------------------




Encountering TroubleEncountering Trouble



This section is provided to inform you of the known problems
encountered so far in using dCOM under various versions of MS-DOS and
with certain programs or types of programs.

At least MS-DOS Version 3.3 has a bug regarding the CONFIG.SYS SHELL
command. It only supports command line lengths of 36 characters or
less. Using more than 36 characters produces hyroglyphics on the
command line for the command processor being invoked. This is only
significant if you run dCOM using the SHELL command from CONFIG.SYS
and are also specifying a healthy number of command line switches.
Refer to the /SH command under Command Line Switches for more
information.

MS-DOS Versions 4 through at least 4.01 have a bug if you specify the
/X switch on the BUFFERS statement of CONFIG.SYS (to enable the
buffers to use EMM if present). It does not properly restore the
mapping context of the EMM page frame after a critical error occurs,
which can blow dCOM out of the water if its transient portion is
running in EMM (by giving dCOM the /EMM command line switch). (Thanks
Microsoft for a week of hair-pulling frustration.)

Some versions of Borland's Sidekick go to such lowly extremes as to
check 18 times a second (quite a sizeable amount of processing time
stolen from your application), whether or not you've loaded a program
that has inserted itself as a keyboard interrupt handler. If Sidekick
is resident when dCOM is first run, you will be given the message:
"Sidekick Resident Error". When this occurs, it means that dCOM isn't
going to waste its time fighting with Sidekick and removes its
hardware keyboard interrupt handler, which removes its capability to
catch "hot-keys". If you load Sidekick after running dCOM, there is
no technical problem and life goes on as planned. If you are a
Sidekick fan, you may want to consider having Sidekick loaded by an
auto macro key (refer to Command Line Switches).

MS-Windows can be a real problem for any screen saver program.
Windows, in its efforts to provide device independence for its
applications, becomes very device dependant internally. It provides
(among other things) its own internal drivers for both the keyboard
and the mouse. What this means is that when you run Windows under
dCOM, dCOM has no idea that you've been merrily pounding the keyboard
or fondling your mouse, and proceeds to save the screen (should it be
enabled to save outside dCOM) x number of minutes after running
Windows. And, since Windows has taken the keyboard interrupt, any
further attempts to bludgeon the keyboard will have no favorable
effect in trying to get the screen restored - except for one key, the
Scroll Lock key. For some uncanny reason, Windows regenerates a
keyboard interrupt to the previous keyboard handler when the Scroll
Lock key is pressed, which should work to restore the screen dCOM
saved. You should then press Scroll Lock again (to turn it off). If
you are a frequent Windows user, you may want to disable the screen


3131

Using dCOM - Encountering Trouble
----------------------------------------------------------------------

saver from working when dCOM is running another program (which is an
option in the utility mode's configuration menu called "Save Scn Out
of dCOM").

When using dCOM with a mouse, in order to support the screen saver
being sensitive to mouse activity, dCOM chains into the mouse driver
interrupt handler. Whether dCOM stays chained into the mouse handler
depends on whether the screen saver is enabled for use when dCOM is
running another program (which is an option in the utility mode's
configuration menu called "Save Scn Out of dCOM"). If the screen
saver is configured to work when dCOM is running another program, dCOM
will stay chained into the mouse interrupt handler. However, some
programs use the current address of the mouse driver interrupt vector
(namely Logitech's MENU.COM program) to determine whether a mouse
driver is actually installed (rather than the advertised method of
calling interrupt 33h) and if it doesn't actually point to the mouse
driver, produces an error. If you experience this problem, either
disable the screen saver from working when dCOM runs another program,
or run another copy of MOUSE.COM.








































3232

The Utility Mode
----------------------------------------------------------------------




THE UTILITY MODETHE UTILITY MODE

======================================================================
Unless specified otherwise, the default operating mode is the utility
mode. (Configuring otherwise would be having the tree come up first
using the /TREE command line switch, or the macro key menu mode using
the /M or /MP command line switches.) The utility mode is where you
change directories, run programs, copy files, delete files, edit
files, configure dCOM, etc....

The utility mode always displays the contents (files read) of the
default drive's current directory, using up to four columns of files
per page (a maximum of 60 files on screen at one time). Whether you
also see hidden or system files is controlled by the View mode which
is changed using the V - View mode command. Viewing hidden files can
be password protected using the Alt-A - Access Password command.

Most of the utility mode commands utilize what is called a point-n-
shoot technique. Point-n-shoot means you first pick what you want to
work with and then you select the command you want to use. For
example, to copy a file to another drive, you would first point by
selecting the file (using the cursor keys), and then shoot by pressing
"C" to invoke the copy command.

Certain commands recognize tagged files before, and instead of,
whatever is currently selected (such as Copy, Move, Delete, Print,
etc...). Additionally, some commands reference the entire contents of
a subdirectory when the subdirectory's name is selected from the
previous directory. Commands that react in these ways are so noted at
the start of their description in Command Reference.

All commands are single-stroke (you don't have to press the return
key) and none of them are case-sensitive (you don't have to worry
about responding in upper case). All destructive commands prompt for
confirmation before proceeding.

Some commands prompt for further information before actually
proceeding (i.e. the delete command asks for confirmation before
proceeding). Such prompts can be configured whether they are single-
stroke or whether they require the Return key before they proceed.
This is changed temporarily using the ^K - Single Key Prompts command
or permanently using the utility mode's configuration menu. The
factory configuration defaults to requiring the Return key.

All commands and actions are escapable by pressing the Esc key. If
the command has already started (such as copying several tagged
files), Esc will abort after the current file is finished. Issuing a
^C also aborts, reacting quicker (it is caught at the key-press level)
by aborting when the current MS-DOS function is finished, but will
probably leaving a destination file unusable.

All pop-up menu's are moveable by engaging the Scroll Lock key and
then using the cursor keys to move them or, by moving the mouse
pointer within the window and holding down the right mouse button.


3333

The Utility Mode
----------------------------------------------------------------------

Each pop-up window maintains its own set of screen position
coordinates which are saved automatically in DCOM.INI.

























































3434

Utility Mode - Tagging Files
----------------------------------------------------------------------




Tagging FilesTagging Files

The capability to selectively tag files as a way to identify the
source for subsequent file-oriented commands is a very powerful
feature. Without this capability, the user would have to contrive a
wildcard that hopefully will catch the files he/she wants MS-DOS to
work with. In many situations, the user would end up identifying each
file separately.

With dCOM, it is easy to pick the files that would be involved in a
subsequent copy, delete, etc..., by selecting and tagging the files
before issuing the command.

There are actually three ways to tag files: T - Tag,
^T - Priority Tag, and Alt-T - Tag All. Files tagged using the normal
T - Tag command are processed in the order they are displayed. Files
tagged using the ^T - Priority Tag command are processed in the order
they are tagged and before any normally tagged files. The
Alt-T - Tag All command simply fills in those files not already tagged
using normal tags. When it is desirable to process tagged files in a
different order than they are displayed (such as when concatenating
files with the copy command), use priority tags. A common practice is
to use priority tags on the files you are concerned with and then use
Alt-T to tag the rest.

Tagging can also be accomplished with the mouse by clicking the right
button on the filename desired (producing a normal tag). However,
tagging with the mouse also supports dragging, meaning you can tag
entire columns of files as fast as you can put the mouse pointer on
the first file in a column, hold down the right mouse button, and
sweep the pointer to the bottom of the column.

NOTE: Sometimes it is easier when you want almost the whole
directory to be considered the source to use the Alt-T - Tag
All command and then selectively untag with the T - Tag
command.

When there are tagged files, the area that normally displays the
number of files in the current directory and the total of their file
sizes (*4 of Screen Layout) is replaced with how many files are tagged
and the sum of the tagged file(s) sizes.

When analyzing the sum of file sizes tagged (sometimes with thoughts
of copying them to a floppy), you must understand that a file's size
as indicated in the directory is notis not the actual amount of space
required to hold the file on disk. It is only an indication of how
long the file is. Disk space is allocated by clusters. The amount of
space a file consumes on a disk is actually governed by how many
clusters are required to hold it (no two files may share the same
cluster). If a file is only comprised of one byte, the directory says
its size is one byte; on a 360k floppy disk it will consume 512 bytes
of disk space because the cluster size on a 360k diskette is 512
bytes. If you had five files all just one byte in length, they would
require 2,560 bytes of disk space even though the sum of their sizes


3535

Utility Mode - Tagging Files
----------------------------------------------------------------------

is just 5. This is a rather extreme example, but it helps portray why
3 tagged files only summing 900 bytes will not fit on a disk with
1,024 bytes of disk space free.

Cluster size varies depending on the type of media involved; for hard
disks it can be 512, 1024, and so on.... Any time free disk space is
given, be it in dCOM, MS-DOS, or some other program, it is actually a
product of the number of clusters free multiplied with the number of
bytes per cluster.

When copying tagged files to a floppy diskette and its disk space
becomes full, a window will pop-up that gives you the option to change
diskettes and continue. When this occurs, the file that produced the
error is deleted from the destination (before the prompt is given)
and, if copying does continue, it resumes with the start of that file.

dCOM attempts to retain tagged files through a variety of actions, but
any change to the originally read order of the current directory
forces dCOM to automatically untag any tagged files. This means that
you can issue DOS commands, run programs, invoke the editor, etc...
and as long as you don't do something that modifies or updates the
contents of the current directory, your tags will remain intact.

NOTE: The tagging commands, T - Tag, and ^T - Priority Tag can be
configured to automatically advance the selection bar to the
next entry by using the utility mode's ^A - Advance After Tag
command.
































3636

Utility Mode - Extension Execute
----------------------------------------------------------------------




Extension ExecuteExtension Execute

Not only does dCOM directly execute files with COM, EXE, or BAT
extensions, but other extensions can also be configured to generate a
form of execution when they are selected and the Return key is
pressed. This feature is almost functionally equivalent to MS-Windows
and its "[extensions]" field.

What happens is that dCOM allows you to define filename extensions
which are executable in the sense that dCOM will run a program and
pass to it parameters that you configure (usually involving the
filename that was selected). For instance, all files having a BAS
extension generally have to be run using a BASIC interpreter. You
could define the extension "BAS" so that when you press Return on a
file having a BAS extension, dCOM will run BASIC and pass it the
file's name that was selected (which BASIC then runs). Or, you could
do the same with files having a "DOC" extension by having dCOM run
your favorite word processor, passing it the selected filename to be
edited. (Files having an extension defined in this manner also become
executable using the mouse left button.)

You define executable extensions by creating a text file in dCOM's
Home Directory called DCOM.EXT, having the following format:

ext=[d:][\path\]program %fe[%w]ext=[d:][\path\]program %fe[%w]

ext= ext= Is the extension you are defining.
d: d: Is an optional drive for the program.
pathpath Is an optional path to the program.
programprogram Is the name of the program that gets run.
%fe%fe Is a macro variable which becomes the
currently selected filename.
%w%w Is an optional flag indicating to dCOM
that a pause is necessary after the
program exits, to preserve its screen
contents so you can read it before dCOM
rebuilds its screen.

As vaguely indicated above, the command line of the extension execute
file accepts macro variables. There are a number of other macro
variables in addition to %FE, and you are welcome to use them, but %FE
is normally enough to get this facility to do what it was basically
designed to do. If you would like to poke around into some of the
other macro variables, refer to the section titled Macro Variables for
more information.

There is no limit on how many lines of extension definitions you can
create. Also, if the drive and path of the program you are running is
not given, the PATH will be searched if the program doesn't exist in
the current directory. Changes made to the DCOM.EXT file are
automatically picked up on and reloaded if you edit it using dCOM's
text editor. If you edit the file with another editor, you must exit
and rerun dCOM to have the new changes take effect. Also, on the
technical side, if the program name supplied is a batch file, dCOM


3737

Utility Mode - Extension Execute
----------------------------------------------------------------------

will load another copy of COMMAND.COM to interpret it, otherwise the
program is run directly.

For example, DCOM.EXT could contain the following lines:

BAS=C:\BASIC\GWBASIC %FE
DOC=C:\MS-WORD\WORD %FE
ASM=C:\COMPILER\MASM %FN,,%FN;%w

With this example you could select any file with a BAS extension and
press Return to have GWBASIC load and run it or, select any file with
a DOC extension and press Return to run Microsoft Word and edit it or,
select any file with a ASM extension and press Return to have the
Macro Assembler compile it....













































3838

Utility Mode - Screen Layout
----------------------------------------------------------------------




Screen LayoutScreen Layout

,---------------------------------------------------------------,
| CURRENT DIRECTORY | The Directory Commander | Date: *1 | Page |
| ----------------- | (c) 1989 - Dave Frailey | Time: *2 | *3 |
| *4 | DAC Micro Systems R#.# |-----------------|
|-------------------`-------------------------| Free Memory: *6 |
| *5 | Free Drive: *7 |
|---------------------------------------------------------------|
| *8 | |
| | |
| | |
| | |
| | |
| | *9 |
| | |
| | |
| | |
| | |
| | |
| | |
|---------------------------------------------------------------|
| *10 | *11 |
`---------------------------------------------------------------'

*1*1 Shows the current date held by your computer.

*2*2 Shows the current time held by your computer.

*3*3 Indicates the current page number being displayed and how many
total pages of directory entries are loaded, separated with a
slash.

*4*4 Displays the total number of files that were loaded from the
current drive's directory and the sum of all their file sizes.
If there are any tagged files, this will instead display the
number of tagged files and the sum of their file sizes.

*5*5 Shows the default drive and current subdirectory.

*6*6 Indicates the amount of conventional memory available to programs
run under dCOM. This number is affected by the size of any open
buffers in the editor, the size of the print spooler's buffer,
the space consumed by macro keys, memory used by TSR programs,
etc....

*7*7 Indicates the amount of disk space free on the default drive.

*8*8 This is where dCOM displays the entries read from the default
drive's current directory. Though it is possible for
subdirectories to have extensions (the use of which is somewhat
rare), for purposes of clarity, when an entry is a subdirectory
name, dCOM displays a "" in the column used for file
extensions. If a subdirectory does have an extension, all is not


3939

Utility Mode - Screen Layout
----------------------------------------------------------------------

lost; dCOM does maintain their full names and, when selected, you
will see it in the detail area (*9). If the current directory is
a subdirectory, the first entry displayed will always be
"PREVIOUS " which represents the directory immediately
preceding the subdirectory you are currently in.

*9*9 This area only shows when the mouse is active. It is referred to
as the Sidebar Menu. The command set displayed here allows you
to perform almost all of the common file operations (i.e. Copy,
Move, Delete, etc...) needed. For more information, refer to
Using dCOM - With a Mouse.

*10*10 Shows the name, size, date, and time of the currently selected
entry. If Show File Attributes has been turned on in the utility
mode's configuration menu, the attribute flags of the currently
selected entry will also show here.

*11*11 This is where dCOM displays the most recent advisory, warning, or
error message or, for some commands, to prompt for further
information. If dCOM displays an error message here, it will
remain displayed until you issue another command or change the
currently selected entry. There is no delay or pausing for a
keystroke imposed; you can continue business as soon as you
digest the error message.

This area is also referred to as the Drive Select Box because
certain modes allow you to move the mouse pointer into this area,
and it will temporarily display a list of valid drives for you to
select from (e.g. the basic utility mode allows you to log onto a
new drive by moving in this area and clicking the left button on
the drive desired).




























4040

Utility Mode - Quick Reference
----------------------------------------------------------------------




Utility Mode Quick ReferenceUtility Mode Quick Reference

AA - Alarm Menu P P - Print [CTD]
CC - Copy [CTD] R R - Rename [C]
DD - Delete [CTD] S S - Search Dir
EE - Edit [C] TT - Tag [C]
FF - Find File UU - Untag All
HH - Help V V - View Mode
KK - Configuration W W - Wait Mode
LL - Log Drive X X - Exit
MM - Move [CTD] Z Z - Sort Mode
NN - Next Page

^A^A - Advance After Tag ^P^P - Printer Port
^K^K - Single Key Prompts ^T^T - Priority Tag [C]
^O^O - Overwrite Warnings ^V^V - View/Clear TSR's

Alt-AAlt-A - Access Password Alt-PAlt-P - Print System
Alt-EAlt-E - Edit, No Load Alt-RAlt-R - Read Only [CT]
Alt-HAlt-H - Hidden Flag [CT] Alt-SAlt-S - Search Disk
Alt-KAlt-K - Edit Macro File Alt-T Alt-T - Tag All Files
Alt-MAlt-M - Make Directory Alt-V Alt-V - View/Set Env

HomeHome - Select First Entry ^Home^Home - Root Dir
EndEnd - Select Last Entry Ret Ret - Execute or ChDir
SpaceSpace - Execute w/opt Tab Tab - MS-DOS Cmd
"/""/" - Gosub a Macro File ".""." - Goto a Macro File
"-""-" - Visual Tree


Hot KeysHot Keys

s^Bs^B - Blank Screen & Lock Kbd s^Cs^C - Clear Spooler
s^Fs^F - Send Form-feed to Printer s^Ls^L - Send Line-feed
s+s+ - Toggle Keypad Plus = Return Mode













____________________
CC - Operates on currently selected entry.
TT - Operates on tagged files before recognizing the currently
selected entry.
DD - Operates on the entire contents of a subdirectory by selecting
its name from the previous directory.


4141

Utility Mode - Command Reference
----------------------------------------------------------------------




Command ReferenceCommand Reference

Most of the file-oriented commands recognize both tagged files as well
as the currently selected file. When using a command that recognizes
tagged files, the tagged files are used first and instead of the
currently selected file. Also, some commands can reference the entire
contents of a subdirectory by selecting the directory's name in its
parent directory. Commands that do indicate so with the words "entire
directories".

When a command is issued that recognizes tagged files and there are
tagged files, the selection bar (which is normally reverse video) will
be removed to help remind you that you're dealing with tagged files
and not what was currently selected.

A - Alarm MenuA - Alarm Menu Displays the Alarm Menu. From the alarm menu you may
enter up to 38 different alarms (events). There are
basically two different types of alarms; daily or
calendar. A daily alarm qualifies based on the day(s)
of the week (Monday Tuesday, etc...). A calendar alarm
qualifies based on a specific date. When an alarm
sounds, the text you enter for the description flashes
on the screen (provided its in text mode) and the
speaker beeps. Alarms are then cancelled by pressing
the Esc key (which is discarded). The beeping will
automatically time-out after it has sounded 30 times if
not cancelled sooner, but the flashing description will
continue to display until actually cancelled with the
Esc key. For more information, refer to The
Alarm/Event Menu.

C - CopyC - Copy Copies tagged files, the selected file, or entire
directories. When invoked, you are prompted where to
copy to. The destination entered here is identical to
what you would enter for the destination of a MS-DOS
COPY command (including wildcards).

After invoking the copy command, you may use the visual
tree to select the destination directory by pressing
the keypad "-" (minus) key or by clicking the mouse
left button on "tree" in the sidebar menu. Another
option is to move the mouse pointer into the drive
select box and click the left button on the drive
desired. If the drive selected has no subdirectories,
copying will start immediately. Otherwise, the tree
will be invoked for use in selecting the destination
subdirectory.

When copying multiple files and the destination entered
does not resolve to an existing directory, a window
will pop-up that advises that the destination directory
does not exist. From this window you may: a) make the
destination directory and continue, b) continue and
concatenate or, c) cancel the copy command. If you


4242

Utility Mode - Command Reference
----------------------------------------------------------------------

intended to copy the files to the destination
drive/directory, knowing that the copy command can make
the directory for you can save some time in not having
to previously go make it. If you intended to
concatenate (join) the files, and did so, Ctrl-Z end-
of-file markers on the end of intermediate ASCII text
files are automatically stripped.

When copying begins, dCOM attempts to read in as many
of the source files as memory permits before writing
destination files. Should the disk space free on the
destination drive become insufficient to hold the next
file to be copied, a window will pop-up indicating so
and give you the following options: a) change disks and
continue, b) change disks, delete all files and
continue or, c) abort the copy operation. Selecting the
first or second options allows you to continue copying
onto one or more diskettes.

If overwrite warnings are not enabled (default),
copying will overwrite an already existing destination
file of the same name without saying a word. If
overwrite warnings are enabled, a window will pop-up
when an overwrite is about to happen and allow you to
a) skip the current file, b) overwrite the current file
and continue, c) overwrite for the rest of the
operation or, d) cancel the copy operation. Overwrite
warnings are set temporarily using ^O - Overwrite
Warnings or permanently by setting the default in the
configuration menu.

Performance when copying to floppy disks can be
seriously improved by enabling a cache option in the
utility mode's configuration menu. Without this option
enabled, it's hard enough to beat dCOM's performance
when copying files, but with it enabled, nothing comes
half as close when copying a large number of files.
Try it!

D - DeleteD - Delete Deletes tagged files, the selected file, or entire
directories. When invoked, dCOM will prompt you for
confirmation before deleting the files. When this
command is used to delete a subdirectory by selecting
its name, it will also delete any subdirectories that
are in that directory.

E - EditE - Edit Invokes the built-in text editor using the currently
selected file. For more information, refer to The Text
Editor.

F - FindF - Find Selects a file using the first character of its
filename. This is a shortcut to quickly selecting the
start of files beginning with a certain letter if the
sort in effect is "Executables First" or "Name -
Extension".

H - HelpH - Help Brings up the help menu.



4343

Utility Mode - Command Reference
----------------------------------------------------------------------


K - ConfigureK - Configure Invokes the utility mode's configuration menu which
allows changes to the initial defaults, some of the
current operating characteristics, colors, and mouse.
For more information, refer to Configuration Menu.

L - Log DriveL - Log Drive Changes the default drive. When invoked, you are
prompted for the drive letter of the new drive you want
to change to. If you are logged on a floppy drive and
have changed diskettes, use this command to read the
new diskette's directory. To relog the same drive, you
do not have to retype the drive letter; select this
command and just press Return. You can also log a new
drive with the mouse by moving the mouse pointer into
the drive select box (lower right corner of the screen)
and click the left button on the drive desired.

M - MoveM - Move Moves tagged files, the selected file, or entire
directories to a different drive or subdirectory. This
can be very useful in cleaning up or reorganizing your
subdirectories. If you are several directories deep
and the directory you want to move to can be accessed
through the previous directory, you can use ". ." (as
you would to MS-DOS) to represent the previous
directory. For example, ". .\TEMP" would move files to
a directory in the previous directory called TEMP.

When files are moved within the same drive, only the
file directory entries are moved (not their contents).
When files are moved to a different drive, a copy and
delete is actually performed.

After invoking the move command you may use the visual
tree to select the destination directory by pressing
the keypad "-" (minus) key or by clicking the mouse
left button on "tree" in the sidebar menu. Another
option is to move the mouse pointer into the drive
select box and click the left button on the drive
desired. If the drive selected has no subdirectories,
moving will start immediately. Otherwise, the tree
will be invoked for use in selecting the destination
subdirectory.

If the destination directory entered does not exist, a
window will pop-up advising this and prompt you: a)
create the directory and continue or, b) cancel the
move command. Knowing that the move command can make a
directory for you can save some time in not having to
previously go make the directory to move the files
into.

If overwrite warnings are not enabled (default), moving
will overwrite an already existing destination file of
the same name without saying a word. If overwrite
warnings are enabled, a window will pop-up when an
overwrite is about to happen and allow you to a) skip
the current file, b) overwrite the current file and


4444

Utility Mode - Command Reference
----------------------------------------------------------------------

continue, c) overwrite for the rest of the operation
or, d) cancel the move operation. Overwrite warnings
are set temporarily using ^O - Overwrite Warnings or
permanently by setting the default in the configuration
menu.

P - PrintP - Print Prints tagged files or the selected file. Files that
do not contain an embedded escape sequence are
considered text files and are automatically ejected
from the printer by appending a form-feed. Files are
printed based on their directory size. Any occurrences
of a Ctrl-Z (end-of-file marker) encountered beforehand
will be ignored and printed. If the print spooler is
active, this command dumps straight to the spooler's
buffer.

R - RenameR - Rename Renames the selected file or subdirectory.

S - SearchS - Search Searches the contents of the current directory for a
filename or substring of a filename. If a match is
found, the found entry becomes the currently selected
entry. The search text entered does not have to be the
complete name of the file to search for. If only one
character was entered, dCOM would find the first entry
that contained that same character somewhere in its
name. For a search of the entire drive (or all hard
drives), refer to the Alt-S command.

T - TagT - Tag Toggles the tagged status of the currently selected
file (directories can't be tagged). The right button
of the mouse also performs this tagging command and
supports high-speed dragging. When a file is tagged
with this command, an intensified chevron ("") is
displayed right after its name. When there are tagged
files, dCOM indicates (in *4 of Screen Layout) how many
files are tagged and what the sum of their file sizes
is. Files tagged with this command are processed in
the order they are displayed. If you want to override
this and selectively control the order in which tagged
files are processed, refer to ^T - Priority Tag. For
more general information, refer to Tagging Files.

U - UntagU - Untag Untags any and all files that are tagged.

V - View ModeV - View Mode Displays a window that allows changing whether entries
with hidden or system attributes are shown in the
current directory. If the view mode includes hidden
entries, they are displayed with a dot preceding them.
This mode can be password protected before allowing
hidden files to show by using the Alt-A - Access
Password command.

W - Wait ModeW - Wait Mode Displays a window that allows changing the current wait
mode. The wait mode is what controls whether dCOM will
pause after running a program (so you can see what it
might have displayed) before dCOM continues and
rebuilds its screen. It is useful to have the wait


4545

Utility Mode - Command Reference
----------------------------------------------------------------------

mode on when running programs that display information
but don't pause for a keyboard command before they exit
(i.e. CHKDSK displays drive and memory information when
it has finished). This command has an automatic mode
which will work correctly 99% of the time to determine
whether it should display the pause message. The
theory is that if you execute a program that displays
something but accepts no input from the keyboard, that
it most likely needs to have a pause before dCOM
rebuilds its screen. Programs that query the keyboard
for input probably will get your permission before they
exit. The initial setting of the wait mode is governed
by the utility mode's configuration menu.

X - ExitX - Exit Returns control to the program that initially ran dCOM,
usually MS-DOS. If the print spooler's buffer contains
unprinted data, the editor has open buffers, or there
are TSR programs resident (which were loaded while in
dCOM), you will be warned and prompted before dCOM
actually exits.

Z - Sort ModeZ - Sort Mode Displays a window that allows changing the current sort
method applied to files read from the current
directory. The initial sort mode setting is governed
by the utility mode's configuration menu. Note that
the directory contents are not actually "sorted", but
rather they are indexed using a highly efficient
algorithm. This technique allows changing the sort
method almost instantly without having to rearrange
filenames using slower memory accesses and, at the same
time, hang onto whatever files may have been tagged.
The eight possible sort methods are:

NormalNormal - The directory is shown exactly the way it was
read.
Executables FirstExecutables First - Subdirectories are shown first,
executable files (.BAT, .COM, and .EXE extensions)
second, and other files third. Files are sorted within
these categories by their extension first and filenames
second.
Name - ExtensionName - Extension - Subdirectories are shown first, and
then files are shown sorted by their name first and
extension second.
Extension - NameExtension - Name - Subdirectories are shown first, and
then files are shown sorted by their extension first and
name second.
Date (Ascending)Date (Ascending) - Subdirectories are shown first, and
then files are shown sorted by their date and time in
ascending order.
Date (Descending)Date (Descending) - Subdirectories are shown first, and
then files are shown sorted by their date and time in
descending order.
Size (Ascending)Size (Ascending) - Subdirectories are shown first, and
then files are shown sorted by their size in ascending
order.




4646

Utility Mode - Command Reference
----------------------------------------------------------------------

Size (Descending)Size (Descending) - Subdirectories are shown first, and
then files are shown sorted by their size in descending
order.

^A - Adv After Tag^A - Adv After Tag Displays a window that controls whether the
selection bar is advanced to the next entry
after a tag command (T - Tag, or ^T -
Priority Tag) is used. The initial setting
of this mode is controlled by the utility
mode's configuration menu.

^C - Abort^C - Abort Ctrl-C and Esc are both trapped at the
keypress level. The difference is that Ctrl-
C is treated like an emergency abort. When
it is pressed, a small window flashes on the
screen indicating the Ctrl-C was received and
the current operation will abort as soon as
any DOS function request in progress
terminates. If you were copying files, this
will probably leave the destination file
incomplete, where using Esc wouldn't.

^K - Sngl Key Prompts^K - Sngl Key Prompts Displays a window that allows changing
whether various prompts throughout dCOM and
the Text Editor require the Return key before
they are enacted (e.g. L - Log Drive). The
initial setting of this mode is controlled by
the utility mode's configuration menu.

^O - Ovrwrite Warnings^O - Ovrwrite Warnings Displays a window that allows changing
whether dCOM will check for and display
overwrite warnings during copy and move
operations. The initial setting of this mode
is controlled by the utility mode's
configuration menu.

^P - Printer Port^P - Printer Port Displays a window that selects the printer
port dCOM uses for any of its own print
operations (LPT1, LPT2, or LPT3). This
setting has no bearing on what the rest of
the system uses. If you want to redirect
output for the entire system, refer to the
Alt-P - Print System/Spooler Menu. The
initial setting of this mode is controlled by
the utility mode's configuration menu.

Note: It is actually possible to print two
files at the same time by giving the Print
Spooler enough memory to swallow the first
file, change the port to a second printer,
and then print the second file. The Spooler
will print the first file in the background
and pass print requests for the second file
on to BIOS because it is not the same
destination port as what is currently
printing from the spooler's buffer.



4747

Utility Mode - Command Reference
----------------------------------------------------------------------

^T - Priority Tag^T - Priority Tag Toggles the priority tagged status of the
currently selected file (directories can't be
tagged). When a file is tagged with this
command, an intensified arrow ("") is
displayed right after its name. When there
are tagged files, dCOM indicates (in *4 of
Screen Layout) how many files are tagged and
what the sum of their file sizes is. Files
tagged with this command are processed in the
order they are tagged and before any files
tagged with a normal tag (T - Tag File). For
more information, refer to Tagging Files.

^V - View/Clear TSR's^V - View/Clear TSR's This command displays the names of all TSR
programs that have been loaded since dCOM was
run and how much memory they are consuming.
Selecting the Clear option removes all TSR's
indicated and restores dCOM's free memory to
its original state. If your DOS Version is
2.x or the TSR released its environment
segment (most of them don't), then only
question marks will show for the TSR's name.

Alt-A - Access Pass.Alt-A - Access Pass. Sets or removes the access password. If set,
the access password is required for such
things as viewing hidden files, entering
configuration menus, unblanking a blanked
screen (Shift-Ctrl-B), and escaping the macro
menu mode (if the "/MP" command line switch
is specified).

If the password is currently not set, the
text entered becomes the new password (after
entering it a second time to make sure dCOM
uses what you thought you typed). If the
password is set, entering the correct
password will disable password checking.

The password is not case sensitive and is
automatically saved. If you forget the
password, your only recourse is to delete
DCOM.CFG.

Alt-EAlt-E - Edit, No LoadEdit, No Load Invokes the text editor without regard for
whatever entry is currently selected.
Editing resumes as you last left the editor.
This can be useful to edit a new file or to
return to the editor after it was exited
using Alt-Q. For more information, refer to
The Text Editor.

Alt-HAlt-H - Hidden AttribHidden Attrib Toggles the hidden attribute of the currently
selected file, tagged files, or directory.
(Hiding directories can be a very convenient
way to discreetely deal with sensitive files,
since viewing their names can be password
protected with Alt-A.) When using this


4848

Utility Mode - Command Reference
----------------------------------------------------------------------

command with tagged files, the on or off
state of the toggle is determined by
inverting the hidden attribute of the first
tagged file encountered. All tagged files
found subsequent receive the inverted state
regardless of their current state.

Alt-KAlt-K - Edit Macro FileEdit Macro File Displays a menu of existing macro files along
with an option to start a new file.
Selecting an existing macro file loads the
text editor with that file. Selecting the
new file option loads the text editor with an
empty buffer. After you edit a new macro
file and go to save it, the editor's Alt-W
command will automatically use the correct
Home Directory path to save the file to, but
you must remember to append a ".MAC"
extension onto the filename entered. For
more information, refer to The Macro Keys.

Alt-MAlt-M - Make DirMake Dir Makes a new subdirectory in the current
directory.

Alt-PAlt-P - Print SpoolerPrint Spooler Invokes the print spooler/print system menu.
From this menu you can clear the spooler,
enable the spooler, change its buffer size,
and control any system-wide redirection. For
more information, refer to Print
System/Spooler.

Alt-RAlt-R - Read AttribRead Attrib Toggles the read-only attribute of the
currently selected file or tagged files.
(Setting the read-only attribute is a
convenient way to ensure a file won't be
accidentally deleted.) When using this
command with tagged files, the on or off
state of the toggle is determined by
inverting the hidden attribute of the first
tagged file encountered. All tagged files
found subsequent receive the inverted state
regardless of their current state. (To see a
file's attributes, the Show File Attributes
option in the utility mode's configuration
menu must be turned on.)

Alt-SAlt-S - Search DiskSearch Disk Searches all directories of the default
drive. When invoked, you are prompted for
the filename to search for. Unlike the "S"
command, you must fully specify the filename
or use wildcards. If you want to search all
non-removeable (hard disk) drives, prefix the
text entered with a colon (i.e. ":*.bak").
If you want to search all directories on a
different drive than the default drive, start
the text with that drive (i.e. "c:*.bak").




4949

Utility Mode - Command Reference
----------------------------------------------------------------------

After the search text is entered, dCOM
proceeds to search for all files that match
the text entered. Matching files are
immediately displayed and you may cancel
continued searching after the one you are
looking for is displayed by pressing the Esc
key. After all searching is completed, if
you then select one and press Return, dCOM
will change drives and/or directories to the
directory holding that file and that file
becomes the currently selected entry.

Note: Search Disk will not search hidden
directories or find hidden files if the view
mode is not set to show hidden files.

Alt-TAlt-T - Tag All FilesTag All Files Tags all files in the current directory that
are not already tagged.

Alt-VAlt-V - View/Set EnvView/Set Env Displays and allows changes to dCOM's
environment. When dCOM is first invoked, it
makes a copy of the environment passed to it
by MS-DOS, using the same size as the one in
use by MS-DOS unless the /E command line
switch was specified when dCOM was run.
Programs run under dCOM are passed a copy of
this environment. Also, any usage of the
macro key SET command will be reflected here.
Invoking this command is identical to the MS-
DOS SET command. When you exit dCOM, any
changes to this environment are lost.

"-" - Visual Tree"-" - Visual Tree Invokes the visual tree allowing full access
to all of its functions such as: logging a
different drive, changing directories, and
copying, moving, and deleting entire
directories. Invoking the tree in this mode
can also be performed with the mouse by
clicking the left button on "tree" in the
sidebar menu. For more information, refer to
The Visual Tree.

"." - Goto Macro"." - Goto Macro Displays a window of existing macro files
which allows permanently changing the active
macro file. If one of these macro files is
then selected, it becomes the currently
active macro file and a menu of its macro key
titles is then displayed. When a different
macro file is active than the one originally
active when you first ran dCOM (which is
usually DCOM.MAC), the name of the currently
active macro file is constantly displayed
(highlighted) in the bottom right corner of
the screen. This is to help remind you that
a different set of macro keys are active from
that of which you're probably used to. For
more information, refer to The Macro Keys.


5050

Utility Mode - Command Reference
----------------------------------------------------------------------


"/" - Gosub Macro"/" - Gosub Macro Displays a window of existing macro files
which allows temporarily changing the active
macro file. If one of these macro files is
then selected, it temporarily becomes the
active macro file and a menu of its macro key
titles is then displayed. After you execute
one of its macro keys or if you escape the
menu, the active macro file will
automatically revert back to what was the
active macro file when you activated this
command. For more information, refer to The
Macro Keys.

ReturnReturn This key can be thought of as an execute key. If the
currently selected entry is a subdirectory, dCOM will
change the current directory to it. If the currently
selected entry is a directly executable file (COM, EXE,
or BAT extension), the program will be loaded and run.
Otherwise, the contents of what was read from DCOM.EXT
is checked to see if the currently selected file has an
executable extension (refer to Extension Execute for
more information). When the mouse left button is
clicked on a file, it has this same effect as pressing
the Return key. On the technical side, if a batch file
is executed, another copy of COMMAND.COM is loaded to
interpret it; COM and EXE files, however, are loaded
and run directly.

Space BarSpace Bar Is similar to the return key when executing files
except that dCOM will stop to let you add parameters or
switches before executing the program.

Plus KeyPlus Key The keypad "+" key can be configured to act as a Return
key both in dCOM and in programs run under dCOM. Its
current mode can be toggled on-the-fly using the Shift-
Plus hot-key. Setting the initial default mode is done
in the utility mode's configuration menu. For more
information, refer to Hot-Keys and Utility Mode -
Configuration Menu.

EscEsc If the Macro Key Menu Mode is active, Esc drops in and
out of the Menu Mode. Otherwise, Esc aborts a command
or action.

TabTab Prompts for an MS-DOS command. Entering a command here
reacts identically as if it were typed at the normal
DOS command prompt. If the Tab key is pressed again to
this prompt, the names of all tagged files are brought
down into the prompt at the current cursor position.
If no files are tagged, the currently selected file is
used instead. Like with other prompts accepting
multiple characters, the up and down arrows can be used
to scroll through the last commands issued.

BackspaceBackspace Pops-up a quick reference menu of the Macro Key titles
for the active macro file. From this menu you can


5151

Utility Mode - Command Reference
----------------------------------------------------------------------

execute a macro key by either pressing the appropriate
function key, select the desired macro using the cursor
keys and then press Return or, click the mouse left
button on the macro desired. If you just want to
return back to the utility mode, press Backspace again
or press Esc.

F0F0 On Zenith Z100 series microcomputers, allows the
issuing of alternate key commands.

HomeHome Selects the first entry on the first page. This is
normally useful when you are in a subdirectory and you
want to get back to the preceding directory ("PREVIOUS
" will always be the first entry of the first page).

Ctrl-HomeCtrl-Home Changes directories to the Root Directory.

EndEnd Selects the last entry on the last page.

PgUpPgUp Displays the previous page of directory entries if
existent.

PgDnPgDn Displays the next page of directory entries if
existent.

Up/Dn ArrowsUp/Dn Arrows Normally the up and down arrow keys serve to just move
the selection bar from file to file. However, when a
command is issued that then prompts for something
requiring more than one character of input (i.e. the
Tab key asks for an MS-DOS command or the copy command
prompts for a destination), the up and down arrows now
function to scroll through previous commands issued to
that prompt. These previous commands are efficiently
stored in a 512 byte community buffer. This means that
while in the MS-DOS command prompt, you can scroll
through as many of the last responses issued as the 512
bytes will allow. Note: you must first scroll back
with the up arrow before you can scroll forward with
the down arrow.

Knowing this capability exists can seriously augment
your use of the commands that support this feature.
Sometimes its a lot easier to recall a previous
command, cursor over and change a couple characters,
then to retype the line all over again. (Hint:
Remember to use the End key to position the cursor
after the last visible character already in the field.)

F1 - sF10F1 - sF10 Execute a macro key. Refer to The Macro Keys for more
information.









5252

Utility Mode - Configuration Menu
----------------------------------------------------------------------




Utility Mode Configuration MenuUtility Mode Configuration Menu

The utility mode's configuration menu allows changing the default
values of a lot of the operating modes and it also directly controls
some of the current operating modes. It is somewhat important to
understand that editing a mode's "default" value will not have any
affect until the next time you run dCOM (provided you save your
changes). However, editing a mode's "current" value will have an
immediate affect on the operation of that mode.

After editing any portion of the configuration menu, you will be
presented with an additional option to "S - Save" the changes you have
made. If you are confident with the changes you made, then a good
habit to be in is to immediately perform the save option before
exiting the configuration menu. If you think you really screwed
things up, you can revert back to the way it was the last time you
saved it by exiting dCOM and then re-running it.

dCOM's configuration menu has two submenus: M-Mouse and D-Drives. The
Mouse submenu enables and controls mouse sensitivity. The Drives
submenu is used to override any incorrect assumptions dCOM may make
concerning the number and type of disk drives you have attached.
Normally the Drives submenu will not require any modification except
possibly if you are using MS-DOS Version 2.x or you are a Zenith Z100
user.

Although dCOM's configuration menu has two submenus, the option to
Save is always presented at the main configuration prompt. Using the
save option only saves changes made to the utility mode's
configuration menu. If there have been changes to the editor's
configuration or the print spooler, their changes must be saved from
their respective menus. This allows temporary changes (not meant to
be permanent) to be made to any one of the configuration menus, and
keep it like that even if a save is made from another menu.






















5353

Utility Mode - Configuration Menu
----------------------------------------------------------------------




Configuration Menu Screen LayoutConfiguration Menu Screen Layout

,-----------------------------------------, ,------------------,
| CONFIGURATION | CURENT | DEFLT | | GENERAL COLORS |
|-----------------------+--------+--------| |------------------|
| Directory Sort Mode.. | *1 | *16 | | Background.. *24 |
| Show Hidden Files.... | *2 | *17 | | Foreground.. *25 |
| Wait After Execute... | *3 | *18 | | dCOM Lines.. *26 |
| Keypad Plus = Ret.... | *4 | *19 | | Menu Lines.. *27 |
| Single Key Prompts... | *5 | *20 | | Misc Lines.. *28 |
| Advance After Tag.... | *6 | *21 | `------------------'
| Overwrite Warnings... | *7 | *22 |
| Printer Output To.... | *8 | *23 | ,------------------,
| Sound Suppression.... | *9 | :::::: | | FILE AREA COLORS |
| Show File Attributes. | *10 | :::::: | |------------------|
| Use Solid Lines...... | *11 | :::::: | | Background.. *29 |
| EGA Palette Mode..... | *12 | :::::: | | Directory... *30 |
| Cache Floppy I/O..... | *13 | :::::: | | Exec File... *31 |
| Screen Saver Minutes. | *14 | :::::: | | Other File.. *32 |
| Sav Scn out of dCOM.. | *15 | :::::: | | Selec Bar... *33 |
`-----------------------------------------' `------------------'

-----------------------------------------------------------------
E-Edit, C-Colors, M-Mouse, D-Drives, X-Exit:



Current modes *1*1 through *8*8 are displayed only to show their mode's
current setting. The configuration menu will not edit them directly
and has no control over them other than to establish their initial
default values. Controlling their current values is done using
various commands from back within the utility mode itself.

Current modes *9*9 through *15*15 are edited by the configuration menu and
have an immediate affect on their respective features. The
configuration menu is the only means with which to change their
values. What is entered and saved for these modes determines both
their current values and their future default values.

Default modes *16*16 through *23*23 are edited by the configuration menu but
have no immediate effect when changed; they are only used when dCOM
is first run to initially set their respective current modes (i.e. *16
sets dCOM's initial Z - Sort Mode). Establish items *16 through *23
as you would like dCOM initially configured when it is first run.
Note: You must use the Save option when done editing for the changes
to become permanent.


*1 Directory Sort Mode *1 Directory Sort Mode (Current) - Shows the current value of the
Z - Sort Mode utility mode command.

*2 Show Hidden Files *2 Show Hidden Files (Current) - Shows the current value of the
V - View Mode utility mode command.



5454

Utility Mode - Configuration Menu
----------------------------------------------------------------------

*3 Wait After Execute *3 Wait After Execute (Current) - Shows the current value of the
W - Wait Mode utility mode command.

*4 Keypad Plus = Ret *4 Keypad Plus = Ret (Current) - Indicates the current state of
whether the keypad "+" key generates a Return or a "+", as
controlled by the Shift-Plus hot-key (refer to Hot-Keys for more
information).

*5 Single Key Prompts *5 Single Key Prompts (Current) - Shows the current value of the
^K - Single Key Prompts utility mode command.

*6 Advance After Tag *6 Advance After Tag (Current) - Shows the current value of the
^A - Advance After Tag utility mode command.

*7 Overwrite Warnings *7 Overwrite Warnings (Current) - Shows the current value of the
^O - Overwrite Warnings utility mode command.

*8 Printer Output To *8 Printer Output To (Current) - Shows the current value of the
^P - Printer Port utility mode command.

*9 Sound Suppression *9 Sound Suppression (Current) - Controls whether dCOM will sound
its various bells and whistles throughout your use of dCOM. The
only thing exempt from this is a sounding alarm entered via the A
- Alarm Menu.

*10 Show File Attributes *10 Show File Attributes (Current) - Controls whether the selected
file's attributes are shown along with its date, time, and size -
down on the left portion of the 24th screen line. Possible flag
values are: A-Archive, D-Directory, S-System, H-Hidden, and R-
Read Only.

*11 Use Solid Lines *11 Use Solid Lines (Current) - Controls whether screen and menu
borders use PC Line drawing characters or heavier (solid) block
characters. If Solid Lines are enabled, *26 and *27 control the
border colors and *28 controls the miscellaneous PC lines drawn
within the borders. If Solid Lines are not enabled, *26 and *27
control the border colors and *28 has no effect.

*12 EGA Palette Mode *12 EGA Palette Mode (Current) - Controls whether dCOM activates
and uses the extended set of 64 EGA Palette colors (provided an
EGA/VGA compatible video card is installed). If this mode is
disabled, dCOM will use the standard 16 CGA colors of old. If
this mode is enabled, the entire vibrant set of 64 extended EGA
colors are used and displayed. There is one drawback to using
EGA colors though. TSR programs called up while dCOM has the
palette remapped will probably inherit a much different set of
colors than that which they were designed to use.

*13 Cache Floppy I/O *13 Cache Floppy I/O (Current) - Controls whether dCOM caches
floppy disk accesses to track 0 during I/O intensive functions
such as copying, moving, deleting, etc.... If the cache is
enabled, dCOM will always flush the cache after a particular
function finishes. Enabling this cache can produce astounding
improvements when copying many files to a floppy disk. Since
track 0 holds the boot, FAT, and directory records on a floppy
disk, every time a file is written (without caching), the disk
heads have to move from where they were when writing finishes,


5555

Utility Mode - Configuration Menu
----------------------------------------------------------------------

back to track 0 to update the directory and FAT entries. This
would mean that if you were copying 40 tagged files to a floppy,
it would mean 40 trips back and forth for the disk heads (usually
producing quite a racket). With caching active, they stay put
(after the directory and FAT sectors have been read once) so they
can immediately begin writing again. Improvements over MS-DOS'
XCOPY command have been noted at better than 3 times.
Improvements over MS-DOS' COPY command have been noted at better
than 7 times. It should be noted though, that this technique
mainly benefits write accesses to a floppy disk's root directory.
Write accesses to floppy disk subdirectories tend to lose some of
this effect since the area of the disk holding the directory
entries will probably not be on track 0.

*14 Screen Saver Minutes *14 Screen Saver Minutes (Current) - Controls whether the screen
saver is active, and if so, how many minutes of keyboard
inactivity (or mouse inactivity) will trigger a screen save.
Valid values are between 1 and 59 minutes. Enter a value of zero
to disable the screen saver. To re-enable a saved screen, press
any keyboard key (which is discarded) or move the mouse.

*15 Save Screen out of dCOM *15 Save Screen out of dCOM (Current) - Controls whether the
screen saver, if active, will work when dCOM is running another
program. If this field is disabled, the screen saver will only
work while dCOM is the active process (program). Since dCOM goes
to the trouble of detecting mouse activity as a sign of operator
presence (unlike other screen savers), it has to chain into the
mouse interrupt handler. However, some click-type menuing
programs rely on scanning a portion of the current mouse
interrupt vector to determine whether the mouse driver has
actually been installed. In most cases, this will test false if
dCOM has the vector (there are better ways to do this) and the
menu program will fail to load. If you use one of these programs
and encounter this problem, disabling this field (so that dCOM
won't save the screen when running another program) will cause
dCOM to rearrange the mouse interrupt vectors before and after
running a program, and they should then work properly.

*16 Directory Sort Mode *16 Directory Sort Mode (Default) - Controls the initial setting
of Z - Sort Mode when dCOM is first run. Its possible values
are:

NONENONE The directory is shown exactly the way it was read.
EXECUTEXECUT Subdirectories are shown first, executable files
second, and other files third. Within these
categories, files are sorted using EXT+FN.
FN+EXTFN+EXT Subdirectories are shown first, then files are shown
sorted by their name first and extension second.
EXT+FN EXT+FN Subdirectories are shown first, then files are shown
sorted by their extension first and name second.
DATE-A DATE-A Subdirectories are shown first, then files are shown
sorted by their date and time in ascending order.
DATE-D DATE-D Subdirectories are shown first, then files are shown
sorted by their date and time in descending order.
SIZE-A SIZE-A Subdirectories are shown first, then files are shown
sorted by their size in ascending order.



5656

Utility Mode - Configuration Menu
----------------------------------------------------------------------

SIZE-D SIZE-D Subdirectories are shown first, then files are shown
sorted by their size in descending order.

*17 Show Hidden Files *17 Show Hidden Files (Default) - Controls the initial setting of
V - View Mode when dCOM is first run. Its possible values are:

NORMALNORMAL The standard directory is shown.
HIDDENHIDDEN Both normal and hidden/system files show in the
directory.

*18 Wait After Execute *18 Wait After Execute (Default) - Controls the initial setting of
W - Wait Mode when dCOM is first run. The possible values are
either ON, OFF, or AUTO. A pause is necessary after running some
programs (which don't ask you anything before they exit), so that
you can view the display before dCOM rebuilds its screen. The
AUTO setting causes dCOM to make a automatic determination of
whether the program displayed something but didn't ask for your
input before exiting. Note: The AUTO option is not supported on
Z100 computers.

*19 Keypad Plus = Ret *19 Keypad Plus = Ret (Default) - Controls the initial setting of
whether the keypad "+" key generates a Return or a "+". Having
the keypad plus key act as a Return key can be handy if you have
an 84 key keyboard and little use for the key to actually
generate the plus character. Enabling the plus key to act as a
Return key may prove to aide quite a bit in letting you cursor
around menu's and screens, change directories or run programs -
just with one hand on the keypad.

*20 Single Key Prompts *20 Single Key Prompts (Default) - Controls the initial setting of
the ^K - Single Key Prompts utility mode command. All of dCOM's
1st generation commands (top level) are already single key (dCOM
reacts as soon as you press they key, you don't have to press the
Return key). What the ^K - Single key Prompts command controls
is whether various prompts that come up after that will require
the Return key before proceeding. For instance, when you press
"L" to log onto a different drive. If you have single key
prompts enabled, all you will have to do is press the letter of
the drive you want to log onto. If you have single key prompts
disabled, you would have to press the drive's letter and then
press Return.

*21 Advance After Tag *21 Advance After Tag (Default) - Controls the initial setting of
the ^A - Advance After Tag utility mode command. What this
command does is control whether the selection bar will
automatically move to the next file after you tag a file.
Enabling this feature saves having to press the down arrow after
each time you tag a file. However, some people who are both
ambidextrous and rather adept at using the keypad probably will
not want this feature enabled so they can interact a little more
efficiently with the tagging process.

*22 Overwrite Warnings *22 Overwrite Warnings (Default) - Controls the initial setting of
the ^O - Overwrite Warnings utility mode command. Enabling
overwrite warnings protects copy and move operations from
inadvertently writing over an already existing file of the same
name on the destination drive or directory.


5757

Utility Mode - Configuration Menu
----------------------------------------------------------------------


*23 Printer Output To *23 Printer Output To (Default) - Controls the initial setting of
the ^P - Printer Port utility mode command. This controls the
port dCOM will use for printer output. It has no bearing on what
the rest of the system uses. If you want to redirect output for
the entire system, refer to the Alt-P - Print System/Spooler
Menu.




















































5858

Utility Mode - Configuration Menu
----------------------------------------------------------------------




ColorsColors

Naturally, changes to these fields have no effect when the active
video board is monochrome. Changes to these fields are made with the
Space Bar or Backspace keys and are immediately reflected on the
screen. Also, the EGA Palette Mode controls whether these fields show
and control the 16 standard colors or the 64 EGA Palette colors. When
using the 16 standard colors, the background colors can range from 0
to 7, and the foreground colors from 0 to 15. When using the EGA
Palette, all colors can range from 0 to 63.

*24 Background *24 Background (General) - Controls the background color used for
the top and bottom header sections of the utility mode's main
screen and all other menu backgrounds.

*25 Foreground *25 Foreground (General) - Controls the text foreground color used
for the top and bottom header sections of the utility mode's main
screen and all other menu foreground colors.

*26 dCOM Lines *26 dCOM Lines (General) - Controls the color of the utility
mode's border lines. If Solid Lines (*11) is disabled, this
field also controls the color of the PC line drawing characters
drawn within the utility mode's screen.

*27 Menu Lines *27 Menu Lines (General) - Controls the color of all other menu
border lines. If Solid Lines (*11) is disabled, this field also
controls the color of the PC line drawing characters drawn within
the other menu screens.

*28 Misc Lines *28 Misc Lines (General) - This field is only active if Solid
Lines (*11) is enabled. It will then control the color used for
the PC Line drawing characters (i.e. "|-|-") drawn with all menu
screens.

*29 Background *29 Background (File Area) - Controls the background color used
for the big area of the utility mode's screen that shows the
files read from the current directory.

*30 Directory *30 Directory (File Area) - Controls the color used to display
subdirectory entries found in the current directory (""
entries)..

*31 Exec File *31 Exec File (File Area) - Controls the color used to display
executable entries found in the current directory (files with a
COM, EXE, or BAT extension).

*32 Other File *32 Other File (File Area) - Controls the color used to display
entries found in the current directory that are not
subdirectories or executable.

*33 Selec Bar *33 Selec Bar (File Area) - Controls the background color used to
indicate the currently selected entry. If this value is zero,
the reverse video colors of the selected entry are used.



5959

Utility Mode - Configuration Menu
----------------------------------------------------------------------

NOTE: If EGA Palette colors are not enabled and reverse video is
used for the Selec Bar, it may be desirable to keep the range
of *30, *31, and *32 below 8 even though it can be from 0 to
15. This is because a high order color (one that is eight or
above) will be reduced to its low order equivalent when
displayed as a background color.





















































6060

Utility Mode - Configuration Menu - Mouse
----------------------------------------------------------------------




MouseMouse

The mouse submenu of the utility mode's configuration menu controls
whether or not dCOM attempts to recognize a mouse and, if so, its
sensitivity.

The factory default has the mouse enabled and sensitivities set to
what have been found to be good for average use. If you would rather
the mouse was more sensitive in a particular dimension, reduce the
mickey counts. For less sensitivity, increase the mickey counts.

A Mickey (in the widely spoken language of mice) is defined as the
smallest unit of measurement in mouse motion. The mickey ratio
determines how many mickey counts it takes before a mouse motion is
generated. In essence, it determines the sensitivity. The lower the
number, the higher the sensitivity. Only a little trial-n-error will
determine which values yield the best operation for your purposes.







































6161

Utility Mode - Configuration Menu - Disk Drive Table
----------------------------------------------------------------------




Disk Drive Override TableDisk Drive Override Table

The use of this menu is rather advanced and it should only be modified
if you know you have a problem it can resolve. The Disk Drive
Override Table can override dCOM's automatic determination of whether
a drive exists and if so, whether it is removeable or not.

Users that might have a need to change this menu are those using MS-
DOS Version 2.x or a Zenith Z100 computer. The key to using this
table is don't activate an override unless you are sure you need it -
as reported by an obvious discrepancy by using the "Test" command.
Generally speaking, an IBM compatible using MS-DOS Version 3 or
greater will not require any modification to this table.

When you enter this menu, the display will show any overrides
currently in effect. To test whether dCOM is correctly determining
the number and types of drives on your system, use the T - Test Auto
Config command. Carefully scan the results displayed. If a
discrepancy exists, you may then edit an override into the table so
that dCOM will correctly access the drive.

Currently the only areas in dCOM impacted by this table are the drive
select boxes for use with the mouse and the Search Disk (Alt-S)
command when using it to search all non-removeable drives.
































6262

The Visual Tree
----------------------------------------------------------------------




THE VISUAL TREETHE VISUAL TREE

======================================================================
A sophisticated visual tree is provided as an integral function for
users that identify with this form of presenting a drive's directory
structure. The tree fully supports operation from both the mouse
and/or keyboard.

When the tree is first invoked, it checks an internally maintained set
of flags to determine whether it can load a saved image of the tree
from file. If it can, the file is read and the tree pops up almost
instantly. If it can't, the visual tree pops up a message "Reading
Drive d:" and proceeds to scan the entire disk, reading in its
directory structure (which is then saved in a image file). These
flags that determine whether the saved image files are still valid are
maintained at a very low level and are reset whenever an internal MS-
DOS function request is used (by dCOM or any other program) that would
modify a drive's directory structure.

By default, whenever dCOM is first started, the flags that hold the
valid status for the saved tree image files are all reset. This means
that the first time you request the tree for a particular drive, it
will always have to read its contents by scanning the disk. This is
the safest approach in assuring that the dCOM does not use a saved
image file that no longer accurately represents the disk's tree
structure (because you could exit dCOM and run something or do
something that makes, renames, or deletes a directory name). However,
if dCOM is used constantly from power up to power down (you get a gold
star), you can give dCOM a command line switch, /T, which will force
dCOM to assume the state of the internal valid image flags from the
last session. This means that if a drive's tree was still valid
yesterday when you powered down your computer, it will still be valid
today when you power it back up.

If for some reason you think a drive's tree structure has changed and
is not being reflected, simply relog the same drive while in the tree
and the visual tree will reread the entire drive.



















6363

The Visual Tree - Using with Copy or Move
----------------------------------------------------------------------




Using the Tree With Copy or MoveUsing the Tree With Copy or Move

Invoking the tree as an aide to selecting the destination for a copy
or move command is done by first initiating the copy or move command
and then when prompted for its destination, press the "-" (minus) key
on the keypad (Z100 users must press the Tab key instead), or click
the mouse left button on "tree" in the sidebar menu. An optional way
to invoke the tree for selecting the destination of a copy or move
command is to move the mouse pointer into the drive select box (lower
right corner of the screen), and click on the drive you desire to see
a tree of.

When the tree is invoked for this purpose, its use is limited to just
displaying the current drive's tree structure with the only option
being to log onto a different drive in order to select one of its
directories as the destination desired.

When the tree is displayed for the drive you wish to copy or move to
and you have spotted the directory you wish to use - with the keyboard
you use the cursor keys to select it and then press Return; with the
mouse you click the left button on the directory desired.



































6464

The Visual Tree - General Use
----------------------------------------------------------------------




Using The Tree - General UseUsing The Tree - General Use

Invoking the tree for general use from the utility mode is also done
by pressing the keypad "-" (minus) key or by clicking the mouse left
button on "tree" in the sidebar menu. The tree can also be invoked
automatically when dCOM is first run by using the /TREE command line
switch.

If any type of sort mode is active in the utility mode, the contents
of the tree will be sorted. Also, hidden directories will not show in
the tree unless the utility mode's V - View Mode is set to show hidden
files.

When a mouse is active, the tree will display a small menu (by default
in the lower right corner of the screen) which performs similarly to
the utility mode's sidebar menu. This menu is draggable (like the
other pop-up windows employed throughout dCOM) by positioning the
mouse pointer within the menu and holding down the right mouse button.
Scrolling the tree with the mouse is done by bumping the mouse pointer
against the window border you wish to see more of.

All commands displayed on the menu for the mouse are also available
through the keyboard and directly coincide with their equivalent
commands in the utility mode. Like the utility mode, to select a
command with the mouse you click the command you want first, and then
you go click the directory you want it to use.

Commands available from the tree are: C-Copy, M-Move, D-Delete, L-Log
drive, and changing directories.

The main use of the tree in this mode would be for changing or viewing
subdirectories. You can quickly view the contents of one of the
subdirectories displayed by selecting it and pressing Return (or click
on it with the mouse left button). When you do this, control
temporarily returns back to dCOM's utility mode and the contents of
that directory are displayed. You can now issue any of the normal
utility mode commands (like copy, move, delete, run, etc...) or return
back to the tree by pressing Return on "PREVIOUS " (which is where
the selection bar will be if you haven't moved it). This allows you
to drop into a subdirectory, take a quick look around, and pop back to
the tree using just two keystrokes. (Click the left mouse button on
"PREVIOUS " or "tree" in the sidebar menu to accomplish the same
thing.)

When you ask the tree to display a subdirectory by pressing Return on
it, and it does so by dropping back into the utility mode and
displaying it, dCOM will inform you that the visual tree is still
active by constantly displaying a message in the drive select box
indicating so. All this means is that if you press Return on
"PREVIOUS ", control is going to return back to the tree instead of
changing directories to the previous directory. Should you decide
that you want to permanently stay in the directory, press the Esc key
and the visual tree active mode will cancel.



6565

The Print System/Spooler
----------------------------------------------------------------------




PRINT SYSTEM & SPOOLERPRINT SYSTEM & SPOOLER

======================================================================
The print system built into dCOM out-performs other stand-alone
spooling systems costing more than twice the price of dCOM. In the
Print System/Spooler Menu, you can totally define and control your
systems printing characteristics, spooling, and redirection.

Changes made in this menu affect your entire system (both in dCOM and
when you run programs under dCOM). If you use dCOM's redirection
capabilities, there is no need to use the MODE program to initialize a
serial port and/or remap a parallel port to a serial port. dCOM will
do it all for you.

The spooler supports ultra high-speed, demand (interrupt) driven
interfaces, in both parallel and serial configurations. Reliable
RS232 baud rates as high as 38,400 have been achieved (even on a XT).
Parallel throughputs exceeding 5,000 Cps have been observed when
performing graphics or font downloads to a laser printer (with no
noticeable impact on system performance). 5,000 Cps is the equivalent
of 50,000 baud!

If present, the spooler will recognize and use expanded memory (LIM
EMS) instead of consuming precious conventional memory with its
buffer. When the spooler is actually using expanded memory, it
displays "Buffer(E)" instead of "Buffer", in the Print System/Spooler
Menu.

The print system is also complimented with several hot-keys. One
allows you to clear the spooler's buffer and flush any further print
output. Other hot-keys can send form-feeds and/or line-feeds to the
printer (refer to Hot-Keys for more information).

Unlike other spoolers, the size of dCOM's print spooler can easily be
increased or decreased at will, or disabled, should you suddenly have
a need to have the memory back (by simply re-editing the buffer's
size).

Whether performance is given to getting the paper out of the printer
or to getting the data into the spooler's buffer can be controlled
using the /P command line switch. When specified, the switch shifts
the priority to the printing application so that it gets all the cpu
time by preventing the printer from being serviced when the printing
application is actively trying to send data to the printer. This
results in getting control back sooner but takes longer for the paper
to come out of the printer. If the spooler's buffer becomes full when
this switch is on, its effect is temporarily cancelled for the current
print operation and the priority immediately switches to getting the
buffer printed. Refer to Command Line Switches for more information.

On the technical side: The print spooler uses a triple buffer
technique to provide maximum efficiency and throughput. BIOS level
write requests are buffered immediately into a small front-end buffer
which needs little overhead to manage, getting control back to the


6666

The Print System/Spooler
----------------------------------------------------------------------

calling application in no time. The front-end buffer is then flushed
into the main buffer on every timer tick (18 times a second), unless
required sooner if the front-end buffer fills up. The main buffer is
then bled off into another small buffer, the printer output buffer
(also on each timer tick) which services the print device through the
appropriate method (BIOS, PORT, or IRQ). This technique allows the
use of 16 bit pointers instead of 32 bit pointers during time-
intensive periods and also keeps EMS management at a minimum (if
present).


















































6767

The Print System/Spooler - Menu
----------------------------------------------------------------------




Print System/Spooler MenuPrint System/Spooler Menu


,----------------------------------,
| Spooling | Buffer | In Use |
|------------+----------+----------|
| *1 | *2 | *3 |
|----------------------------------|
| SYSTEM REDIRECTION |
|----------------------------------|
| LPT1 -> *4 |
| LPT2 -> *5 |
| LPT3 -> *6 |
`----------------------------------'

*1*1 Indicates the current status of the print spooler (Enabled,
Disabled, Clearing, or Flushing). If the spooler is actively
sending characters to the print device, this area displays the
port that originally received the data, the port that it is
actually being sent to, and the type of method used. The format
of this display is "LPT#->LPT#(*)" or "LPT#->COM#" depending on
whether output is redirected to a COM port. The "#" characters
will be filled in with the ports involved and the "*" characters
filled in to indicate the method currently in use ("(B)" to
indicate BIOS, "(P)" to indicate Port, or a "(I)" to indicate
demand driven IRQ servicing). Note: Redirection to a COM port
with the spooler active always uses demand driven IRQ servicing.

*2*2 If the spooler is static, the current size of the print spooler's
buffer is displayed. The value entered here also determines
whether the spooler is enabled, depending on whether the value is
not zero. If the spooler is actively sending characters to a
print device, this area instead displays an accumulated CPS
(characters per second) average since the current print job
started. If you use the /P command line switch to give the
printing application priority, the CPS value displayed will be
unfavorably affected by the periods when no attempts are made to
send data from the spooler's buffer to the printer.

*3*3 Indicates in real-time how many characters are in the spooler's
buffer waiting to be printed.

*4 -6*4 -6 These fields control whether output to a port is redirected
to another port and what techniques are used to communicate with
the destination port.

NOTE: dCOM will not allow this menu to be edited if the spooler is
currently active (sending characters to the printer) or if you
are running a multiple copy of dCOM.

When you edit this menu, the first field edited is the buffer size.
As indicated above, any value other than zero activates the spooler.
If the spooler is using conventional memory, the values are always



6868

The Print System/Spooler - Menu
----------------------------------------------------------------------

converted to multiples of 16. If the spooler is using expanded memory
(LIM EMS), the values are converted to multiples of 16,384.

After editing the buffer size, editing proceeds to the three System
Redirection ports (*4 through *6). The factory defaults are that no
redirection is used (i.e. output to LPT1 is sent to LPT1, etc...) and
that the spooler will use BIOS/Network calls. Changing these fields
is done by using the Space Bar or Backspace keys.


Parallel Port OutputsParallel Port Outputs

When the output of a LPT port is sent to another parallel port (LPT1
through LPT3 instead of COM1 or COM2), and the print spooler is
enabled, there are two methods which can be used to talk to the
parallel port:

1. BIOS/NetworkBIOS/Network - Is the safest and most compatible method and
must be used if the output needs to be sent to a printer over a
network. This method polls the printer port in the background
and intelligently decides when its time to give up and return to
the current application, based on cpu speed and printer
reactiveness.

2. Port/IRQPort/IRQ - Is the fastest and most efficient method to send
data to a parallel port. This method generally won't work
properly on XT computers due to an inherent design flaw in XT
printer adapters (which was then copied by numerous clone
manufacturers). This method should work fine on AT compatible
printer ports and should be the method of choice (at least for
LPT1). If this method is selected and the IRQ needed is already
in use or not functioning correctly, dCOM will automatically
switch to polling the printer port directly. This method
services the printer based on printer demand (using the printer
acknowledge interrupt) making it by far the most efficient and
fastest of the two methods to send data to a parallel port
(sending data as fast as the printer can ask for it). Since the
processor is only interrupted when the printer is ready for
another character, very little CPU time is taken from the
foreground application in order to keep data flowing to the
printer.

Since the Port/IRQ method requires that the associated LPT
interrupts be available and working (LPT1 requires IRQ7 and LPT2
requires IRQ5), dCOM automatically detects whether the required
interrupts are already in use by another device before assuming
it can use the IRQ for this purpose. IRQ5 (LPT2) tends to be a
commonly used auxiliary interrupt for a lot of add-on cards (i.e.
mouse cards, network cards, scanner cards, etc...) and on an XT,
IRQ5 is required to support the hard disk. If the required
interrupt is already in use or not functioning correctly, dCOM
will automatically switch to spooling with a polling technique
directly with the port.

You can determine the exact method dCOM is using to talk to a LPT
device by watching the status indication displayed under "Spooling"
when output is actually being transferred to the printer. If an "(I)"


6969

The Print System/Spooler - Menu
----------------------------------------------------------------------

is displayed, the printer acknowledge interrupt is being used and
functioning fine. If a "(P)" is displayed, the printer acknowledge
interrupt could not be used and direct port writes are being used in
polling fashion. If a "(B)" is displayed, BIOS requests are being
used in a polling fashion. An easy way to check this is to take your
printer off-line, select a ASCII file and press "P" to print it.
Disregarding the flashing message "Check Printer", go to the Print
System/Spooler Menu and watch what happens to these indicators when
you put the printer back on-line.

NOTE: Whether a LPT port has been configured to use Port/IRQ instead
of BIOS/Network is only significant if the spooler is active.
If the spooler is disabled, output is always sent through BIOS
(unless redirected to a COM port).


Serial Port RedirectionSerial Port Redirection

The print output can be redirected very easily and efficiently from
any LPT port to any COM port. When the output is redirected to a COM
port, dCOM automatically manages the initialization of the RS232 port,
making this capability totally self-contained within dCOM and
eliminating any need to use the MS-DOS MODE command. When redirection
is enabled to a COM port and the spooler is also enabled, dCOM
services the spooler using interrupts on transmit register empty
(demand driven) which allows high-speed baud rates with minimal impact
on system performance.

Redirection to a COM port supports all common forms of hardware and
software flow control.

While editing a LPT port to be redirected to a COM port, the following
additional commands are also recognized from the keyboard that control
the operating parameters of the RS232 port:

B B - Cycles the baud rate from between 300 to 38400.

E E - Selects even parity.

O O - Selects odd parity.

N N - Selects no parity.

7 7 - Selects 7 data bits.

8 8 - Selects 8 data bits.

1 1 - Selects 1 stop bits.

X X - Toggles Xon/Xoff software flow control.

C C - Toggles CTS/RTS hardware flow control.

D D - Toggles DSR/DTR hardware flow control.

Selecting the proper RS232 parameters is based on what type of
printing device you are sending your output to. You should be very


7070

The Print System/Spooler - Menu
----------------------------------------------------------------------

careful to match these parameters with the way the device is currently
configured.

























































7171

The Alarm/Event Menu
----------------------------------------------------------------------




THE ALARM/EVENT MENUTHE ALARM/EVENT MENU

======================================================================
The alarm menu is invoked by pressing "A" at the utility mode. From
the alarm menu you may enter up to 38 different alarms (events).
There are basically two different types of alarms; daily or calendar.
A daily alarm qualifies based on the day(s) of the week (Monday
Tuesday, etc...). A calendar alarm qualifies based on a specific
date. There are also two different ways to enter calendar alarms: 1)
as recurring calendar which is immune from automatic deletion or, 2)
as a (normal) calendar alarm which is automatically deleted when
obsolete. Recurring calendar alarms are good for such things as
birthdays, anniversaries, etc... Automatic deletion of non-recurring
calendar alarms is checked when dCOM is first run and alarms which
fall within the range of last month through yesterday are then
deleted.

New alarms are added in the alarm menu by selecting an empty slot and
pressing E-Edit. You are then asked to enter the type of alarm being
added (as just described with Daily, Calendar, or Recurring calendar).
The insert and delete options of this menu are relative to the column
you are in, not the entire screen. Insert will insert an empty slot
(alarm) at the current slot, bumping existing entries down until the
next empty slot is encountered in that column (this means it will have
no effect if you are on an empty slot). Hopefully this scheme will
allow you to implement some form of organization using the two columns
(which have no other significance other than that).

When an alarm sounds, the text you enter for the description flashes
on the screen (provided its in text mode) and the speaker beeps.
Alarms are then cancelled by pressing the Esc key (which is

discarded). The beeping will automatically time-out after it has
sounded 30 times if not cancelled sooner, but the flashing description
will continue to display until actually cancelled with the Esc key.
Alarm times are maintained in, and must be entered in 24 hour format.
For example, 1 pm is entered as 13:00.

The alarms/events entered are also complimented with a look-ahead
capability that displays a sorted list of events falling within the
programmed range when dCOM is initially run, or by selecting the "L-
Look-Ahead" option from the alarm menu.

Configuring the look-ahead values desired (in days) for either the
daily and/or calendar alarms is done by selecting the "C-Config"
option from the alarm menu. The values entered include today as part
of the calculation, thus, if you entered a daily look-ahead of 2,
daily alarms scheduled for today and tomorrow would be shown in a
look-ahead scan. Using a value of one would only show alarms
scheduled for today. Enter a value of zero to disable checking for
that particular type of alarm.

After editing the look-ahead values, be sure to use the "S-Save"
option if you want the changes to be permament.



7272

The Macro Keys
----------------------------------------------------------------------




THE MACRO KEYSTHE MACRO KEYS

======================================================================
Webster's definition of the word "macro" when used in a computer-
related context is described as "a single computer instruction that
stands for a sequence of operations". dCOM's macro keys are just that
- you press one key and a whole series of operations can be programmed
to occur. You can think of dCOM's macro keys as having 20 batch files
on line and ready to execute. You can also program a macro key to
load in a whole new set of macro definitions, making the possibilities
of what you can implement endless.

But the macro keys are much more than just having 20 different batch
files on-line and "at the ready". They can be programmed to use the
currently selected file, loop on tagged files, get keyboard input,
test and jump conditionally on a variety of operands, etc.... To
begin using them, all you have to know is how to write a simple batch
file with any text editor.

The macro keys can also be used to build extensive but very "straight
arrow" menuing systems which are fully mouse supported with optional
password protection. Refer to Menuing for more information.

dCOM's internal macro compiler loads ASCII macro files with one read
operation (no extra time spent on character or line-oriented disk I/O)
and then compiles ("tokenizes") each macro command for optimum memory
usage and runtime performance.

Above all else, do not let the extensive capabilities and command set
be intimidating. You can write a macro key file in its simplest form
of just comprising of batch file like commands and then "grow" into
using some of the more sophisticated commands as you become
comfortable.

We believe that the capabilities provided by dCOM's macro command set
are unrivaled and unparalleled in the PC world as we know it today....




















7373

Macro Keys - General Use
----------------------------------------------------------------------




Macro Keys - General UseMacro Keys - General Use

The operation discussed here concerns using the macro keys from the
utility mode. For information on using the macro keys from the Macro
Key Menu Mode, refer to Menuing.

Executing a macro key can be done in a variety of different ways. If
you know which macro key you want, you can simply press its function
key. If you can't remember which function key activates the macro you
want, you can press Backspace to get a pop-up menu of the macro key
titles for the active macro file. When the menu of macro key titles
is on the screen, you can execute one of its macros by pressing the
appropriate function key, or you can use the cursor motion keys to
select the macro key and press Return, or you can click the mouse left
button on the macro title you want to execute. If you decide you
don't want to execute a macro key, you can press Backspace again (or
Esc) to cancel the menu.

You can temporarily gosub (call) a different macro file from the one
that is currently active by pressing the "/" (forward slash). When
the "/" key is used to call up a different macro file, its macro key
titles are displayed as described above when Backspace is pressed.
The difference is that the original macro file is reloaded after you
finish with the menu (either by running one of its macro keys or
escaping it). This capability is also provided for mouse users by
clicking the left button on the "M-File" selection in the sidebar
menu.

You can permanently goto (change) to a different macro file from the
one that is currently active by pressing the "." (period). When the
"." key is used to change macro files, a menu of its titles is
displayed as described above when Backspace is pressed (to make sure
you know you loaded the right macro file). However, when you finish
with this menu, the new macro file remains as the active macro file.
When a different macro file is active from that which was the original
macro file when dCOM was first run, the bottom right corner of the
utility mode's screen will constantly display the name of that macro
file to help you remember that a different set of macro keys is active
from that which you're probably used to.


When you execute a macro key, dCOM will automatically manage whether
it should clear the screen. If the macro key does not display
anything or does not run a program (this limits things pretty much to
changing drives, changing directories, setting environment variables,
or sending printer strings), dCOM's screen will not be cleared.

Whether there is a pause asserted by dCOM after the macro key finishes
so that you can read whatever it might have posted on the screen
before dCOM rebuilds it, is controlled by whether you include the "/W"
switch on a macro's title line. Other title line switches let you
tell dCOM to remove any TSR's loaded by the macro key, and whether to
prompt for a password before allowing the macro key to execute.



7474

Macro Keys - General Use
----------------------------------------------------------------------

The Esc key will abort an executing macro key, provided the Esc key is
not processed by a program that the macro key might be running.
Checking for the Esc key is performed every time a macro line is
executed, but does not eat keystrokes.























































7575

Macro Keys - Editing
----------------------------------------------------------------------




Editing the Macro KeysEditing the Macro Keys

Macro files must be located in the same drive and subdirectory in
which dCOM is located. The default macro file loaded is DCOM.MAC
unless otherwise specified with the "/MF=macrofile" command line
switch when dCOM is run.

Macro files must end with a .MAC extension. All commands that deal
with macro filenames will automatically append a .MAC extension if it
is not given or if a different extension is specified.

dCOM automatically recognizes when changes are made to the active
macro file (when it is edited with dCOM's text editor) and immediately
loads and recompiles it after exiting the text editor.

The utility mode's Alt-K command facilitates editing of existing macro
files by displaying a menu of their filenames. Selecting one invokes
the text editor with that macro file. The Alt-K command is impervious
to what drive or directory is current and to whether any of the
existing macro files are hidden. Additional macro files can be
created by selecting the "[NewFile]" option displayed along with the
existing files when you press Alt-K. An alternate way to create a new
macro file is to go into dCOM's Home Directory and copy a macro file
that already exists to a new name (thus creating it). Since you're
now already in the Home Directory, you could just select the new file
and press "E" to edit it or, if you use Alt-K, the new file will now
appear as a selection for editing.





























7676

Macro Keys - Editing
----------------------------------------------------------------------




Using dCOM's Text EditorUsing dCOM's Text Editor

If you are already familiar with dCOM's text editor, you may skip this
section.

Once inside the editor, its use is fairly straight-forward. Use the
cursor (arrow) keys to move around and change the file. When finished
making changes, use Alt-W to write (save) the file and use Alt-X to
exit the editor. If you had started a new file using the "[NewFile]"
selection of Alt-K, pressing Alt-W will stop and ask for a filename
before proceeding (remember to give it a .MAC extension).

Some more advanced features are:

Use F8 to set the starting and ending lines of a block for subsequent
copying or moving with Alt-C or Alt-M respectively.

Press F7 or Alt-H to bring up the editor's help screen.

To delete a line or insert a line, use Alt-D and Alt-I. (Notice how
everything correlates...?) To delete characters, use the Del key. To
change the insert/overtype mode, use the Ins key.

You can open/switch windows by using the function keys F2, F3 and F4.
Another existing file can be loaded into a different window using the
Alt-E command. Blocks of text from the new window may be copied or
moved from window to window by using F8 to mark the source lines,
switch to the destination window (using F1 through F4), and then using
the Alt-C or Alt-M commands, respectively.



























7777

Macro Keys - File Format
----------------------------------------------------------------------




Macro File FormatMacro File Format

Macro files are standard ASCII files which must end with a .MAC
extension that can be edited with any text editor. An example of the
basic format of a simple macro file is:


,---------------------------------------------------------------------,
MAIN MACRO'S ;;MENU TITLE FOR MENU MODE
| |
| |
[F1] MS-WORD ;;TITLE LINE AND SWITCHES
| |
C: ;;CHANGE DRIVES (IF NEC)
| |
CD \MSWORD ;;CHANGE DIRECTORIES
| |
WORD ;;RUN MS-WORD
| |
CD C:\ ;;CHANGE C: BACK TO ROOT DIR
| |
CDDO ;;RETURN TO ORIG DRIVE & DIR
| |
| |
[F2] dBASE ;;TITLE LINE AND SWITCHES
| |
C: ;;CHANGE DRIVES (IF NEC)
| |
CD \DBASE ;;CHANGE DIRECTORIES
| |
DBASE ;;RUN dBASE
| |
CD C:\ ;;CHANGE C: BACK TO ROOT DIR
| |
CDDO ;;RETURN TO ORIG DRIVE & DIR
| |
| |

| |

| |

| |
| |
[sF10] WORDSTAR 5 ;;TITLE LINE AND SWITCHES
| |
C: ;;CHANGE DRIVES (IF NEC)
| |
CD \WS5 ;;CHANGE DIRECTORIES
| |
WS ;;RUN WORDSTAR
| |
CD C:\ ;;CHANGE C: BACK TO ROOT DIR
| |
CDDO ;;RETURN TO ORIG DRIVE & DIR
| |
`---------------------------------------------------------------------'

The format of a macro file is very "loose". The one shown above is
only an example and includes the use of some macro commands that are
not absolutely necessary. The only hard and fast rule is that you
must start each macro key definition with a title line that has the
following format:

[F#] title[/w][/r][/p:password]

The bracket characters around "F#" are mandatory. The brackets
surrounding the switches (/w, /r, and /p) are used to indicate the
switches are optional and would not be typed in. "F#" has a range of
F1 - F10 and sF1 - sF10 (the "s" designates shifted macro keys). The
title has a maximum displayable length of 20 characters; exceeding
this only causes it to be truncated.

The first non-blank line encountered before the start of any macro key
definition is considered the menu title. The menu title has a maximum



7878

Macro Keys - File Format
----------------------------------------------------------------------

displayable length of 40 characters and is only displayed when the
menu mode is active (/M or /MP command line switches).

Macro key definitions need not be defined in sequence, but defining
them out of order can have a minor degradation on load time when
compiled because inserting is required and could also become rather
confusing.

Blank lines have no functional significance and consume no memory.
Use them as desired to aid in readability.

The implied end of a macro key definition is the start of another (or
the end of file). There is no command to mark the end of a macro key
definition. Duplicate macro definitions are illegal and will produce
an error when invoked.

Comments are supported but not required. They begin when two
semicolons are encountered in sequence and automatically end at the
end of the line. Using comments (or tabs leading to a comment) are
ignored when compiled and consume no additional memory.

The use of lower or upper case is subjective. dCOM is always
insensitive to the use of case, meaning it doesn't care whether you
use lower or upper case characters.

Leading and trailing spaces are ignored and consume no additional
memory (indent to your hearts content for purposes of clarity).
































7979

Macro Keys - Title Line Switches
----------------------------------------------------------------------




Title Line SwitchesTitle Line Switches

The characteristics of each macro key can be somewhat configured by
the use of some optional title line switches. These switches are
specified on the same line that defines the macro, following its title
text.

/W/W Specifies that a pause (wait) is necessary when the macro
terminates. This switch is normally used when a macro runs a
program that displays something but doesn't ask you for
permission before it exists. If you don't tell dCOM that the
macro key needs a pause, it will just go ahead and build its
utility mode screen or menu mode screen, none the wiser that
you wanted to read it. An alternate way to achieve this
effect, but on a conditional basis, is to not use the /W
switch so that overall the macro won't pause, but when you do
want it to pause, use the %W variable (which is more like a
switch and used primarily with the Extension Execute feature)
in combination with an ECHO command.

/R/R This switch tells dCOM to remove any TSR's loaded by the
macro key when the macro key terminates. This is useful if
you need to load a TSR to support a program which is also run
in the same macro key, but you don't need the TSR after the
macro key is finished.

/P:pword/P:pword Specifies that the macro key is password protected. The
password specified following the colon is then required
before a user can execute the macro key. The maximum
recognized length of a password is 10 characters. If you use
password's on your macro keys, it might be a good idea to
hide the macro files (using the utility mode's Alt-H command)
since the password can easily be seen by viewing the macro
file. If you hide a macro file, it will have no ill-effect
on the various commands that display a menu of macro files.





















8080

Macro Keys - Commands Quick Reference
----------------------------------------------------------------------




Macro Commands Quick ReferenceMacro Commands Quick Reference

>>command ..................... Force line to be executed by DOS
dd: ........................... Set a new default drive
:labellabel ....................... Designate a label
BEEPBEEP ......................... Beep the speaker
CDCD path ...................... Change current directory
CDDCDD [d:][path] ............... Change current drive and directory
CDDOCDDO ......................... Change to original drive & dir
CHDIRCHDIR path ................... Change current directory
CLSCLS .......................... Clear the screen
CPOSNCPOSN [line][,column] ........ Positions the cursor
DODO mask ...................... Execute block for each file in mask
ECHOECHO text .................... Display text
ENDDOENDDO ........................ Designate end of DO block
ENDIFENDIF ........................ Designate end of IF block
EXITEXIT ......................... Exit the macro key
GETGET tvar [prompt] ............ Get from keybrd to temp variable
GOSUBMFGOSUBMF macrofile [key] ...... Gosub (load) a new macro file
GOTOGOTO label ................... Unconditional jump to a label
GOTOMFGOTOMF macrofile [key] ....... Goto (load) a new macro file
IFIF op1 <=> op2 cmdcmd ........... Conditional cmd using two oprnds
IFIF [NOT] EXIST file cmdcmd ...... Conditional cmd if file exists
IFIF op1 <=> op2 THENTHEN .......... Conditional block using two oprnds
IFIF [NOT] EXIST file THENTHEN ..... Conditional block if file exists
LOOPLOOP label ................... Loop to label if more tagged files
MACROMENUMACROMENU ON/OFF ............. Turn menu mode on or off
PAUSEPAUSE [text] ................. Pause for keystroke
PRINTSTRPRINTSTR text ................ Send text to the printer
REMREM [text] ................... Remark (comment) line
RETURNRETURN ....................... Return to macro after GOSUBMF
RUNMACRORUNMACRO key[key] ............ Set macro key to run (i.e. /F1)
SELECTSELECT mask [text][/d][/n] ... Display a menu of files to sel from
SETSET var=text ................. Set environment or temp variable






















8181

Macro Keys - Variables Quick Reference
----------------------------------------------------------------------




Macro Key Variables Quick ReferenceMacro Key Variables Quick Reference

%0 - %9 .. Temporary variables (set with SET or GET)
%FN ...... Currently selected file (no extension)
%FE ...... Currently selected file and extension
%TN ...... Current tagged filename (no extension)
%TE ...... Current tagged filename and extension
%DN ...... Current DO filename (no extension)
%DE ...... Current DO filename and extension
%SN ...... Filename (no extension) selected with SELECT
%SE ...... Filename and extension selected with SELECT
%SC ...... Count of files found by SELECT

%TC ...... Count of tagged files
%EL ...... Last error level returned by a program
%DD ...... Default drive
%CD ...... Current subdirectory
%OD ...... Original default drive macro was run from
%OS ...... Original subdirectory macro was run from
%TI ...... System time
%DT ...... System date
%KB ...... Keyboard character if avail, else = %(255)
%W ....... Forces a pause when macro terminates
%(###) ... Generate untypeable ASCII character
%var% .... Access an environment variable
































8282

Macro Keys - Command Reference
----------------------------------------------------------------------




Macro Key Command ReferenceMacro Key Command Reference

The following section describes the macro commands in detail.

All macro commands recognized by dCOM are executed directly by dCOM,
not by building some temporary batch file and then calling COMMAND.COM
to execute it like some other menu programs and shells....

When a ASCII macro file is compiled ("tokenized"), unrecognized
commands are considered programs which, will be run directly by dCOM
without calling a second copy of COMMAND.COM. Before considering a
command unrecognized, it is scanned against a list of internal MS-DOS
commands. If the command matches an internal MS-DOS command (i.e.
TIME, COPY, etc...), a second copy of COMMAND.COM is used to run it.
When a program is run directly, all forms of redirection are supported
except piping. If you need piping, then you should start the macro
line with a ">" to force dCOM to use a second copy of COMMAND.COM to
run the program instead of dCOM running the program directly.

Leading and trailing spaces are always ignored for memory
conservation. Additionally, spaces imbedded between a command and its
parameters are also ignored. The only time when this might prove to
be a problem is if you use the ECHO command and want to indent some
with spaces before the text is displayed. To work around this
idiosyncrasy, use some tab characters to space with between the ECHO
command and its text.

Comments may be specified at any place in a macro line by using two
semicolons in sequence ("; ;"). When a comment is encountered, the
rest of the line is ignored and consumes no memory. If tabs are used
before a comment to position it on a consistent column, they too are
considered insignificant and consume no memory.

In the unlikely event that one of the macro commands coincides with
the name of a program you are trying to run, precede the program's
name with a ">" to force dCOM to use a second copy of COMMAND.COM to
run the program and keep it from mistakenly executing the macro
command instead of the program.

The macro command set is batch file compatible (meaning you should be
able to directly import a batch file and then precede it with a title
line), with the exception of the batch "IF ERRORLEVEL ## GOTO"
command. The equivalent statement using the macro keys is
"IF %EL=>## GOTO".


,---------------------------------------------------------------------,
d:d:
| |
`---------------------------------------------------------------------'
Sets a new default drive (i.e. "A:", or "C:").






8383

Macro Keys - Command Reference
----------------------------------------------------------------------

,---------------------------------------------------------------------,
:label:label
| |
`---------------------------------------------------------------------'
Designates a label or comment.

Any line beginning with a colon is considered a label.

Labels are used to specify the target of a GOTO or LOOP macro
command. Label lines themselves are not executed. When you enter a
label's text as part of a GOTO or LOOP command, do not include the
colon - just the text following the colon. Labels may contain
imbedded spaces with no ill effect and are case insensitive.

This command behaves identically with its MS-DOS counterpart.


,---------------------------------------------------------------------,
BEEPBEEP
| |
`---------------------------------------------------------------------'
Beeps the speaker


,---------------------------------------------------------------------,
CDCD path
| |
CHDIRCHDIR path
| |
`---------------------------------------------------------------------'
Changes the current directory.

If no drive is given, the default drive is assumed.

This command behaves identically with its MS-DOS counterpart.


,---------------------------------------------------------------------,
CDDCDD [d:][path]
| |
`---------------------------------------------------------------------'
Changes both the default drive and its current directory.

This command is provided as a shortcut to having to use two lines to
change drives and subdirectories before running a program, etc....


,---------------------------------------------------------------------,
CDDOCDDO
| |
`---------------------------------------------------------------------'
Changes back to what was the default drive and its current directory
when the macro key was originally executed.

Even though the logical use of this command would be on the end of a
macro key, the use of this command is purely optional and can occur
more than once as desired.








8484

Macro Keys - Command Reference
----------------------------------------------------------------------

,---------------------------------------------------------------------,
CLSCLS
| |
`---------------------------------------------------------------------'
Clears the screen and homes the cursor.

This command behaves identically with its MS-DOS counterpart.


,---------------------------------------------------------------------,
CPOSNCPOSN [line][,column]
| |
`---------------------------------------------------------------------'
Positions the cursor to the line and/or column specified.


,---------------------------------------------------------------------,
DODO mask
| |
`---------------------------------------------------------------------'
Repeatedly executes a block of macro lines following the DO command,
up to the matching ENDDO, for each occurrence of a file found with
mask.

Within a DO block, the %DN and %DE variables are used to access the
current iteration's filename, or filename and extension
(respectively).

If no files qualify with the mask specified, execution jumps
immediately around the DO block.

Loading TSR's within a DO block should be avoided. When the DO
command is encountered, a memory block is allocated and filled in
with a list of files that qualify with the mask given. If a TSR is
loaded within the DO block, it will "sandwich" the DO memory block,
making it useless after it is deallocated when the DO command
terminates.

DO commands ARE NOT nestable.

Example:

[F1] CONV .ARC TO .ZIP ;;TITLE LINE AND SWITCHES
MD C:\Z$ ;;MAKE A TEMPORARY DIRECTORY
DODO *.ARC ;;START OF DO BLOCK
PKUNPAK %DE%DE C:\Z$ ;; UNARCHIVE CURRENT DO FILE
DEL %DE%DE ;; DELETE CURRENT DO FILE
PKZIP -m %DN%DN C:\Z$\*.* ;; REZIP (MOVE) TO DO FILE
ENDDOENDDO ;;END OF DO BLOCK
RD C:\Z$ ;;REMOVE TEMPORARY DIRECTORY


,---------------------------------------------------------------------,
ECHOECHO text
| |
`---------------------------------------------------------------------'
Echo's (displays) text to the screen.

The cursor is automatically advanced to the next line after the text
is displayed unless the text ends with a semicolon (";"), which
isn't displayed. The ECHO command supports redirection (using the


8585

Macro Keys - Command Reference
----------------------------------------------------------------------

">", ">>", an "<" operators) but, as with other macro commands,
piping is not internally supported. If you need piping, prefix the
ECHO command with a ">" to force dCOM to use COMMAND.COM to execute
the line (i.e. ">ECHO Y|DEL C:\TEMP\*.*").


,---------------------------------------------------------------------,
ENDDOENDDO
| |
`---------------------------------------------------------------------'
Specifies the end of a DO block.


,---------------------------------------------------------------------,
ENDIFENDIF
| |
`---------------------------------------------------------------------'
Specifies the end of an IF block.


,---------------------------------------------------------------------,
EXITEXIT
| |
`---------------------------------------------------------------------'
Forces an early termination of the macro key.


,---------------------------------------------------------------------,
GETGET tvar [prompt]
| |
`---------------------------------------------------------------------'
Gets a response from the keyboard into a temporary variable,
optionally displaying a prompt first. For more information on the
temporary variables (%0 - %9), refer to Macro Variables Reference.

If the Esc key is pressed, the macro key is terminated.

Example:

[F1] ARC TAG'D FILES ;;TITLE LINE AND SWITCHES
GETGET %1 Enter Zip File: ;;GET .ZIP FILENAME IN %1
:L1 ;;LABEL FOR LOOP JUMP
ECHO Arcing %TE to %1 ;; DISPLAY CURRENT LOOP FILE
PKZIP -ex %1 %TE >NUL ;; ADD IT TO .ZIP FILE
LOOP L1 ;;LOOP THROUGH TAGGED FILES


,---------------------------------------------------------------------,
GOTOMFGOTOMF macrofile [key]
| |
`---------------------------------------------------------------------'
Specifies and loads a new active macro file but does not save any
return information.

If the optional key (e.g. F1 or SF10) is also specified, the
specified macro key(s) are executed immediately after the new macro
file loads. Multiple key's can be given by preceding their
occurrence(s) with a "/". Multiple key's are executed in numerical
order, not the order specified.





8686

Macro Keys - Command Reference
----------------------------------------------------------------------

,---------------------------------------------------------------------,
GOSUBMFGOSUBMF macrofile [key]
| |
`---------------------------------------------------------------------'
Loads a new macro file, saving the current macro filename on a gosub
stack. RETURN is used to change back to the macro file active when
GOSUBMF was used. The gosub stack can hold 9+ nested macro
filenames (depending on their length).

If the optional key (e.g. F1 or sF10) is also specified, the
specified macro key(s) are executed immediately after the new macro
file loads. Multiple key's can be given by preceding their
occurrence(s) with a "/". Multiple key's are executed in numerical
order, not the order specified.

Returning from a gosub'd macro file does not continue execution with
the macro line following the GOSUBMF. The complexities to support
this are beyond the scope for which this command was intended.

This command performs an automatic MACROMENU ON. If you were in the
utility mode and you executed a macro key that has this command, the
new macro file would load and pop-up automatically. When you finish
with the gosub'd menu, the utility mode automatically returns to the
original macro file.

Using the GOSUBMF command is the key to building layered menuing
structures. Refer to Menuing for more information.

Example:

MAIN MENU ;;MENU TITLE

[F1] FORMAT DISK MENU ;;TITLE LINE AND SWITCHES
GOSUBMFGOSUBMF FORMAT ;;CALL FORMAT MACRO FILE

[F2] WORD PROC MENU ;;TITLE LINE AND SWITCHES
GOSUBMFGOSUBMF WORDPROC ;;CALL WORDPROC MACRO FILE




[sF10] UTILITY MENU ;;TITLE LINE AND SWITCHES
GOSUBMFGOSUBMF UTILITYS ;;CALL UTILITYS MACRO FILE


This example calls FORMAT.MAC, WORDPROC.MAC, and UTILITYS.MAC.
Their macro keys would then perform the tasks desired, along with a
key that performs a RETURN.












8787

Macro Keys - Command Reference
----------------------------------------------------------------------

,---------------------------------------------------------------------,
GOTOGOTO label
| |
`---------------------------------------------------------------------'
Jumps unconditionally to the label specified. If the label used is
"ENDM", the macro key will be terminated (serving the same purpose
as using the EXIT command - but carried forward to maintain
compatibility).




















































8888

Macro Keys - Command Reference
----------------------------------------------------------------------

,---------------------------------------------------------------------,
IFIF op1 <=> op2 command
| |
IFIF [NOT] EXISTEXIST pathname command
| |
IFIF op1 <=> op2 THENTHEN
| |
IFIF [NOT] EXISTEXIST pathname THENTHEN
| |
`---------------------------------------------------------------------'
Executes a command or block of commands if the result of the
expression is true.

The command can be any valid macro command or program name,
including another IF command. This means you can nest many IF
commands on one line (subject only to the maximum line length of 255
characters), which would result in the command of the last IF to be
executed only when all IF expressions are true (a gigantic AND
condition).

If the key word "THEN" is used instead of macro command or program
name, the block of macro lines following the IF command (terminated
with a matching ENDIF) are executed if the expression is true;
otherwise, execution continues with the macro line following the
matching ENDIF. Block IF commands are nestable to no limit.

When you write an IF command, care must be taken to ensure that
Operand2 DOES NOT contain any imbedded spaces between what is meant
to be the start of Operand2 and what was meant to be its end, in its
original form. Spaces are used internally to delimit Operand2 from
the start of the command to execute. If Operand2 expands into some
spaces because of a variable, this is not a problem.

If you are using an IF command with relational operators ("<", "=",
or ">"), at least one must be specified, but more than one can be
used. If both operands are totally numeric, a numeric comparison
will be used. When operands are not numeric, the comparison is case
insensitive. If operand1 is shorter than operand2 but equal to it
for as many characters as it has, it will be considered less than
operand2. The NOT operator, though not shown, can also be used
before operand1 to invert the result of a true/false comparison.

If you are using the EXIST form of the IF command, the pathname
given can include wildcards ("?" and "*"), and also a pathspec to a
drive or directory other than the default.

Examples:

[F1] COMPILE FILE/w ;;TITLE LINE AND SWITCHES
MASM %FN,,%FN; ;;COMPILE SELECTED FILE
IFIF %EL>0 GOTO ERROR ;;IF ERROR GOTO ERROR
LINK %FN; ;;LINK THE PROGRAM
IFIF %EL>0 GOTO ERROR ;;IF ERROR GOTO ERROR
DEL %FN.OBJ ;;DELETE THE .OBJ FILE
EXIT ;;EXIT THE MACRO KEY
:ERROR ;;LABEL FOR GOTO ERROR
BEEP ;;BEEP THE SPEAKER


[F1] MOVE .BAK FILES ;;TITLE LINE AND SWITCHES
IF EXISTIF EXIST *.BAK THENTHEN ;;IF THERE ARE ANY .BAK FILES


8989

Macro Keys - Command Reference
----------------------------------------------------------------------

COPY *.BAK D:\BACKUP ;; THEN COPY THEM TO D:\BACKUP
DEL *.BAK ;; AND THEN DELETE THEM
ENDIFENDIF ;;END OF IF BLOCK


,---------------------------------------------------------------------,
LOOPLOOP label
| |
`---------------------------------------------------------------------'
Loops back to the label specified for each occurrence of a tagged
file.

Within a LOOP block, the %TN and %TE variables are used to access
the current iteration's filename, or filename and extension
(respectively).

If no files are tagged, encountering a %TN or %TE variable during a
macro key's execution generates an error. This condition can be
trapped using the %TC variable to test whether any files are tagged.

Example:

[F1] ARCHIVE TAGGED/W ;;TITLE LINE AND SWITCHES
IF %TC%TC < 1 THEN ;;IF THERE ARE NO TAGGED FILES
BEEP ;; THEN BEEP THE SPEAKER
ECHO Need Tagged Files ;; DISPLAY ERROR MESSAGE
EXIT ;; AND EXIT THE MACRO KEY
ENDIF ;;END OF IF BLOCK
GET %1 Enter Arc File: ;;GET A FILENAME IN %1
:L1:L1 ;;START OF LOOP BLOCK
ECHO Zipping %TE%TE to %1 ;; DISPLAY CURRENT LOOP FILE
PKZIP %1 %TE%TE >NUL ;; ADD IT TO .ZIP FILE
LOOP L1LOOP L1 ;;LOOP THROUGH TAGGED FILES



























9090

Macro Keys - Command Reference
----------------------------------------------------------------------

,---------------------------------------------------------------------,
MACROMENUMACROMENU ON/OFF
| |
`---------------------------------------------------------------------'
Turns the display of macro key titles (menu) on or off.

Using "MACROMENU ON" might be used in conjunction with a GOTOMF in
order to change macro files and then pop-up the new menu of macro
keys. If you do so, use the MACROMENU command before the GOTOMF
command because the GOTOMF command is executed immediately. The
GOSUBMF macro command automatically turns the MACROMENU ON, making
its use in conjunction with this command redundant.

If the menu mode is active (/M or /MP command line switches), using
"MACROMENU OFF" deactivates the menu mode, causing dCOM to drop
down to its utility mode. (Pressing Esc does the same thing but
requires the access password if /MP was used.) Using
"MACROMENU OFF" in a password protected macro key allows you to
provide another way to exit the menu mode without having to
unnecessarily compromise the system's access password.

Example:

[F1] UTILITY MODE/P:pwd ;;TITLE LINE AND SWITCHES
MACROMENU OFFMACROMENU OFF ;;EXIT MENU MODE


,---------------------------------------------------------------------,
PAUSEPAUSE [text]
| |
`---------------------------------------------------------------------'
Displays the message "Press Return to Proceed or Escape to Cancel"
and waits for a proper response.

If text is also supplied, it is displayed on the line prior to the
pause message.

If the Esc key is pressed at the prompt, the macro key is
terminated.


,---------------------------------------------------------------------,
PRINTSTRPRINTSTR text
| |
`---------------------------------------------------------------------'
Sends text to the default printer device.

A carriage return/line-feed sequence is NOT automatically appended.
If one is needed, append a "%(13)%(10)" to the text being printed.

Example:

[F1] SET COMPRESSED ;;TITLE LINE AND SWITCHES
PRINTSTRPRINTSTR %(15) ;;SEND COMPRESSED CODE








9191

Macro Keys - Command Reference
----------------------------------------------------------------------

,---------------------------------------------------------------------,
REMREM [text]
| |
`---------------------------------------------------------------------'
Used to include a remark or comment text.

Remark lines are ignored when compiled and consume no memory.


,---------------------------------------------------------------------,
RETURNRETURN
| |
`---------------------------------------------------------------------'
Returns to (loads) the previous macro file which had used a GOSUBMF
command to call in the current macro file.

If RETURN is encountered and no GOSUBMF is in effect, no action is
taken and execution continues with the following macro line.


,---------------------------------------------------------------------,
RUNMACRORUNMACRO key
| |
`---------------------------------------------------------------------'
Specifies an additional macro key to be executed when the current
macro key terminates.

Multiple key's can be given by preceding their occurrence(s) with a
"/".


,---------------------------------------------------------------------,
SELECTSELECT mask [text][/d][/n]
| |
`---------------------------------------------------------------------'
Displays a menu of files found in mask. A selected filename can
then be accessed in following macro lines using the %SN and %SE
variables. The count of files found with the mask can be accessed
with the %SC variable.

If no files qualify with the mask, no menu is displayed and
execution continues with the following macro line. The %SN and %SE
variables will then return a null string. If needed, this condition
can be tested for using the %SC variable in an IF command, after the
SELECT command.

If the menu is aborted with the Esc key or mouse right button, the
macro key is terminated.

Any text following the mask will be displayed as header text above
the menu of qualifying filenames.

If the /D switch is specified, subdirectory names are displayed
instead of filenames.

If the /N switch is specified, a "[NewFile]" selection is also
included. If "[NewFile]" is selected, the %SN and %SE variables
will return a null (empty) string. If you then run a program only
using one of these variables as its parameters, a lot of programs
will then assume a new file since it just received nothing on its
command line. If you wish to test whether "[NewFile]" has been


9292

Macro Keys - Command Reference
----------------------------------------------------------------------

selected before running a program, you could use the IF command as
follows: "IF [%SN]=[] THEN". The square brackets are necessary
around both operands so that the IF command is assured of having a
discernable 1st operand. (Any quoting character would serve for
this test as long as its use is the same for both operands.)

If the macro key has done nothing to force the screen to be cleared
(no ECHO commands or programs run), the menu of filenames will
overlay dCOM's utility screen in bold colors. If the screen had
been cleared by a preceding command, the menu will display using the
current CGA colors dCOM is configured for (if you are using the EGA
palette, you will have to temporarily disable it to see what the CGA
colors are).

This command was mainly intended for use in the menuing mode (/M or
/MP command line switches) since no opportunity would normally be
given for the user to select a file before invoking a macro key.
But this in no way implies that its use is limited to the menuing
mode.

Example:

[F1] RUN MS-WORD ;;TITLE LINE AND SWITCHES
C: ;;SET DRIVE C AS DEFAULT
CD \WORD ;;CHANGE DIR'S TO \WORD
SELECTSELECT *.doc Pick File/N ;;PICK A FILE TO EDIT
WORD %SE%SE ;;RUN MS-WORD WITH THE FILE
CD \ ;;CHANGE DIR'S BACK TO ROOT
CDDO ;;RETURN TO ORIG DRIVE & DIR


,---------------------------------------------------------------------,
SETSET var=text
| |
`---------------------------------------------------------------------'
Sets an environment or temporary variable.

A temporary variable is set using the syntax: "SET %0=text".

A temporary variable can be set to itself plus additional text by
using: "SET %0=%0 text".

An environment variable can be set to itself plus additional text by
using: "SET PATH=%PATH%;c:\test".

This command behaves identically with its MS-DOS counterpart except
that it doesn't "puke" when the environment space is full.


,---------------------------------------------------------------------,
>>command
| |
`---------------------------------------------------------------------'
Forces the command to be passed to a second copy of COMMAND.COM.

Precede macro lines with a ">" if you need piping or if a desired
program's name happens to coincide with the same name as one of the
macro commands.



9393

Macro Keys - Variable Reference
----------------------------------------------------------------------




Macro Key Variable ReferenceMacro Key Variable Reference

All macro commands that accept text as an argument (except labels)
recognize the use of macro variables and expand them into a special
meaning. Use of the variables is not case sensitive (meaning you can
type them in either lower or upper case). Using these variables is
the heart of building macros that react to what file is currently
selected, tagged files, etc....

If you invoke a macro key and the currently selected file is named
"MYLIFE.DOC", consider the following example of how the %FN and %FE
variables would expand:

Macro Line Becomes
,------------, ,-----------------,
| word %fn %fn |---- | word MYLIFEMYLIFE |
`------------' `-----------------'

,------------, ,-----------------,
| wp %fe %fe |---- | wp MYLIFE.DOCMYLIFE.DOC |
`------------' `-----------------'


The following section describes each macro variable in detail.


,---------------------------------------------------------------------,
%0%0 - %9%9
| |
`---------------------------------------------------------------------'
Are used to access a temporary variable.

Temporary variables are automatically deleted after the last macro
key terminates. They can be used to hold keyboard responses,
working values or environment variables, pass parameters between
macro keys, etc.... Temporary variables use the environment for
storage. If you use them frequently or get a "Environment Space
Full" error in a macro line that uses one, you should start dCOM
with a bigger environment using the /E command line switch (i.e.
/E300). Refer to Command Line Switches for more information.

















9494

Macro Keys - Variable Reference
----------------------------------------------------------------------

,---------------------------------------------------------------------,
%FN%FN
| |
%FE%FE
| |
`---------------------------------------------------------------------'
Expands into the currently selected filename or the currently
selected filename and its extension (respectively). These variables
cannot be used in a macro key designed to be used in the menu mode
(/M or /MP command line switches) without producing an error since
there is no way to select a file.

Using these variables in a macro command lets you build your own
point-n-shoot macro commands.


,---------------------------------------------------------------------,
%TN%TN
| |
%TE%TE
| |
`---------------------------------------------------------------------'
Expands into the current iteration of a LOOP's filename or filename
and extension (respectively). These variables cannot be used in a
macro key designed to be used in the menu mode (/M or /MP command
line switches) without producing an error since there is no way to
tag files.

Using these variables in a LOOP block lets you build macro keys to
handle multiple tagged files.


,---------------------------------------------------------------------,
%DN%DN
| |
%DE%DE
| |
`---------------------------------------------------------------------'
Expands into the current iteration of a DO block's filename or
filename and extension (respectively).

Using these variables in a DO block lets you build macro keys to
handle multiple files that have something in common (i.e. .BAK
files).


,---------------------------------------------------------------------,
%SN%SN
| |
%SE%SE
| |
`---------------------------------------------------------------------'
Expands into the filename or filename and its extension
(respectively) that was picked with the last SELECT command.


,---------------------------------------------------------------------,
%SC%SC
| |
`---------------------------------------------------------------------'
Returns the count of files found with the last SELECT command.







9595

Macro Keys - Variable Reference
----------------------------------------------------------------------

,---------------------------------------------------------------------,
%TC%TC
| |
`---------------------------------------------------------------------'
Returns the count of files currently tagged.


,---------------------------------------------------------------------,
%EL%EL
| |
`---------------------------------------------------------------------'
Returns the last error level returned by the last program executed.


,---------------------------------------------------------------------,
%DD%DD
| |
`---------------------------------------------------------------------'
Returns the current default drive (i.e. "C:").


,---------------------------------------------------------------------,
%CD%CD
| |
`---------------------------------------------------------------------'
Returns the current directory (i.e. "\word\", or "\"). The text
returned will always have a trailing backslash.


,---------------------------------------------------------------------,
%OD%OD
| |
`---------------------------------------------------------------------'
Returns the original drive which was the default when the macro key
was first invoked.


,---------------------------------------------------------------------,
%OS%OS
| |
`---------------------------------------------------------------------'
Returns the original subdirectory which was the current directory
when the macro key was first invoked. The text returned will always
have a trailing backslash making it suitable for use in combinations
with other variables (i.e. %OD%OS%FE would produce the full pathspec
to the originally selected file).



















9696

Macro Keys - Variable Reference
----------------------------------------------------------------------

,---------------------------------------------------------------------,
%KB%KB
| |
`---------------------------------------------------------------------'
Returns a keyboard character if one is waiting in the keyboard
buffer.

If no keyboard character is waiting, a value of %(255) is returned.
If the keyboard character waiting is an ASCII 0 (used as a escape
character when some extended keys like the function keys are
pressed), it will be translated to a %(254).

This variable must be used in connection with the SET command since
it is impossible to call it again and get the same character.

Example:

[F1] WAIT FOR KEYPRESS ;;TITLE LINE AND SWITCHES
:L1 ;;JUMP POINT IF NO KEY
SET %1=%KB%KB ;;%1=POSSIBLE KEYBOARD CHAR
IF %1=%(255) GOTO L1 ;;NO KEYBOARD CHARACTER YET
ECHO Key pressed was: %1 ;;DISPLAY THE KEY PRESSED


,---------------------------------------------------------------------,
%TI%TI
| |
`---------------------------------------------------------------------'
Returns the current system time in the format: HH:MM:SS.


,---------------------------------------------------------------------,
%DT%DT
| |
`---------------------------------------------------------------------'
Returns the current system date in the format: YY-MM-DD.


,---------------------------------------------------------------------,
%(###)%(###)
| |
`---------------------------------------------------------------------'
Generates an untypeable ASCII character.

This could be handy for sending printer codes, etc... There is no
requirement to provide three digits if only one or two are needed.

Examples:



[F1] WAIT FOR KEYPRESS ;;TITLE LINE AND SWITCHES
:L1 ;;JUMP POINT IF NO KEY
SET %1=%KB ;;%1=POSSIBLE KEYBOARD CHAR
IF %1=%(255)%(255) GOTO L1 ;;NO KEYBOARD CHARACTER YET
ECHO Key pressed was: %1 ;;DISPLAY THE KEY PRESSED


[F1] SET COMPRESSED ;;TITLE LINE AND SWITCHES
PRINTSTR %(15)%(15) ;;SEND COMPRESSED CODE



9797

Macro Keys - Variable Reference
----------------------------------------------------------------------


,---------------------------------------------------------------------,
%var%%var%
| |
`---------------------------------------------------------------------'
Returns the current contents of an environment variable.

This could be handy if you want to temporarily change the contents
of an environment variable, and then change it back, or expand the
current contents of one without having to worry about what it is
already set to. You can also use the IF command to test on the
value of an environment variable.

Example:

[F1] REVISE PATH ;;TITLE LINE AND SWITCHES
SET %9=%PATH%%PATH% ;;SAVE CURRENT PATH IN %9
SET PATH=%PATH%%PATH%;C:\WORD ;;REVISE IT TO INCLUDE C:\WORD
WORD ;;RUN MS-WORD FROM PATH
SET PATH=%9 ;;RESTORE PATH TO ORIG CONTENTS








































9898

Macro Keys - Examples
----------------------------------------------------------------------




Macro Key ExamplesMacro Key Examples

The following examples are provided to help illustrate dCOM's macro
key capabilities and not to in any way imply an endorsement or
advocate the use of one brand of software over another.

When considering these examples, a certain amount of interpretation,
adjustment, and/or substitution may be required to suit your own
situations.

Each of the macro examples uses the F1 key for its title line
definition. If you implement any of these examples, you will probably
need to change F1 to a key that hasn't already been defined. Also,
every macro line has been commented with an explanation of what the
line does. If you use these examples as a basis to build some of your
macro keys, typing in the comments is purely optional.


Changing to a Frequently Used DirectoryChanging to a Frequently Used Directory

,---------------------------------------------------------------------,
[F1] CD C:\DOCS ;;TITLE LINE AND SWITCHES
| |
CDD C:\DOCS ;;CHANGE DRIVE & DIRS
| |
`---------------------------------------------------------------------'

This example changes drives and subdirectories to C:\DOCS. Even
something as simple as this can prove to be quite a time saver if you
have a reason to frequently visit particular subdirectories. Another
variation along the same lines would be to use a macro key to just log
a new drive. This would be done by replacing "CDD C:\DOCS" with
something like "A:".



Running a ProgramRunning a Program

,---------------------------------------------------------------------,
[F1] WORDSTAR 5 ;;TITLE LINE AND SWITCHES
| |
CDD C:\WS5 ;;CHANGE DRIVE & DIRS
| |
WS ;;RUN WORDSTAR
| |
CD C:\ ;;CHANGE C: BACK TO ROOT DIR
| |
CDDO ;;RETURN TO ORIG DRIVE & DIR
| |
`---------------------------------------------------------------------'

This example just runs Wordstar, but it typifies the basic "shell" of
how a macro would look that runs programs. Note that we took the
extra precaution of changing drives and directories with the "CDD"
macro command. Where if all we did was a "CD \WS5", the macro
wouldn't work properly if it wasn't executed from drive C: (or
whatever drive Wordstar is located on).






9999

Macro Keys - Examples
----------------------------------------------------------------------

Running a Program That Uses TSR'sRunning a Program That Uses TSR's

,---------------------------------------------------------------------,
[F1] WORDSTAR 5/r ;;TITLE LINE AND SWITCHES
| |
CDD C:\WS5 ;;CHANGE DRIVE & DIRS
| |
WF ;;LOAD WORD FINDER (A TSR)
| |
WS ;;RUN WORDSTAR
| |
CD C:\ ;;CHANGE C: BACK TO ROOT DIR
| |
CDDO ;;RETURN TO ORIG DRIVE & DIR
| |
`---------------------------------------------------------------------'

This example is a spin-off of the one above that runs Wordstar. The
differences are that the macro is configured to remove TSR's when it
terminates (set using the /R switch on the title line) and also loads
Word Finder before running Wordstar. Word Finder is a Thesaurus type
TSR program which is useful when used in conjunction with Wordstar,
but is normally of little use after you are done working in Wordstar.
So why tie up your precious conventional memory with it?



Running a Program Using Selected FileRunning a Program Using Selected File

,---------------------------------------------------------------------,
[F1] MS-WORD ;;TITLE LINE AND SWITCHES
| |
CDD C:\MSWORD ;;CHANGE DRIVE & DIRS
| |
WORD %OD%OS%FE ;;RUN WORD WITH SEL'D FILE
| |
CD C:\ ;;CHANGE C: BACK TO ROOT DIR
| |
CDDO ;;RETURN TO ORIG DRIVE & DIR
| |
`---------------------------------------------------------------------'

This example runs MS-Word, passing to it the full pathspec of what was
currently selected when the macro key was invoked. %OD expands into
the original drive that was active when the macro key was pressed
(i.e. "C:"). %OS expands into the original subdirectory that was
active when the macro key was pressed (i.e. "\DOCS\"). And %FE
expands into the currently selected filename with its extension. An
alternate way to approach this would be to not change drives or
directories before running MS-WORD, but instead stay in the current
drive and directory and have MS-WORD run having been found in the
PATH. In this event, you would not have to pass the full path
(%OD%OS), but could get by with just using "WORD %FE". However,
running a program from the PATH may require that the program have the
intelligence to know where to find the rest of its data or overlay
files. In this case, MS-Word is. But others may not be.














100100

Macro Keys - Examples
----------------------------------------------------------------------

Run a Program, Selecting a File First (I)Run a Program, Selecting a File First (I)

,---------------------------------------------------------------------,
[F1] MS-WORD ;;TITLE LINE AND SWITCHES
| |
SELECT C:\DOCS\*.DOC PICK FILE/n ;;PROMPT FOR FILE TO USE
| |
CDD C:\MSWORD ;;CHANGE DRIVE & DIRS
| |
WORD C:\DOCS\%SE ;;RUN WORD WITH FILE PICKED
| |
CD C:\ ;;CHANGE C: BACK TO ROOT DIR
| |
CDDO ;;RETURN TO ORIG DRIVE & DIR
| |
`---------------------------------------------------------------------'

This example displays a window with a menu of all files in C:\DOCS
that have a .DOC extension. After one is selected, MS-Word is then
run and passed the full pathspec of the filename picked. %SE expands
into the filename and extension of the file selected using the macro
SELECT command.



Run a Program, Selecting a File First (II)Run a Program, Selecting a File First (II)

,---------------------------------------------------------------------,
[F1] HARVARD ;;TITLE LINE AND SWITCHES
| |
SELECT C:\HARVARD\*.CHT SEL FIL/n ;;PROMPT FOR FILE TO USE
| |
CDD C:\HARVARD ;;CHANGE DRIVE & DIRS
| |
HG %SE ;;RUN HARVARD W/FILE PICKED
| |
CD C:\ ;;CHANGE C: BACK TO ROOT DIR
| |
CDDO ;;RETURN TO ORIG DRIVE & DIR
| |
`---------------------------------------------------------------------'

This example prompts for the user to select a Harvard Graphics chart
file and then runs Harvard passing it the filename of the chart
picked. We included this example even though its very similar to the
previous example - because Harvard is particularly infamous for its
awkward file retrieval technique. This example is a little different
from the preceding one though in that it selects files from the same
directory that it will run the program from. While it is true that we
could have changed drives and directories into C:\HARVARD before using
the SELECT commands, spelling out the entire path for the SELECT
command without changing directories first lets you escape the macro
key and not find yourself sitting in the C:\HARVARD directory. Also
note that due to lack of room (on paper), the text that the SELECT
command displays for the header "SEL FIL" is extremely abbreviated and
should probably be expanded to something like "Select a Chart".















101101

Macro Keys - Examples
----------------------------------------------------------------------

Run a Program, Selecting a Dir & FileRun a Program, Selecting a Dir & File

,---------------------------------------------------------------------,
[F1] MS-WORD ;;TITLE LINE AND SWITCHES
| |
SELECT C:\DOC\*.* PICK A DIR/d ;;PROMPT FOR DIR TO USE
| |
SET %1=%SE ;;%1=SELECTED DIR
| |
SELECT C:\DOC\%1\*.DOC SEL FILE/n ;;PROMPT FOR FILE TO USE
| |
CDD C:\MSWORD ;;CHANGE DRIVE & DIRS
| |
WORD C:\DOC\%1\%SE ;;RUN WORD WITH THE FILE
| |
CD C:\ ;;CHANGE C: BACK TO ROOT DIR
| |
CDDO ;;RETURN TO ORIG DRIVE & DIR
| |
`---------------------------------------------------------------------'

This example displays a menu of existing directories (that you have
categorized your document files by) and prompts for which directory to
use. It then displays a menu of all files in that directory having a
.DOC extension and prompts for which one to use. It then runs MS-Word
asking it to edit the selected file.



Dropping to DosDropping to Dos

,---------------------------------------------------------------------,
[F1] DROP TO DOS ;;TITLE LINE AND SWITCHES
| |
ECHO Type 'EXIT' to Return ;;ECHO HOW TO GET BACK
| |
C:\COMMAND ;;RUN A COPY OF COMMAND.COM
| |
`---------------------------------------------------------------------'

This example displays a message indicating how to return to dCOM and
then runs another copy of COMMAND.COM. This would then produce the
familiar Dos prompt (i.e. "C>").



Setting an Epson Printer to CompressedSetting an Epson Printer to Compressed

,---------------------------------------------------------------------,
[F1] COMPRESSED PITCH ;;TITLE LINE AND SWITCHES
| |
PRINTSTR %(15) ;;SEND COMPRESS CODE TO PRN
| |
`---------------------------------------------------------------------'

This example sets an Epson compatible printer into compressed (16 CPI)
pitch.















102102

Macro Keys - Examples
----------------------------------------------------------------------

Setting an Epson Printer to Pica PitchSetting an Epson Printer to Pica Pitch

,---------------------------------------------------------------------,
[F1] PICA PITCH ;;TITLE LINE AND SWITCHES
| |
PRINTSTR %(18) ;;SEND 10 CPI CODE TO PRN
| |
`---------------------------------------------------------------------'

This example sets an Epson compatible printer to Pica (10 CPI) pitch.
This example, along with the one above, suggests how an entire macro
file could be used to set various printer pitches or modes.



Submenuing a Macro KeySubmenuing a Macro Key

,---------------------------------------------------------------------,
[F1] WORD PROCESSORS ;;TITLE LINE AND SWITCHES
| |
:L1 ;;LABEL FOR JUMP IF BAD CMD
| |
CLS ;;CLEAR THE SCREEN
| |
ECHO Word Processing ;;ECHO MENU TEXT
| |
ECHO --------------- ;;ECHO MENU TEXT
| |
ECHO M - MS-Word ;;ECHO MENU TEXT
| |
ECHO W - Wordstar ;;ECHO MENU TEXT
| |
ECHO ;;ECHO BLANK LINE
| |
GET %1 Selection: ;;GET SELECTION IN %1
| |
IF %1=M THEN ;;IF SEL = MS-WORD
| |
CDD C:\MSWORD ;; CHANGE DRIVE & DIRS
| |
WORD ;; RUN MS-WORD
| |
GOTO EXIT ;; AND EXIT THE MACRO
| |
ENDIF ;;END OF IF BLOCK
| |
IF %1=W THEN ;;IF SEL = WORDSTAR
| |
CDD C:\WS5 ;; CHANGE DRIVE & DIRS
| |
WS ;; RUN WORDSTAR
| |
GOTO EXIT ;; AND EXIT THE MACRO
| |
ENDIF ;;END OF IF BLOCK
| |
BEEP ;;BEEP FOR BAD SELECTION
| |
GOTO L1 ;;AND REDISPLAY MENU
| |
:EXIT ;;LABEL FOR EXIT JUMP
| |
CD C:\ ;;CHG C: BACK TO ROOT DIR
| |
CDDO ;;RETURN TO ORIG DRV & DIR
| |
`---------------------------------------------------------------------'

This example demonstrates a rudimentary technique of getting a macro
key to perform the job of two macro keys. It displays a small menu
and runs either MS-Word or Wordstar depending on the response entered.
In general though, it is best not to have your primary macro file
loaded with text because it could accumulate into having a minor
effect on free memory (unless you have EMS). A better solution is to
build another macro file having these options as separate keys. You
could call the macro file from a macro key using a GOSUBMF command, or
the utility mode's "/ - Gosub Macro File" keyboard command.








103103

Macro Keys - Examples
----------------------------------------------------------------------

Archiving Tagged FilesArchiving Tagged Files

,---------------------------------------------------------------------,
[F1] ZIP TAGGED FILES/w ;;TITLE LINE AND SWITCHES
| |
IF %TC=0 THEN ;;IF NO FILES TAGGED
| |
ECHO Macro Requires Tagged Files ;; ECHO FILES MUST BE TAGGED
| |
BEEP ;; BEEP
| |
EXIT ;; AND TERMINATE MACRO KEY
| |
ENDIF ;;END OF IF BLOCK
| |
GET %1 Enter Destination File: ;;GET DEST FILE IN %1
| |
:L1 ;;LABEL FOR TAGGED LOOP
| |
ECHO Adding %TE to %1 ;; DISPLAY CURRENT TAG FILE
| |
PKZIP -EX %1 %TE >NUL ;; ADD TAG FILE TO ZIP FILE
| |
LOOP L1 ;;LOOP THROUGH TAGGED FILES
| |
`---------------------------------------------------------------------'

This example would add all tagged files to a Zip filename entered. It
first tests on whether there are currently any files tagged. If not,
it displays a message indicating that the macro needs tagged files and
then exits. If there are tagged files, the IF block is skipped and
the macro asks for a destination Zip filename. After that, it cycles
through a simple loop that processes each tagged file, adding it to
the Zip filename entered in %1.



Converting All .ARC Files to .ZIPConverting All .ARC Files to .ZIP

,---------------------------------------------------------------------,
[F1] ARC->ZIP (ALL)/w ;;TITLE LINE AND SWITCHES
| |
MD C:\Z$ ;;MAKE A TEMP DIRECTORY
| |
DO *.ARC ;;DO BLOCK FOR .ARC FILES
| |
ECHO Extracting: %DE; ;; DISPLAY FILE BEING UNARCD
| |
PKUNPAK %DE C:\Z$ >NUL ;; UNARC THE FILE
| |
DEL %DE ;; DELETE THE .ARC FILE
| |
CPOSN ,27 ;; POSITION CURSOR TO COL 27
| |
ECHO Zipping: %DN.ZIP; ;; DISPLAY FILE BEING ZIPPED
| |
PKZIP -m %DN.ZIP C:\Z$\*.* >NUL ;; ZIP UP THE UNARCED FILES
| |
ECHO ;; DROP A LINE
| |
ENDDO ;;END OF DO BLOCK
| |
RD C:\Z$ ;;REMOVE THE TEMP DIRECTORY
| |
`---------------------------------------------------------------------'

This example converts all files in the current directory from .ARC
format to the more efficient .ZIP format.














104104

Macro Keys - Examples
----------------------------------------------------------------------

Converting Tagged .ARC Files to .ZIPConverting Tagged .ARC Files to .ZIP

,---------------------------------------------------------------------,
[F1] ARC->ZIP (TAGGED)/w ;;TITLE LINE AND SWITCHES
| |
IF %TC=0 THEN ;;IF NO FILES TAGGED
| |
ECHO Macro Requires Tagged Files ;; ECHO FILES MUST BE TAGGED
| |
BEEP ;; BEEP
| |
EXIT ;; AND TERMINATE MACRO KEY
| |
ENDIF ;;END OF IF BLOCK
| |
MD C:\Z$ ;;MAKE A TEMP DIRECTORY
| |
:L1 ;;LABEL FOR TAGGED LOOP
| |
IF NOT EXIST %TN.ARC THEN ;; IF FILE IS NOT .ARC
| |
ECHO %TE Not an ARC File ;; INDICATE SO
| |
BEEP ;; BEEP
| |
GOTO QUIT ;; AND JUMP TO QUIT
| |
ENDIF ;; END OF IF BLOCK
| |
ECHO Extracting: %TE; ;; DISPLAY FILE BEING UNARCD
| |
PKUNPAK %TE C:\Z$ >NUL ;; UNARC THE FILE
| |
DEL %TE ;; DELETE THE .ARC FILE
| |
CPOSN ,27 ;; POSITION CURSOR TO COL 27
| |
ECHO Zipping: %TN.ZIP; ;; DISPLAY FILE BEING ZIPPED
| |
PKZIP -m %TN.ZIP C:\Z$\*.* >NUL ;; ZIP UP THE UNARCED FILES
| |
ECHO ;; DROP A LINE
| |
LOOP L1 ;;LOOP BACK IF ANOTHER TAG
| |
:QUIT ;;LABEL FOR EXIT JUMP
| |
RD C:\Z$ ;;REMOVE THE TEMP DIR
| |
`---------------------------------------------------------------------'

This example converts tagged .ARC files to the more efficient .ZIP
format. This is probably as sophisticated a macro as the average user
will get into. Most of its operation is self-explanatory if you look
at it long enough.



Compiling a Source FileCompiling a Source File

,---------------------------------------------------------------------,
[F1] COMPILE SELECTED/w ;;TITLE LINE AND SWITCHES
| |
SET %1=%FN ;;%1=SEL FILENAME
| |
:L1 ;;LABEL FOR TAGGED LOOP
| |
IF %TC>0 SET %1=%TN ;; IF TAGGED %1=TAG FILENAME
| |
CLS ;; CLEAR THE SCREEN
| |
ECHO Compiling: %1 ;; DISPLAY FILE COMPILING
| |
MASM %1; ;; COMPILE THE FILE
| |
IF %EL=>1 GOTO ERROR ;; IF AN ERROR GOTO ERROR
| |
LINK %1; ;; LINK THE FILE
| |
IF %EL=>1 GOTO ERROR ;; IF AN ERROR GOTO ERROR
| |
DEL %1.OBJ ;; DELETE THE .OBJ FILE
| |
IF %TC>0 LOOP L1 ;;IF TAGGED FILES LOOP BACK
| |
EXIT ;;TERMINATE THE MACRO KEY
| |
:ERROR ;;LABEL FOR ERROR HANDLING
| |
BEEP ;;BEEP FOR ERRORS
| |
`---------------------------------------------------------------------'

This example compiles and links either tagged files or the selected
file. Logic would dictate though that if one was going to compile


105105

Macro Keys - Examples
----------------------------------------------------------------------

more than one file, he would probably not want to be linking every
source file compiled but more likely just compiling the tagged files
to object modules and then link them as another step following, or in
another macro key.























































106106

dCOM - Macro Keys - Technical Tricks
----------------------------------------------------------------------




Macro Key Technical TricksMacro Key Technical Tricks

This section is provided to further augment the technically inclined.
It discusses some tricks that may be well beyond average use. If
while browsing through this section some of the material leaves you
somewhat stymied, don't lose any sleep over it.


Collect Tagged Filenames into a TvarCollect Tagged Filenames into a Tvar

,---------------------------------------------------------------------,
[F1] ZIP TAGGED FILES/w ;;TITLE LINE AND SWITCHES
| |
IF %TC=0 THEN ;;IF NO FILES ARE TAGGED
| |
ECHO Tag Files Desired First ;; INDICATE SO
| |
BEEP ;; BEEP
| |
EXIT ;; AND EXIT THE MACRO KEY
| |
ENDIF ;;END OF IF BLOCK
| |
GET %1 Enter Zip Filename: ;;GET DEST FILENAME IN %1
| |
:L1 :L1 ;;LABEL FOR LOOP
| |
SET %2=%2 %TESET %2=%2 %TE ;; %2=ITSELF + NEXT TAG FILE
| |
LOOP L1 LOOP L1 ;;LOOP THROUGH TAGGED FILES
| |
ECHO Zipping %2 to %1 ;;RUN WORD WITH THE FILE
| |
PKZIP -EX %1%2 >NUL ;;ARCHIVE FILES TO %1
| |
`---------------------------------------------------------------------'

Occasionally, it is useful to collect the tagged filenames into one
temporary variable (i.e. %0 - %9) so that they can be processed
simultaneously rather than re-executing a command several times with a
different filename in a loop. In the example above, %2 is added with
itself plus the next tagged filename (%TE) until all tagged filenames
have been added to %2 by the loop. There is a limitation though. MS-
DOS only provides for a maximum command line length of 128 bytes (in
the PSP). While the %2 variable can grow as big as your environment
space allows, if the length of the command line produced by the
combination of " -EX %1%2" (the "> nul" is redirection and is
transparent to the command line) when attempting to run PKZIP exceeds
128 characters, the macro will produce a command line overflow error.
Also, in the example above, a space is used as the delimiter between
%2 and %TE, which would mean the resulting text for %2 would begin
with a leading space; hence, no space is needed in the PKZIP line
between %1 and %2.


Executing Other than .EXE, .COM or .BATExecuting Other than .EXE, .COM or .BAT

While it is not very frequent, it is possible to rename a program so
that it can only be executed by a macro key. This is because macro
lines containing commands not recognized as either macro commands or
MS-DOS internal commands, are considered programs and are run directly
by dCOM. An alternative extension from the normal .BAT, .COM, or .EXE
may be specified and if a file of that extension is found (in the
current directory or in the PATH), it will be run. For instance, if
you wanted to restrict people from using the DOS format command unless
they run it through a particular macro key, you could rename


107107


dCOM - Macro Keys - Technical Tricks
----------------------------------------------------------------------

FORMAT.EXE to something like FORMAT.PRG (which would not be considered
executable by any other shell since it now does not end with a .COM,
.EXE, or .BAT extension) and then run it from a macro key by spelling
out its full name (e.g. FORMAT.PRG A:/4).


Temporarily Changing COMSPECTemporarily Changing COMSPEC

,---------------------------------------------------------------------,
[F1] TELIX ;;TITLE LINE AND SWITCHES
| |
CDD C:\TELIX ;;CHANGE DRIVE & DIRS
| |
SET %9=%COMSPEC% SET %9=%COMSPEC% ;;%9=ORIGINAL COMSPEC
| |
SET COMSPEC=C:\DCOM\DCOM.COM SET COMSPEC=C:\DCOM\DCOM.COM ;;COMSPEC=DCOM
| |
TELIX ;;RUN TELIX
| |
SET COMSPEC=%9 SET COMSPEC=%9 ;;COMSPEC=ORIGINAL VALUE
| |
CD C:\ ;;CHANGE C: BACK TO ROOT DIR
| |
CDDO ;;RETURN TO ORIG DRIVE & DIR
| |
`---------------------------------------------------------------------'

Occasionally, it may be desirable to temporarily change the contents
of an environment variable such as COMSPEC or PATH. This can be done
by using one of the percent variables to hold the original contents
before modifying the particular environment variable. A little known
fact concerning the COMSPEC variable is that a lot of programs
(besides MS-DOS) use it to load a second copy of COMMAND.COM to shell
out and run another program. Sometimes you can temporarily change
COMSPEC to point to your favorite shell rather than COMMAND.COM so
that when the program thinks its shelling out to DOS, its actually
running another copy of your favorite shell. In this example, we used
%9 to temporarily hold the contents of the COMSPEC variable. Then, we
changed COMSPEC to point to dCOM so that when the Alt-J (Jump to DOS)
command of Telix is invoked, instead of running COMMAND.COM and giving
you the DOS prompt, it runs a second copy of dCOM. After Telix is
exited, the COMSPEC variable is restored to its original contents held
in %9.


Append to an Environment VariableAppend to an Environment Variable

You can easily append to the current contents of an environment
variable using the following technique:

SET PATH=%PATH%;C:\UTILITYS

In this example the PATH environment variable is set by accessing its
existing contents (%PATH%) and adding it with ";C:\UTILITYS".













108108

Menuing
----------------------------------------------------------------------




MENUINGMENUING

======================================================================
dCOM can be configured to initially run in the macro key menu mode
instead of the utility mode by giving it a /M or /MP command line
switch when it is run (refer to Command Line Switches for more
information).

This menu mode takes a "straight-arrow" approach to menuing and just
simply comprises of displaying a menu of the macro key titles and the
title of the active macro file.

While it is true that the presentation method used by the menu mode is
as we said above "straight-arrow", and could be considered lacking if
you like "bells and whistles" and flashing lights, you will find no
other menuing program with the same degree of flexibility and
sophistication when it actually comes time to cut the talk and get the
job done. For instance, how many other menuers can, after the user
selects a program to run, display a menu of files to select from and
pass the selected file's name to the program being run?

When the menu mode is displayed, selecting one of the macro keys to
execute can be performed by pressing its appropriate function key, by
selecting the macro key title desired and pressing Return, or by
clicking the mouse left button on the title of the key desired. When
using the cursor keys to select a macro key title, there initially is
no clue that this capability exists so as to not clutter the screen.
But as soon as a cursor key is pressed, a highlight bar will appear
and can then be navigated to the appropriate macro title using more
cursor keys.

The beauty of using dCOM to do your menuing is that a system manager
can install dCOM and set it up to do the menuing for a user, then when
needed, the system manager can readily drop out of the menu mode to
the utility mode (using the Esc key), perform necessary housekeeping
or troubleshooting, and return to the menu mode (also using the Esc
key). The user need not have to know anything about the utility mode.

Basically, all there is to the menu mode is that you're telling dCOM
to start up with just a menu of the macro key titles on the screen.
When you select an option - you're running a macro key. Typically,
these would be simple macro keys that primarily just run programs.
But that doesn't have to stop you....

Building layered (multiple) menu's is performed by using the GOTOMF or
GOSUBMF macro commands which force another macro file to load and
become the active macro file (and its titles then displayed). The
difference between GOTOMF and GOSUBMF is that GOSUBMF saves the
current macro filename on a gosub stack, which can be returned to
using the RETURN macro command, whereas GOTOMF simply designates a new
active macro file. The gosub stack can hold approx. 9+ levels deep of
gosub'd menus.




109109

Menuing
----------------------------------------------------------------------

Generally speaking, GOSUBMF would be the method of choice when
building layered menu's. When GOSUBMF is used to call up a new macro
file, you can either set up each macro key to automatically return to
the previous menu by using a RETURN command on the end of each macro
key, or build a separate macro key as the option to return to the
previous menu (macro file). When a gosub'd menu is active and the Esc
key is pressed, it serves to act as a RETURN command. If the root
menu is active and the Esc key is pressed, the menu mode aborts and
control drops to the utility mode (if /MP was specified, the access
password must be entered first).

When the menu mode is active, you cannot use macro keys that were
written to use the %FN, %FE, %TN, %TE, and %TC macro variables. These
variables expand into the currently selected file or tagged files and
are only valid when the utility mode is active.












































110110

Menuing - Security
----------------------------------------------------------------------




Menuing SecurityMenuing Security

Full password protection can be implemented uniquely for each macro
key by using the /P:password title line switch. Preventing the user
from escaping the menu mode back to the utility mode can also be
password protected by running dCOM with the /MP command line switch
instead of /M. If you run dCOM with the /MP command line switch, the
password required when the Esc key is pressed at the root menu is the
one entered using dCOM's Alt-A - Access Password utility mode command.
If no password has been entered using the utility mode's Alt-A
command, the /MP command line switch can't prompt for a password and
would act the same as just using /M.

Complete security is achieved by a situation where only a very few
select individuals know the password entered to the utility mode's
Alt-A - Access Password, since knowing this system password allows you
full access in and out of the menu mode and to any command or function
in the utility mode. Divulging the passwords used on each particular
macro key is of less significance and can issued to users on a "need-
to-know" basis.

Optimal security is provided by setting the hidden flags (the utility
mode's Alt-H command) on the subdirectory holding dCOM and also
setting the hidden flags on all macro files. And, by starting dCOM as
the primary shell in CONFIG.SYS using its SHELL command (refer to
Running dCOM as the Primary Shell for more information). Using the
SHELL command in CONFIG.SYS eliminates any opportunity for the user to
Ctrl-C abort the boot sequence (leaving the only way to get around it
as booting off floppy disk). Setting the hidden flags on dCOM's
subdirectory and the macro files in it makes it very hard for a user,
should they manage to get out of the menu mode, to view the macro
files and determine what passwords are being used.
























111111

The Text Editor
----------------------------------------------------------------------




THE TEXT EDITORTHE TEXT EDITOR

======================================================================
Supplied with dCOM as an integral working part is a multi-window,
multi-buffer, full-featured, high performance text editor.

With the editor, you can have as many as four files, using four
configurable windows, on the screen at the same time. You can keep
files resident in a buffer, exit the editor, go to another directory,
and load another file (you can load directly from within the editor,
too, if you know the path of the file). You can easily copy or move
text blocks between windows, and you can search and replace
interactively. The editor can be configured to save files with or
without a Ctrl-Z as the end-of-file (EOF). Also, the editor has an
enhanced video mode which displays where your tabs, carriage returns,
and EOF are without being obtrusive.

Do not confuse a text editor with a word processor. They are two
different beasties. A text editor is good for editing batch files,
ASCII data files, and source files. It can also function in a
simplistic form as a down-n-dirty word processor. A word processor
does such neat things as underlining, italics, margins, word-wrap,
etc.... Nothing is closer to a programmer's heart than his/her text
editor.

Additionally, in the author's opinion, no other category of software
is more personally subjective than that of word processors or text
editors. However, the one cliche this author doesn't buy is "the best
one is the one you know". This attitude is closed-minded, inhibits
advancement, propagates stagnation, naivete, and ignorant bliss.


























112112

Editor - General Use
----------------------------------------------------------------------




General UseGeneral Use

There are two ways to invoke the editor:

LOADLOAD dCOM's "E" command. Forces the editor to load the
currently selected file in the next available buffer and
assign that buffer to window 1.

NO LOADNO LOAD dCOM's Alt-E command. Invokes the editor without loading
a file. Editing resumes as it was last used. This is
useful if you want to edit a new file or if you want to
return to the editor after exiting with the Alt-Q
command.


There are also two ways to exit the editor:

Alt-QAlt-Q Quits, leaving the editor resident and its contents
intact. Normally this is done with intentions of
returning to the editor relatively soon, possibly with
dCOM's Alt-E command. Since the file buffers are not
closed and the editor is resident, dCOM's free memory
will be impacted accordingly (unless you are using LIM
EMS).

Alt-XAlt-X Exits, closing all file buffers and releases the space
used by the editor (frees all memory used by the editor).

NOTE: When used on floppy disk based computers, using the Alt-Q
command to exit, keeping buffers intact, and the editor
overlay resident can save time if you know you will be coming
back to continue editing. If this technique is adopted, you
should become familiar with using the F5 key to close buffers
selectively in the event that you have several buffers open
but only wish to keep one or two, etc.... On a hard disk, the
editor loads files so fast (a 250,000 byte file loads in
approx. 3.5 seconds on slow computers) that the additional
memory required to keep a file resident probably will outweigh
any advantage of not having to reload the file upon return to
the editor.
















113113

Editor - General Use
----------------------------------------------------------------------




Read ErrorsRead Errors

When reading a file, the editor may produce two messages (other than
"Read OK" and file access errors) concerning the format of the file
read:

"Ctrl-Z found before EOF""Ctrl-Z found before EOF" - Indicates that an ASCII 26 was found
before the end-of-file indicated in the directory. As long as the
file edited is a text file, this is ok and is merely an advisory
message which will be corrected when you have the editor write the
file back out. A common cause is with files transmitted over a modem.
If you accidentally edited the wrong file, use Alt-X to exit.

"Invalid CR-LF Sequences""Invalid CR-LF Sequences" - Indicates that the file has sole or
reversed carriage-return/line-feed sequences. Every line of an ASCII
text file should terminate with a CR-LF. After dCOM reads a file, it
performs an exhaustive check to ensure they do. If there is an error,
you will be given this message and prompted if you want the editor to
fixup the buffer. If you press Esc, the editor will be aborted. If
this condition is not fixed, the editor will probably crash if editing
continues. Note: files produced by some word processors may also
produce this error if they set the 8th bit to indicate soft carriage
returns (e.g. WS files). In this case, do not tell the editor to
fixup but immediately perform an Alt-A.

Other causes of this error are if the file is not a text file (exit
immediately) or if the file is a "record" of keystrokes - it may
just contain carriage returns and no line-feeds which, is fixable. It
might be noted that most other editors don't even bother checking for
this possibility and will usually foul-up if editing continues.


























114114

Editor - General Use
----------------------------------------------------------------------




Windows and BuffersWindows and Buffers

One of the first things to understand about the editor is its use of
windows and buffers. A window refers to a portion of the screen used
to display and edit a buffer. The editor supports up to four
different windows (which are controlled with function keys F1 through
F4 respectively) and four different buffers. Generally, when you
first invoke the editor, window 1 occupies the whole screen and
windows 2, 3, and 4 are disabled. When a need exists to edit more
than one buffer on the screen simultaneously, windows 2, 3, and 4 can
then be activated.

It is important to understand that buffers are assigned to windows,
notnot windows to buffers. This means that the windows are always fixed,
their physical locations never change on the screen (though their
sizes can be changed to different proportions using the configuration
menu). But the buffer that a particular window is using can be
switched with another buffer rather quickly. Buffers are what
actually hold the contents of a file which you edit through a window.

The following shows the six different window options possible:

,-----------------, ,-----------------, ,-----------------,
| | | | | | |
| 1 | | 1 | 2 | | 1 |
| | | | | | |
| | | | | |-----------------|
| | | | | | |
| | | | | | 3 |
| | | | | | |
`-----------------' `-----------------' `-----------------'

,-----------------, ,-----------------, ,-----------------,
| | | | | | | |
| 1 | 2 | | 1 | | 1 | 2 |
| | | | | | | |
|-----------------| |-----------------| |--------+--------|
| | | | | | | |
| 3 | | 3 | 4 | | 3 | 4 |
| | | | | | | |
`-----------------' `-----------------' `-----------------'


When you invoke the editor asking it to load a file, it first checks
to see if the file is already loaded in an open buffer. If not, it
finds the next available buffer and loads it with that file. Next, it
assigns the buffer holding that file to window 1 and gives window 1
the entire screen (the buffer number assigned to a window is displayed
at the bottom of the screen in the status line).

Since it is possible to have several windows displayed on the screen
at the same time, we will frequently make a reference to the active
window. The active window is the window currently being edited.



115115

Editor - General Use
----------------------------------------------------------------------

Almost all of the editor's commands only affect the active window
(actually they impact the buffer assigned to the active window).

If you lose track of which buffer is assigned to which window, the
configuration menu displays the current assignments.


Marked BlocksMarked Blocks

A lot of the editor's commands are oriented around a marked block.
Marking a block is similar to tagging files in dCOM. It is a means
with which to set off certain lines of text for a subsequent command
to use as its source.

Marking a block of lines is done by placing the cursor on the first
line of text, press the F8 key, move the cursor to the last line of
text, press the F8 key again. When marking lines, the first line need
not be before the last line. You can mark blocks by first pressing
the F8 key on the last line and then move up to the first line.

Some commands recognize a marked block as an alternative. For
instance, the Alt-P command, which normally prints the contents of the
active window, prints the marked block instead if one exists.

Learning how to use marked blocks can be very instrumental in your use
of the editor. Commands associated with marked blocks are: F8, F6,
F9, Alt-C, Alt-M, and Alt-P.
































116116

Editor - General Use
----------------------------------------------------------------------




Copying/MovingCopying/Moving

Copying or moving marked lines of text can be done in the same window
or between different windows. The buffer containing the marked lines
need not be showing in one of the windows currently open on the
screen.

Sometimes, especially when working with source code, it may be
desirable to copy sections of code from one file to another file.
This can be done rather easily in several different ways. First, you
can have the editor load the 1st file, exit the editor using the Alt-Q
command (to keep the file resident in buffer 1), and ask the editor to
load the 2nd file (it will be loaded in buffer 2). At this point, the
2nd file is loaded in buffer 2 and showing in window 1, the 1st file
is loaded in buffer 1 but not showing. Pressing the F2 key will open
window 2 with the destination file showing in buffer 1. You can then
switch between the opened windows using the F1 and F2 keys, mark the
lines you're after with the F8 key, switch to the other window, and
copy them using Alt-C.

Another method would be to have the editor load the 1st file involved
(in window 1), use the F2 key to open and switch to window 2, and then
use Alt-E to manually load window 2 (and buffer 2) by typing the name
of the 2nd file. You can then switch between the two opened windows
using the F1 and F2 keys, etc....

NOTE: Opening window 2 facilitates working with files vertically.
If working with files horizontally is more desirable, use
window 3 (the F3 key) instead. If you use window 3 and the
first method above, you will have to assign buffer 1 to window
3 (because it will be automatically assigned to window 2 when
the second file is loaded). This would be done using the Alt-
B command after opening window 3 (it will be blank) and
specifying buffer 1 (which will then show).






















117117

Editor - Screen Layout
----------------------------------------------------------------------




Screen LayoutScreen Layout

,---------------------------------------------------------------,
| |
| *1 |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
`---------------------------------------------------------------'
*2 *3 *4 *5 *6 *7 *8/*9


*1*1 Is the window editing area.

*2*2 Displays the last warning or advisory message.

*3*3 Shows the current time held by your computer.

*4*4 Shows the current state of Caps Lock and Num Lock.

*5*5 Shows the filename loaded in the buffer assigned to the active
window (the window currently being edited). Even though just the
filename is shown, the editor does keep the full path (which can
be viewed using Alt-E or Alt-F).

*6*6 Shows the buffer number assigned to the active window.

*7*7 Shows the current column position of the active window.

*8*8 Shows the current line being edited in the active window.

*9*9 Shows the total number of lines currently in the active window's
buffer.












118118

Editor - Quick Reference
----------------------------------------------------------------------




Text Editor Quick ReferenceText Editor Quick Reference

Alt-AAlt-A - ASCII Convert Alt-OAlt-O - One Window
Alt-BAlt-B - Buffer Change Alt-PAlt-P - Print Window or Block
Alt-CAlt-C - Copy Marked Block Alt-QAlt-Q - Quit and Keep Buffers
Alt-DAlt-D - Delete Line Alt-R Alt-R - Replace, Search and
Alt-EAlt-E - Edit New File Alt-S Alt-S - Search
Alt-FAlt-F - Filename Change Alt-TAlt-T - ASCII Character Table
Alt-GAlt-G - Goto Line or Mark Alt-U Alt-U - Undo Deleted Line
Alt-HAlt-H - Help Menu Alt-V Alt-V - Global Rplc View Mode
Alt-IAlt-I - Insert Line Alt-W Alt-W - Write (Save) File
Alt-KAlt-K - Config/Status Menu Alt-X Alt-X - Exit and Close
Alt-LAlt-L - PC Line Draw Mode Alt-Z Alt-Z - Zoom on Window
Alt-MAlt-M - Move Marked Block

F0F0 - Generate Alt command on Z100 computers
F1F1 - Change Active Window to Window 1
F2F2 - Change Active Window to Window 2
F3F3 - Change Active Window to Window 3
F4F4 - Change Active Window to Window 4
F5F5 - Close Active Window and its Buffer
F6F6 - Goto Line or Marked Block
F7F7 - Help Menu (same as Alt-H)
F8F8 - Mark Block: Begin > End > Clear
F9F9 - Delete Marked Block
F10F10 - Repeat Search

IBM___ Z100____
HOME ^S HOME ^S Start of Line
END ^N END ^N End of Line
PgUp F11 PgUp F11 Window up one page
PgDn F12 PgDn F12 Window down one page
^X ^X ^X ^X Delete to End of Line
^LEFT ^B ^LEFT ^B Back one Word
^RIGHT ^F ^RIGHT ^F Forward one Word
^HOME sF11 ^HOME sF11 Top of File
^END ^END End of File
^PgUp ^PgUp Window up one line
^PgDn ^PgDn Window down one line
^Esc ^Esc Generate Escape Character
















119119

Editor - Command Reference
----------------------------------------------------------------------




Command ReferenceCommand Reference

Alt-A - ASCII ConvertAlt-A - ASCII Convert Masks (strips) the eighth bit of each
character in the buffer of the active window. This is
useful to convert files produced under some word
processors that use the eighth bit to indicate soft
spaces, carriage returns, etc.... Files of this nature
usually load with an Invalid CR-LF Sequences message. If
you intend to use Alt-A, do notdo not tell the editor to fixup
the Invalid CR-LF's.

Alt-B - Buffer ChangeAlt-B - Buffer Change Changes the buffer assigned to the active
window. A popular technique is to load several buffers
with different files and then use this command to switch
between them.

Alt-C - Copy BlockAlt-C - Copy Block Copies the marked lines (block) to the current
cursor position, inserting them before the line actually
cursored. Lines are marked with the F8 key.

Alt-D - Delete LineAlt-D - Delete Line Deletes the currently cursored line. Deleted
lines go into a 2k LIFO (last in, first out) delete stack.
You can retrieve deleted lines with the Alt-U command.

Alt-E - Edit New FileAlt-E - Edit New File Loads a new file into the buffer assigned
to the active window. If the buffer being loaded has
changes not saved, you will be warned first.

Alt-F - Filename ChangeAlt-F - Filename Change Changes the filename of the buffer
assigned to the active window. A common use is to create
a new file by having the editor load an existing file with
similar contents to what you're after, edit it, then
rename it with this command and save it with the new name.

Alt-G - Goto LineAlt-G - Goto Line (F6) Jumps to a specified line number. If
there is a marked block and only the return key is pressed
(nothing entered), the editor will jump to the first line
of the marked block. This is useful when you are working
with a certain section of text but want to quickly check
something somewhere else. You can simply pop the F8 (mark
block) a couple times to mark the your current line, go
check the other part of your file, and then press F6 (this
command) and the return key to come back.

Alt-H - Help ScreenAlt-H - Help Screen (F7) Displays a condensed help screen.

Alt-I - Insert LineAlt-I - Insert Line Inserts a new line at the current cursor
position, bumping the current line down.

Alt-K - Configuration/StatusAlt-K - Configuration/Status Displays the editor's current
configuration, buffer assignments/usage, and memory
status. Refer to Editor - Configuration Menu for more
information.



120120

Editor - Command Reference
----------------------------------------------------------------------

Alt-L - PC Line DrawAlt-L - PC Line Draw Toggles the editor's line drawing mode.
Pressing once uses single lines, pressing twice uses
double lines, and pressing again disables. When engaged,
any use of the cursor motion keys produces the appropriate
line graphics character. To move without drawing, hold
the shift key down while using a cursor key (this can be
simulated on the Z100 by using the number keys on the
keypad). It is not necessary to ensure that there are
enough lines or that the lines contain enough spaces
horizontally before drawing. When the line draw mode is
active, the editor inserts spaces to extend a line if you
move up or down to a line that isn't as long as where you
were.

Alt-M - Move BlockAlt-M - Move Block Moves the marked lines (block) to the current
cursor position, inserting them before the line actually
cursored. Lines are marked with the F8 key.

Alt-O - One WindowAlt-O - One Window If you had split the screen into more than one
window (using F2, F3, or F4), this command will close
windows 2, 3, and 4 so that window 1 occupies the whole
screen (the buffers assigned to windows 2, 3, and 4 remain
intact).

Alt-P - PrintAlt-P - Print If there is a marked block in any one of the four
buffers, the marked lines will be printed. Otherwise, the
entire contents of the buffer assigned to the active
window are printed. If the print spooler is active, this
command dumps straight to the spooler's buffer.

Alt-Q - Quit and Keep BuffersAlt-Q - Quit and Keep Buffers Exits the editor, keeping the
editor's buffers and the editor's overlay resident in
memory.

Alt-R - Search and ReplaceAlt-R - Search and Replace When invoked, this command will prompt
you for the search text. The case of the search text is
insignificant as the editor searches case-insensitive.
Next you will be asked for the replace text. The case
entered for the replace text is significant because what
is entered will be used to replace with. When these
prompts are issued, they will contain the previously used
text. If the previous text is similar to what you are
after, then just type over it to change it; otherwise, use
Ctrl-X to clear it and start fresh.

If the active window has a marked block, you will be
prompted whether you want the confine the scope to the
marked block. This could be handy if you want to use the
global option (described next), but want to be sure it
only acts on certain lines.

After the prompts have been answered, the editor commences
to search for the first occurrence. If found, it is
displayed and highlighted and you will be given a prompt
for "Local, Global, Skip". If you respond with Local, the
editor will replace the occurrence and present the prompt
again for another occurrence. If you respond with Global,


121121

Editor - Command Reference
----------------------------------------------------------------------

the editor will replace that occurrence and any further
occurrences, without any further prompting, until the
original start point is encountered (the Esc key aborts).
(Alt-V - Global Replace View Mode controls whether the
screen is updated during global replaces.) If you respond
with Skip, the editor will leave the occurrence intact and
continue searching.

Alt-S - SearchAlt-S - Search When invoked, this command prompts you for the
search text. The case of the search text is insignificant
as the editor searches case-insensitive. When the prompt
is issued, it will contain the previously used text. If
the previous text is similar to what you are after, then
just type over it to change it; otherwise, use Ctrl-X to
clear it and start fresh. After the search text is
entered, the command will search for the next occurrence.
If found, the active window is updated and the cursor
points to the first character of the found text. To
repeat the search for the same text, use the F10 key.

Alt-T - ASCII Character TableAlt-T - ASCII Character Table When invoked, this command displays
a window of the ASCII character set. Use the left and
right cursor keys to scroll it from start to end, and the
Esc key to exit. If you want to generate one of the
characters that can't be typed, make a note of the
character's decimal value, exit the table, hold down the
Alt key, type the decimal value on the keypad, and then
release the Alt key.

Alt-U - Undo Deleted LineAlt-U - Undo Deleted Line Inserts the last deleted line of text
from the delete stack at the current cursor position. The
editor maintains a 2k delete stack which holds text lines
deleted using Alt-D. When a line is deleted which will
exceed the 2k size of the delete stack, the editor
discards the oldest line to make room for the newly
deleted line. This ensures that you will always be able
to retrieve the last 2k of deleted lines.

Alt-V - Global Replace View ModeAlt-V - Global Replace View Mode Toggles whether the Global mode
of Alt-R - Search and Replace updates the screen while it
is replacing text. Turning this mode off results in a 25%
increase in speed. Having it on may provide some comfort
in knowing what has been replaced. Changes to this mode
are automatically saved in the configuration file.

Alt-W - Write FileAlt-W - Write File Saves the contents of the buffer assigned to
the active window. If the buffer doesn't have a filename
(such as when using Alt-E to enter the editor), you will
be prompted for a filename before the buffer is written.
Successfully writing a file resets the buffer's Mod flag
(the Mod flag indicates changes not saved in the Editor's
Configuration Menu).

Alt-X - Exit and CloseAlt-X - Exit and Close Exits the editor, closing all buffers and
releasing the editor's overlay. If any buffers have
changes not saved, you will be warned first before
proceeding.


122122

Editor - Command Reference
----------------------------------------------------------------------


Alt-Z - Zoom on WindowAlt-Z - Zoom on Window This command, like Alt-O, restores the
screen to just window 1, but where Alt-O leaves the buffer
assignments intact, Alt-Z assigns the buffer of the active
window to window 1. In effect, this zooms in on the
window that was selected (provided you're not currently in
window 1).

F0 - Alt F0 - Alt (Z100 Only) When dCOM is used on a Zenith Z100
microcomputer (which has no alternate key), pressing the F0 key
will prompt for the alternate command to execute.

F1 - Window 1F1 - Window 1 If you had split the screen into several windows
(using F2, F3, or F4), this key changes the active window to
window 1.

F2 - Window 2F2 - Window 2 Changes the active window to window 2 (and splits the
screen if necessary).

F3 - Window 3F3 - Window 3 Changes the active window to window 3 (and splits the
screen if necessary).

F4 - Window 4F4 - Window 4 Changes the active window to window 4 (and splits the
screen if necessary). Note: Window 3 must be opened first.

F5 - Close Window and BufferF5 - Close Window and Buffer This command closes the active window
(if it is not window 1) and discards the contents of the buffer
assigned to it. If the buffer has changes not saved, you will
be warned first before proceeding.

F6 - Goto LineF6 - Goto Line Same as Alt-G.

F7 - HelpF7 - Help Same as Alt-H.

F8 - Mark BlockF8 - Mark Block Is used to mark (highlight) a block of lines for a
subsequent copy, move, etc.... Press this key once on the
first line of the desired text (that line will highlight and
the message area will say Second Mark...), move the cursor to
the last line of the desired text, and press it again. The
entire text marked will now be highlighted and ready for a
block oriented command. If you press this key again, the mark
will be cleared. Note: It makes no difference if you mark
starting from the top or starting from the bottom.

F9 - Delete Marked BlockF9 - Delete Marked Block Deletes the currently marked block. As a
safeguard, it prompts for confirmation first before proceeding
because the deleted lines cannot be retrieved.

F10 - Repeat SearchF10 - Repeat Search Resumes searching for the text entered using the
Alt-S command.

^Esc^Esc Generates an actual escape character in your text (IBM
only, and is displayed as a left arrow).

ReturnReturn When pressed with the Insert mode on, it breaks the
current line, carrying any text following it down to the
new line. Otherwise, with Insert mode off, the cursor


123123

Editor - Command Reference
----------------------------------------------------------------------

simply drops to the next line (unless you're on top of
the diamond end of text marker). Note: There is no need
to press Return for the sole reason of entering a line
just typed; characters are stored in the window's buffer
as they are typed.

HelpHelp (Z100) Same as Alt-H, produces help.

DellinDellin (Z100) Same as Alt-D, deletes a line.

InslinInslin (Z100) Same as Alt-I, inserts a new line.
















































124124

Editor - Configuration Menu
----------------------------------------------------------------------




Configuration MenuConfiguration Menu

Upon entry to the editor's configuration menu, you will be shown the
current buffer assignments and status, the editor's current
configuration, and memory consumption.

When you first invoke the configuration menu, you will have two
options: Edit (the configurable part) or Exit. Though the screen
indicates that "X" key is the only way to exit, the Space, Esc, and
Return keys exit as well. If you had previously edited the
configuration and not saved it, you will also have a Save option.


Window BuffersWindow Buffers

This section of the editor's configuration menu indicates the current
buffer assignments and some status concerning them. If, while you are
using the editor, you feel you have lost track of which buffer/window
contains what, you will find the answers here.

,-------------------------------------------------------,
| W - B FILENAME LINES SIZE MOD MARK |
|-------------------------------------------------------|
| *1 *2 *3 *4 *5 *6 *7 |
| |
| |
| |
`-------------------------------------------------------'

*1*1 Indicates the window number (1-4).
*2*2 Indicates the buffer assigned to the window.
*3*3 Indicates the filename assigned to the buffer.
*4*4 Indicates the number of lines of text in the buffer.
*5*5 Indicates the total size of the buffer in bytes.
*6*6 Indicates whether the buffer has been modified since it was last
saved.
*7*7 Indicates whether the buffer has a block marked in it.

Remember that buffers are assigned to windows which means that items
*3 - *7 belong to the buffer (*2) not the window (*1).




ConfigurationConfiguration

This section of the editor's configuration menu contains the
changeable parameters concerning the operation of the editor.

Write Ctrl-Z EOFWrite Ctrl-Z EOF Controls whether an ASCII 26 (Ctrl-Z) is appended
onto the end of the file when the editor writes
(saves) files. Normally this switch would be on
(default); however, some compilers go into
convulsions when they encounter a Ctrl-Z before the


125125

Editor - Configuration Menu
----------------------------------------------------------------------

directory end-of-file. In which case, turn this
switch off.

Enhanced VideoEnhanced Video Controls whether the editor will display special
characters to show tabs, carriage returns, and the
end-of-file. Having this switch on (default)
allows you to see tab columns, whether there are
extra spaces on the end of each line, and if there
are extra lines after the last visible line before
the end-of-file.

Use Border LinesUse Border Lines Controls whether the editor displays top, left, and
right borders. Having it on (default) may be
considered aesthetic. Having it off will provide
two more columns of editing room.

Use Solid LinesUse Solid Lines Controls whether the editor uses the PC Line
Drawing characters when displaying screen borders,
or the heavier (solid) block characters.

Foreground ColorForeground Color Determines the color used to display buffer text
inside the windows.

Graphics ColorGraphics Color Determines the color used for border lines.

Statusline ColorStatusline Color Determines the color used to display the status
information on the 25th screen line.

Highlight ColorHighlight Color Determines the color used to display marked blocks
of text.

Background ColorBackground Color Determines the backplane color.

Vertical SplitVertical Split Determines the screen column used when splitting
the screen vertically (opening windows 2 or 4).

Horizontal SplitHorizontal Split Determines the screen line used when splitting the
screen horizontally (opening windows 3 or 4).




Consumed MemoryConsumed Memory

This section of the editor's configuration menu indicates the
percentage of memory available to the editor that is currently in use.













126126

Technical
----------------------------------------------------------------------




TECHNICAL DISCUSSIONSTECHNICAL DISCUSSIONS

======================================================================
This section is provided for those having an affinity for technical
mumbo-jumbo. Its contents, though, should in no way be considered
required reading.


Memory UsageMemory Usage

dCOM is structured much like MS-DOS in its use of memory. It uses a
very small loader program (DCOM.COM) which parses the command line and
environment variable, establishes the environment, shifts itself up in
memory, and loads the resident portion of dCOM (DCOM.000) below it at
the same location the loader was. The resident portion then performs
some more of its own initialization, deallocates this initialization
code (located on the very end), and loads the transient portion of
dCOM (DCOM.001) to the highest memory possible.

The memory between the transient portion and the resident portion
becomes a HEAP which dCOM manages with 14 dynamic buffers for such
things as the print spooler, macro keys, overlay run space, editor
overlay, editor buffers, etc.... When a program is run, the HEAP is
reduced to exactly what is needed and if there is EMS present, the
HEAP is moved into it; if EMS is not present, the HEAP is shifted up
as high in memory as possible and the transient portion shifted right
underneath it (with the memory marked as free). Upon return, if EMS
is present, the HEAP is restored directly to the lowest memory
possible; if EMS is not present, the HEAP is moved down to the lowest
memory possible and what might still be the transient portion is moved
to the highest memory possible. The memory which used to contain the
transient portion is then checksummed and if intact is run; otherwise,
the transient portion is reloaded from DCOM.001.

What this all means is that dCOM is going to the greatest extents
possible to ensure the most efficient use of memory. Under this
scheme, TSR's can load and not interfere with or segment the main
block of user memory.


















127127

Author
----------------------------------------------------------------------




AUTHORAUTHOR

======================================================================
Dave Frailey is currently employed by the Air Force Flight Test Center
at Edwards AFB as a civilian computer systems analyst. During his
tenure at Edwards AFB, he has performed a variety of other functions
such as: Aircraft Integrated Electronic Systems Mechanic, Electronics
Technician, Computer Programmer Analyst, and acting Chief of the Mass
Properties Section. He is also the author of the Air Force and Army
Standard Automated Aircraft Weight and Balance System (also in use by
the Navy and National Guard). And, when time permits, he serves as
president of DAC Micro Systems.

He undertook computer programming in 1979 as a hobby while serving on
active duty as an avionics technician in the United States Marine
Corps. Dave gained his knowledge in computer science the old
fashioned way: craniocerebral impact with many walls. As of this
writing, he still has yet to complete a single formal course in
computer science.

The son of a country doctor raised in the sticks of northern Michigan,
with a family tree loaded with doctorate degrees, Dave has been
determined to prove that success and recognition in this field can
also be realized without following society's prescribed route of first
acquiring some pig-skin. While it would be accurate to say that Dave
has accomplished this, he would now never advocate this rocky road to
anyone else. Dave's lack of a formal education really has only proven
to be detrimental when it happens to come up in employment discussions
with major regimented corporations. But that's ok 'cause Dave is a
maverick of sorts and doesn't really relish the idea of finding
himself at age 55 buried in the anonymity of an organizational dungeon
with 200 other programmers....

He currently resides in the high desert community of Lake Los Angeles,
California, with his wife, son, and computer mistress.





















128128




Access Password 11, 33, 48 Line Feed 23
Activity Log 9 Screen Blanking 23
Advance After Tag 55, 57 Spooler Clearing 23
Alarms Installation 5
Look-Ahead Scan 72 Introduction 1
Menu 42, 72 Keypad Plus Key 23, 51, 55, 57
Audit Trail 9 Line Feed 23
AUTOEXEC.BAT 6, 7 Log Drive 44
Border Type 55 Macro Keys 73
Cache Floppy I/O 43, 55 Autoexec 10
Command Line Switches 9 Command Reference 83
Command Reference Commands Quick Reference 81
Macro Keys 83 Default Macro File 11
Text Editor 120 Display Titles 51
Utility Mode 42 Editing 49, 76
Configuration Examples 99
Print Spooler 66 File Format 78
Text Editor 120, 125 General Use 74
Utility Mode 44, 53 Keyboard Gosub 51
Colors 59 Keyboard Goto 50
Drives 62 Menu Mode 11, 51
Mouse 61 Menuing 109
Copying Files 42 Password Protection 80, 111
Cache Floppy I/O 43 Switches 80
Overwrite Warnings 43 Technical Tricks 107
Using the Tree 42 Temporary Variables 10
Critical Errors 30 Variables 37, 82, 94
Default Macro File 11 Make Dir 49
Deleting Files 43 Menu Mode 4, 11, 14, 109
DesqView 8 Menuing 109
Disk Drives Security 111
Configuration 62 Mouse
Distribution Files 5 Configuration 61
DOS Command Line 51 Using 25
Draggable Pop-up Menu's 33 Moveable Pop-up Menu's 33
Drive Select Box 4, 40, 42, 44 Moving Files 44
EGA Palette Mode 55 Overwrite Warnings 44
Encountering Trouble 31 Using the Tree 44
Environment 50 MS-DOS Version 2 16
Size 10, 14 Overwrite Warnings 43, 44, 47,
Variable 7, 9 55, 57
Executing Programs 51 Password 48
Expanded Memory 3, 10, 66, 68 Plus Key, Keypad 23, 55, 57
Extension Execute 37 Point-n-Shoot 33
File Attribute Display 55 Primary Shell 14
Finding Files 43, 45, 49 Print Spooler 12, 66
Floppy Disk Use 11 Clearing 23
Form Feed 23 CPU Priority 12, 66
Guided Tour 17 Menu 49, 68
Help Print System 49, 66
Text Editor 120, 123 Printer Port 47, 55, 58
Utility Mode 43 Printer Redirection 68
Hiding Files/Directories 48 Printing Files 45
Home Directory 4, 5, 7, 14 Priority Tag 35, 48
Hot-Keys 23 Prompt Editing 27
Form Feed 23 Quick Reference
Keypad Plus Mode 23 Macro Commands 81




Macro Variables 82 Filename Changing 120
Text Editor 119 Global Rplc View Mode 122
Utility Mode 41 Goto Line 120, 123
Read Only Attribute, Setting 49 Help 120, 123
Renaming Files 45 Inserting Lines 120, 123
Requirements 3 Introduction 112
Running dCOM 8 Invoking 43, 48, 113, 115
Running Programs 51 Load New File 120
Screen Blanking 23 Marking Blocks 116, 123
Screen Layout Moving Text 117, 121
Print Spooler 68 PC Line Drawing 121
Text Editor 118 Printing Text 121
Utility Mode 39 Quick Reference 119
Utility Mode Configuration 54 Read Errors 114
Screen Saver 56 Save File 122
Search Disk 49 Search 122
Shell, Primary 14 Search and Replace 121
Sidebar Menu 4 Search Repeating 123
Single Key Prompts 33, 47, 55, Undo Deleted Line 122
57 Window Splits 115, 121, 123,
Sort Mode 46, 54, 56 126
Sound Suppression 55 Write File 122
Tagging Files 33, 35, 45, 48, 50 Zoom Window 123
Auto Advance 47 TopView 8
Technical 127 Tree 13, 63
Technical Tricks Changing Dirs 65
Macro Keys 107 Copying Files 42
Term Definitions 4 Hidden Dirs 65
Text Editor Invoking 50
ASCII Character Table 122 Moving Files 44
ASCII Convert 120 Sorting 65
Buffers 115, 120, 125 Using 65
Close Window & Buffer 123 TSR Programs 4, 28, 48
Command Reference 120 Untagging Files 45
Configuration Menu 125 Utility Mode 4, 33
Configuration/Status 120 Command Reference 42
Copying Text 117, 120 Quick Reference 41
Delete Line 120 View Mode 33, 45, 54, 57
Delete Marked Block 123 Visual Tree 13, 63
Edit New File 120 Using with Copy or Move 64
Esc Character 123 Wait Mode 45, 55, 57
Exiting 113, 121, 122 Z100 Use 19

Notes
----------------------------------------------------------------------

Notes
----------------------------------------------------------------------







Utility Mode Quick ReferenceUtility Mode Quick Reference

AA - Alarm Menu P P - Print [CTD]
CC - Copy [CTD] R R - Rename [C]
DD - Delete [CTD] S S - Search Dir
EE - Edit [C] TT - Tag [C]
FF - Find File UU - Untag All
HH - Help V V - View Mode
KK - Configuration W W - Wait Mode
LL - Log Drive X X - Exit
MM - Move [CTD] Z Z - Sort Mode
NN - Next Page

^A^A - Advance After Tag ^P^P - Printer Port
^K^K - Single Key Prompts ^T^T - Priority Tag [C]
^O^O - Overwrite Warnings ^V^V - View/Clear TSR's

Alt-AAlt-A - Access Password Alt-PAlt-P - Print System
Alt-EAlt-E - Edit, No Load Alt-RAlt-R - Read Only [CT]
Alt-HAlt-H - Hidden Flag [CT] Alt-SAlt-S - Search Disk
Alt-KAlt-K - Edit Macro File Alt-T Alt-T - Tag All Files
Alt-MAlt-M - Make Directory Alt-V Alt-V - View/Set Env

HomeHome - Select First Entry ^Home^Home - Root Dir
EndEnd - Select Last Entry Ret Ret - Execute or ChDir
SpaceSpace - Execute w/opt Tab Tab - MS-DOS Cmd
"/""/" - Gosub a Macro File ".""." - Goto a Macro File
"-""-" - Visual Tree


Hot KeysHot Keys

s^Bs^B - Blank Screen & Lock Kbd s^Cs^C - Clear Spooler
s^Fs^F - Send Form-feed to Printer s^Ls^L - Send Line-feed
s+s+ - Toggle Keypad Plus = Return Mode













____________________
CC - Operates on currently selected entry.
TT - Operates on tagged files before recognizing the currently
selected entry.
DD - Operates on the entire contents of a subdirectory by selecting
its name from the previous directory.







Text Editor Quick ReferenceText Editor Quick Reference

Alt-AAlt-A - ASCII Convert Alt-OAlt-O - One Window
Alt-BAlt-B - Buffer Change Alt-PAlt-P - Print Window or Block
Alt-CAlt-C - Copy Marked Block Alt-QAlt-Q - Quit and Keep Buffers
Alt-DAlt-D - Delete Line Alt-R Alt-R - Replace, Search and
Alt-EAlt-E - Edit New File Alt-S Alt-S - Search
Alt-FAlt-F - Filename Change Alt-TAlt-T - ASCII Character Table
Alt-GAlt-G - Goto Line or Mark Alt-U Alt-U - Undo Deleted Line
Alt-HAlt-H - Help Menu Alt-V Alt-V - Global Rplc View Mode
Alt-IAlt-I - Insert Line Alt-W Alt-W - Write (Save) File
Alt-KAlt-K - Config/Status Menu Alt-X Alt-X - Exit and Close
Alt-LAlt-L - PC Line Draw Mode Alt-Z Alt-Z - Zoom on Window
Alt-MAlt-M - Move Marked Block

F0F0 - Generate Alt command on Z100 computers
F1F1 - Change Active Window to Window 1
F2F2 - Change Active Window to Window 2
F3F3 - Change Active Window to Window 3
F4F4 - Change Active Window to Window 4
F5F5 - Close Active Window and its Buffer
F6F6 - Goto Line or Marked Block
F7F7 - Help Menu (same as Alt-H)
F8F8 - Mark Block: Begin > End > Clear
F9F9 - Delete Marked Block
F10F10 - Repeat Search

IBM___ Z100____
HOME ^S HOME ^S Start of Line
END ^N END ^N End of Line
PgUp F11 PgUp F11 Window up one page
PgDn F12 PgDn F12 Window down one page
^X ^X ^X ^X Delete to End of Line
^LEFT ^B ^LEFT ^B Back one Word
^RIGHT ^F ^RIGHT ^F Forward one Word
^HOME sF11 ^HOME sF11 Top of File
^END ^END End of File
^PgUp ^PgUp Window up one line
^PgDn ^PgDn Window down one line
^Esc ^Esc Generate Escape Character







Macro Commands Quick ReferenceMacro Commands Quick Reference

>>command ..................... Force line to be executed by DOS
dd: ........................... Set a new default drive
:labellabel ....................... Designate a label
BEEPBEEP ......................... Beep the speaker
CDCD path ...................... Change current directory
CDDCDD [d:][path] ............... Change current drive and directory
CDDOCDDO ......................... Change to original drive & dir
CHDIRCHDIR path ................... Change current directory
CLSCLS .......................... Clear the screen
CPOSNCPOSN [line][,column] ........ Positions the cursor
DODO mask ...................... Execute block for each file in mask
ECHOECHO text .................... Display text
ENDDOENDDO ........................ Designate end of DO block
ENDIFENDIF ........................ Designate end of IF block
EXITEXIT ......................... Exit the macro key
GETGET tvar [prompt] ............ Get from keybrd to temp variable
GOSUBMFGOSUBMF macrofile [key] ...... Gosub (load) a new macro file
GOTOGOTO label ................... Unconditional jump to a label
GOTOMFGOTOMF macrofile [key] ....... Goto (load) a new macro file
IFIF op1 <=> op2 cmdcmd ........... Conditional cmd using two oprnds
IFIF [NOT] EXIST file cmdcmd ...... Conditional cmd if file exists
IFIF op1 <=> op2 THENTHEN .......... Conditional block using two oprnds
IFIF [NOT] EXIST file THENTHEN ..... Conditional block if file exists
LOOPLOOP label ................... Loop to label if more tagged files
MACROMENUMACROMENU ON/OFF ............. Turn menu mode on or off
PAUSEPAUSE [text] ................. Pause for keystroke
PRINTSTRPRINTSTR text ................ Send text to the printer
REMREM [text] ................... Remark (comment) line
RETURNRETURN ....................... Return to macro after GOSUBMF
RUNMACRORUNMACRO key[key] ............ Set macro key to run (i.e. /F1)
SELECTSELECT mask [text][/d][/n] ... Display a menu of files to sel from
SETSET var=text ................. Set environment or temp variable







Macro Variables Quick ReferenceMacro Variables Quick Reference

%0 - %9 .. Temporary variables (set with SET or GET)
%FN ...... Currently selected file (no extension)
%FE ...... Currently selected file and extension
%TN ...... Current tagged filename (no extension)
%TE ...... Current tagged filename and extension
%DN ...... Current DO filename (no extension)
%DE ...... Current DO filename and extension
%SN ...... Filename (no extension) selected with SELECT
%SE ...... Filename and extension selected with SELECT
%SC ...... Count of files found by SELECT
%TC ...... Count of tagged files
%EL ...... Last error level returned by a program
%DD ...... Default drive
%CD ...... Current subdirectory
%OD ...... Original default drive macro was run from
%OS ...... Original subdirectory macro was run from
%TI ...... System time
%DT ...... System date
%KB ...... Keyboard character if avail, else = %(255)
%W ....... Forces a pause when macro terminates
%(###) ... Generate untypeable ASCII character
%var% .... Access an environment variable


 December 15, 2017  Add comments

Leave a Reply