PCjs Machines

Home of the original IBM PC emulator for browsers.


PC-SIG Diskette Library (Disk #1273)

[PCjs Machine "ibm5170"]

Waiting for machine "ibm5170" to load....

Information about “VDE – VISUAL DISPLAY EDITOR”

BLACKJACK! is a tour de force in beating the casino dealer that might
help you line your pockets with green.  Long overdue, it teaches you a
basic blackjack strategy, adds an effective card counting system to it,
and drills you on both the strategy and your counting ability.  You play
against world famous casinos or customize the rules the dealer follows.
It's fun, quickly played, and could fatten your wallet on your next trip
to Nevada, New Jersey, or Monte Carlo.

BLACKJACK! is a joy because you can alter the number of decks in the
shoe and practice your count in the most difficult of circumstances.
The rules on doubling down automatically change as you switch from
single to multiple decks.  You can play head on or add up to three
players to your table.  You watch your bank rise and sink with your luck
and you can get instant advice on how to alter your betting strategy.


                         Instructions for ARCOPY.COM
                            Version 1.4 (12/4/89)

                             (c)1988-89 E. Meyer

     ARCOPY (ARchive COPY) is a small, fast disk file copy utility for all 
MSDOS (2.x and above) systems.  Its features are geared toward the tasks of 
backing up (archiving) files, and maintaining multiple copies of files; but it 
can also make ordinary file copying, moving, and renaming easier.
     ARCOPY is geared toward command line aficionados who want to be able to 
do as much as possible at one DOS prompt.  It can copy different groups of 
files at once; backup files by time stamp or archive flag; select files to 
copy by existence on destination directory, or user prompt; move files easily 
from one directory to another; do sophisticated renaming; and more.

                                 USING ARCOPY

SYNTAX:   A>ARCOPY {source{,source2,...} {dest} {/options}}      "{}"=optional

         Like DOS COPY, ARCOPY expects two arguments: a source and a 
      destination filespec.  However, the source may be a list of files
      as well, delimited with commas or semicolons.
         Either filespec may be ambiguous; destination name defaults 
      to same as source.  Subdirectories are supported.  If not 
      specified, drive and directory default to the current values.  
      Common device names (CON,PRN...) are also accepted.

     If NO arguments are given, ARCOPY loads into memory and gives a prompt 
"-".  You can then enter one pair of arguments after another, and can remove 
the disk containing ARCOPY if needed.  To exit, just press RETURN or ^C.

     If the source is a list, a comma separator means that the previous item's 
drive/directory is assumed (unless the current item begins with a drive or 
root directory); a semicolon means not.  Thus the second item in the list 
"\WORK\FILE1,FILE2" is taken to be "\WORK\FILE2", while in "\WORK\FILE1;FILE2" 
it is merely in the default directory, and in "\WORK\FILE1,\FILE2" it is in 
the root directory.

     For ambiguous (group) copying, ARCOPY alphabetically lists each file 
being processed; you may abort at any time by typing ^C.  If the destination 
names are different, both names are shown: OLDFILE.NAM -> NEWFILE.NAM.


         "Options" must be preceded by one slash "/"; separating 
      spaces, and further slashes, are optional.  Several (A,M,P) 
      are identical to DOS XCOPY utility options; several (R,W,Z) 
      correspond to options of CP/M PIP.  (Anyone remember that?)

/? -  display help message

/A -  only files with the ARCHIVE attribute will be copied.  (See "Incremental 
    Backup" below for further explanation.)
/B -  only files with time stamp BEFORE specified date/time (MMDDYY:HHMM) will 
    be copied.  (If not specified, defaults are today, 0000 hours.)
/E -  only those files that already EXIST on the destination directory will be 
    copied.  (Note that the destination filename is the one tested here.)
/L -  only files with time stamp LATER than specified date/time (MMDDYY:HHMM) 
    will be copied.  (If not specified, defaults are today, 0000 hours.)
/M - only files with the Archive attribute are copied, and then MARKED by 
    having their Archive attribute removed.  (See "Incremental Backup" below.)
/N -  only those files that are NEW (do NOT already exist on the destination 
    directory) will be copied.
/P -  you will be PROMPTED "y/n?" for each file about to be processed.  Press 
    "Y" to copy the file, or "N" to skip it.
/R -  Hidden and System files, normally ignored, will be READ and copied along 
    with normal files.
/T -  whenever a file already exists on the destination directory, it will 
    only be overwritten if the source copy has a more recent TIMESTAMP.
/W -  copying may WRITE over or delete Read/Only files.  (Normally, any 
    attempt to do this will cause a DOS R/O error.)
/X -  files will be TRANSFERRED: if on the same drive, by renaming; if on 
    different drives, by deleting the original after copying.
/Z -  the high (parity) bit will be ZEROED on all output data, which converts 
    nonstandard data (like WordStar text) into standard ASCII form.

                              INCREMENTAL BACKUP

     It's important to maintain backup copies of important data, but this can 
be a tedious task.  Fortunately you don't need to remember exactly which files 
have been modified recently; there are two automatic ways to update disks by 
selecting and copying just those files that need it ("incremental backup").

     MSDOS maintains a file attribute called Archive.  Whenever a disk file is 
modified, this attribute is set.  Consequently, if this attribute was cleared 
in the past (the last time you did a backup), the files which now have it set 
are those you have created or changed since, and need to back up now.
     ARCOPY can copy just those modified files, and (if you want) clear their 
attribute again to indicate they have been archived.  So all you have to type 
each time you want to back up the contents of a directory is:
                             ARCOPY *.* B: /M
In conjunction with this, when you are first setting up your disks, you may 
find a use for a utility that can manually set or clear the Archive attribute 
on groups of files, such as my DTA.COM.
     (DOS 3.x users should look up the ATTRIB and XCOPY utilities in their 
manual for an alternative approach to the task.)

     If your computer has a clock, the MSDOS file timestamp can also be used 
to determine whether one copy of a file has been modified more recently than 
another.  Thus, you can also back up files by typing:
                             ARCOPY *.* B: /T
Any file that already exists on the destination directory will be replaced 
only if the source copy is more recent.
     This method is the simplest; I now use it all the time.
     (DOS 3.x XCOPY has an option to copy files changed since a given date, 
but this comparison is more reliable for backup purposes.)

                            COPYING BY TIME STAMPS

     With the /B and /L options, you can choose to copy only files dated 
before or after a given date or time.  (You can even use both together, to 
copy files dated between two date/times.)
     In either case, the date/time should follow the option letter.  Dates 
must be given as six digits in the form MMDDYY; the date "000000" may be used 
for a blank time stamp, otherwise YY must be 80 or above.  You may also type a 
colon, followed by a four-digit (24-hour) time in the form HHMM.  Given a date 
with no time, the time defaults to 0000 hrs; given a time with no date (note 
the leading colon is necessary), the date defaults to today.  If time/date are 
omitted altogether, the default is today, 0000 hrs.

                             MOVING AND RENAMING

     The /X option has powerful moving and renaming features, depending on the 
circumstances of its use.  If copying onto another drive, files are copied and 
then deleted.  If copying into another directory on the same drive, files are 
efficiently moved into the new directory.  If copying into the same directory, 
files are simply renamed!

                                MASS RENAMING

     Copying multiple files to different names can get confusing.  If the 
wildcards match exactly (as in *.DOC to *.BAK) it's straightforward enough.  
But (unlike COPY or XCOPY) ARCOPY also lets you do more complex renaming, 
which may or may not work depending on the specific filenames encountered.  
Suppose you have three files on drive A:  GORT.TXT, KLAATU.DOC, NIKTO.  You 
want to create some extra backups on drive B.  You might type:
                             A>ARCOPY *.* B:*.BAK
Despite the fact that other utilities would refuse this request, it's 
perfectly clear what you want, and ARCOPY will do it:

     But suppose there had been a fourth file A:GORT.NOT.  Because both it and 
GORT.TXT would get copied to the same destination B:GORT.BAK, which is likely 
to be a bad idea, in this case ARCOPY would refuse the (same!) copy request.  
Rather than give up at first, ARCOPY looks ahead at what the actual results of 
copying would be: only if two filenames would be identical, or an illegal 
filename result, does ARCOPY quit with an error message.

                                ABOUT DEVICES

     MSDOS provides a number of "device names" which may be used in place of a 
filename, as either source or destination.  ARCOPY fully supports these: AUX, 
COM1-2, CON, LPT1-2, LST, NUL, PRN.  The most useful are:
              CON - the console (keyboard input, screen output)
              PRN - printer output
Console input is terminated with ^Z, RETURN.
     Ambiguous filenames and options /A,D,E,M,N,P,T are not allowed.

                                USAGE EXAMPLES

A>arcopy b:\wrk\*.doc;apr\*.not c:
      All files B:\WRK\*.DOC and A:APR\*.NOT will be copied to drive C:.
A>arcopy b:\wrk\*.doc,apr\*.not c:
      All files B:\WRK\*.DOC and B:\WRK\APR\*.NOT will be copied to drive C:.

A>arcopy \ws\*.doc *.txt /z/p
      Each file of type ".DOC" on directory A:\WS will be copied to the 
    current directory, with the same name but type ".TXT" instead of ".DOC".  
    In the process, the high bit will be zeroed out to convert to standard 
    ASCII.  You will be prompted to confirm each item to copy individually.

A>arcopy b:gort /x/w
      B:GORT will be copied to drive A:, and the original deleted, even if R/O.

A>arcopy *.mac \prog /x
      Every file *.MAC will get moved to directory \PROG.

A>arcopy *.mac f*.mac /x
      Every file *.MAC will have the first letter of its name changed to F.

A>arcopy *.* c: /l010189/b:1200
      Every file on A: with a date since 1/1/89, but before noon today, will 
    be copied to drive C:.

A>arcopy c:*.* b: /a
      All files on C: which have been modified will be copied to drive B:, but 
    they remain marked as unArchived (probably for further use with /M).

A>arcopy c:*.* b: /m/e
      All files on C: which have been modified, and of which copies already 
    exist on drive B:, will be copied to B: and marked as Archived.  (Thus 
    you can backup a single directory onto more than one floppy disk.)
A>arcopy c:*.* b: /t/e
      This does much the same thing, except it selects files that need to be 
    backed up by their more recent timestamps instead.

A>arcopy b:*.exe /n
      All files B:*.EXE which do not already exist on drive A: will be copied 
    there from drive B:.

A>arcopy *.sys b: /r
      All files A:*.SYS, including System and/or Hidden files, will be copied 
    to drive B:.

A>arcopy my.doc con /z
      The file MY.DOC will be typed on screen, with the high bit zeroed out.  
    An easy way to view WordStar text without funny graphics.

                                ERROR MESSAGES

  <Bad argument>  Missing or invalid argument; think (read?) and try again
     <No memory>  You don't have enough free memory; or, too many files
                     (You might try a more restrictive source filename)
     <Overwrite>  A destination filename would have been the same as a source
      <Conflict>  Two source files would have copied to the same destination
       <Illegal>  A file with an illegal name would have been constructed
    <Read error>  DOS error opening or reading source file
   <Write error>  DOS error on output: full disk, read/only file, etc.


     ARCOPY 1.0 (3/88) was the first MSDOS release, an 8086 adaptation of the 
previous CP/M program ARCOPY 2.1.
    v1.01 (4/88) - Fixed bug in parsing of options with no second filename.
     1.02 (5/88) - Preserves original file time/date.
     1.1  (7/88) - New options /T, /?.  Improved parsing.
     1.2  (4/89) - Comma-delimited source lists; small fixes.
     1.3 (10/89) - More efficient copies, moves; /X replaces /D; small fixes.
     1.4 (12/89) - New options /B, /L.  Semicolon/comma file delimiters.

     ARCOPY and its documentation are (c)1988-89 E.Meyer, all rights reserved.  
They may be freely distributed, but not modified or sold for profit without my 
written consent.  The user takes full responsibility for any damages resulting 
from the use of this program.

                 Eric Meyer
           401 12th Avenue SE, #139            CompuServe [74415,1305]
            Norman, OK  73071  USA


                         Instructions for DIRCMP.COM
                            Version 1.2 (2/20/90)

                            (c)1989-90 Eric Meyer

     DIRCMP (DIRectory CoMPare) is a small, fast directory utility for all 
MSDOS (2.x and above) systems.  For various reasons -- including backing up 
files -- one often needs to reconcile two directories: to detect differing 
versions of a file, or to see which files are in one directory but not the 
other.  You could always run two DIR commands, read the lists, and try to 
match them up... but DIRCMP makes it much easier.

SYNTAX:        C>dircmp dir1 {dir2} {/o}         "{}"=optional

           Two arguments are expected: each may consist of an MSDOS 
      directory name and/or an ambiguous filename.  If the second is 
      omitted, it is assumed to be the current directory, *.*.

      In addition, you can specify the option:
              /P = pause display every 25 lines
      You can also choose one of these options to restrict the display:
              /E = files EXISTING in both directories only
              /N = files NOT existing in both directories only
              /M = files MODIFIED only
      Otherwise, by default, the complete set of listings will be produced.

EXAMPLES:     C>dircmp a:
              C>dircmp a:\work /mp
              C>dircmp \prg\*.asm a: /n

     DIRCMP will normally give three alphabetical file listings:
              1. files common to both directories;
              2. files present in the first but not the second;
              3. files present in the second but not the first.
In each case the number of files, and their total size (to the nearest K), is 
also reported.
     Note: nonidentical versions of files (same name, different timestamps) 
will appear in the lists of DIFFERING files.  The newer version will be 
flagged with a "+" sign before the filename, the older version with a "-".

     You can also select a more restricted display: the /E option gives only 
the first listing (common files).  The /N option gives only the second and 
third (differing files).  The /M option gives a single listing, of modified 
versions of files with the same name only.

                                ERROR MESSAGES

  <Bad argument>  Missing or invalid argument; think (read?) and try again.
     <No memory>  You don't have enough free memory (about 45k required).
      <Too many>  Too many files to compare (maximum is 1024 in each dir);
                 try a more restrictive filespec, e.g. *.DOC instead of *.*.


     DIRCMP 1.0 (4/89) - first release of this program.
            1.1 (5/89) - added Modified file options, pagination.
            1.2 (2/90) - 2nd argument defaults to current dir, *.*;
                        file maximum increased to 1024.

     DIRCMP and its documentation are (c)1989-90 Eric Meyer, all rights 
reserved.  They may be freely distributed, but not modified or sold for profit 
without my written consent.  The user takes full responsibility for any 
damages resulting from the use of this program.  Please report any problems 

                 Eric Meyer
            401 12th Ave SE, #139            CompuServe [74415,1305]
            Norman, OK  73071  USA


                           Instructions for DLT.COM
                            Version 1.0 (3/20/90)

                               (c)1990 E. Meyer

     DLT is an enhanced file deletion utility for all MSDOS (2.x and above) 
systems.  It is geared toward command line aficionados who want to be able to 
do as much as possible at one DOS prompt.  Unlike the MSDOS "DEL" command, it 
can delete lists or groups of files (in different directories) with a single 
command, displaying the number deleted.  In addition, options allow: display 
and user confirmation before deletion; delete all except specified files; 
selection of files by time/date; inclusion of hidden, system, or read/only 

                                  USING DLT

SYNTAX:   A>DLT filespec {,filespec2,...} {/options}      "{}"=optional

         The target may be either a single (ambiguous) filespec, or 
         a list of them delimited with spaces, commas or semicolons.  
         Subdirectories are supported.  If not specified, drive and 
         directory default to the current values.

     You can get a help message by typing "DLT" alone.

     If the target is a list, a space or comma separator means that the 
previous item's drive/directory is assumed (unless the current item begins 
with a drive or root directory); a semicolon means not.  Thus the second item 
in the list "\WORK\FILE1,FILE2" is taken to be "\WORK\FILE2", while in 
"\WORK\FILE1;FILE2" FILE2 is merely in the default directory, and in 
"\WORK\FILE1,\FILE2" it is in the root directory.


            "Options" must be preceded by one slash "/"; separating 
         spaces, and further slashes, are optional.

              CAUTION!  Use care when deleting groups of files; 
         recovering accidentally deleted files requires special 
         utilities, and can be difficult.
              While you are learning to use DLT and its various 
         options, always use the "/P" option: you will be shown the 
         selected files, and can choose NOT to delete them!
              In the future, any time you are the least bit 
         uncertain as to your selection of files (especially with 
         the "/X,E,L" options), use "/P"!

/P -  PROMPT to confirm.  You will be shown the files and asked "Delete? (y/n)"

/H -  HIDDEN and System files (otherwise not found) will be included as well.
/R -  READ/ONLY files may be deleted as well (otherwise an error results).

/E -  Only files EARLIER than specified date/time (MMDDYY:HHMM) are deleted.
/L -  Only files LATER than specified date/time are deleted.

/X -  All files EXCEPT those specified will be deleted.  (Be careful!)

     The /X option cannot be used with a list of files in more than one 
directory.  Also, /X cannot be used together with /E or /L.

     With the /E and /L options, you can choose to delete only files dated 
before or after a given date or time.  (You can even use both together, to 
delete files dated between two date/times.)
     With /E or /L, the date/time should follow the option letter.  Dates must 
be given as six digits in the form MMDDYY; the date "000000" may be used for a 
blank time stamp, otherwise YY must be 80 or above.  You may also type a 
colon, followed by a four-digit (24-hour) time in the form HHMM.  Given a date 
with no time, the time defaults to 0000 hrs; given a time with no date (note 
the leading colon is necessary), the date defaults to today.  If time/date are 
omitted altogether, the default is today, 0000 hrs.  Examples:
              /l                  since today 0:00   
              /e:1300             before today 13:00
              /l020190:1300       since 2/1/90 13:00
              /l120189 /e010190   since 12/1/89 0:00, and before 1/1/90 0:00

                                USAGE EXAMPLES

A>dlt *.bak read.me todo

A>dlt *.*
      (Doesn't give the annoying confirmation prompt that DOS does.)

A>dlt b:\wrk\*.doc;apr\*.not
      Deletes all files B:\WRK\*.DOC and A:APR\*.NOT.

A>dlt b:\wrk\*.doc,apr\*.not
      Deletes all files B:\WRK\*.DOC and B:\WRK\APR\*.NOT.

A>dlt *.doc *.not /x
      Deletes all files other than *.DOC and *.NOT.

A>dlt \*.sys /p/rh
      All files *.SYS in the root directory (including hidden files like 
    MSDOS.SYS) will be deleted, after you are prompted to confirm this.

A>dlt *.bak /e010189
      Every file *.BAK dated earlier than 1/1/89 is deleted.

A>dlt *.* /l/e:1200
      Every file dated today before noon is deleted.

                                ERROR MESSAGES

  <Bad argument>  Missing or invalid argument; think (read?) and try again
     <No memory>  You don't have enough free memory; or, too many files
                     (You might try a more restrictive filespec)
     <R/O Error>  DOS error deleting file (is it read/only?)
       <Aborted>  You pressed ^C

     DLT and its documentation are (c)1990 E.Meyer, all rights reserved.  
They may be freely distributed, but not modified or sold for profit without my 
written consent.  The user takes full responsibility for any damages resulting 
from the use of this program.

                 Eric Meyer
           401 12th Avenue SE, #139            CompuServe [74415,1305]
            Norman, OK  73071  USA


                           Instructions for DTA.COM
                              Version 1.3 (9/89)

                             (c)1987-89 E. Meyer

     DTA.COM is a super directory utility that will run on any PC/MSDOS system 
(version 2 or higher).  "DTA" stands for Directory-Tree-Attributes; it is a 
replacement for the DIR, TREE, and ATTRIB commands of DOS, as well as a 
WHEREIS utility.  DTA is written entirely in 8086 assembler, and has many 
advantages including:

    *  alphabetized directory with file sizes and free space
    *  default compact display; optionally include attributes and time/date
    *  select items by file attributes or time/date
    *  change any file attributes or time/date
    *  treat directories separately or together with files
    *  alphabetized compact subdirectory tree; optionally include sizes
    *  search entire directory tree for files

                                  USING DTA

SYNTAX:    A>dta {filespec} {/options}           ("{}"=optional)

        where  "filespec" may include a drive, path, or wildcards;
               "/" is the delimiter for option letters.

     If the drive or path is omitted, the defaults are the active ones.  If 
the filespec is omitted it defaults to "*.*".  If it is a directory name, the 
contents of the directory are displayed.
     Options are discussed in detail below.  If none are specified, you will 
get a compact, informative directory display.

     You can pause or abort during operation of DTA by typing ^S or ^C.  
Output can be directed to a file or other device in the standard fashion:

                                 DTA OPTIONS

     By default, DTA will display a list of all files specified, along with 
their sizes, and some disk space information.  You can modify this consid- 
erably with a variety of options.  One "/" must precede any options; further 
slashes may be used or not as desired.

     /? = help.  Gives a brief summary of DTA usage and options.

There are options to scan the directory tree, instead of the current dir:
     /T = tree: show it, starting at specified or current directory.
     /G = global: search for specified files throughout the tree.

Then there are options affecting the appearance of the display:
     /F = full: for files, show attributes and time/date also.
                  (automatically selected for single file display)
                for directory tree, show total size of contents.
     /V = version: include the DTA version message.
     /W = wide: just like DIR /W, five columns with no file sizes.
     /N = narrow: use only half the usual number of columns.
     /P = paginate: pause every 24 lines for a keystroke.

Then there are options to select what items are chosen for display:
     /D = directories: look at directories instead of files.
     /U = universal: look at both directories and files.
     /E = earlier: select files earlier than specified time: MMDDYY:HHMM.
     /L = later: files later than (or equal to) specified time: MMDDYY:HHMM.
     /A,H,R,S = select only items with the specified attributes:
                 Archive; Hidden; Read/only; System.
     /a,h,r,s = select only items WITHOUT these attributes.

Finally, you can specify:
     /@ = set time stamp on items, in format: MMDDYY:HHMM.
     /C = change items to have the following specified attributes.

     Be careful with these options, because they actually CHANGE the DOS time 
stamp and attributes for files!  Time stamps, in particular, provide valuable 
information about the age and revision of a file, and should not be changed 

     Dates must be given as six digits in the form MMDDYY; the date "000000" 
may be used for a blank time stamp, otherwise YY must be 80 or above.  You may 
also type a colon, followed by a four-digit (24-hour) time in the form HHMM.  
Given a date with no time, the time defaults to 0000 hrs; given a time with no 
date (note the leading colon is necessary), the date defaults to today.  If 
time/date are omitted altogether, /E and /L default to today, 0000 hrs; /@ 
defaults to today, now.

     Note that the file attributes are case sensitive (uppercase=set, 
lower=clear).  Those listed alone, or before the "C" option letter, are used 
for file selection; those after it, represent changes to be made.  The /C 
option can also be used alone, with NO following attributes, simply to cause 
attributes to display instead of file sizes (no attributes will be changed).

     The best way to make DTA usage clear will be by a series of examples.

                           EXAMPLES: DIRECTORY TREE
C>dta \ /tp
  Show the directory tree starting from C:\, pausing after each screenful.
C>dta *.bak /g
  Find all directories on drive C: containing files *.BAK.

                       EXAMPLES: FILES and DIRECTORIES
C>dta a:\*.sys
  Show all files *.SYS in the root directory on A:.  (System, etc included.)
C>dta a:\*.sys /f
  Same thing, but with "full" display including attributes and time/date.
C>dta /d
  Show all subdirectories in the current directory.
C>dta \work /u
  Show all files AND subdirectories in C:\WORK.

                             EXAMPLES: TIMESTAMPS
C>dta \work /l
  Show only files in directory C:\WORK created or modified since... today.
C>dta /e090189
  Show only files in current directory dated earlier than 9/1/89.
C>dta *.doc /l/e:1700
  Show only files *.DOC dated today earlier than 5:00pm.
C>dta log /@090189:1320
  Modify the file LOG to have the time/date 9/1/89, 1:20pm.

                             EXAMPLES: ATTRIBUTES
C>dta /c
  Show all files in current directory with their attributes.
C>dta /A
  Show all files in current directory marked with the Archive attribute.
C>dta a: /SH
  Show all files in current directory on A: which are System and Hidden.
C>dta a:*.sys /Hca
  Select all Hidden files *.SYS on A: and clear their Archive attribute.


     All right, can you decide what the following commands would accomplish:
              A>dta /vfn >prn           B>dta a: /u /c /p
              A>dta *.syz /smAca        C\SUE\WORK>dta \ /f/d/H
              C\SUE\WORK>dta .. /tf     B>dta /e/@
(Sorry if this seems cryptic at first; you'll catch on.  Nobody will force you 
to use all these fool options; many exist only to allow you to get hard copy 
exactly the way you want it.  Again, you can always type "DTA /?" for help.)

                           INTERPRETING THE DISPLAY

     File SIZES are displayed to the nearest kilobyte (or "k"; 1k is 1024 
bytes).  The "used/free" space shown by DTA is for the entire drive.  The 
"items use" amount is only for the specific files listed.  Because allocation 
clusters on a disk can vary from 128 bytes (on a RAMdisk) to 4k or more (on a 
hard disk), the space actually "used" can be several K more or a fraction of a 
K less than a file's actual size.

     File ATTRIBUTES, when displayed, show as a letter ("A,H,R,S") if set, or 
as "." if clear.  The Archive attribute indicates to a backup utility that a 
file has been changed recently, and needs to be backed up; the bit is cleared 
by the utility when it does so.  (Simple backup utilities that work well with 
DTA include the DOS XCOPY command, and my own ARCOPY.COM.)
     The Read/only attribute prevents a file from being changed or deleted, 
though it can be read and copied.  The Hidden and System attributes both 
exclude a file from normal searches: such files cannot be accessed at all by 
ordinary MSDOS file commands.  Ordinarily only the DOS boot files MSDOS.SYS 
and IO.SYS have these attributes.  (If you do NOT want to see hidden or system 
files, use "/sh".)

     DTA can display up to 1000 files, 64 MB total size.  If any file exceeds 
999k, its size won't display properly, but other statistics will be correct.

                            COMMON ERROR MESSAGES

     "0 items" - No such file (or directory) was found.  (If you expected 
there to be some, check your arguments again...)

     "<invalid argument>" - You guessed it.  Invalid option, bad path, illegal 
character in filename, that sort of thing.  Think and try again.  (Note some 
arguments conflict: you can't specify /ud, or /Aa.)


     DA version 1.0 (9/87) was loosely based on my earlier program DA.COM for 
CP/M systems, a directory utility that could also display & change attributes.
     DA 1.1 (7/88) - better argument parsing; attributes can now be both 
selected on and changed, eg: "/HcS"; several new options.
     DTA 1.2 (10/88) - added "/T" option: a TREE that fits on the screen!
     DTA 1.3 (9/89) - added "/G" search, "/E,L,@" options to select or set 
time/date.  (Note /L replaces the previous "/M" option for "modified today".)

     DTA and its documentation are (c)1987-89 Eric Meyer, all rights reserved.  
They may be freely distributed, but not modified or sold for profit without my 
written consent.  The user takes full responsibility for any damages resulting 
from the use (or misuse) of this program.  Please report any problems 

                 Eric Meyer
            401 12th Ave SE, #139            CompuServe [74415,1305]
              Norman, OK  73071


Disk No: 1273                                                           
Disk Title: Visual Display Editor (VDE)                                 
PC-SIG Version: 1.1                                                     
Program Title: Visual Display Editor (VDE)                              
Author Version: 1.52                                                    
Author Registration: None.                                              
Special Requirements: Printer.                                          
VDE is a small (30K), fast and powerful text editor.  It can work with  
as little as 128K RAM. This makes it ideal for laptop computers with    
limited space.                                                          
This tough little text editor offers:                                   
~ Dual file editing                                                     
~ Wordwrap and reformat                                                 
~ Append to existing file                                               
~ Margins, tabs and spacing control                                     
~ Pure ASCII mode                                                       
~ Block operations                                                      
~ Find and replace                                                      
~ Undelete functions                                                    
~ Macro programs and programmable keys                                  
~ Full DOS utilities and subdirectory support                           
~ WordStar compatibility                                                
~ Configurable options and more                                         
VDE is fast.  Written in 8086 assembler, it writes directly to video RAM
and operates entirely in memory with no disk access during editing.     
Speed is a factor that more cumbersome, full-featured programs          
overlook.  Example:  finding a string near the end of a 60K nondocument 
file takes WordStar 4 about 20 seconds [8 MHz 8088]; VDE does it in half
a second.                                                               
1030D East Duane Avenue                                                 
Sunnyvale  Ca. 94086                                                    
(408) 730-9291                                                          
(c) Copyright 1989 PC-SIG, Inc.                                         


║        <<<<  Disk No 1273  VISUAL DISPLAY EDITOR (VDE)  >>>>            ║
║   The files on this disk are stored in ZIP file format.  To extract     ║
║   the individual files from archive, use the PKUNZIP utility provided.  ║
║   Type: PKUNZIP [filename] [destination]   (press enter)                ║
║                                                                         ║
║   For example; [filename] = vde152                                      ║
║                [destination] = C:\VDE                                   ║


                         Instructions for LQCHAR.COM
                            Version 1.23 (02/04/90)

                            (c)1988-90  Eric Meyer

           Requires:   IBM PC compatible computer
                       Epson LQ compatible dot matrix printer

     LQCHAR is a small, efficient utility for designing downloaded character 
fonts for Epson LQ-compatible 24-pin dot matrix printers.  It will run on any 
MSDOS system (2.x or above) with an IBM compatible video adapter (MDA, CGA, 
EGA, VGA).  LQCHAR lets you design each character individually on screen, and 
builds up a disk file containing all the character definitions.  This file can 
then be sent to your printer anytime you wish to use the font.

    *                                                                    *
    *      LQCHAR and its documentation are (c)1988-90 Eric Meyer,       *
    *   all rights reserved.  They may be freely distributed, but not    *
    *   modified or sold for profit without my written consent.          *
    *   (Voluntary contributions are welcome!)  The user takes full      *
    *   responsibility for any damages resulting from the use of this    *
    *   program.                                                         *
    *                                                                    *
    *                Eric Meyer                                          *
    *          401 12th Ave SE, #139      CompuServe [74415,1305]        *
    *          Norman, OK  73071  USA                                    *
    *                                                                    *


     The ability of many dot matrix printers to accept downloaded fonts makes 
them far more versatile than formed-character (daisy wheel) printers.  You can 
change fonts in the middle of printing without touching your printer, and you 
can design any characters you like.  (Combined with the font definition 
ability of the EGA/VGA adapter, this allows word processing in a wide variety 
of typefaces, using ordinary off-the-shelf software.  Programs for this 
purpose include an excellent freeware screen font editor called CHET.ARC, from 
Mylex Corp., and also a PC Magazine utility called FONTEDIT.)


     LQCHAR should work with any 24-pin Epson LQ compatible printer... But no 
manual I've ever seen describes the design and use of downloaded fonts in a 
comprehensible fashion, and I suspect that some details may vary from one 
printer to another.  I have used it on an Alps ALQ200, and verified that it 
works on genuine Epsons as well.
     NOTE: if your printer is another Epson "compatible", it's possible that 
downloaded fonts:  * aren't supported;
                   * require extra options (eg memory);
                   * aren't implemented in a 100% compatible way.

     First let's clear up some terminology:
        QUALITY - What you select with the ESC-x command (Draft, LQ, etc).
           FONT - A set of characters designed for a given print quality.
      FONT TYPE - Whether the font includes undefined characters (see below).
          PITCH - Spacing of a given font (Pica, Elite, etc).
   PROPORTIONAL - This is a variety of PITCH, not of FONT!

     LQCHAR designs fonts in either Draft or Letter Quality (LQ) mode.  Some 
printers (such as the Alps) have a third print mode, "High density", that 
falls in between; LQCHAR does not support this mode.  Some printers have a 
third "Proportional" mode with an even wider dot pattern; LQCHAR does not 
support this either.  However, an LQ font designed with LQCHAR can be declared 
proportionally spaced!  (Don't get confused between the two.)

--------------------------  CREATING LQC FILES  ------------------------------

TYPE:                      A>lqchar FONTNAME

FONTNAME: a 1 to 8 character name for the font.  Do not specify the ".TYP" of 
    the file; LQCHAR will automatically make it ".LQC".
         * A disk or directory may precede the fontname.
         * An option may follow the fontname:
                 NO option - EDIT the font file
                        /P - send it to the PRINTER
                        /U - send to the printer and start USING it

     You can get this help message onscreen by typing simply "LQCHAR".

     If you are starting a new font from scratch, you will have to declare it 
to be either Draft or Letter quality (LQ); and you will start out with every 
character blank.  I have included two files called DRAFT.LQC and LETTER.LQC, 
containing a full plain ASCII font for each print quality.  These are often a 
good point of departure for designing modified fonts.  You can use them to get 
a feel for the program, simply by typing:

                   A>lqchar draft    OR     A>lqchar letter

     Once you are in LQCHAR, you will see a "box" on the left side of the 
screen, in which each character will appear, dot by dot.  The character matrix 
is always 24 dot rows high; its width varies according to the print quality: 9 
dot columns for Draft, 29 for Letter.  (Note: in Draft mode LQCHAR spreads out 
each dot by a factor of 3 so as not unduly to distort the aspect ratio.)  
Background shading indicates the vertical boundaries of a normal capital 
letter.  The rows above are available for accents, etc; those below, for 
lowercase descenders, etc.

     To the right you will see a header with general information about the 
font, and the cursor on a prompt that says "Character".  Below will appear a 
list of characters, with those that are already defined highlighted, for 
reference.  At this point you can do a variety of things.


     First, several commands can be used to modify the whole font in some way:

             <F1> -  Change PRINT QUALITY between Draft and Letter
             <F2> -  Change FONT TYPE between full and partial
             <F3> -  Change CHARACTER PITCH: pica, elite, or proportional
            <ESC> -  EXIT to Save Menu

When you use the <F1-F3> commands, you will see the information in the header 
change appropriately.  Nothing is changed on disk until you Save the font.

     PRINT QUALITY:  It is possible (with the <F1> key) to expand a Draft font 
into a sort of skeleton LQ font, or to compress an LQ font into a Draft font.  
In the first case, each character is expanded to fit the larger LQ pattern, 
leaving blank columns in between; you can enhance and fill in the gaps however 
you like.  In the second case, two rows out of every three are deleted; much 
detail will be lost, so retouching will again be necessary.
     Since changing print quality is a drastic modification which, if invoked 
accidentally, could lose valuable data, LQCHAR prompts for confirmation (Y/N) 

     FONT TYPE:  The font can be stored as Full or Partial (selected with the 
<F2> key).  The only difference concerns characters that you have NOT defined: 
in a Full font, they simply won't print.  In a Partial font, the printer's 
resident font will "show through" any gaps; so a Partial font is an easy way 
to modify just a few characters.

     PITCH:  The font can be stored as Pica, Elite, or Proportional (selected 
with the <F3> key).  This choice affects only the spacing between characters, 
not the size of the characters themselves:  Pica prints 10 characters per inch 
(cpi), Elite prints a more compact 12 cpi, and Proportional is also about 12 
cpi but will vary according to the actual width of the characters.  (Some 
printers can vary the pitch of a downloaded font, and will not require the use 
of this command.  See MORE ABOUT DOWNLOADED FONTS below.)


     When you are finished modifying the font, pressing <ESC> takes you to the 
DOS MENU, which presents several choices:
         <P>= PRINT THE FONT.  The entire range of characters will be printed, 
    with the standard font above (for comparison) and your new font below.  
    (Your printer must be online.)
         <C>= CHANGE THE NAME of the font before saving it to a disk file.
         <S>= SAVE the font to disk, then continue editing.
         <L>= LOAD A NEW FONT to work on.
         <E>= EXIT to DOS, SAVING the font to disk first.
         <Q>= QUIT to DOS, without saving the font to disk.
Pressing <ESC> at the DOS MENU will return you to editing the font.

---------------------------  DESIGNING CHARACTERS  ---------------------------

     To examine and modify individual characters, you can press:

          ARROW KEYS -  Display previous/next character
       Any character -  Display that character
            <RETURN> -  Edit the character shown

Select the standard character whose ASCII code corresponds to that of the new 
character you wish to create.  You may choose any character from hex value 21 
to 7E (33 to 126 decimal, "!" to "~").  If you pick a previously defined 
character, you will be modifying it.  For example, if you've loaded DRAFT.LQC, 
and type "A", you should see that character in the box; if you hit <RETURN>, 
you will be editing that character.

     Note that your cursor is now inside the character matrix.  You can move 
it around with your arrow keys.  The spacebar or keypad [5] key will toggle 
the pin you are pointing to ON and OFF.  Thus you can build up the pattern of 
dots that will form your character.

     There are many other special commands available in this mode, to make 
modifying characters easier; a reminder of them is visible to the right for 
reference during editing.  These are:

        <R,L,U,D>  move the whole pattern RIGHT, LEFT, UP, or DOWN.
              <C>  COPY the pattern from another defined character.
              <O>  copy pattern from character in OTHER font file.
              <B>  BLANK the whole pattern out to start over.
              <P>  PREVIEW a character in hi-res graphics. (EGA only!)
          <F1,F2>  move current COLUMN up, down.
          <F3,F4>  move current ROW left, right.
          <F5,F6>  insert, delete a COLUMN.
          <F7,F8>  insert, delete a ROW.
          <F9,F0>  ROTATE left, right.

     NOTES:  The OTHER command can be used to copy characters from another LQC 
font file (you will be asked for the font name).  This works with any other 
font, regardless of print quality, pitch, or font type.  (On limitations of 
Draft/LQ conversion, see above.)
     The PREVIEW command works ONLY on an EGA adapter.  It shows you a more 
realistic, miniature picture of the present character, using higher resolution 
graphics.  Press <P> again or <ESC> to remove this and continue editing.

     Of the remaining commands, only "rotate" is a bit tricky: this changes 
the overall slant of a character.  Be sure the character isn't too wide, and 
is roughly centered in the box, or parts of it will get truncated.  Note that 
the rotation works in increments of 2 rows; thus moving the character up or 
down one row first can give a slightly different effect.  Also, if you're 
going to rotate more than once, you should move the character up or down once 
each time in between to get the smoothest effect.  (Rotation works best on LQ 
characters; its effects are a bit drastic for Draft mode.)

     When done, you can press either:

              <RETURN> -  SAVE the character as modified
          or     <ESC> -  QUIT without saving changes

Upon saving, automatic centering causes the pattern to move to the middle of 
the box.  Note that you will not be able to save a definition that violates 
the following rule:

          --->  No two adjacent pins in any ROW may be ON!  <---

This is a physical limitation of the printhead: the pins can't fire fast 
enough to print twice in adjacent columns.  You could send such a character 
definition to the printer, but the second dot wouldn't print as intended, so 
LQCHAR warns you beforehand to avoid mistakes.

----------------------  PRINTING WITH DOWNLOADED FONTS  ---------------------- 

     The fonts designed with LQCHAR should have a filetype of ".LQC", for 
ready identification.  Typically they range in size from 1k to 5k, depending 
on how many characters are defined (also, Partial or LQ fonts are larger than 
Full or Draft fonts).  They must be loaded into your printer's font memory in 
order to be used.  This is done with the "/P" option:

                          A>lqchar fontname /p

This command can be given, for example, before you enter your word processor, 
or (hopefully) from some kind of DOS gateway within it.  (Be sure your printer 
is online.)  The font is now ready for use.  In order for this to work, your 
software MUST be installed to give the printer commands to switch to the 
downloaded font when required.  For example, in WordStar 4, you might have 
your print controls set up so that ^PA enables the downloaded (alternate) 
font, and ^PN goes back to the normal font. Thus you can alternate between two 
completely different fonts.

     If you don't have LQCHAR handy, you can also use the ordinary DOS COPY 
command to do this.  You will have to specify the filetype though; and you 
should use the /B option to make sure the LQC file is treated as binary, not 
character, data:

                          A>copy fontname.LQC prn /b

     Alternatively, you may want to be using the downloaded font alone, rather 
than switching back and forth between it and the normal font.  (This is how 
you will typically use a Partial font.)  In this case, you want the font to 
take effect immediately upon loading.  Use the "/U" option instead:

                          A>lqchar fontname /u

After loading the font, LQCHAR will enable it, so that all subsequent printing 
will be using the downloaded font.  Your word processor doesn't need to know a 
thing about it.  In order for this to work, your software MUST NOT use any 
printer commands to change the font after you've run LQCHAR.  (Check your 
"printer initialization sequence" for commands that reset the printer, select 
font or print quality, etc.)


     In any event, you will have to be careful that your software does not 
send commands to the printer that will cancel the font loaded with LQCHAR.  
This may include certain "global reset" commands that programs often use to 
initialize the printer.  If you can't get a downloaded font to work, try 
reloading it with the "/U" option, then printing something with a simple DOS 
command like "COPY filename PRN".  If this does work, your problem is with the 
printer initialization in your software; see your manual for how to modify it.

     Your printer can keep only one downloaded font in memory at once; if you 
load a second font it will replace the first.  After using LQCHAR, you can 
change between Draft and Letter quality, but of course the printer's resident 
font will be used in the other mode.

     Downloaded fonts do function a bit differently than the printer's 
resident font.  They should respond nicely to all the usual enhancements: 
expanded, compressed, emphasized, italics etc.  (This may depend on your 
     Your printer may or may not allow printer commands to vary the pitch of a 
downloaded font with ESC sequences or panel switches.  (The Alps does not; I 
am told that some Epsons do.)  If it does, you can leave LQCHAR set to "pica 
pitch" and ignore the "pitch" command <F3>.  If not, your choice with the <F3> 
key determines the pitch.  (You can always create another copy of an LQC file 
in a different pitch.)
     But there is one FIRM limitation:  True super/subscripts will NOT work, 
as these miniature characters have to be defined separately, on an 18-pin high 
matrix, and LQCHAR doesn't do this.  If you need these, you may be able to 
install your software to do subscripting with platen rolls instead.

--------------------------  TECHNICAL INFORMATION  --------------------------- 


     The output file for a full font consists of an ESC sequence to set the 
print quality (draft/LQ) and proportional print (on/off), then a long ESC 
sequence defining every ASCII character from hex 20 to 7E.  (LQCHAR defines 
20H as space, automatically.)  For a partial font, the file instead contains 
the ESC sequence to copy the resident font, then a separate ESC sequence for 
each defined character individually.
     This means that if you don't have LQCHAR handy, you can simply load LQC 
fonts with the DOS COPY command: they contain nothing but standard Epson ESC 
sequences.  However -- there too many details about the way the character 
definitions must be formatted to explain here.  I do NOT recommend that you 
try to convert font data from other sources into LQC files for use with 
LQCHAR.  There are just too many details, and LQCHAR might crash if its data 
isn't in the expected format.
     LQCHAR can, however, read LQC files created by versions prior to 1.22 
(which lack the proportional code in the leadin string), and even those 
created by the earlier CP/M version of the program (LQCHAR 1.1, 8/87).


     The default screen colors in LQCHAR are chosen for visibility on the 
widest variety of display adapters.  However, if you prefer to change the 
colors using DEBUG or a similar utility to modify LQCHAR.COM, you may do so.  
There are 5 distinct colors, beginning at address 0102h:
     ADDR   DEFAULT                PURPOSE
     0102   07  (white)            Normal video
     0103   08  (grey)             Dim video (undefined/unavailable items)
     0104   0F  (bright)           Bright video    /These are all used \
     0105   70  (black on white)   Inverse video  < for highlighted text>
     0106   7F  (bright on white)  Hilight video   \and box shading    /


     LQCHAR 1.0 (6/88) was developed from my earlier Z80 CP/M program of the 
same name (version 1.1, 8/87), with a number of added features.
     1.1 (1/89) - adds hi-res preview for EGA systems; small improvements.
     1.2 (4/89) - more DOS functions; LQ to Draft conversion; copy character 
                 from another font; print font; small improvements.
     1.21 (5/89) - fixed bug in <O>ther font function; small improvements.  
                 Proportional spacing of narrow characters improved.
     1.22 (10/89) - correctly recognizes more non-EGA systems; puts printer 
                 in proportional mode for prop. fonts.  (Note: to convert 
                 existing LQC files, you must load and resave them.)
     1.23 (02/90) - fixed bugs in reading older fonts, writing Partial fonts; 
                   included more font files.
                    This will be the LAST RELEASE of this program.



                           Instructions for PI.COM
                        Print Interceptor 1.2 (4/6/90)

                             (c)1988-90 E. Meyer

     PI (Print Interceptor) is a printer utility for all MSDOS systems 
(requires MS/PCDOS 2.x or higher).  When run, PI.COM becomes a memory resident 
program (TSR) that translates printer output according to a table that can be 
changed at will.  Any outgoing ASCII code can be redefined to another code, or 
string of codes, to be sent to your printer.  This is a very general approach, 
with many possible applications, including:

     * IBM extended (foreign) characters can be emulated on LQ printers
     * Single-character "Macros" can produce predefined strings
     * The same file can print differently on different printers
     * Printer output can be entirely suppressed for testing software

     PI allows you to change the current definitions in two ways: with a text 
file full of definitions that you create with an editor; or with ESC code 
sequences that can be sent from other programs.

                              1. INSTALLING PI

     The PI.COM module, once installed, remains in memory until your computer 
is reset.  There are two ways to install it.  First you may simply type:


This loads the module, but it is INACTIVE, and no redefinitions are in effect.  
You would have to define some characters, then make PI active, before printer 
output would be affected.  (See below for how to do this.)
     Second, you may invoke PI with the name of a definition file:

                                 A>pi filename

This loads the module, makes it ACTIVE, and implements any redefinitions in 
the file.  (See below for the required file format.)  This command may be 
repeated later to install a replacement set of definitions.
     NOTE: the printer must be online when loading definitions.

                             2. DEFINITION FILES

     You can quickly establish a set of redefinitions for use with PI, using 
any text editor.  Create a simple ASCII text file (say, MY.DEF), which you 
will be loading with PI (eg, A>pi my.def).
     The file may contain any number of statements like this:

                    128='C',8,',';   '@'=27,'(s0S';   ...

Numbers are always decimal; literal characters or strings are enclosed in 
single quotes; commas separate items in a definition, a semicolon ends each 
definition; blank space and carriage returns are ignored.  PI interprets the 
example shown as a request to define character 128 as the three-byte sequence 
"C", backspace, comma; character "@" as Escape, "(s0S"; and so on for each 
such statement in the file.  Any characters not mentioned will ordinarily 
print as themselves.  Finally, PI will be made ACTIVE, enabling these 
definitions for use.

     The effect of the first example is to allow the IBM character capital-C- 
sedilla to print as capital-C, backspace, comma, which is a good facsimile on 
letter quality printers.  Of course, definitions can be a single byte: 
"128=67;" would define it as capital-C alone.  And definitions can be empty: 
"128=;" would define it as nothing, that is, a non-printing character.

     Each definition may be up to 32 bytes long, and PI has 6K (about 6000) 
bytes available for all definitions.

                              3. CONTROLLING PI

     If you just type "PI" with no arguments, you will be informed of the 
current status (whether PI is active, and whether print output is enabled).  
There is also a set of commands to change status:

              A>pi /a     Make PI ACTIVE
              A>pi /i     Make PI INACTIVE

              A>pi /d     DISABLE print output
              A>pi /e     ENABLE print output

     The "/D" command temporarily disables all output to the printer.  Your 
software can operate as usual, thinking it's printing; but nothing will 
happen, in fact there need not even be a printer present.  The current 
definitions are not affected.

                              4. PROGRAMMING PI

     You may never need to do anything further to control PI.  However, if you 
do find a need, or become interested, PI responds to a set of ESC-commands, 
just like those that control your printer.  You can install these commands in 
your word processor's printer controls section; put a set of them in a disk 
file to be COPYed to the printer for use; or use them in a program of your 
own, for example, to read in translation tables in some format other than that 
expected by PI.COM itself.

     When PI is "active", it is translating printer output according to any 
currently installed definitions.  When it is "inactive", all output goes 
direct to the printer without translation.  Keep these two states in mind: 
making PI inactive and defining every character as itself are NOT the same.

     Once again, after PI.COM is installed, these codes must be sent as 
PRINTER OUTPUT to modify its behavior.  Hexadecimal notation is used 
throughout here; decimal values are often shown in parentheses.  Hex 1B is the 
ESCape code (27 decimal).

INACTIVATE PI.                 1B FF 30    (27,255,48)
         This sequence temporarily "turns PI off", if you ever need a 
      quick way to suspend translation.

ACTIVATE PI.                   1B FF 31    (27,255,49)
         This sequence "turns PI on", enabling its translation of 
      outgoing printer data according to any installed definitions.

SET STANDARD ASCII.            1B FF 32    (27,255,50)
         This sequence defines every character as itself; useful as a 
      starting point for further modifications.

MASK PARITY.                   1B FF 33    (27,255,51)
         This sequence defines ASCII 00-7F (0-127) as themselves, and 
      ASCII 80-FF (128-255) as 00-7F (0-127) also.  Effectively, this 
      would "mask off" the high, or parity, bit on outgoing data.

ERASE DEFINITIONS.             1B FF 34    (27,255,52)
         This sequence wipes out all ASCII codes, defining each as a 
      null string.  Only subsequently redefined codes will print.

REDEFINE CODE.                 1B FE aa nn b1 b2...  (27,254,aa,nn,b1...)
         This sequence redefines any ASCII code "aa", for printing 
      purposes, as a string of "nn" bytes, "b1 b2...".

                              5. ABOUT CONFLICTS

     PI itself uses just two uncommon ESC codes, which probably will not 
conflict directly with anything in your printer's command set.  A more subtle 
problem is that PI might interfere with your use of printer ESC codes by 
attempting to translate them!  PI tries to avoid this: it will never translate 
an ESC, nor a byte preceded by an ESC, so that, for example, if you use an ESC- 
E command it will not be affected by any translation of the character "E".  
But many printer sequences are longer than two bytes, and in these cases PI 
can't distinguish commands from data.

     To illustrate the problem, suppose you have been using the printer 
command ESC-r-nn, "1B 72 80" (27,114,128) to set the right margin to absolute 
column 128.  If this occurs while PI is ACTIVE, with the redefinition in the 
example above, that final "128" is going to turn into "67,8,44" or whatever, 
resulting in setting a margin at column 67, plus some garbage.  This is why 
you (may?) need to ensure that PI is INACTIVE when (some?) printer commands 
are being sent.  There are two possible approaches.

     THE FAST AND LOOSE METHOD: in general, leave PI ACTIVE and don't worry; 
you may never see a problem.  But whenever you see that your printer isn't 
being properly set up, or spot a particular command that you know will cause 
trouble (because it contains ASCII codes that you have redefined), make sure 
it is "bracketed" somehow by commands to turn off translation:
                 1B FF 30        ;make PI INACTIVE
                 1B 72 80        ;now set the margin correctly
                 1B FF 31        ;make PI ACTIVE again
Often this approach will be adequate, particularly if you seldom redefine any 
characters in the normal ASCII range 00-7F.

     THE CAUTIOUS METHOD: in general, make PI INACTIVE.  But in every text 
file you are going to print, embed the PI ON command (1B FF 31) at the 
beginning, and PI OFF (1B FF 30) at the end.  

                               TECHNICAL NOTES

     PI is a replacement interrupt handler.  It will intercept all normal 
printer output from programs, but not output generated by use of redirection 
or the PRN device in DOS commands.
     Because PI is a Terminate and Stay Resident (TSR) utility, once installed 
it cannot be removed without a reset.  You should not install PI from within a 
DOS shell while executing another program, as this will corrupt the DOS memory 
allocations; other uses of PI.COM (reading files, etc) cause no problems in 
this situation.


     PI 1.0-1.1 (3/88)  Original release
            1.2 (4/90)  Added 'literal quote' option for def. file

     PI and its documentation are (c)1988-90 E.Meyer, all rights reserved.  
They may be freely distributed, but not modified or sold for profit without my 
written consent.  The user takes full responsibility for any damages resulting 
from the use of this program.

                 Eric Meyer
            401 12th Ave SE #139             CompuServe [74415,1305]
           Norman, OK  73071  USA


                          Instructions for QKRP.COM
                            version 1.2 (11/7/89)

                               (c)1989 E. Meyer

           Quick Key Repeat requires: IBM PC/XT, DOS 2.x or above.

     QKRP is a speedup program for the original IBM PC/XT keyboard.  Enhanced 
(AT) keyboards have a programmable key repeat rate; original PC's don't, so 
QKRP actually modifies the way the BIOS handles incoming keystrokes.  It 
accelerates key repeat action, yet stops instantly when the key is released.  
Furthermore, the delay before repeat action begins can be adjusted.

     QKRP roughly doubles the key auto-repeat rate on an IBM PC.  This makes 
moving the cursor, as well as typing repeated characters, faster and easier.  
At the same time, it solves a problem in the PC BIOS: when you hold down a 
key, repeat keystrokes are stored in the type-ahead buffer, whether or not 
your software is ready for them yet.  Then an annoying "overshoot" effect 
occurs as, even after you've released the key, your software is still reading 
these keystrokes from the buffer.  QKRP avoids this, by engaging auto-repeat 
only when the typeahead buffer is empty.

     QKRP does not interfere with normal keyboard operation, for example the 
use of the Alt and numeric keys to enter graphic characters.  However, it will 
only work on 100% PC compatible computers, and might conflict with other TSR 
(memory resident) software.  Test it out before installing it in your bootup 

                                  USING QKRP

     You can install QKRP from the DOS command line.  However, since it should 
normally be installed before any other TSRs that monitor keyboard interrupts, 
it's best to place it early in your AUTOEXEC.BAT file.  Type:
         > QKRP I    to "I"nstall.

     Once QKRP is installed, you can adjust the repeat delay setting (the 
time, after pressing a key, before auto repeat begins) at will, simply by 
         > QKRP 1..5   for delay from 1 (shortest) to 5 (longest).

     A value of "3" is the default, for a moderate delay.  Different settings 
will suit different typists; experiment to find out which you like.  If you 
prefer a different value, you can specify this at the time of installation:
         > QKRP I 2   to "I"nstall with moderately short delay.

     Note: you may include option slashes if desired, eg:  > QKRP /I /2.

     QKRP consumes only about 400 bytes of memory.  It should not be installed 
more than once, as this wastes memory and complicates the keyboard interrupts.  
Consequently, QKRP tries to detect the fact that it is already resident; if 
so, it will accept a command to change the delay setting, but will refuse to 
install itself again.
     If you simply type "QKRP", with no arguments, the program will tell you 
whether it is installed.
     Note: QKRP cannot tell that it is already memory resident if another 
keyboard-intercepting TSR has been loaded since.  In this situation you can no 
longer vary the delay setting.  (Also, an installation command would result in 
a duplicate installation, which should be avoided.)


     QKRP is based upon an elegant little TSR program called "HOTKEY version 
1.10", of January 1987.  This seems to have been the last release of the 
program, which unfortunately was circulated anonymously.

     v1.2 (11/89) - Corrected DOS 1.x program exit; added variable 
                   delay feature, multiple installation prevention.

     QKRP and its documentation are (c)1989 Eric Meyer, all rights reserved.  
They may be freely distributed, but not modified or sold for profit without my 
written consent.  (Voluntary contributions are welcome.)  The user takes full 
responsibility for any damages resulting from the use of this program.  Please 
report any problems encountered.

                 Eric Meyer
            401 12th Ave SE, #139            CompuServe [74415,1305]
            Norman, OK  73071  USA


                    Instructions for Video Display Editor:
                             VDE 1.52 (04/03/90)

                             (c)1987-90, E. Meyer

              Requires:  Any 80x86 computer; MS/PCDOS 2.x or above.


VDE is a small, fast, powerful text editor offering:

     * easy menu-bar operation OR WordStar command set
     * multiple files, windows, cut and paste
     * block copy, move, delete, read, write, zoom
     * find/replace, undo deletions, automatic save
     * keystroke macros with full programming ability
     * utilities to browse disk files, split files, compare files,
          count words, number lists automatically
     * full DOS access: subdirectories, DOS commands, shell
     * programmable function keys and many other user configurable options
     * ability to run on NON-IBM compatibles, and in limited space

But VDE is also an efficient small word processor, with:

     * wordwrap, reformat, left and right margins, variable tabs
     * center, flush right, proportional spacing
     * customizable printer drivers for special effects (bold, underline, etc)
     * printing options: headers, pagination, selective print, print to file
     * multiple file formats (plain ASCII, WordStar, WordPerfect, XyWrite)

     VDE's versatility is due to its combination of the most important word 
processing features with the simplicity of an editor designed to work with 
plain text files, making it an efficient tool for many different tasks.  VDE's 
pure ASCII mode makes it an ideal choice for a DOS file editor, or a practical 
editor to run from a shell within telecom, database, file maintenance, 
programming, and other application software.  Yet its full formatting and 
printing features also make VDE a highly WordStar-compatible word processor.

     VDE is very fast; it edits files entirely in memory, and displays text 
directly to video RAM (on IBM PCs).  Speed is a factor that commercial 
programs often overlook;  finding a string near the end of a 60k non-document 
file takes WordStar 4 about 20 seconds [8 MHz 8088], while VDE does it in half 
a second.  When you are free to move around in your file with this speed, you 
can do more of your work instantly on screen, and less on paper.

     VDE is also very small.  Taking only about 45k of disk space, and running 
in as little as 90 to 140k of RAM, it is well suited to portable computers and 
other applications with limited memory or disk space.

     Please note that copies of VDE on disk can NOT be ordered directly from 
the author, except for purchasers of site licenses.

     Primary distribution points for VDE, as of October 1988, are:
         (1) Glendale Littera QBBS - Glendale, CA  (818)956-6164.
         (2) On CompuServe, in download libraries (DL) of the IBMAPP forum.
VDE is updated regularly, and users with access to a modem can always find the 
most recent release on these systems.
     In addition, VDE is available on a wide variety of other remote systems, 
and also on disk through several software libraries, including:
         The Public Software Library           (800)242-4775
         P.O. Box 35705, Houston TX 77235.     (ask for disk #1933)

     Any use of VDE is governed by the Usage Policy detailed below.

===============================  USAGE POLICY  ===============================

     The VDE editor and its documentation are copyright (c)1987-90 Eric Meyer, 
all rights reserved.  They may not be circulated in any incomplete or modified 
form, nor sold for profit, without written permission of the author.  The use 
or sale of VDE is subject to the following terms:

INDIVIDUAL USE:       VDE may be freely used and shared with others; there is 
----------         no required registration fee.  (If you like VDE and find it 
                   useful, please do consider sending a contribution!)

INSTITUTIONAL USE:    Any corporation or institution wishing to use VDE in the 
-------------      course of its business must purchase a SITE LICENSE.  A 
                   standard license, allowing the use of VDE on up to 20 
                   different computers, can be ordered for US $50.00; write 
                   for terms concerning larger quantities.  A disk containing 
                   the latest release of VDE will be included at no additional 
                   charge (specify 5.25" or 3.5").

COMMERCIAL SALE:      Any software dealer or library may offer VDE for sale, 
           ----    as long as the price charged for the disk containing VDE 
                   does not exceed US $5.00.  With this single exception, the 
                   sale of VDE for profit, either alone or together with other 
                   software or hardware, requires a licensing agreement provi- 
                   ding for royalty payments.  Please write for terms.

                 Eric Meyer
            401 12th Ave SE, #139          CompuServe [74415,1305]
            Norman, OK  73071  USA

     DISCLAIMER: You undertake to use VDE at your own risk.  The author 
assumes no liability for damages of any kind resulting from your use of VDE.  
"WordStar", "WordPerfect", "XyWrite" and "DesqView" are registered trademarks.

================================  CONTENTS  ==================================

1. INTRODUCTION: Installation; Command line syntax, examples; 
                 VDE operating modes (MenuBar, Command).

2. COMMAND SUMMARY: a complete brief listing of all commands:
               MenuBar choices;
               Ctrl, ^K (Block/File), ^Q (Quick), ^O (Onscreen), Alt, Esc.

3. EDITING COMMANDS, explained alphabetically by category:
       Auto indent, Auto number, Auto save, Block commands, Deleting, Files, 
    Find/replace, Graphics, Header, Hyphenation, Information, Inserting, Line 
    spacing, Margins, Matching up files, Moving around, Multiple files, 
    Pagination, Place markers, Printer codes, Printer drivers, Printing, 
    Proportional spacing, Ruler line, Run command/shell, Save/exit, Screen 
    controls, Splitting files, Tabs, Time/date, Undelete, Upper/lower case, 
    Windows, Wordwrap & reformat.

4. GENERAL INFORMATION, alphabetically by category:
       Compatibility (WordStar, WordPerfect, XyWrite), Directories, Error 
    messages, File modes, Memory, Prompts.

5. APPLICATION TIPS, alphabetically by topic:
       DesqView, Foreign ASCII files, Programming, Redirecting I/O, Spelling 
    checkers, Structured languages, Transposing text.

    [The following sections are in the companion file VINST.DOC.]

6. MACROS.  Explanation and examples of:
        Function keys, Key redefinition files, Macros, Macro keys, Macro
     programming, Recording macros.

7. RUNNING VINSTALL.  How to use VINST.COM to modify VDE.COM:
        Installing for different computers, printers; user defaults and 
     options; macro and function key defaults.

    [See the companion file VDE.UPD for version history and recent changes.]

=============================  1. INTRODUCTION  ==============================

     Most users will have an IBM compatible computer, and can begin using VDE 
straightaway.  Before long, though, you should use the VINSTALL program to 
customize the display and other options to your tastes.  (Once you have done 
this, the introductory information screen in VDE will disappear.)
     However, if your computer is not 100% IBM-compatible, you should run 
VINSTALL immediately, and perform the computer installation before using VDE.  
(In non-IBM mode, VDE will run on any MSDOS system with an ANSI.SYS driver.)
     VDE operates by default in Command mode.  If you want to get started 
using the simplified menu system, you must change this with VINSTALL.  You 
will eventually discover the settings you prefer for the many other options 
and defaults, as you become more familiar with VDE.  [See VINST.DOC for 
details.  Comments below in brackets "[]" point out various uses of VINSTALL.]

                                 RUNNING VDE

     You can just type "VDE", with no arguments; or, you may specify a list of 
up to 8 filenames.  Any filename may include a DOS directory, and/or be 
followed by a mode option.  A key definition file may also be specified at the 
end of the command line, following a semicolon ";".  All spaces are ignored.

SYNTAX:     note "{}" = optional

    C>vde {filename} {/m} {, filename2 {/m}} {,...} {;name.VDK} {;name.VDF}

EXAMPLES:   C>vde                         C>vde article.doc/w;ws4.vdf
            C>vde sample.fil              C>vde b:myfile,myfile.bak
            C>vde a:summary,\recs\sep85   C>vde prog.doc/a,prog.asm/n,errors

         "filename" - file to edit.  If no name is given, you begin a new 
    (untitled) file.  Multiple names are separated by commas; the previous 
    item's directory carries over to the next item, unless this begins 
    with a drive or root "\".  (In the example above, MYFILE.BAK is on B:.)

         "/m" or " m" - optional choice of file modes: "m" can be "A"SCII,  
    "W"ordstar, WordStar "5", Word"P"erfect, or "X"yWrite document; or 
    "N"ondocument.  Normally defaults to "/A".  Must be separated from 
    filename by a space and/or a slash.  See FILE MODES.

         "+name.VDK (or VDF)" - optional macro and/or function key definition 
    file to load.  See KEY DEFINITION FILES.

     VDE can edit different types of files: non-documents, such as program 
source code; or documents with formatted text, in either pure ASCII or formats 
compatible with WordStar, WordPerfect, XyWrite, and other word processors.  
Maximum file size is roughly 80k; if an existing file is too large to edit 
with VDE, divide it up (see SPLITTING FILES).

     VDE gives you a certain amount of information at the top of the screen 
(for details see HEADER, RULER).  At times, further information may be 
provided by various menus or error messages; press [Esc] or [Space] to remove 
these.  Any input prompts (like "New value:") may be cancelled by typing ^U.

     Hint: If you need on-line help while learning to use VDE, it's an 
excellent idea to load VDE.DOC as a second file while you work.  Then just 
switch to it and search for the help you need (for example, the word "margin").

                               OPERATING MODES

     VDE has two distinct modes of operation:
            (1) MENU-BAR mode.      (2) COMMAND mode.
If you see the message "Esc=MenuBar" at the right end of the header line, you 
are in MenuBar mode.  If this area is blank, you are in command mode.
     To switch into MenuBar mode from command mode, type Esc,?; to switch to 
command mode from MenuBar mode, select {Misc:Command mode} (Esc,M,C).

     (1) If you are new to word processing, you may find the MenuBar mode 
easiest.  Just press the [Esc] key, and a series of menu bars will guide you 
to the function you need: type a highlighted letter to select from each menu.  
Most (though not all) of VDE's features are available in this mode.  In the 
text below, MenuBar commands will be referred to in the following manner:
This designates selecting st"Y"le, then "U"nderline from the menu bar sequence 
(you actually type Esc,Y,U).

     (2) Control-key commands (WordStar compatible), although they do need to 
be memorized, are more concise, and give access to the full range of VDE 
features, including powerful macros.  If you're familiar with the popular 
WordStar command set already, you can probably start right in editing files 
with VDE.  It uses simple one- or two-key combinations, like:
                              Ctrl-Q  F
These are easily found by the touch typist without distraction, and probably 
account for the continuing popularity of WordStar, which (despite being nearly 
a decade old) is still widely used throughout the world.
     Most of these commands in VDE are identical to those in WordStar, though 
a few differ slightly.  But VDE is more than just a WordStar "clone", and has 
a number of extra Alt-key and Esc-key commands to invoke its additional 
features, such as multi-file editing.

===========================  2. COMMAND SUMMARY  =============================

     Explanation of Keys:  IBM PC special keys are indicated in [brackets], 
including arrows [^,v,<,>] for the cursor keys.  ([+] and [-] refer to the 
keypad +,- keys only.)  "Esc" means the Escape key, [Esc]; "Esc1" means 
[Esc],1.  "Alt" indicates holding down the [Alt] key: "AltD" means [Alt]+D.  
"^" indicates holding down the [Ctrl] key: "^K" means [Ctrl]+K.  Many commands 
require two-key sequences, eg ^QR = [Ctrl]+Q,R.  The prefix (^Q) displays in 
the header, and can be canceled by pressing Esc or Space.

     Synonyms:  If your keyboard lacks any of the IBM PC keys, synonyms are 
always available (eg, ^R for [PgUp]).  If you have no [Alt] key, you can still 
access the Alt-commands with a double-Esc prefix: Esc,Esc,X = AltX.  (This 
also allows use of VDE while Alt-keys have been redefined with TSR utilities.)

                                UNIVERSAL KEYS

     The following keys are active in either operating mode.  (Asterisks "*" 
mark features unique to VDE.)

  [Ret] = Carriage Return (also known as [Enter], CR, or ^M).
            New line.  In documents, marks a paragraph end.
  [BkSp] or [<-] = BackSpace (also known as BS or ^H).  [May delete.]
  [Tab] = Hard Tab mode: enter Tab.  Variable Tab mode: move to next stop.
* Shft[Tab] = backward variable Tab: move to previous stop.

     [Del] = delete character to the left.  [May instead delete right.]
*   ^[Del] = delete character in opposite direction from [Del].
     [Ins] = toggle Insert mode on and off.

     [^], [v], [>], [<] (IBM cursor keys).
     ^[>]  = move to start of next word right.
     ^[<]  = move to start of previous word (left).

     [-] = scroll back one line.
     [+] = scroll forward one line.
     [PgUp] = scroll back one screen.
     [PgDn] = scroll forward one screen.
*    ^[PgUp] = scroll both files back a screen (in split screen mode).
*    ^[PgDn] = scroll both files forward (").

     [Home] = go to top of screen.    [Home, End keys can also be set to move
     [End]  = go to bottom of screen.     to beginning, end of line instead.]
     ^[Home] = move to top of file.
     ^[End]  = move to end of file.

                                MENU-BAR MODE
                     ("Esc=MenuBar" shows at upper right)

     Press [Esc] to call up the main menu bar; select an option by typing the 
capitalized, highlighted letter.  For example, the main menu bar reads:
  Delete  moVe  Text  stYle  Set  sCreen  Misc  Print  Block  File  Exit
If you wanted to underline text, you would type "Y" for stYle, on which you 
would see a new menu bar listing Underline, Bold... and so on.  You can type 
[Esc] again, to back up one menu, or exit.
     The entire MenuBar set, for your reference, appears below.  For further 
explanation of commands, look them up below under their command mode 
equivalents, given in the second column.

{Delete: del Line}       ^Y            {Misc: insert Time}       AltT
         to line Start}  ^Q[Del]                     Date}       AltD
                 End}    ^QY                  file Info}         ^KI
         del to Char}    ^QT                  about VDE}         AltI
         del Block}      ^KY                  Command mode}      Esc?
         Undelete}       ^U
                                       {Print: overstrike Char}  ^PH
{moVe: Find}             ^QF                              Line}  ^PM
       Replace}          ^QA                   Formfeed}         ^PL
       rEpeat f/r}       ^L                    Tab}              ^PI
       Overview bar}     AltO                  Graphic}          AltG
       place Set}        ^PZ                   Driver}           AltV
             Go}         ^QP                   Print file}       ^KP

{Text: rUler}            ^OT           {Block: Begin}            ^KB
       set mrgn L}       ^OL                   End}              ^KK
                R}       ^OR                   Unmark}           ^KU
       Mrgn rel}         ^OX                   Copy}             ^KC
       Center}           ^OC                   Move}             ^KV
       Flush}            ^OF                   cuT}              AltC
       rEform}           ^B                    Paste}            AltP
       Autoindent}       ^OA                   Write}            ^KW
                                               Zoom}             ^KZ
{stYle: Underline}       ^PS
        Bold}            ^PB           {File: rEname work}       ^KN
        Doublestrike}    ^PD                  Dir}               ^KF
        Italic}          ^PY                  Read in}           ^KR
        Subscript}       ^PV                  Load new}          ^KL
        suPerscript}     ^PT                  Add file}          AltL
                                              Next file}         AltN
{Set: tab Set}           ^OI                  Prev}              AltB
          Clr}           ^ON
      Varitab}           ^OV           {Exit: Save to disk}      ^KS
      Double spc}        ^OS                  eXit w/save}       ^KX
      Prop spc}          ^OJ                  Quit w/o save}     ^KQ
      Hyphens}           ^OH                  Run DOS command}   AltR
      pg Length}         ^OP

{sCreen: make Top}       ^OE
         Window}         AltW
         Other win}      AltF
         Header}         ^OQ
         Blank}          ^OZ
         Preview}        ^OD
         Ega:43}         AltE
         Ati:132}        AltA

                                 COMMAND MODE
                        (Right end of header is blank)

     Many commands are identical to those in WordStar.  Equal signs ("=") mark 
those that differ significantly from their WordStar equivalents.  (See 
COMPATIBILITY, below.)  Asterisks ("*") mark additional commands unique to VDE.

HELP:  ^J = display basic help menu
           (for Alt, Esc, ^K, ^O, ^P, ^Q commands, press A,E,K,O,P,Q next)

I. CONTROL KEYS:  single keystroke commands.

     WordStar arrow-key diamond:
       ^E = up.    ^D = right.             ^F = move to start of next word.
       ^X = down.  ^S = left.              ^A = to start of previous word.

     ^W = scroll back one line.            ^R = scroll back one screen.
     ^Z = scroll forward one line.         ^C = scroll forward one screen.

     ^G = delete character to right.       ^Y = delete current line.
     ^T = delete word to right.
     ^U = undo last deletion (character, word, line, or block).

     ^V = toggle Insert mode on/off.       ^N = insert [Ret] (break line).
*    ^] = toggle Word Insert on/off.       ^P = insert control code.
*    ^_ = insert a space.                  ^PZ = insert place mark.
*                                          ^P# = insert numbering marker.

*    ^^ = toggle case (upper/lower) of character at cursor.
     ^B = reformat paragraph.              ^L = repeat last find/replace.

II. FILE AND BLOCK COMMANDS:  first press ^K, then the key shown.

*    ^KI = file/memory Information.       ^KP = Print the text.

*    ^KF = disk File browser.             ^KR = Read a file into text.
*    ^KL = Load new file(s) to edit.      ^KJ = delete a disk file.

*    ^KN = reName current work.           ^KS = Save to disk, and continue.
     ^KD = Done: save & load new file.    ^KX = eXit: save & quit to DOS.
*    ^KA = set Autosave interval.         ^KQ = Quit to DOS, abandoning file.

     ^KB = mark start of a Block.         ^KK = mark end of a block.
=    ^KU = Unmark the block.              ^KY = Delete the marked block.
     ^KC = Copy block at cursor location. ^KV = moVe block to cursor location.
*    ^KZ = Zoom into the marked block.    ^KW = Write block to a disk file.
*    ^K# = automatically number items in the block.
*    ^K",',^ = uppercase ("), lowercase ('), or switch case (^) of block text.

III.  QUICK COMMANDS:  first press ^Q, then the key shown.

     ^QS or [<] = go to start of line.    ^QE or [^] = go to top of screen.
     ^QD or [>] = go to end of line.      ^QX or [v] = go to bottom of screen.

     ^QR = go to top of file.             ^QB = go to Block start marker.
     ^QC = go to end of file.             ^QK = go to block end marker.
=    ^QZ = go to next place marker.
     ^QI = go to specified page (document) or line (non-document).
     ^QP = go to Previous position in file (before last sizable move).

     ^QF = find a string.                 ^QA = find and replace a string.

     ^QY = delete from cursor to end of current line.
     ^Q[Del] = delete from cursor to beginning of current line.
     ^QT = delete up to specified character.

IV. ONSCREEN COMMANDS:  first press ^O, then the key shown.

     ^OR = set Right margin.              ^OX = toggle Margin Release on/off.
     ^OL = set Left margin.               ^OC = Center current line.
*    ^OF = make line Flush with right margin.

*    ^OQ = header display on/off.         ^OT = ruler line display on/off.
     ^OB = hard CR display on/off.
     ^OD = preview text with no control codes or hard CRs.

*    ^OA = Auto indent on/off.            ^OH = Hyphenation on/off.
*    ^OJ = proportional spacing on/off.   ^OS = double Spacing on/off.
     ^OV = tab mode hard/Variable.
     ^OI = set variable tab stop(s).      ^ON = clear variable tab stop.

*    ^OP = set page length (0 turns off pagination).
*    ^OE or [^] = make current line top of screen.
*    ^OW = split Window to show two different portions of the file.
*    ^OZ = temporarily blank the entire screen.

V. VDE ALT-KEY COMMANDS: press Alt and the key shown.
     (These commands also work with an Esc,Esc prefix instead)

*    AltI = show VDE version Information.

*    AltL = Load an additional file.      AltB = move Back to previous file.
*    AltW = split Window with 2 files.    AltN = move forward to Next file.
*    AltF = move to other File window.

*  AltC,P = Cut and Paste a block from one place or file to another.
*    AltM = Match up the two files on screen, showing differences.
*    AltX = eXit (^KX) from all files.    AltQ = Quit (^KQ) from all files.

*    AltR = Run DOS command (or shell).   AltS = Split up a large file.

=  AltT,D = enter the current system Time or Date in the file.
*    AltG = enter an IBM Graphics character into text.
*    AltE = EGA screen (43/50 lines).     AltA = ATI screen (132 columns).

*    AltO = move with Overview bar.       AltV = change printer driVers.
*    AltU = Use (load or save) macro/function key definition file.

VI. VDE ESC-KEY COMMANDS:  first press Esc, then the key shown.

*    Esc[Tab] = variable tab forward (even in hard tab mode).
*    Esc[<],[>] = shift screen horizontally 32 columns.
*    Esc[^],[v] = shift screen vertically 1/4 screen.
     Esc? = switch to MenuBar mode.  (In macro mode: call up MenuBar.)

*    Esc[       = define a macro string of commands.
*    Esc"       = record a macro from keystrokes.
*    Esc]       = store macro on alphanumeric key for later recall.
*    Esc0...Z   = use stored key.  (In macro mode: jump label.)
*    Esc!,=,~   = jumps and loops, used in macro programming (see MACROS).
*    Esc(),+,-  = counter, used in macro programming.
*    Esc;       = brief pause, during macro execution only.
*    Esc&       = chain to another macro.

==========================  3. EDITING COMMANDS  =============================

AUTO INDENT (^OA) - This command toggles Auto Indent mode.  When ON, wordwrap 
    or the [Ret] key will cause the cursor to advance to:
         Any existing indentation on the line (if Insert mode is OFF); or,
         The same indentation as the previous line (if Insert is ON).
    Thus, once you set the indentation level, VDE will automatically maintain 
    it.  (Indentation must NOT be done with hard tabs; it can be changed with 
    space, backspace, or with variable tabs, which insert spaces.)  Useful as 
    a paragraph indent, or for outlines, structured program source code, etc.

AUTO NUMBER (^P#,^K#) - The ^P# command inserts a marker (a highlighted "#") 
    in the text to stand for a sequential number in a list, for example:
             #.  First item.
             #.  Second item...
    You can then mark the list off as a block (see BLOCK COMMANDS), and use 
    the ^K# command: VDE will insert the numbers (1, 2, etc) in place of the 
    markers.  You will be asked for the starting number; the default is of 
    course 1.  (Once this is done the markers disappear.  For frequently 
    revised lists, leave the "#" markers in the file on disk; use ^K# just 
    before printing, and do not save afterward.)

AUTO SAVE (^KA) - You can instruct VDE to save any changes you have made to 
    disk automatically, at regular intervals.  This can ensure that you don't 
    lose too much work if you make a mistake, have a power outage, etc.  The 
    ^KA command lets you set the interval (1 to 255 minutes), or turn this 
    feature off entirely (0).  Just press [Ret] to restore the default, 
    normally 0.  [This can be changed with VINSTALL.]
         Notes: will not work on untitled files; if editing multiple files, 
    will not activate until you return the cursor to a file.

BLOCK COMMANDS (^K-B,K,U,Z,Y,C,V,W,PB; ^QB,K) - A block of text is delimited 
    by two markers, which remain in memory until reset or deleted.  ^KB marks 
    the beginning of the block; ^KK marks the end.  ^KU unmarks the block, 
    removing any marker(s) set.  The block operation commands all require a 
    block to be marked:
         ^KY goes to and deletes the block (including markers).
         ^KV moves the block (including markers) to the present cursor 
    location; ^KC simply copies it, leaving the original marked.  Any place 
    markers present are not transferred.  (The cursor cannot be IN the block.)
         ^KZ "zooms into" a block: the rest of the text is hidden, and the 
    block is temporarily treated as the entire file.  This can serve a number 
    of purposes, from simply concentrating attention on one portion of a text, 
    to limiting the scope of many VDE commands (^QA, ^B, ^KI...) to that 
    portion.  Use ^KZ again to zoom back out.  In zoom mode: pagination is 
    off; you CAN use block operations, though any block markers will disappear 
    when zooming back out; if you save (^KS), VDE will automatically zoom back 
    out of the block first.
         ^KW writes the block text to a disk file; you will be asked for the 
    filename (and optional mode).  Normally this will overwrite any pre- 
    existing file; however, you can choose instead to append the text at the 
    end of the file, by typing a "+" before the filename:
                  Write to file: GORT        overwrites
                                 +GORT       appends
         The ^QB command, from wherever you are in the file, moves the cursor 
    to the block start; ^QK moves to the block end.
         ^KPB (^KP with B option) prints the block text only.  (See PRINTING.)

DELETING (^G,Del,^Del,^T,^Y; ^Q-Y,Del,T) -  ^G or ^[Del] deletes the character 
    to the right of the cursor.  Normally, as in WordStar, [Del] deletes the 
    one to the left, and [BkSp] (^H) moves left without deleting.  [BkSp/Del 
    behavior can be changed.]
         ^T deletes an entire word to the right (up to 255 characters).
         ^Y deletes the entire current line.  ^QY deletes the part of the 
    line to the right of the cursor; ^Q[Del] deletes the part to the left.
         ^QT deletes to the next occurrence of a specified character (up to 
    4095 characters).  EXAMPLE: ^QT. (period) deletes to the end of the 
    sentence.  Special case: ^QT^M ([Ret]) deletes to the next HARD CR, the 
    end of the paragraph.
         Accidentally deleted text can be recovered (see UNDELETING).

FILES (^K-L,R,J,F) - ^KL loads new file(s) to edit, REPLACING the current one.  
    (If the file has been modified, you will be prompted to confirm this.)  
    You may enter either a single filename or a list delimited with commas 
    (see SYNTAX).  If you want to load file(s) in ADDITION to the current 
    one, use AltL instead (see MULTIPLE FILES).
         ^KR reads in the contents of a disk file, inserting the text at the 
    current cursor position.
         ^KJ deletes any disk file you specify.  (If you need more complex 
    file utilities, remember that you can run any DOS command with AltR.)

         All these commands prompt for a specific filename.  If you are 
    unsure, or would rather see a directory first, you can call up the file 
    browser by pressing [Ret] alone (for *.*), or typing a filename with 
    wildcards (eg \WORK\*.BAK).  Note: if you want to begin an untitled file, 
    press ^J or ^[Ret], instead of [Ret], at the ^KL prompt.

         The file browser can also be called directly with the ^KF command.  
    You may specify a directory and/or filename mask, and the files will be 
    alphabetically listed.  (The default, if you just press [Ret], is the 
    current file's directory, and all files *.*.)  Files display in uppercase, 
    directories in lowercase.  If all items will not fit on the screen, you 
    will see "..." at the end to indicate that there were more.  [Note: 
    display of COM/EXE files can be suppressed.]
         To remove the display, press [Esc] or [Space].  But while it is on 
    screen, you may also select one of the files shown, by moving the cursor 
    to it with the arrow keys.  Then, you can press:
              [Ret] to load this file instead (see ^KL);
              ^L    to load it as an additional file (see AltL);
              ^R    to read it into the current file (see ^KR);
              ^Y    to delete this file.
    If the file you want to load/read requires a different file mode, you can 
    first press "/" and the correct mode letter (A,N,W,5,P,X, or space).
         You can also select a directory, in which case you may press:
              [Ret] to view its contents;
              ^Y    to remove it (if empty).

FIND/REPLACE (^Q-F,A; ^L) -  ^QF is the command to FIND a string.  The 
    search normally proceeds from the cursor position forward, and is case 
    (upper/lower) sensitive.  The character "^_" (Ctrl-underline) functions as 
    a wildcard: it will match any single character.  Control codes, like ^M 
    for newline, can be included (with the ^P prefix where needed).  Graphics 
    characters can be included using AltG.  Examples:
           Find: ^MLABEL       matches "LABEL" at start of line only;
           Find: 4^_^_01       matches "42201", "47401", etc;
           Find: ^_ank         matches "tank", "Bank", etc.
        ^QA is the REPLACE command.  It asks for a string to find, as above, 
    then what to change it to.  The cursor will be placed in succession on 
    each occurrence of the string, starting at the cursor location.  (You will 
    see the prompt "Chg?" in the header.)  To change this instance, press "Y";  
    anything else skips to the next.  To change all further instances without 
    being asked, press "*".  [Esc] cancels at any time.
         There are several options for find/replace.  After you enter the text 
    string(s), you will be prompted to enter any of the following:
           "B" = search Backward through the file;
           "U" = case insensitive search (ignore Upper/lower distinction);
           "G" = search Globally (from start or end of file);
    and further, for replacing:
           "A" = Align (reform) paragraphs again after each replacement;
           "N" = No query: replace all instances without asking.
    If you don't want to be prompted for options, finish entry of the find 
    string (for ^QF) or replace string (for ^QA) by typing ^J instead of 
    [Ret].  (^[Ret] is also ^J on most keyboards.)
         Notes:  The "N" option is automatically assumed whenever ^QA is used 
    in a macro.  [Uppercase can be set as your default; if so, specifying 
    "U" reverts to case sensitive search.]
         ^L repeats the last ^QF or ^QA command.  For ^QA, you will be asked 
    whether you want to replace the found string.  In both cases, the "B", 
    "U", and "A" options remain as last specified.

GRAPHICS (AltG) -  You can enter an IBM graphic character into the file text 
    with the AltG command.  You will be presented with a menu of up to 32 
    characters (labeled A-Z,1-6) to choose from; the default set contains some 
    nice box parts and other useful things, and has room free for other 
    characters that might be loaded.  [The default set can be modified.]
         Any unused menu entry can be defined on the spot.  Type "=", then the 
    code (A-5) to change.  You can then select the desired character from the 
    complete graphics set, by moving the cursor to it and pressing RETURN.  
    Alternatively, if you press any other key, you may enter the extended 
    ASCII code in either hex (2 digits 80-FF) or decimal (3 digits 128-255) 
    format.  Example: a Greek alpha can be entered either as "E0" hex or "224" 
    decimal.  Once defined in the menu, the graphic can be entered into the 
    file; its definition cannot be changed again while editing.
         NOTE: In addition to the 128 graphics characters, the code ^Z (1A, or 
    026) may only be entered as a graphic.  (In contrast, ^PZ embeds a place 
    marker.)  Furthermore, if ^P is used to embed codes 1C-1F or 7F (028-031 
    or 127) they will also appear in the graphics table.
         CAUTION: If you load a file containing many graphics (or binary data 
    that will be interpreted as graphics), VDE will try to add each character 
    to its table.  If the graphics table fills up, any further graphics will 
    be replaced by fuzzy blocks (graphic #6)!  You will see an error message, 
    and the file will become "untitled", to guard against saving to disk and 
    corrupting the file.  If you frequently work with graphics characters you 
    will want to keep your default table relatively empty to avoid this.
         Graphics are stored in disk files in accord with the current file 
    mode.  Printing of graphics depends on whether your printer is installed 
    as an IBM graphics printer [see VINST.DOC].  If so, they will print 
    directly.  If not, VDE will "emulate" them, choosing standard ASCII 
    character overstrikes that come as close as possible.  This usually works 
    well, especially for the foreign language characters.

HEADER (^OQ) -  VDE gives you an informative "header" at the top of the screen.  
    If you like, you can toggle this display on and off with the ^OQ (Quiet) 
    command.  [It can also be suppressed by default.]  Turning the header off 
    lets you see more text, and can speed up editing on slow terminals.
    + VDE.DOC  /A        Pg 14   Ln 11   Cl 48   Ins   vt hy AI DS MR " ^K_
                        (OP/BZ)                 (WIn)             (PS)
         "+" = Multi-file flag.  Present if other file(s) are being edited.
         "VDE.DOC /A" = Current filename and mode.  The full drive and path 
    information, along with other files being edited, can be displayed with 
    the ^KI command (see INFORMATION).
         "Pg 7, etc" = Current position in file by page (in document modes), 
    line, column.  If pagination (^OP) is off, you will see "Pg 0" (in 
    document modes), "OP" (in "N" mode), or "BZ" if ^KZ is in effect.
         "INS","WIn" = Insert mode (^V) or Word Insert (^]) on.
         "vt" = Variable Tab mode on. (^OV)
         "hy" = Hyphenation enabled. (^OH)  Doesn't display in "N" mode.
         "AI" = Auto Indent mode on. (^OA)
         "DS" = Double spacing. (^OS)
         "MR" = Margins released. (^OX)  Doesn't display in "N" mode.
         "PS" = Proportional spacing. (^OJ)  Overridden by MR.
          '"' = Quote mark appears during macro recording (Esc").
        "^K_" = WordStar key prefixes (and some prompts) display here.

HYPHENATION (^OH) -  VDE can't hyphenate automatically, but it can recognize 
    hyphens in the text, treating them as a legitimate place to break a line.  
    If you have a long word running over the margin, you can type a hyphen, 
    and wordwrap or reformat will break the word there.
         VDE also can't DE-hyphenate automatically.  If VDE is trying to 
    reformat and finds a hyphen at the end of a line, it will have to ask YOU 
    what to do: you will see the prompt "Remove?" in the header.
        Press "Y" to remove the hyphen and space, joining the word;
              "N" to leave the hyphen, but still join the word;
            "Esc" to ignore the hyphen, NOT joining the word.
    Typically you would choose "Y" for "soft" hyphens that you introduced to 
    break up a word ("intro-duction"); "N" for hard hyphens that are part of a 
    word ("vis-a-vis"); and "Esc" for punctuation (dashes -- etc).  After your 
    choice, reformatting will proceed automatically.
         You can toggle hyphenation on and off with ^OH.  If off, hyphens are 
    not recognized.  [The ^OH default can be changed.]

INFORMATION (^KI; AltI) -  ^KI displays an Information message telling you:
      - the full directory, name, and timestamp of the current file;
      - whether (Y/N) the file has been changed since last saved;
      - any print toggles (^B,D,S etc) that seem to be mispaired;
      - a WORD COUNT for documents (useful for professional writing);
      - the current size of the file in bytes or K (1k = 1024 bytes);
      - the number of bytes of memory used and free in this text segment;
      - the size (in K) of the largest block of RAM still free;
      - the names of all OTHER files being edited.
         For large files, all this may take a moment to calculate.  Note that 
    words are not counted in non-documents.
         The AltI command displays the VDE version, date, and usage policy.  
    (An uninstalled copy of VDE does this automatically on startup.)

INSERTING (^V,[Ins],^],^_,^N) -  ^V or [Ins] toggles Insert mode on/off, and 
    ^] toggles Word Insert.  When both are off, VDE is in overwrite mode: any 
    text to the right of the cursor is replaced as you type.  With Insert (^V) 
    ON, what you type is inserted; any existing text is carried to the right.
         With Word Insert ON, you can type over the letters of a word, but 
    anything you add at the end of the word (when the next character is a 
    space) is inserted; this is a handy feature for revising text.
         The ^_ (or ^-) and ^N commands (insert space, CR) are most useful 
    when Insert is off.  [The default insert status can be changed.]

LINE SPACING (^OS) -  The ^OS command toggles between single and double line 
    spacing.  In double space mode, the following functions generate double 
    carriage returns:  [Ret] (^M), Insert CR (^N), Reform (^B), Wordwrap.  You 
    can easily mix single and double spacing; the ^B command can convert 
    between the two.
         Note: a single-spaced file can also be printed out double-spaced with 
    the "D" option of the ^KP command (see PRINTING).

MARGINS (^O-R,L,X,C,F) - ^OR sets the RIGHT margin, and enables wordwrap, 
    reformatting, and centering.  At the prompt "Column:" enter the column 
    number (2-255), or just press [Ret] for the current cursor column.  If the 
    value entered conflicts with the current left margin, the left margin will 
    be removed.  There are two special values for the right margin:
      1 = all formatting is disabled (as in "N"ondocument mode files).
      0 = unlimited right margin: text can be reformatted to undo wordwrap.
         ^OL sets the LEFT margin in an identical fashion; of course, the 
    value must be less than the current right margin, so you may need to set 
    the right margin first.
         ^OX temporarily RELEASES the margins (resets them to 1), allowing you 
    to type outside them.  Use ^OX again to restore the margins.
         ^OC CENTERS the current line with respect to the margins, if set.  
         ^OF sets the current line FLUSH right, if the right margin is set.

MATCHING UP FILES (AltM) -  This command is used to locate small differences 
    between two largely similar files (perhaps an earlier and a later revision 
    of a text).  In order to use it, you must first load these two files 
    (AltL), then split the screen between them (AltW), and position the cursor 
    on corresponding lines in both files (for example, the top).
         Then press AltM.  Starting from these positions, VDE searches for any 
    difference between the files.  If there is one, VDE will stop on those 
    lines, showing the disagreeing passages side by side.  If you want to 
    continue, reposition the cursors to corresponding lines if necessary, and 
    press AltM again.  If no further differences are found, VDE will report 
    "Not Found"; the files match.

MOVING AROUND (Arrow keys; ^F,^A; ^Q-R,C,I,P; AltO) -  VDE supports two sets 
    of Arrow keys, which function interchangeably.  The first is the actual 
    IBM cursor keypad (the four arrow keys); the second is the WordStar "arrow 
    key diamond" ^E,^X,^D,^S.  These keys move the cursor up, down, right, and 
    left respectively.
         Preceded by ^Q-, any arrow key moves more Quickly: to the top or 
    bottom of the screen, to the left or right end of the line.
         There are also two word movement commands: ^F moves right, to the 
    start of the next word; ^A moves left, to the start of the last (or 
    current) word.  Both have a maximum travel of 255 characters.
         For quickly covering large distances, ^QR and ^QC move all the way to 
    the beginning and end of the file, respectively; ^QI moves directly to a 
    given page (for documents) or line (for non-documents).  ^QP returns the 
    cursor to its "previous" position -- before the last command causing a 
    large movement was executed.  (^QP can be used again to cycle between 
    these two positions in the file.)
         Finally, the AltO command displays an "overview bar" at the top of 
    the screen.  The length of the bar corresponds to the filesize, and the 
    current position is marked so you can see where you are:
            | ooo*ooooooooooooooooooooooo                      |
    You can move the place marker left or right with the arrow keys; the 
    cursor remains in the original (current) position.
            | ooo_oooooooooooo*oooooooooo                      |
    To move to the selected position, press [Ret]; press [Esc] instead to 
    cancel.  (If the file is empty or too small, AltO does not function.)

MULTIPLE FILES (AltL,B,N,X,Q,C,P) -  VDE allows you to edit several different 
    files simultaneously, if you have enough memory.  This can be done from 
    the command line, by giving the filenames separated by commas.
         Otherwise, to Load additional files, press AltL.  You may specify a 
    single filename, or a list delimited with commas (see SYNTAX); for an 
    untitled file, press ^J or ^[Ret].  You can also access the file 
    browser with [Ret] or wildcards (see FILES).  (This command will fail 
    if you run out of memory, or are already editing the maximum number, 
    or another file by that name.)
         Once multiple files are in use, AltB and AltN can be used to cycle 
    back and forth through the files being edited.  If you Quit or Exit 
    (^KQ,^KX) from one file, you will be returned to the previous one.
         AltX exits ALL files immediately, saving any changes made.  AltQ 
    quits ALL files immediately, without saving; if any of them have been 
    modified, you will be prompted once to confirm this.
         AltC Cuts a marked block of text, placing it in a buffer for later 
    recovery.  (The original remains, unless you delete it with ^KY.)  AltP 
    Pastes in the previously cut text at the cursor position.  The text in the 
    buffer remains available for further pasting.  (Cut and Paste thus allow 
    block copying and moving between files.)

PAGINATION (^OP; ^PL) -  The ^OP command sets the page length.  Enter a value 
    0 to 255 lines, or just press [Ret] to restore the default.  [Normally 56.]
         When the value is nonzero, it determines the page and line shown in 
    the document header ("Pg xx Ln xx"), and all page functions in the Print 
    routine (pagination, headers, start/stop at page) are enabled.  A formfeed 
    will be sent after printing.  [VDE does not send a formfeed before 
    printing; install one in your printer initialization if you want.]
         When the value is zero, pagination is off.  The header will say "Pg 0 
    Ln xxxx", showing you the absolute line number in the file.  Also, 
    printing occurs with no page breaks.  (This is useful for printing small 
    things right after each other on the same sheet; or, in conjunction with 
    the "*" option, to print out multiple copies of index cards, labels, etc.)
         The ^PL command embeds a formfeed (^L) in the text.  This code 
    functions as a page break: you can type ^PL at the start of a line to 
    begin a new page.  In document file modes, this will be reflected in the 
    header page/line count, use of ^QI and other page-related commands, etc; 
    it does not affect line count in "N"on-documents, or when pagination is 
    off (^OP 0).

PLACE MARKERS (^PZ; ^QZ) -  You can set any number of temporary place markers 
    in the text with ^PZ (they display as highlighted "Z").  The ^QZ command 
    moves the cursor to the next place marker in the file, cycling back to the 
    top of the file as needed.  (Place markers are NOT saved to disk.)

PRINTER CODES (^P) -  This command prefix is used to enter "control codes" in 
    the ASCII range 00-1F or 7F into the text, usually for purposes of printer 
    control.  Most codes are entered in a standard fashion: ^P@ embeds ^@, ^PA 
    embeds ^A, etc; and in documents they display as highlighted letters @, A, 
    etc.  (In non-documents they display as graphics.)  The EXCEPTIONS are:
            1A (^Z) can only be entered as a graphic via AltG (see 
         GRAPHICS), not via ^PZ (see PLACE MARKERS).  Many programs 
         treat this code as an end of file marker; use caution.
            06 (^F) displays as the marker "#" (see AUTO NUMBERING).
            1C-1F,7F (^\,^],^^,^_,Del) always display as graphics.
    The IBM extended codes 80-FF also must all be entered with AltG.
         Several common control codes produce special effects in printing:
          ^PH - backspace - overstrike previous character
            M - carriage return - enter a CR without a LF to overstrike line
            I - hard (ASCII) tab - printers respond variously to this
            L - formfeed - will cause a page break
         In addition, in place of complex "escape sequences" for effects such 
    as underlining, in document files VDE lets you enter a single marker, 
    which will be translated into the proper codes during printing.  VDE 
    supports a set of 13 codes for this purpose: seven toggles, six switches.  
    [See VINST.DOC on how to install the proper commands for your printer.  
    Without such installation, only ^PS and ^PX will work.]  The conventional 
    WordStar meanings of these codes are:
       Toggles: ^P^B  boldface        Switches: ^P^Q  (user def 1)
                  ^D  ("doublestrike")            ^W  (user 2)
                  ^S  underline                   ^E  (user 3)
                  ^Y  italic ("ribbon")           ^R  (user 4)
                  ^T  superscript                 ^A  alternate pitch
                  ^V  subscript                   ^N  standard pitch
                  ^X  strikeout [has no installation]
    but you can use them for anything you like.  "Toggles" are good for 
    features like underlining that are turned on and off; enter them twice, at 
    the beginning and end of the desired text.  "Switches" are better for 
    multi-valued parameters like character pitch; enter them once.
         EXAMPLE: using ^PS for underlining, you could type:
             This is how you get ^PSunderlined text^PS in VDE.
    If toggles are not properly paired, you will find print effects continuing 
    throughout the rest of your document.  To save time and effort, use the 
    ^KI command to check for this before printing.  (If an "S" appears under 
    the "^Check" heading, there is an unpaired ^S somewhere.)

PRINTER DRIVERS (AltV) -  Since many people use more than one kind of 
    printer, VDE accomodates two different printer drivers, a primary and an 
    alternate.  Before printing a file, you can select which one is active 
    using the AltV command.  [You can change the two drivers with VINSTALL.]

PRINTING (^KP) -  The ^KP command Prints the file from memory.  You will be 
    asked for a set of "Options:", at which point you may enter one or more of 
    the following, in any order:
       '...'  sends a string of escape commands to printer before printing.
       D      DOUBLESPACES the printout.
       B      prints only the currently marked BLOCK.
       Tnn    sets the TOP MARGIN to nn lines.      [The default margins can
       Lnn    sets the LEFT MARGIN to nn columns.    be set with VINSTALL.]
       ^      FILTERS control characters ^X so they print out as text "^X".
       *nn    prints the entire job out nn TIMES (nn=1...255).
       P      PAUSES for your keystroke before each page (sheet feed).

       N      NUMBERS pages sequentially, at top right.
       C      numbers pages at bottom CENTER.
       @nn    begins printing AT page nn.
       #nn    prints only (up to) a TOTAL of nn pages.
       O,E    prints only Odd or Even pages (print one, then run the paper 
            back through and print the other, for double-sided printing).
       =nn    MAKES the first page number show as nn.
       "..."  uses the quoted string as a HEADER.  The string will print in 
            the top right corner of each page, followed by the page number if 
            "N" was selected.  (Maximum length is 50 characters.)
              Note: you can include the current Time or Date in the header 
            simply by entering ^T or ^D, respectively.
    (The paging options (N/C,@,#,O/E,=,"") are NOT allowed if the page length 
    is set to 0 (^OP), or if 'B'lock print was chosen.  'C' cannot be used 
    together with 'N' or "".)

       (FILENAME)   redirects printer output to a disk file.  All print 
            control codes will go into the file just as they would have been 
            sent to your printer.  If you want to append the output to an 
            existing file, type a "+" before the name: "(+FILENAME)".

              EXAMPLE 1:      Options:  L12P
    will print the file with a left margin of 12, pausing before each page 
    until you press a key (other than Esc).
              EXAMPLE 2:      Options:  @6#2=21"(^T) Instructions, page"N
    will print the 6th and 7th pages, numbering them 21 and 22, with a header 
    like this:  "(3:41 PM) Instructions, page 21".
              EXAMPLE 3:      Options:  BD(+SCRATCH)
    will append the print output of the current marked Block, double spaced, 
    to the disk file SCRATCH.

         NOTES:  If you are in "W" or "5" file mode, any dot commands in the 
    file (lines beginning with ".") will not be printed.
         You can abort printing at any time by pressing Esc.

PROPORTIONAL SPACING (^OJ) -  If your printer has a proportionally spaced 
    font, you can get VDE to use it, and to format text so that it will print 
    with more appropriate margins.  With ^OJ on, your printer will be put in 
    proportional mode when printing (^KP); and all wordwrap and reformatting 
    (^B,^OC,^OF) will take advantage of a built-in table of character widths, 
    resulting in a better justified printout.
         In proportional mode, the margin settings need to be interpreted in 
    inches rather than characters; VDE assumes 10 cpi for convenience, so that 
    a right margin (^OR) of 70 means 7.0".  (Note: words will often seem to 
    extend "beyond" the right margin column on screen when editing.)
         [See VINST.DOC to install codes for proportional mode on your 
    printer, and to modify the character width table with VINSTALL.]

RULER LINE (^OT) -  To help you align text properly, ^OT displays a "ruler 
    line" above the text.  Type ^OT again to remove it.  A moving pointer 
    indicates the current column.
         In each column you will see one of several symbols: the arrow "v" is 
    the cursor column; "L,R" designate the current margins; "." indicates 
    areas outside the current margins, "-" within them.  Also, tab stops are 
    marked by either "|" (Variable) or "!" (Hard).  Examples:
        ("A" mode)      L-----|-----|--------v--|--------------R........
        ("N" mode)      !.......!.......!....v..!.......!.......!.......

RUN COMMAND/SHELL (AltR) - Typing AltR causes VDE to produce a replica of the 
    DOS prompt (eg, "C:\WORK>").  At this point you are still in VDE, 
    and all its input rules apply (press ^U to cancel, etc) -- but you can 
    execute any command just as you would under MSDOS.  You can copy or rename 
    files, or run any other program you like, and afterwards VDE will prompt 
    you to "Press Esc" (or Space), upon which you will return to your 
    undisturbed VDE editing session.  VDE leaves no disk files open, so you 
    can do anything you like with an AltR command.  (Exception: don't load new 
    memory-resident utilities; this fouls up the DOS memory allocation.)
         In addition, there is a special VDE command that can be typed at this 
    "fake DOS" prompt:  SHELL.  This lets you out into what is known as a 
    Command Shell: you are actually back IN MSDOS, and can use any number 
    of commands or move around as you like; when through, you need to type the 
    command EXIT to leave the Shell.  At this point you will be back in VDE, 
    and will see the "Press Esc" prompt to return to editing.
         NOTE 1: VDE must be able to find your command interpreter (usually 
    COMMAND.COM), and there must be enough free memory to load it and run the 
    chosen program.  VDE reads the COMSPEC environment variable; if your 
    CONFIG.SYS file doesn't include a line like SET COMSPEC=C:\COMMAND.COM, 
    you should add one.
         NOTE 2: Using the AltR command in MACROS is tricky.  Any keyboard 
    input expected by the program or shell must be typed by YOU; it will not 
    be taken from the macro.  And you must remember to include in your macro 
    the [Esc] keystroke needed to return to editing in VDE after it finishes.

SAVE/EXIT (^K-N,S,X,D,Q) - ^KN renames your work.  This allows you to change 
    the filename in the header before saving.  (Accepts mode option; you can 
    also specify a mode alone, eg "/W", simply to change the current mode.)  
    Caution: if you give the name of a file that already exists, it will be 
         ^KS saves your work so far: what's in memory is written to disk under 
    the filename in the header.  (You must have a filename; one will be 
    requested if necessary.)  If the file has not been modified, you will be 
    prompted to confirm whether you meant to resave it anyway.
         A copy of the existing file is preserved as a BACKUP FILE (with 
    extension ".BAK") each time you save changes.  [If you prefer not to use 
    BAK files, you can suppress their use with VINSTALL.]
         There are several different commands for finishing up:
         ^KX saves your work (if modified), and then EXITS to DOS.
         ^KD (Done) saves your work, then loads a new file to edit.
         ^KQ just QUITS, without saving to disk.  If the file has been 
    modified, you will be prompted to confirm that you meant to do this!

SCREEN CONTROLS (^W,^Z; Esc^,v,<,>; ^O-E,D,Z; AltE,A) -  VDE provides a 
    number of commands affecting the screen display:
         The ^W and ^Z commands scroll the screen up and down a line at a 
    time, without moving the cursor in the text (unless necessary).
         Preceded by Esc-, any arrow key shifts the SCREEN, leaving the cursor 
    in place: the text view moves up/down 1/4 screen, or right/left 32 
    columns.  (The cursor must be past column 32 to allow horizontal shifts.)
         Preceded by ^O-, either UP arrow key (eg, ^OE) makes the current text 
    line the top of the screen.
         The ^OD command shows you a preview of the screen with all non- 
    printing codes (markers, ^P codes, etc) hidden.  This is handy for making 
    sure that text is aligned properly.  Press [Esc] to continue editing.
         The ^OZ command temporarily "Zaps" (blanks) the entire screen; good 
    for avoiding CRT burn-in, or just protecting work from prying eyes or 
    fingers.  Restore the screen by pressing [Esc].  This is also useful if 
    some other software (like a resident utility) has messed up the screen: 
    type ^OZ,Esc and VDE will completely restore it.
         The AltE command lets you see more lines of text on screen, if you 
    have an enhanced graphics adapter.  It toggles between normal 25-line 
    mode and a compressed mode of 43 (EGA) or 50 (VGA) lines.
         The AltA command works ONLY with the ATI EGA Wonder video card; do 
    not use it otherwise.  This toggles between normal 80-column mode and ATI 
    132-column mode.  It can be used alone, or in combination with AltE to 
    provide a 43x132 screen.

SPLITTING FILES (AltS) -  If you encounter a text file that is too large for 
    VDE to load and edit, you can divide it into manageable chunks with the 
    Split command.  Suppose you have a big file HUGE.DOC.  Type AltS, then 
    answer at the prompt:
           Split file, output name (w/#):  HUGE.DOC, PIECE.#
    VDE will go through the file HUGE.DOC and write out a series of smaller 
    files PIECE.1, PIECE.2 etc, which can then be edited.  (You can tidy up 
    the transitions between them with Cut and Paste, if you like.)
         Note that the output name must be separated from the input by a 
    comma, and must contain one # sign, which will be replaced by a 1, 2, etc 
    in sequence.  (The above example could have used HUGE-#.DOC, etc.)  Make 
    sure you have enough disk space for the output files.

TABS ([Tab],Shft[Tab],Esc[Tab]; ^O-V,I,N) -  There are two Tab modes, Variable 
    and Hard; the ^OV command toggles between them.  In Hard Tab mode the Tab 
    key produces an actual ^I (ASCII TAB); whether this overwrites any 
    existing text depends on the Insert toggle.  Hard Tabs display at fixed 
    intervals of 8 screen columns.
         In Variable Tab mode, the Tab key moves the cursor to the next 
    variable tab stop.  Existing text is not overwritten; spaces are added at 
    the end of a line as needed.  Up to eight tab stops may be set with ^OI 
    and cleared with ^ON; the defaults are in columns 5, 15, 35, and 55.  
    [These are reconfigurable.]  The Shft[Tab] command tabs backwards (left), 
    useful for moving around in tables, etc.
         You can always get a Hard Tab with ^PI, or a Variable Tab with 
    Esc[Tab], no matter what tab mode you are in.
         The set/clear commands prompt for a column number, or you can press 
    [Ret] for the cursor column.  In addition, the Set command ^OI accepts 
    two further options, both of which replace all earlier tab settings:
              @nn           Set tabs every "nn" columns
              #n1,n2,...    Set tabs to columns "n1,n2,..."
    You can simply clear all variable tabs by typing "@" or "#" alone.

TIME/DATE (AltT,D) -  If your MSDOS system maintains the system clock 
    properly, VDE can read it and insert the current time and date in your 
    file automatically.  Just press AltT for the Time, or AltD for the Date.  
    The string will appear at the current cursor location, as though you had 
    typed it in yourself: for example,
              1:21 PM            [or 13:21 -- format can be selected]
              January 15, 1988   [or 1/15/88, 15 January 1988, 15.1.88]

UNDELETING (^U) -  The undelete function can be used to recover any amount of 
    text lost by the last deletion operation (whether character, word, line, 
    or block).  This includes an overstruck character.  The text will be 
    replaced at the current cursor location.

UPPER/LOWER CASE (^^; ^K",',^) -  The ^^ (Ctrl-caret or ^6) command reverses 
    the case of the character at the cursor, if it was a letter, and moves to 
    the next.
         The ^K^ (^K-caret) command reverses all text in a marked block (see 
    BLOCK COMMANDS); ^K" makes all block text uppercase, ^K' lowercase.

WINDOWS (^OW; AltW,F; ^[PgUp,Dn]) -  VDE can split the screen into two windows, 
    showing you either two parts of the same file or two different files.  
    AltF moves the cursor back and forth between the two windows.  The ^[PgUp] 
    and ^[PgDn] keys can scroll through BOTH windows in synchronization.
        The ^OW command is used in a SINGLE file; it creates a window in the 
    bottom half of the screen, duplicating the current file text.  You can 
    move to a different place in the file within this window, and continue 
    editing, with the original text still in view in the top window.  (Note: 
    any modifications made to the file will not be reflected in the inactive 
    window until you return to it.)  Typing ^OW again removes the Window.
        The AltW command splits the screen Window between two DIFFERENT files 
    being edited, showing you both at once.  (If the file you get in the 
    window isn't the one you wanted, find it by cycling through with 
    AltB/AltN.)  Typing AltW again restores fullscreen editing.

WORDWRAP & REFORMAT (^B, ^OB) -  WORDWRAP is automatic in all document modes 
    whenever the right margin is set.  Any text entered will be kept within 
    the current margin settings.  The end of a paragraph is marked by a "HARD 
    CR", which occurs when you press the [Ret] key.  (This is a CR immediately 
    following a nonspace.)  In contrast, when wordwrap occurs you get a "SOFT 
    CR" (which is actually a CR with a space before it).  You can change a 
    hard CR into a soft one, or vice versa, by deleting or adding a space at 
    the end of the line; hitting [Ret] also hardens a soft CR.  The 
    distinction between hard and soft CRs is only important when reformatting.
         ^B REFORMATS from the line the cursor is on, to the end of the para- 
    graph, according to the current margin settings and line spacing.  (Thus 
    ^B is used not only to reshape a paragraph after editing, but also to 
    change its margins and line spacing.)  If the current line is indented 
    relative to the next one, VDE interprets that as paragraph indentation.  
    To reformat an entire file (WordStar ^QQB) use a MACRO: Esc[ ^B CR Q*.
         ^OB toggles DISPLAY OF HARD CRs.  Hard CRs, otherwise invisible, are 
    normally displayed as a left-arrow character in document files.  Some may 
    find these distracting, so they can be turned off.

=========================  4. GENERAL INFORMATION  ===========================

COMPATIBILITY - VDE is "compatible", to various degrees, with several other 
    word processors, including WordStar, WordPerfect, and XyWrite, and can be 
    a useful accessory for users of these programs.  (For example, I generally 
    do all my writing in VDE, using its speed and extra features; but 
    sometimes I need to take advantage of WordStar's more sophisticated 
    printing abilities, or ability to edit larger files.)  See FILE MODES.

         WORDSTAR: Highly compatible.  /W file mode supports all WS 3-4 
    features except right justification, which it removes.  /5 file mode also 
    removes all the additional WS 5 embedded codes (formatting, fonts etc), 
    which are not supported in VDE.  With these exceptions, document files can 
    be exchanged freely between VDE and WS.
         Aside from the absence of a "No-File" menu, VDE operates very much 
    like WS, although it does lack some WS commands, and also has some new 
    ones of its own.  VDE's macro commands are completely different (they were 
    developed before WS had macros!).  Aside from that, note the following 
    differences in common commands:
                      DIFFERENCES IN COMMAND SET
        COMMON USE       WS 4.0      VDE 1.3          VDE USE
    Repeat command        ^QQ         Esc[      Macros are more powerful.
    Hide block            ^KH          ^KU      Actually unmarks block.
    Paragraph indent      ^OG          ^OA      General purpose auto-indent.
    Set Place Mark       ^K0..9        ^PZ      Not individually numbered.
    Go to Place Mark     ^Q0..9        ^QZ      Cyclic.
    Time, Date stamp     Esc!,@       AltT,D
          COMMAND           WS USE                    VDE USE
          ^^ (^6)       Soften hard CR          Transpose upper/lowercase
           ^KN          Column block mode       Rename current work
           ^OB          Display soft spaces     Display hard CRs
           ^OF          Ruler from text         Flush right
           ^OP          Preview mode            Set page length
           ^OJ          Right justification     Proportional spacing
    Note also that VDE does not obey WS "dot commands" in text, though in /W 
    or /5 mode it will avoid printing them.  You can get a page break 
    (WordStar .PA) in VDE with the ^PL command.

         NOTE: Because VDE has no embedded margin information, files WRITTEN 
    in /P or /X mode do NOT contain any formatting codes; however, they can be 
    read (and reformatted if necessary) by WordPerfect or XyWrite.
         WORDPERFECT - Limited compatibility.  /P file mode can READ WP text; 
    it recognizes margin changes, and print codes for bold, underline, super/ 
    subscript, and overstrike.  No other formatting features are supported.
         You can also edit in VDE using a command set much like WordPerfect's, 
    by loading the WP.VDF key definition file [see VINST.DOC].  It causes the 
    [F]-keys to call up the MenuBar in a manner similar to WP's commands.
         XYWRITE - Limited compatibility.  /X mode can READ XW text; it 
    recognizes margin changes, and print codes for bold, underline, and 
    italics.  No other formatting features are supported.

DIRECTORIES -  When editing with VDE, the default directory assumed by the 
    file commands (^KL,R,N,F,J; AltL) is that of the current file; when 
    editing multiple files, this can differ from one to the next.  The 
    directory does not display in the header, but can be seen with ^KI or at 
    the ^KF prompt.
         The current DOS directory remains unchanged, and it is the default 
    when using the AltR command.  (It can be changed with CHDIR under AltR.)

ERROR MESSAGES -  Press Esc or Space to continue.  "Error" alone means the 
    command used just won't work in this situation.  (Example: a block command 
    was used with no block marked.)  More specific errors are:
      "Out of Memory" - the file, block, or key string won't fit in RAM.
        "Invalid Key" - an illegal command key sequence was pressed.
  "Invalid Name/Path" - file not read/written because path does not exist,
                          or filename is a duplicate, or illegal (COM/EXE).
          "I/O Error" - file not found, disk full, invalid drive, etc.
    "Cannot Reformat" - word too long, or margins invalid.
          "Not Found" - the object of a search was not found.
  "Graphics Overflow" - too many graphics in file to fit in table.
        "Macro Error" - programming command misused, or recording overflow.

         IMPORTANT NOTE: On DOS 2.x systems, an attempt to access an empty 
    disk drive or to print when the printer is not online can produce a 
    critical error message directly from DOS, something like:
              "Device not ready; Ignore, Retry, or Abort?"
    If this should happen, correct the situation and press "R" for Retry.  
    Pressing "I" usually has no effect.  DO NOT PRESS "A", as this will exit 
    from VDE back to DOS, losing any text in memory!
         If, after recovering from such an error, the message is still on 
    screen, you can press ^OZ,Esc to redisplay your text.

FILE MODES -  VDE has six "file modes": "A"SCII, "W"ordStar, WordStar "5", 
    Word"P"erfect, or "X"yWrite document, and "N"on-document.  In general, the 
    document modes have wordwrap, pagination, and variable tabs; non-documents 
    have hard tabs.
         The file mode option can be specified along with the filename at any 
    VDE file function prompt (such as "Read in file:"), allowing you to read 
    or write text in whatever format needed.  [The default mode is /A, but 
    this can be changed, and exceptions declared, with VINSTALL.]
         Most VDE users will select /A mode for documents (word processing) or 
    /N mode for programming and other special applications.  Both modes use 
    plain ASCII text files, which are produced or accepted by virtually all 
    software (DOS, compilers, database, telcom, etc).
         The /W, /5, and /P modes allow VDE to read and write WordStar or 
    WordPerfect files (see COMPATIBILITY).
         The /X mode uses plain ASCII text, but without CRs at the ends of 
    lines -- CRs occur only at the ends of paragraphs.  These files can be 
    exchanged with XyWrite and most other word processors that use this text- 
    stream format (see COMPATIBILITY).

         CONVERSION:  You can easily use VDE to mix text from several 
    different formats, or to convert a file from one format into another.  
    Just specify the appropriate mode with each file loaded or read in, or 
    change to the appropriate mode (with ^KN) before saving.  (Note limits on 
    supported features in each format, above.)
         Normally, you must be sure to give the correct mode for any text you 
    are reading; otherwise it may not be read in properly, and you will have 
    to delete it or quit and try again.  Exception: when you are reading a 
    WordStar file into an ASCII file, or vice versa, you need not specify 
    modes; VDE's disk input routine can automatically recognize the text and 
    translate accordingly.

MEMORY -  VDE allocates memory for a file according to need, up to a maximum 
    of 64k.  (1k = 1024 bytes.)  If you check the usage of memory (^KI) you 
    will find that VDE compresses text: a file typically occupies 20-25% less 
    memory than its actual size.  Thus the largest file that can be edited 
    with VDE in 64k is roughly 80k.
         VDE runs well with anywhere from 128k to 640k RAM; the number and 
    size of files you can edit depends on the amount of memory you have.  If 
    you are running short of memory while editing, try exiting files you no 
    longer need, or cutting (AltC) an empty block to empty the cut buffer.
         Running a DOS command requires enough free memory (beyond VDE's 
    usage) to load a copy of COMMAND.COM and any programs you intend to run 
    under it.  You may not have enough memory to do this if you are editing 
    many files with VDE, or you have lots of memory-resident software (TSRs).

PROMPTS -  First, VDE has several simple prompts requiring you to confirm an 
    action by typing "Y" or "N".  These warning messages appear on line 1 
    (though they are NOT given when a macro is running):
         "Abandon changes?" - a file you want to quit has been changed.
         "Unchanged; save?" - the file you want saved hasn't been changed.
  "File exists; overwrite?" - such a file already exists and will be lost.
 "Not recoverable; delete?" - block to delete is too big for undeletion.

    These confirmation prompts appear at the right edge of the header:
               "Chg?" - change this instance of a string? (Y/N/*)
            "Remove?" - remove this hyphen? (Y/N/Esc)
                "Rdy" - press a key to print next page (Esc quits).

    There are a number of standard prompts for either numeric or string input, 
    like "Column:" or "Find string:".  You are expected to type in a string 
    (up to 65 characters).  The following control keys operate:
         Correct error:  [BkSp] (^H)          Erase entire entry:  ^X
         Finish entry:   [Ret] (^M) or (^J)   Abort operation:     ^U
         Replay last filename:  ^R  (except in Macro strings)
    Note that to get any of these codes into the string itself, you must 
    precede it with ^P (this includes ^P).
         EXAMPLE: to find a line beginning with a "*" (find "^M,*") type
    Graphics can also be entered into strings using Alt-G.

===========================  5. APPLICATION TIPS  ============================

DESQVIEW - VDE is "DesqView aware": it cooperates with time-sharing in the 
    multitasking DV environment.  For VDE to run properly in a DV window, you 
    must identify it as a "program that writes directly to the screen".

FOREIGN ASCII FILES - If you edit an ASCII file created by other software, you 
    may find that the file is properly formatted but full of hard CRs, making 
    it impossible to REformat.  There are two easy ways to solve this problem: 
    first, you can use ^QA to find "^M"s and selectively replace them with 
    "_^M".  But the best method is to use a macro program (this is one of the 
    examples you will find under MACRO PROGRAMMING.)

PROGRAMMING.  VDE (in "N"ondocument mode) makes a fine programmer's editor.
         A growing number of languages today include their own "integrated" 
    environment editor, that guides you straight to errors detected during 
    compilation.  You can use VDE in a very similar manner, if you have a 
    compiler or assembler that generates typical error messages (such as "Line 
    1091: Type of operands must match").  After saving your source file to 
    disk, just use the AltR command to run the compiler, with the MSDOS ">" 
    option to redirect output to a disk file; for example,
                     C:\WORK>compile prog.src >listing
    Then use AltL to load the error reports in LISTING.  You can go back and 
    forth between LISTING and PROG.SRC (windowing both if desired), using the 
    ^QI command to move to each line where an error was detected.

REDIRECTING I/O.  All the standard DOS device names are supported by VDE's 
    input and output routines: CON, LST, PRN, LPTx, COMx, AUX, NUL.  You might 
    find this useful one day, though I never have.  What it means, in 
    practice, is that you should not try to edit a file with one of these 
    reserved names, as VDE will try to read or write to the device.

SPELLING CHECKERS.  VDE has no integrated support for a spelling checker.  
    However, some such programs are designed to work in a standalone mode, 
    from the DOS prompt, with a filename argument, eg:
                     C:\WPROC>spellchk my.doc
    Once you have saved your text to a disk file, you can of course run such a 
    program with VDE's AltR command, then reload the file and/or misspelling 
    list and scan for any errors flagged.

STRUCTURED LANGUAGES.  VDE's auto-indent function (^OA) is convenient for many 
    structured programming languages including C and Pascal.  However, in 
    order to use it effectively in a non-document, you must either indent with 
    the space bar rather than the tab key, or set VARIABLE TABS using the ^OV 
    and ^OI commands (see TABS).  Auto-indent can't cope with the actual 
    (hard) tab characters normally inserted in non-documents when the [Tab] 
    key is pressed.

TRANSPOSING TEXT.  Often you may need to switch the order of letters, words, 
    or lines erroneously typed.  The "undelete" feature can be exploited to 
    move text, rather like a quick-and-dirty block move.  For example, if the 
    cursor is at the start of a word, the sequence of commands ^T^F^U (which 
    of course can be assigned to a macro key) will swap that word with the one 
    following it.  Similarly, ^Y^X^U will swap two lines, while ^G^D^U 
    transposes two letters.


     For further information, see accompanying files:
            - VINST.DOC for information on MACROS and the use of VINSTALL
            - VDE.UPD for version history, including recent changes

         ---  Eric Meyer, 401 12th Ave SE #139, Norman OK 73071  ---



                         [Supplement to VDE.DOC 1.52]

                 Instructions for Macros and VINSTALL utility

                            (c)1987-90 Eric Meyer

================================  CONTENTS  ==================================

6. MACROS.  Explanation and examples of:
        Function keys, Key redefinition files, Macros, Macro keys, Macro
     programming, Recording macros.


   A. INSTALLATION.  Installing for different computer hardware:
      ============   Screen size; IBM compatibility; Colors; Fonts; Snow.

   B. USER OPTIONS.  Customization of many initial VDE settings.

   C. PRINTER INSTALLATION.  Using special printer features:
                          print modes, graphics, etc.

   D. DEFAULT MACRO KEYS.  Installing a default set of macro keys.

   E. DEFAULT FUNCTION KEYS.  Installing the function keys.

   F. GRAPHICS.  Modifying the default set of graphics characters.

   G. CHARACTER WIDTHS.  Modifying the default set of character widths.

   H. RESTORE DEFAULTS.  Undoing previous modifications.


================================  6. MACROS  =================================
                             (Command mode only)

     Macros are a sophisticated and powerful tool for automating repetitive 
tasks.  A "macro" is a string of VDE commands and/or text that you can type in 
once and then have repeated automatically.  (Note: for large pieces of boiler- 
plate text, read in disk files with ^KR instead.)  A "function key" is a macro 
assigned to one of the [F1]...[F40] keys, while a "macro key" is a macro 
assigned to a key Esc0...9 or EscA...Z; these can all be defined either while 
editing, or with VINSTALL.  "Macro programming" involves the use of special 
commands allowing a macro to perform more complex operations including loops 
and conditional execution, much like a programming language.
     VDE's 76 user-definable macros allow you to customize it for any task, 
such as the formatting requirements of specialized professional writing, or 
many programming languages.  Many examples are given below.

     To create a macro, while editing, you can:
         (1) use the Esc[ command, and type the necessary keystrokes at the 
    prompt.  You may want to plan or compose the macro first, using pen and 
    paper.  Certain keystrokes, like [Ret] or ^X, are line editing commands, 
    and must be preceded by a ^P to enter them into the macro; the input line 
    has a 65-key limit.  See MACROS, PROMPTS.
         (2) use the Esc" command.  Type the desired keystrokes, exactly as 
    you would while editing: no ^P prefixes are required, and you will see the 
    results as you type.  There is a 128-key limit.  See RECORDING MACROS.

     Macros execute EXACTLY as though you had typed the given keys yourself.  
EXAMPLE: to read in a letterhead file called LETTER.HDR at the top of your 
file, you would type:
              ^QR         to get to the top of the file
              ^KR         to read in a file
              LETTER.HDR  to specify filename at the "Read file:" prompt
              [Ret]       to end the filename input
So this is exactly what you need to enter in your macro.  Note that ALL the 
input -- every keystroke, including answers to prompts, [Ret] keystrokes, and 
so on -- MUST be included.  For further details see MACROS.

     Note that the results of a macro may depend on various settings at the 
time it is run!  A problem of sorts arises with "toggles" -- commands that 
reverse a state -- since the macro doesn't know what state they were in to 
begin with.  So macros that employ ^OS, ^OV, and other similar commands must 
be used with care -- be sure everything is set properly before invoking them.
     There is one exception: the Insert toggles (^V,^]) are so much of a 
problem that VDE actually turns INSERT OFF before running any macro, so you 
can be sure that you are initially NOT in insert mode, or, that when the first 
^V or ^] is encountered in the macro, you ARE.  Thus the macro "Hello" will 
overwrite any existing text, while "^VHello" will insert -- regardless of the 
insert status when the macro is used.  The previous status is restored when 
the macro terminates.

     Once again, ordinarily macros are completely self-contained, and NEVER 
request input from the keyboard while running.  There are two exceptions:
         (1) If a reformat (^B) operation is in progress and 
      dehyphenation is required, the "Remove?" prompt will appear in 
      the header and a "Y/N" answer will be necessary to continue.  
      (This is a decision the macro can't make.)  See REFORMAT.
         (2) Using the AltR command in macros is tricky: input while 
      running a program must come from the keyboard.  (VDE resumes 
      control only when the program ends.)  See RUN COMMAND.

                                 USING MACROS

FUNCTION KEYS ([F1]...[F40]) -  Up to 40 macros can be assigned to function 
    keys; they can then be recalled and used with one keystroke.  Each of the 
    10 IBM function keys can be used with Shift, Ctrl, or Alt, to produce:
              Shift-[F1]...[F10]  =  [F11]...[F20]
               Ctrl-[F1]...[F10]  =  [F21]...[F30]
                Alt-[F1]...[F10]  =  [F31]...[F40]
    The new Extended (101-key) keyboards actually have extra keys labeled 
    [F11] and [F12]; VDE will not recognize these keys.
         Otherwise, function keys are defined (with the Esc[ or Esc] command, 
    or with VINSTALL) and used exactly like macro keys.  See MACRO KEYS.

KEY DEFINITION FILES (AltU) -  These files save sets of macro key or function 
    key definitions, and should be given file types of ".VDK" and ".VDF", 
    respectively.  You can load any key file, along with your text file(s) to 
    edit, from the command line (see SYNTAX).  In addition, they can be loaded 
    or saved with the AltU command while editing in VDE, and can also be 
    created or installed as defaults in your copy of VDE with the VINSTALL 
    program (see below).
         The AltU command will ask whether you want to "L"oad or "S"ave such a 
    file, then prompt for the name of the file.  The filetype MUST be ".VDK" 
    or ".VDF", and will determine whether MACRO or FUNCTION keys are affected.  
    If you load such a file, those definitions will replace any previous ones.  
    If you save, the current definitions will be written to the file.

MACROS (Esc[,]) -  When you are in the middle of doing something in VDE, and 
    find that you need to do something many times, it may be less tedious to 
    have it repeated automatically.  If you type Esc[ you will be asked first 
    for the string to execute; then, whether you want to Use or Store it.  (On 
    storing keys, see MACRO KEYS.)
         If you Use the macro, you will be asked for an optional "Quiet" 
    designation, then a "Repeat count".  You can speed up macro execution by 
    specifying "Quiet" mode: only the header will be updated as the macro 
    runs.  (Don't do this if the macro concludes by requesting user input -- 
    the necessary prompts would not display!)  For the repeat count, you can 
    type a number of times to repeat (0-254), or "*" for indefinitely.  You 
    will see the results as the macro executes, and you can abort it at any 
    time by pressing Esc.
         Macros also stop if an error occurs; the error message will be 
    visible, and can be cleared by pressing Esc.  Many commands (like Find or 
    Reformat) are designed to generate errors at the end of the file so that 
    an indefinite ("*") macro containing them will halt there.  Other indef- 
    inite macros may need to be aborted manually.
         Once defined, a macro can be re-used with the Esc] command, which 
    again gives you the options to Use or Store the previously defined macro.
         In order to include any input line editing characters (BS (^H), [Ret] 
    (^M), ^J, ^X, ^U, ^P) in a macro, you must prefix them with ^P.  (NOTE:  
    To make them easier to read and understand, macro listings will be given 
    here as they function, not as they are typed in.  ^P prefixes as needed 
    are NOT shown: remember that you need to add them!  Keystrokes are often 
    separated by spaces for clarity; the "_" symbol is used to represent an 
    actual space character typed.  Here are some sample macros:
         1.  Reformat an entire file (Wordstar ^QQB): after Esc[, just enter
    Specify quiet and indefinite repeat as options ("Q*").
         2.  View a file by scrolling slowly through it:
                               Esc; ^C
    This will pause, then scroll down.  (Use a repeat count of "*".)
         3.  Enter a long graphics border for a box.  (This can get tedious by 
    hand.)  Assuming graphic "Y" is the horizontal bar,
                               AltG Y
    will enter one character.  You can get a line 40 characters long by giving 
    a repeat count of "40" (and the "Q"uiet option will avoid unnecessarily 
    displaying the menu).
         4.  Can you figure out what this one does, if entered with a repeat 
    count of "*"?  (Answer:  .elif eht fo dne eht ta meht fo tsil a gnikam 
    elif a fo tuo sesehtnerap ni stnemmoc ekat lliw tI)
                ^QR ^QF(^J ^G ^KB ^QF)^J ^G ^KK ^QC [Ret] ^KV
         VDE macros are very powerful tools, particularly given their program 
    ability and storage on macro Keys.

MACRO KEYS (Esc0...Z) -  Both the Esc[ and Esc] commands also give the option 
    of storing the macro definition to a MACRO KEY.  Up to 36 of these can be 
    stored on keys 0...9,A...Z; they can then be called up with two 
    keystrokes.  (40 more can be stored on IBM function keys; see FUNCTION 
    KEYS.)  Example: if stored to key 3, a macro can be reused simply by 
    typing Esc3.
         Ordinarily, macro keys operate just like the original macro:  they 
    will ask for a "Repeat count" when executed.  In many cases (boilerplate 
    text, for example), you will want a key to execute only once when invoked; 
    if so, specify "N"o-repeat when storing the definition to a key.  Or you 
    can instead specify "Q"uiet, if you also want the key to run in Quiet mode 
    (to increase speed and minimize display activity).
         There is a total of 982 bytes available for all 36 keys, and a 128 
    byte limit for any one key.  (VDE's own input line will only accept 65 
    bytes, but VINSTALL can handle up to the full 128.)  Trying to use an 
    undefined key results in an error.  You can delete a key definition by 
    entering an empty macro string (Esc[, CR) and storing it to the key.  Keys 
    defined with Esc] are of course temporary.  (VINSTALL lets you install 
    definitions permanently; see DEFAULT MACRO/FUNCTION KEYS.)

         EXAMPLES: Besides simply storing any macro, these Keys are useful for 
    storing a frequently repeated phrase; "EscW" is much more convenient than 
    "World Wide Widgets Ltd. (N.A.)".  You might also define one as a common 
    command like ^PS, for underlining; or a set of margins, like ^OR60[Ret] 
    ^OL5[Ret].  A key defined as ^QR ^N AltD ^OF would place the current date 
    at the top right of a letter.

MACRO PROGRAMMING (Esc0...Z,!,=,~,(),+,-,&,;) -  VDE has several commands that 
    operate only within a macro definition, and give you conditional control 
    over the execution of a macro, allowing real programming.
         Esc0...Z, when placed IN a macro, function simply as "labels" 0...Z.  
    They have no effect, but can be "jumped" to by other commands.
         Esc! followed by 0...Z is a "jump" instruction, causing macro 
    execution to resume with the command following that label.  Example: Esc!2 
    jumps to label 2.  As two special cases, Esc![ jumps to the beginning of 
    the macro, and Esc!] jumps to the end (aborts).
         Esc= and Esc~ perform tests on the character at the current cursor 
    position.  There are two ways to use them:
             (1) Followed by a character, then a label 0...Z (or 
        "[","]"), they are conditional jumps: they jump IF the 
        character does (or for "~", does NOT) match the one 
        specified.  Example: Esc~^M2 jumps to label 2 if the current 
        character is NOT a CR.
             (2) Followed by a character, then ">" or "<", they are 
        search loops.  They will continue to move the cursor right 
        (or for "<", left) as long as the character at the cursor 
        does (or for "~", doesn't) match, or until the beginning or 
        end of the file.  Example: Esc=_> moves right as long as the 
        current character is a space (so it stops on a NONspace).
         Several commands allow the use of a counter variable.  Esc() sets 
    the value: for example, Esc(0) initializes it to zero.  The Esc+ command 
    simply increments the value; Esc- (minus) decrements the value, then jumps 
    if it is zero to a specified label.  (In addition to a number, you may use 
    "[" or "]" for the start or end of the macro, or "@" to avoid jumping 
    entirely.)  Example: Esc-] decrements the counter, jumping to the end 
    (exiting) if it reaches zero.
         Esc&, followed by 0...Z, is used to "chain" to another macro key.  In 
    this way you can build up strings longer than the 65/128-byte limit on any 
    one key.  This is a "jump", not a "call"; there is no returning.  Example: 
    Esc&M causes key M to execute.  (You cannot chain to function keys.)
         Esc; (semicolon) gives a brief pause before execution continues, 
    presumably so the user can see what's happening on screen.
         Macro programs are stored just like any other macro string (usually 
    as No-repeat).  If you program an endless loop, you will at some point 
    have to abort by pressing Esc.  Don't make macro programs Quiet until 
    you're sure they work.

         EXAMPLE 1: here is a good macro program (best stored as a Quiet key) 
    to move the cursor to the start of the current sentence:
                 Esc~.1 ^S Esc1 Esc~.< Esc2 ^D Esc=_2 Esc=^M2
    You could write this out in programmer's pseudo-code as:
              If not "." goto label1
              Move left                 ;move left if already on period
     label1:  While not "." move left   ;move left to previous period
     label2:  Move right                ;now move back right
              If " " goto label2        ;  as long as you see a space
              If "^M" goto label2       ;  or a Return
              (all done)
         EXAMPLE 2: a macro to move to the start of the current paragraph:
                 ^QS ^S^S Esc=_[ ^D^D
         EXAMPLE 3: if you have some text that you can't reformat because 
    every line ends in HARD CRs, here is a macro that will "soften up" one 
    paragraph's worth, leaving just one HARD CR at the end:
                 ^QS ^X Esc=_] Esc=^M] ^S ^V_^V ^D Esc![
         EXAMPLE 4: a macro to match parentheses.  Many programming languages 
    use nested sets of parentheses, for example "{}" in C.  This program, when 
    the cursor is placed on an open bracket "{", will move ahead to find the 
    closed bracket "}" that matches it:
                 Esc~{] Esc(0) Esc1 Esc~{2 Esc+ Esc!3
                               Esc2 Esc~}3 Esc-]
                               Esc3 ^D Esc!1

RECORDING MACROS (Esc") - As an alternative to composing macros and using the 
    Esc[ command to type them in, you can simply record a macro from a 
    sequence of keystrokes as you go about a task.  Press Esc" to activate 
    recording; type away; then press Esc" again to conclude.  You will then be 
    asked whether to use or store it, etc (see MACROS).  No confusing ^P 
    prefixes are needed, and you can take advantage of the full 128-key length 
    limit.  While recording, a quote mark (") will be visible in the upper 
    right (prefix) area of the header, if the header is displayed.
         Notes: (1) Esc" initially turns INSERT OFF, so that your keystrokes 
    will behave as they would in the macro you are defining.  See explanation 
    above under MACROS.  (2) Function and macro key commands themselves will 
    not work while macro recording is in progress.

==========================  7. RUNNING VINSTALL  =============================

     VINSTALL is a utility that lets you customize your copy of the VDE 
editor.  A few choices will be important from the first: for example, VDE 
operates by default in Command mode, and if you prefer MenuBar mode you will 
need to change this with VINSTALL.  There are many more options that you need 
not concern yourself with at first: in the course of using VDE, you will 
discover how you want these things set.  However, there are important changes 
you will need to make to VDE before using it, if you have a computer that:
              * Is not fully IBM compatible (BIOS, video).
              * Experiences "snow" problems with programs that write
                 directly to video memory (older style CGA adapters).
     You should begin using VINSTALL soon; once you have modified VDE.COM, the 
introductory messages in VDE and VINSTALL will no longer appear.

     Your copies of the program files will be called VDE.COM and VINSTALL.COM, 
though of course you can rename them (I usually call them V.COM and VI.COM).  
To run VINSTALL simply type:
              C>vinstall              if your copy is still called "VDE.COM"
        or    C>vinstall V.COM        if it's called "V.COM" (or whatever).
     Notes: VINSTALL modifies the file VDE.COM; always keep an unmodified 
original copy of all VDE files in case problems arise!  The version numbers of 
VINSTALL and VDE (and any auxiliary key or printer files, see below) must 
agree, or you will get an error.

     VINSTALL is fully menu-driven; it will present you with a set of 
categories that corresponds to each section below, starting with Installation; 
you select the values you want to change.  The program is largely self- 
documenting, and steps you through each item individually.  If this is your 
first time, take advantage of its "Help" option before you start in, for some 
basic instructions.  You may also find a good ASCII chart helpful for 
deciphering your printer codes.  VINSTALL uses several types of data entry:
     TEXT - Just type in the character(s).
     LOGICAL - Yes/No.  Just type "Y" or "N".
     DECIMAL - Enter a number from 0 to 255.
     HEX - Enter a two-digit hex byte value 00-FF.  (Don't omit lead zeros.)
     BYTE STRINGS - fixed length: enter the required number of hex bytes.
                    variable: enter the (hex) count for the number of bytes, 
              followed by the bytes themselves.  Example:  (02)1B3D.  This 
              format is referred to below as "(#),bytes".
VINSTALL can't check for illegal values; be careful what you enter!

     At most points in VINSTALL, you can press Esc to return immediately to 
the Main Menu, or ^C to abort the program.

-----------------------------  A. INSTALLATION  ------------------------------

     VDE will not run properly on computers that are not 100% IBM compatible, 
unless you use VINSTALL to provide the necessary display information.  (Note: 
the HP Portable Plus is also supported, as a "near compatible".)
     The IBM PC installation gives the best performance, but requires an IBM 
standard BIOS and a supported video adapter (MDA,CGA,EGA,VGA).  You can 
customize the display (colors, fonts etc) to your preferences.
     The non-IBM installation will run on any system that supports ANSI 
standard screen control sequences (eg, the ANSI.SYS screen driver -- you must 
have the statement DEVICE=ANSI.SYS or equivalent in your CONFIG.SYS file).  
You must also specify the size of your screen.  This installation can of 
course also be used on IBM compatibles, in the event that direct video access 
is undesirable.  It will even work in "remote" applications, such as high- 
speed modem connections, with appropriate terminal software on the user's end.


Screen colors - you can select six video attribute bytes: one for normal text; 
    one for block text; one for soft CR markers; one for the header; one for 
    menus and prompts; and one for highlights (prompts, etc). Each is two hex 
    digits, for a background and foreground color.  You will see a color 
    palette displayed on screen; the color digits are:
           *0 = BLACK   4 = red      *8 = GREY       C = lt red
            1 = blue    5 = magenta   9 = lt blue    D = lt magenta
            2 = green   6 = brown     A = lt green   E = yellow
            3 = cyan   *7 = WHITE     B = lt cyan   *F = BRIGHT WHITE
    (* - All monochrome screens can display BLACK, WHITE, and BRIGHT WHITE; in 
    some cases, GREY may also be visible.)
         Any digit may be used for the the foreground, but only 0-7 for 
    background (8-F produce blinking video...  ugh).  You will probably want 
    the header and highlight attributes to have the same background.

Make cursor "D"efault,"B"lock,"U"nderline (D/B/U) - You can choose the cursor 
    type you want during editing.  Choose "D"efault to leave it whatever it 
    was before VDE was run.
Problems with CGA snow (Y/N) - Normally No.  Some older CGA cards experience 
    ugly "snow" when programs write directly to video memory.  If this happens 
    to you, select "Y", and VDE will time its video access according to 
    horizontal retrace intervals.  (Display speed will be slightly reduced.)

NON-IBM PC PARAMETERS: (automatically set for IBM PC)

Clock speed in MHz - Set this decimal value to reflect your CPU clock speed. 
    Common values are 5 (for 4.77), 8, 10, 12, etc.  Adjust the value if 
    desired to change the length of delays in VDE.  (At present this involves 
    only the "Esc;" macro command and the horizontal scroll delay.)

Terminal init - enter an optional string of code (#),bytes to be sent to the 
    screen after clearing the screen, whenever (re)entering VDE.
Terminal uninit - enter an optional string of code (#),bytes to be sent to the 
    screen upon exiting from VDE back to DOS.  (Max. lengths: 0F = 15 bytes.)

Viewable columns (80-255) - normally 80; set to the column width of your 
    display, if different.
Viewable lines (16-255) - normally 25; if you have a shorter or longer default 
    display (on entry to VDE), enter the length here.
Fast scroll supported (Y/N) - Does your computer respond to the ANSI sequences 
    for insert/delete line (Esc-[-L,M)?  If so, set this to "Y" for a faster 
    display.  (Default is "N", as MSDOS ANSI.SYS does not support these codes; 
    some enhanced console drivers, such as NANSI.SYS, do.  The display will 
    not work properly if you select "Y" with the standard ANSI.SYS.)

-----------------------------  B. USER OPTIONS  ------------------------------

     You can change a variety of default settings in your copy of VDE, 
according to your taste.  "Default" means the state assumed when VDE is first 
run, or in the absence of any user commands.

Use COMMAND mode (Y/N) - Do you want VDE to use its WordStar-compatible 
    command set?  If not, MenuBar mode is used.  See OPERATING MODES.

Autosave interval (min.) - Do you want VDE to save your work to disk auto- 
    matically at intervals?  If so, enter the interval in minutes.  A value of 
    0 turns this feature off.
Preserve BAKup files (Y/N) - Should a backup file (*.BAK) be kept when you save 
    over an existing file?  Choose "Y" to play safe, "N" to save disk space.
Use ^Z as EOF mark (Y/N) - Should an EOF marker (^Z, 1Ah) be considered the 
    end of a file?  MSDOS software should not require this, but some early 
    programs (like their CP/M predecessors) did use this convention.  Normally 
    set this to No: VDE will ignore ^Z on input, and will not add ^Z on 
    output.  If set to Yes, VDE will consider a ^Z encountered on input as the 
    end of the file, and will put ^Z at the end of each file on output.
Exclude COM/EXE files (Y/N) - Normally "Y": executable programs (files with 
    types of .COM or .EXE) will not show in the ^KF directory display (unless 
    the filetype is specified explicitly), and cannot be edited.  This is a 
    protection feature; you can damage such files by trying to edit them.  To 
    disable, set to "N".
Default file mode -  Which of the six file modes (A,W,5,P,X,N) described in 
    VDE.DOC do you want as the default?  (Originally "A".)
Auto mode select filetypes - You can specify four filetypes (or type masks, 
    using "?" wildcards) as exceptions to the above default: for example, you 
    could declare all ".ASM" files to default automatically to "N" mode, or 
    all files ".89?" to "W" mode.

Insert mode (I/W/O) - Which insert mode setting do you want to start out with: 
    Insert, Word insert, or Overstrike (insert off)?
Header on (Y/N) - Do you want the header (^OQ) to start out ON?  (Normally Yes)
Ruler on (Y/N) - Do you want the Ruler (^OT) to start out ON?  (Normally No)
HCR display on (Y/N) - Do you want Hard CR display (^OB) to start out ON when 
    editing a Document ("W,A" modes) with VDE?
Hyphenation on (Y/N) - Do you want hyphenation (^OH) to start out ON?
Case-insensitive search (Y/N) - Do you want string searches (^QF) to be case 
    insensitive by default?  Normally, No; if Yes, specifying the "U"ppercase 
    option while using ^QF will force a case SENSITIVE search.

Left and Right margin columns (1-255) - Default margin settings for "W/A" 
    modes.  Set both to 1 to disable wordwrap and reformatting entirely.
Reserve status line (Y/N) - Do you want VDE to reserve the bottom (normally 
    25th) screen line for use as a status or function key line by special 
    software?  (Normally No, VDE uses this line for text.)
Scroll overlap (0-255) - This is the number of lines overlap between screens 
    when scrolling: the smaller, the larger the scroll.  Originally set to 2, 
    for a nearly full scroll.  Keep this smaller than your screen size!

Ring bell on error (Y/N) - Do you want the bell to ring when a VDE error 
    message displays?
[BkSp] (^H) deletes to left (Y/N) - Do you want the [BackSpace] (^H) key to 
    delete characters?  Originally No - it just moves the cursor left.
[Del] deletes to right (Y/N) - Do you want the [Delete] key to remove the char- 
    acter to the right?  Originally No - it deletes to the left, as in 
    WordStar.  (NOTE: whichever you choose, Ctrl-[Del] will do the opposite.)
[Home,End] move left/right on line (Y/N) - Do you want the [Home] and [End] 
    keys to move to the start or end of the line?  Originally No -- they move 
    to the top or bottom of the screen, as in WordStar 4.

Variable tab stops -  Enter up to 8 variable tab stop columns, in ascending 
    order.  Fill unused values with 0.  Defaults: 6, 15, 35, 55.  (Note: hard 
    tabs display at intervals of 8 columns, and cannot be adjusted.)

Show time as AM/PM, not 24 hr (Y/N) - Do you want the time stamp to display in 
    12 hour format (AM/PM)?  Originally Yes.  If No, the time shows in 24 hour 
    format.  (Affects AltT command and ^T in print headers.)
European date format (day,month,yr) (Y/N) - Do you want the date to display in 
    European format?  Originally No, meaning US Format (month,day,year).  
    (Affects AltD command and ^D in print headers.)
Show date numerically (Y/N) - Do you want AltD to enter the date numerically 
    (eg 1/15/88)?  Originally No, meaning verbose (eg January 15, 1988).

-------------------------  C. PRINTER INSTALLATION  --------------------------

     Printers vary enormously.  VDE can accomodate two printer drivers, each 
of which can be installed to take advantage of your printer's special 
features.  (Within VDE, the AltV command can be used to select the driver to 
use when printing.)  The defaults installed in VDE are a standard "IBM/Epson 
FX" driver, and a "Simple" driver that can send plain text to any printer, but 
does not support any print controls other than underline and strikeout.  These 
and several other pre-defined drivers can be selected from a menu within 
VINSTALL.  In addition, you can modify either of the drivers, or create your 
own.  (To modify the Alternate driver, you must temporarily make it the 
selected one.)
     If your printer is not on the driver menu, but emulates or resembles one 
that is, start out using that driver, and refine it as needed.  Failing this, 
you must simply refer to your printer manual and install all the necessary 
codes yourself.

              NOTE: If you have to create or SIGNIFICANTLY modify a 
         driver for use with your printer, please send me the data 
         so that I can revise or add a new driver for it.  Drop me a 
         postcard, or Email your VDP file to my CompuServe ID.

     VINSTALL can use special Printer Installation files to store and retrieve 
other printer definitions.  These should have a file type of ".VDP".  You have 
the option to read in or write out such a file, as well as editing the 
following values individually.  This makes it easy to save your installation 
and to pass it along to others.

Printer ID - Identify the printer you are installing.  (16 characters)

IBM graphics printer (Y/N) - Normally No; if you can print the IBM extended 
    ASCII characters, set this to Yes.  If No, VDE will "emulate" graphics on 
    printing, choosing standard character overstrikes that come close.
Send LF after CR (Y/N) - Normally Yes.  But with some printers, which manufac- 
    ture their own LF on receiving a CR, you will want No here.

Page length (0-255) - Set the number of text lines to print on a page.  (Does 
    not include another 3 lines for a header or page number, if used.)
Top margin (0-255) - Set the number of blank lines to skip as a top margin 
    before printing each page.  This value (not included in the page length) 
    can be used to position the paper properly.  Default is 0.
Reserve space for header (Y/N) - Default is Yes; when printing without header 
    or page number, 3 blank lines will be kept clear of text on each page, so 
    that the physical page layout is the same.  If No, an additional 3 lines 
    of text will print.
Left margin (0-255) - Set the number of blank columns to skip as a left margin 
    before printing each line.  Useful if you can't set the margin on your 
    printer with an initialization string.  Default is 0.

Printer initialization - Enter an optional string of code (#),bytes to send to 
    the printer before each print job, to set default margins, print modes etc.  
    Max. length here and below is 1F = 31 bytes.  (NOTE: the ^KP command has 
    an option to specify additional codes at print time.  See PRINTING.)
Printer deinitialization - Enter another string (#),bytes to send to the 
    printer after each print job, to restore printer to desired state on exit.

Proportional printing - Enter the codes needed to set your printer for 
    proportional printing, when ^OJ is engaged, and then to turn this off.  
    Both strings are entered as (#),bytes.

Codes for toggles (on/off) - For six of the seven printer toggles (not ^X), 
    you need to tell VDE the codes to send to your printer to produce the 
    desired effect, then turn it off again.  The conventional meanings of the 
    toggles are:      ^B  boldface         ^Y  italic/ribbon
                      ^D  doublestrike     ^T  superscript
                      ^S  underline        ^V  subscript
    but you can use them for anything you want.  Example: IBM/Epson printers 
    require three-byte sequences to turn continuous underlining on and off:
           Underline on    Esc - 1     hex 1B 2D 31   dec 27 45 49
                    off    Esc - 0         1B 2D 30       27 45 48
    You would enter the hex data, starting with the byte count:
              Underline (^PS) on:  (03)1B2D31
                      ...and off:  (03)1B2D30
    You should find the necessary ASCII hex codes in your printer manual.
         (NOTES: ^PS will underline text by overstriking with "_" if you do 
    not install printer codes for it.  The ^PX toggle, for strikeout, requires 
    no installation at all.)

Codes for switches - The same idea, but for switches, which send the same 
    codes every time they are used.  WordStar calls the switches:
         ^P^Q  user1  \
           ^W  user2   \ (no standard      ^A  alternate pitch
           ^E  user3   /  meaning)         ^N  normal pitch
           ^R  user4  /
    but once again, you can use them for anything you want: fonts, etc.

--------------------------  D. DEFAULT MACRO KEYS  ---------------------------

     VDE has a set of 36 Macro Keys (available in command mode only!), corres- 
ponding to the commands Esc0...9 and EscA...Z.  The default macro definitions 
are those attached to these commands when VDE is first entered.  By changing 
them you can configure VDE to suit your own specialized writing requirements.  
(Any Keys defined with Esc] while using VDE override these defaults.)

               NOTE: If you have favorite macros or macro programs, 
         please consider sharing them with other users of VDE.  Drop 
         me a postcard, or Email your macros to my CompuServe ID.

     VINSTALL can use Key Definition files to store macro key sets.  These 
should have a file type of ".VDK", for ease of identification.  You have the 
option to read in or write out such a file, as well as editing the keys 
individually.  (VDK files can also be read or saved with VDE's AltU command, 
but only VINSTALL can display the definitions.)
     VINSTALL gives you a display much like this:
      Macro Keys:  (___ bytes free)      <---- note room (up to 982)
      [Esc1]<>                           <---- "<>" flag means empty
      [Esc3]^[;^C                        <---- normal macro key
      [Esc5]<N>World Wide Widgets Inc.   <---- "<N>" flag means no-rpt key
      [Esc7]<Q>^QR^KB^QC^KK^KC           <---- "<Q>" flag means quiet key

Just select the number of the Key you want to redefine, then type in the new 
definition, much as you would in VDE.  All the same rules apply (but VINSTALL 
will accept longer keys, up to 128 bytes).  If the new definition is too long 
to fit it will be rejected.
     There are several different ranges of keys, which can be displayed and 
modified in a range of 10 at a time (for example, keys 0-9, or A-J).
     VDE.ARC comes with a macro key file EXAMPLES.VDK, containing several 
macros discussed above under MACROS and MACRO PROGRAMMING:

     [Esc0]<Q>^QR^NAltD^OF                         ;put date at top right
     [Esc1]<Q>^QS^S^S^[= [^D^D                     ;move to start of paragraph
     [Esc2]<Q>^[~.1^S^[1^[~.<^[2^D^[= 2^[=^M2      ;move to start of sentence
     [Esc3]<Q>^QS^X^[=^M]^S^V ^V^D^[![             ;soften hard-CR paragraph

(Note that "Esc" displays as "^[".)

-------------------------  E. DEFAULT FUNCTION KEYS  -------------------------

     VDE also has a set of 40 Function Keys (available in command mode only!), 
corresponding to the [F1]...[F10] keys in their normal, Shift-, Ctrl-, and 
Alt- usage (sometimes referred to collectively as [F1]...[F40]).  These are 
identical in features and functions to the Macro Keys discussed above.  You 
can easily configure these to match the standard function-key configuration 
for Wordstar's key overlay, to correspond to Word Perfect function-key usage, 
or in any other way you like.
     VINSTALL can use Function Key Definition files to store function-key 
sets.  These should have a file type of ".VDF", for ease of identification.  
You have the option to read in or write out such a file, as well as editing 
the keys individually.  (VDF files can also be read or written with VDE's AltU 
command, but only VINSTALL can display the definitions.)
     VINSTALL gives you a display much like this:

      Function keys 1-10:  (___ bytes free)   <---- note room (up to 982)
      [F2]<>                                  <---- "<>" flag means empty
      [F4]<Q>^OL5^M^OR60^M                    <---- normal function key

This works just like the macro keys above, with four sets of 10 keys to define 
(Normal, Shift, Ctrl, Alt).
     VDE.ARC includes sample function-key files which you can read in to 
define the function keys according to the usage of WordStar or Word Perfect.  
The WordStar 4 default definitions in WS4.VDF are:

WS4.VDF      NORMAL      SHIFT        CTRL             ALT
     [F1]     ^J          ^OB          ^QF         Vertical bar graphic
     [F2]     ^U          ^OC          ^QA         Horizontal bar
     [F3]     ^V^PS^V                  ^L          Upper-left corner
     [F4]     ^V^PB^V                  ^QI         Upper-right corner
     [F5]     ^Y          ^KY          ^OL         Lower-left corner
     [F6]     ^T          ^KU          ^OR         Lower-right corner
     [F7]                 ^KV                      Upper T graphic
     [F8]                 ^KC                      Lower T
     [F9]     ^KS         ^KB          ^QS         Left T
     [F0]     ^KD         ^KK          ^QD         Right T

The WP.VDF file will not "turn VDE into Word Perfect", but it does provide a 
considerable degree of keystroke compatibility.  You can assign any other 
functions desired to unused keys (eg, [F9]).

WP.VDF       NORMAL      SHIFT        CTRL             ALT
     [F1]     ^U         Esc?Y        AltR
     [F2]     ^QF                                      ^QA
     [F3]     ^J                      Esc?C            ^OD
     [F4]    ^I^OL^M                  Esc?B           Esc?B
     [F5]     ^KF        AltD                          ^PZ
     [F6]    ^V^PB^V      ^OC                          ^OF
     [F7]    Esc?E       Esc?P
     [F8]    ^V^PS^V     Esc?T        Esc?S           Esc?S
     [F0]     ^KS        Esc?F        Esc[


--------------------------  F. GRAPHICS CHARACTERS  --------------------------

     VDE allows text to contain a limited, but variable, set of 32 characters 
in the range 80-FFh (on an IBM PC, these are typically graphics or foreign 
characters; see GRAPHICS).  In addition, the code ^Z (1Ah) must be treated as 
a graphics character.  VINSTALL lets you specify your own default graphics 
set.  Keep a fair amount of space free in it if you frequently work with files 
with many graphics characters, in order to avoid overflowing the table.

     You will be shown the current definitions, in the same format as the VDE 
Graphics command.  You may select any entry to redefine (A-Z, 1-5) whether 
vacant or not; furthermore, you may type "-" to clear them all.  (Graphic 6 
cannot be changed; it always remains a fuzzy block.)  In VINSTALL, new graphic 
codes must be entered by hex value, from 80 to FF (and 1A); a full list of 
graphics characters (80-FF) can be displayed for your selection if you need 
it, by typing "?".  Simply pressing [Ret] means "free" or undefined.
     Note that your Printer Installation determines how graphics will print.

---------------------------  G. CHARACTER WIDTHS  ----------------------------

     In order to judge the margins correctly when formatting, VDE's 
proportional printing feature (^OJ) needs to know how wide each character is 
when it prints.  The default width table will probably work fairly well with 
any standard ASCII font (eg, "m" is wider than "i", and so on).
     If you would like to fine-tune this table to correspond to your own 
printer instead, you can measure your own font and modify the width table as 
needed.  (You must know the character widths in 1/256"; the easiest way to get 
this is to print out a line of 64 of each character, measure the length in 
multiples of 1/16", and divide by 4.  The result is typically between 10 and 
30.)  Just type the character, then enter the width as a decimal value.
     Note that this doesn't affect how your printer operates -- just how VDE 
judges the length of each line for wordwrap, when ^OJ is on.

---------------------------  H. RESTORE DEFAULTS  ----------------------------

     This option on the VINSTALL menu is provided in the event that you want 
to undo any changes that you (or someone else) has made to your copy of VDE.  
This should return VDE to the state it was distributed in: installation for 
IBM PC, all User Options restored to their defaults, printer driver set to 
Simple, no Macro or Function Keys, original Graphics characters and Character 


         ---  Eric Meyer, 401 12th Ave SE #139, Norman OK 73071  ---




                              INSTRUCTION MANUAL


                                note formatter

                               (c)1989 E. Meyer
                            401 12th Ave SE, #139
                           Norman, OK  73071    USA

                                 ABOUT wsNOTE

     wsNOTE is a small, fast, easily used program that enables you to produce 
numbered footnotes or endnotes with your WordStar program.  It has some 
additional formatting features as well.  wsNOTE is completely independent of 
WordStar, and requires no modifications to your present copy of it; yet wsNOTE 
can be run without ever leaving WordStar.
     Its advantages include:

* -  Simple,natural file format.  No strange embedded commands; no control 
    codes to conflict with your printer installation, or other software.
* -  Fast, one-pass operation produces either footnotes or endnotes from the 
    same source file; notes can be typed along with text or separately.
* -  Can also function as a simple numbering utility, for example, numbering 
    items in a bibliography.
* -  Figure Block feature offers space for illustrations without interrupting 
    the flow of text.
* -  Large documents may be split into separate files,which can be chained 
    together for output or processed separately.
* -  You have complete flexibility in format of note numbers and text.

     wsNOTE works on text files created with WordStar or compatible programs 
(like NewWord), including the new WordStar 4.0.  The CP/M version runs on any 
CP/M or compatible (eg, ZRDOS) computer.  The MSDOS version runs on any PCDOS 
or MSDOS computer with at least 128K RAM.

     This manual contains no special codes other than formfeeds.  It can be 
printed out, or examined onscreen with any editor.  It was written using VDE 
(Video Display Editor) 1.31, a freeware program from the same author.

                               SHAREWARE POLICY

     The wsNOTE program is "shareware", user supported software.  There is no 
initial obligation: feel free to give wsNOTE a thorough trial.  But if you 
decide to keep the program and to continue using it, this usage policy 
requires that you send a modest contribution of $25 (individual user) or $50 
(corporate site license) to the author:

                                  Eric Meyer
                            401 12th Ave SE, #139
                            Norman, OK  73071  USA

                           CompuServe [74415,1305]

Mention the version of wsNOTE that you are using, and you will receive an 
update to the current version if revisions have been made.  Sorry, printed 
copies of this manual are not available from the author.

       *****    The wsNOTE utility and its documentation are      *****
       *****       (c)1988 E. Meyer, all rights reserved.         *****
       *****   They may not be circulated in any incomplete or    *****
       *****     modified form, nor sold for profit, without      *****
       *****          written permission of the author.           *****

     DISCLAIMER: You undertake to use wsNOTE at your own risk.  The author 
accepts no liability for any damages resulting from its use or misuse.  Direct 
problem reports and suggestions to the author; include a stamped return 
envelope for a reply if desired.

     NOTES: Please observe in what follows that "WordStar", "NewWord", and 
"Mailmerge", are trademarks of MicroPro International or NewStar Software.
     The wsNOTE program was formerly sold as a commercial product; it is now 
released as shareware by the author.

                               GETTING STARTED

     The wsNOTE package should contain the following files:
          WSNOTE.EXE (or COM) - the wsNOTE program
          CONFIG.EXE (or COM) - a configuration utility
          SAMPLE.FIL - a sample text file to practice with

In addition there may be a READ.ME file, containing last-minute updates to the 
information in this Manual.  If so, TYPE or PRINT this file, or edit it with 
WordStar or VDE, to read it.  Eventually you will want to move WSNOTE, and 
possibly its CONFIG utility, onto your working WordStar disk (if there's room).

     wsNOTE is a "post-processor": it reads through a text file that you 
create with WordStar, and it creates a formatted file for you to print.  This 
means that wsNOTE consumes no memory, and will not interfere with your 
existing writing process.  The same input file may be processed to produce 
either footnotes or endnotes, as desired.  The output is a standard WordStar 
document file, and any other software (like indexing utilities) may be used on 
it prior to printing.
     You can convert existing documents for use with wsNOTE.  The easiest way 
is to replace all the note numbers with "##" signs, and collect all the notes 
in a separate ".XNT" file (see "EXTERNAL NOTE OPTION", below).

     This Manual is short; please read it thoroughly.  It covers:
        1.  How to create or modify text files for use with wsNOTE.  (You may       
           want to examine the file SAMPLE.FIL as you read this.)
        2.  How to run the WSNOTE program itself, to format and number your 
           notes, and proofread and print the output.
        3.  How to use the CONFIG program to take advantage of the many 
           formatting options of wsNOTE.

     You will need to be familiar with the use of WordStar itself on your 
computer, including the "dot commands" used by WordStar (and Mailmerge) for 
print-time formatting.  If you find yourself needing to refresh your memory on 
any of this, keep your WordStar manual handy as you proceed.
     The following instructions apply to both the MSDOS and CP/M versions of 
wsNOTE, and to the use of either WordStar or NewWord, identically.

                                 FILE FORMAT

     First, you need to know how to type a note call in your text, the place 
where the note number should go.  Just type it as you always have, except that 
instead of an actual number like 17, type two or three "#" characters.  The 
number may be formatted in any way you like: in square brackets "[##]", or 
superscripted "^T##^T", etc. The "#"s will be replaced by the actual note 
number when you run WSNOTE.  Use of two "#"s gives note numbers up to 99; use 
three only if you expect you will need numbers larger than 99.
     Once you make your choices of format and number of digits, every note 
call in the file must be done the same way.  Any call that is not done exactly 
like the first will not be recognized.  (There is one exception: when you want 
the note number to reset to 1, as at the start of a new chapter, you may use 
"#1" instead of "##", or "##1" instead of "###".)

EXAMPLE:      Try the ^SwsNOTE^S^T#1^T program to format your notes.^T##^T

                            1                              2
RESULT:       Try the wsNOTE  program to format your notes.

     Second, you need to know how to type the actual notes.  They can be put 
after the end of any paragraph, either before or after their calls, though 
they should be reasonably close.  The natural place is at the end of the 
paragraph in which the calls occurred.  Keep the notes in the proper order, 
and remember not to try to put them into the middle of a text paragraph; they 
would not be recognized.
     Each note (or group of several notes) must be enclosed as a "note block" 
between the characters "{}" (curly braces), which distinguish a note block 
from a paragraph of ordinary text.  The "{" must be the first character on its 
line, and the "}" the last on its.  Neither brace will appear in the printed 
output; they are markers only.
     Each note within the block must have somewhere on its first line a number 
"##" or "###" with the same number of digits as the calls have. They may be 
formatted differently from the calls, but again all notes must be done the 
same way.  You can, for example, use "[##]" for the calls and "##." for the 
notes.  Use of "#1" and "##1" in the notes is allowed, if it helps you keep 
things straight, but is not needed, and has no effect.

EXAMPLE:      {    ##.  "wsNOTE" is a trademark of the author.
                  ##.  The program can produce either footnotes or endnotes,
              depending on your preferences.}

     EXTERNAL NOTE OPTION: Most users find note blocks integrated with the 
text to be easiest to use and keep track of.  However, if you prefer to type 
your notes in a separate file (or have already done so), wsNOTE has an 
"external note" option.  Don't put any note blocks in your text.  In the note 
file, just type in the notes as desired, with "##" in place of the numbers; 
don't use block markers ("{}").  Give the note file the same name as the text 
file, and the type ".XNT"; for "PAPER2" or "MAGAZ.ART", use "PAPER2.XNT" or 
"MAGAZ.XNT".  If an ".XNT" (external note) file is present, wsNOTE will 
automatically use it.

                                 DOT COMMANDS

     When using wsNOTE, a few WordStar/Mailmerge dot commands should not 
ordinarily be used.  Others will operate somewhat differently than usual, 
because wsNOTE interprets them itself at formatting time, and may or may not 
pass them along to WordStar as well.  Also, two new ones are available.

     Dot commands that should usually not be used are: ".LH", which would 
change the vertical spacing of lines; ".PF", ".LM", and ".RM", which would 
cause print-time reformatting of text.  If wsNOTE encounters these commands, 
it will issue a warning message, but will keep going.  Thus you can use them 
if you really know what you're doing; but this is not encouraged, and page 
misalignment may result.
     (You should also avoid the formfeed character, ^PL.)

     Dot commands whose usage differs under wsNOTE are:
     ".PL", ".MT", ".MB" can each be used only once, at the beginning of your 
file, before any text, or page misalignment may result.  If used, they 
override any default set with CONFIG.
     ".CP" may not function as intended if the text it governs includes 
footnote calls, since the notes cause the page to fill sooner than expected.
     ".LS" will affect the spacing of the output text, but not the notes.  In 
particular, ".LS 2" will produce double spaced text, while the notes remain 
single spaced.  This (rather than typing with ^OS) is the recommended method.
     ".FI" should be used only at the end of a file, where it will chain to a 
new input file.  Don't specify a drive; the file will be sought on the same 
drive as the original one.  This is the easiest way to break up a large 
document.  For example, PART1.DOC might end with the line ".FI PART2.DOC".
     (Although ".LS" and ".FI" are Mailmerge commands, you don't need Mail- 
merge for them to work, because wsNOTE is processing them itself.)

     wsNOTE also has two new dot commands of its own:
     ".NN" (Note Number), sets the current note number the same way ".PN" sets 
page numbers.  This can be used to reset to 1 at the start of a chapter, or to 
synchronize numbers across multiple files.
     ".FB" (Figure Block), provides an extra feature which WordStar lacks.  
".FB nn" causes the next 'nn' lines of text (or blank space) to appear 
together on the next page, while the surrounding text continues to flow around 
normally.  Thus in contrast to ".CP", no premature page break occurs.  If you 
can't see immediately how this is useful, try it out!  This feature is used 
for printing tables intact, or setting aside space for an illustration to be 
pasted in, without interrupting the text in an unnatural way.  Figure blocks 
can be no larger than one page.
     (WordStar will of course not recognize ".NN" and ".FB" as valid dot 
commands; don't be disturbed by the "?" shown in the flag column.)

                                RUNNING wsNOTE

     Once you've done the work of writing your file, actually formatting it is 
easy.  You can do this either from the operating system prompt, or from within 
WordStar via the Opening (No-File) Menu "R" command.  If you've never used the 
"R" command, now is the time to discover it.  It allows you to run nearly any 
command or program, without exiting from WordStar.  At the Opening Menu, type 
"R".  WordStar asks "COMMAND?", and you simply type in the name (followed by 
any required arguments) and press <RETURN>.  When the program is finished, the 
message "Hit any key to return to WordStar" will appear; doing this brings 
back the Opening Menu.
     In either case, WSNOTE takes two arguments.  The first is your text 
filename, and is required.  Include the drive, if different from the current 
drive.  The second is an optional flag "-e", if you want endnotes; omit it if 
you want footnotes.

EXAMPLES: (from DOS, with endnotes)          A>wsnote b:sample.fil -e
          (from WordStar, with footnotes)    COMMAND? wsnote sample.fil

     There must be enough free space on the disk in use for another complete 
copy of your document.  Remember to add together the sizes of any files you 
are chaining together, and add a few extra K just to be safe.  When wsNOTE 
stops, there will be a new file on the disk, with the same name as the (first) 
input file, but the type ".PRN".  (SAMPLE.FIL will produce SAMPLE.PRN.)  This 
is the formatted output, all set to print using WordStar's "P" print command.
     It is wise to make a habit of proofreading the ".PRN" file before 
printing it, in order to check the page layout.  Edit it in "D" (document) 
mode, and scroll through it at will.  But remember, to make corrections you 
should edit your source file, then run wsNOTE again.  Make changes directly in 
the ".PRN" file only when needed to get it to print the way you want; and 
never do anything resulting in a net change of the number of lines.  This 
would cause pages to become misaligned in printing.  (Make sure WordStar's 
page break indicators agree with the wsNOTE "..page" markers.)
     If you selected endnotes ("-e"), there will be a second output file with 
the type ".NOT", containing your notes.  It is also a document file, but may 
be edited or reformatted as you like before printing.  (You may, for example, 
want to insert a ".PN" command to get the right page numbering.)

     NUMBERING OPTION: It is also possible to use wsNOTE to simply number 
items in a list, for example a bibliography.  Just enter the usual "##" (or 
"###") for the number of each item, making sure that all are formatted exactly 
the same way.  Then run WSNOTE on the file, with the option "-n":

EXAMPLE:            COMMAND? wsnote bibliog.104 -n

The numbering will proceed sequentially from 1 (unless modified with "##1" or 
the .NN command).  Other wsNOTE features (such as figure blocks) also remain 
active.  The output file will have the type ".PRN".

                                  USAGE TIPS

     Make sure that you either (1) use CONFIG to set the page length, top and 
bottom margins in wsNOTE to agree with the defaults you have installed in your 
copy of WordStar, or (2) always put ".PL", ".MT", and ".MB" commands at the 
top of your file.  Otherwise wsNOTE and WordStar won't agree on the page 
format, and pages will get misaligned.

     Follow the "FILE FORMAT" instructions exactly.  If a note call or number 
is not done correctly or consistently, wsNOTE won't recognize it, and notes 
may start getting mismatched, or an error may occur.  If a note block is not 
correctly marked off, it will appear to be missing, or not to end, and an 
error will result.
     Be careful if you "block move" a note block, to be sure that it still 
stands as a paragraph: begins after, and ends with, a hard carriage return.
     If you use right justified text, don't use three "###" signs unless you 
will need numbers over 99.  The extra one will add an unnecessary space.

     wsNOTE features don't "nest": you can't put dot commands, note calls, or 
note blocks inside of other note blocks or figure blocks.

     The .LS command is the easiest way to produce double-spaced text.  The 
alternative, multiple line spacing with ^OS in WordStar, can cause problems in 
the spacing of notes, and is not recommended.  If you must use ^OS, be sure 
that only a single <RETURN> precedes and follows each note block.

     If you want a blank line between each note in your output, insert an 
extra <RETURN> after every note in the source file.  Remember to do this for 
the last note in each block, too (before the closing "}"), or some notes will 
not be spaced properly.

     There are two ways to handle a document consisting of multiple files.  
First, you can chain the files together with a ".FI" at the end of each.  This 
will produce a single ".PRN" file, with the name of the first input file.  (If 
you are using external notes, they must also be in a single ".XNT" file with 
that name.)
     Alternatively, you can process each file quite separately.  At the start 
of each file, you can use the ".PN" and ".NN" commands to synchronize the page 
and note numbers.  This is best if a single output file would be unwieldy.

     Problems can occur in printing the ".PRN" file, if a page ends while an 
alternate print mode (underlined, compressed, etc) is in effect.  For example, 
the footnotes and next page header may also print in that mode, or the text 
may fail to return to it on the next page.  In this event you will need to 
stop the printing, edit the ".PRN" file, and manually insert extra print codes 
where needed to correct the problem.  Then print out the offending pages 
again.  Be careful not to insert or delete any lines in the process, or pages 
will become misaligned.

     The smaller the capacity of your disk drive, the smaller you should keep 
your text files.  WordStar always makes temporary and backup files; this can 
quickly fill up a small floppy disk.  Delete ".BAK" files when you can, and 
".PRN" files once they're printed.

                                 USING CONFIG

     The CONFIG utility offers you a number of quick, useful ways to customize 
the use of wsNOTE to suit your tastes, or the requirements of a style manual.  
Most people will only need to run CONFIG once.  If you often have to use 
different styles, you will need to either keep CONFIG on your disk with WSNOTE 
or set up several different copies of WSNOTE.
     CONFIG takes a single argument, the name of your wsNOTE program.  (In- 
clude the drive if it's not the current drive.)  Again, CONFIG may be run from 
either the system prompt or the "R" command in WordStar.

EXAMPLE:        COMMAND? config wsnote.exe
     You will see a menu of all the parameters you can change, which are 
described below, and their current values.  Type the menu letter of the one 
you wish to change, then enter the desired value.  When you're through, hit 
<RETURN> to save your changes, or type ^C to abort without saving.  This copy 
of WSNOTE.EXE (or COM) will be modified as you chose.
     Read this list now, to familiarize yourself with the control you have 
over the appearance of the printed output.  The choices, in order, are:

     A: note number character.  The default is "#".  If you want or need to 
use a different character to designate note numbers, you may.

     B,C: note block delimiters.  The defaults are "{}".  Again, if you 
prefer different characters you may change these.

     D,E: note line character, length.  The character to use for the note 
separator line between text and footnotes (D), and how long the line should 
be (E).  Defaults are "-", 20 characters.  You may prefer "~", "_", etc, or 
a longer line.  If you want no line, set the length to 0.

     F,G: blank lines before, after line.  These are the number of lines you 
want to skip before and after the note separator line.  Defaults are 1 line 
before (F), and 0 after (G).

     H: minimum lines for note start.  Setting this to "n" means that if 
there is not room on the page for the first "n" lines of a footnote, the 
note will be postponed to the next page.  Default is 1 (no postponement).

     I,J: printer codes for notes.  You can get your notes to automatically 
print in a different mode from the text (such as compressed), if you want.  
Enter the WordStar control code you've installed to turn on the printer mode 
desired for the notes (I), and the one to return to your text mode (J).  
These might be, for example, ^Q and ^R; type these codes in directly.
     If you use a print mode with a different character width, be sure to 
format your note blocks with appropriately adjusted margins, so their prin- 
ted width will match that of the text.
     Defaults: no codes.  (This displays as "none", and may be entered from 
the keyboard by typing <RETURN> alone.)

     K: physical page length.  This is the number of lines on a page.  Set
it to agree with whatever you have installed in WordStar.  This setting is 
overridden by the .PL command, if used.  Default: 66 lines (for ordinary 11" 
paper, 6 lines per inch).

     L,M: top, bottom margins.  Again, set these to agree with the defaults 
you have installed in WordStar.  These settings will be overridden by the 
commands .MT or .MB, if used.  Defaults: 0 lines top, 0 lines bottom.

     N: new page resets to note 1?  To change this, enter "Y" or "N".  If 
you set this to "Yes", the first note number on each page starts over again 
at 1.  Default: "No", note numbers continue to increment.

     O: notes up on short pages?  Enter "Y" or "N".  Ordinarily "No", and 
footnotes always print at the very bottom of the page.  If set to "Yes", on 
a partly filled page, notes (if present) print up right under the text.

     P: avoid widow text lines?  Enter "Y" or "N".  Ordinarily "No"; if you 
set this to "Yes", wsNOTE will avoid beginning a paragraph on the last line 
of a page (it will begin on the next page instead).

     Q: right justified text?  Enter "Y" or "N".  Ordinarily "Yes", and 
extra (soft) spaces are inserted where necessary to preserve justification 
(for example, after one-digit note numbers).  Set to "No" to avoid these 
extra spaces in unjustified text.

     R: buffer size in K.  There are four buffers in wsNOTE, each of this 
size (default: 6K).  The minimum is 2K.  If you start getting "buffer over- 
flow" error messages from wsNOTE, increase this size.  If you get "buffers 
exceed available RAM", decrease it.

                                CONFIG ERRORS

     CONFIG modifies the actual WSNOTE.EXE file.  This cannot be done if the 
disk WSNOTE is on is write-protected, or Read/Only.  In such cases, a BDOS 
Error message will appear, and the changes will not be made.
     Note that CONFIG will refuse to save if you have specified a buffer size 
below 2K, or a page length that's too small for the margins.  Correct the 
offending value(s) and try again.

     In addition, two error messages may appear when you try to run CONFIG:

"can't open input file" - The name you gave for your wsNOTE program doesn't 
  exist.  Either it's misspelled or incomplete, or it's on another drive.

"can't CONFIG that file" - The file exists, but it either isn't wsNOTE, or 
  isn't the correct version.

                                ERROR MESSAGES

     Every effort has been made to trap and identify errors neatly.  When an 
error causes wsNOTE to abort formatting, the output file(s) will of course be 
incomplete.  Take a look at the end of the ".PRN" file, to get an idea of 
where in your source file the problem occurred.  Then refer to this alpha- 
betical list, for some suggestions as to the likely cause.

"bad dot command argument" - The number following a dot command appears to 
  be invalid or missing.

"bad figure block" - A figure block was still being read in when the end of 
  your file was reached.  Either some of its text is missing, or you need to 
  decrease the number of lines in the ".FB" command.

"bad note block" - A note block was still being read in when the end of your 
  file was reached.  This means the note block is not terminated properly 
  with "}", <RETURN>.

"bad option specified" - The only thing allowed on the command line after 
  "WSNOTE INPUT.FIL" is "-E" or "-N".  You typed something else.

"buffers exceed available RAM" - Your computer doesn't have room for four 
  buffers of the current size.  Use CONFIG to decrease your buffer size.  
  The maximum under CP/M will be about 10K; under MSDOS, about 15K.

"can't open file" - The file specified in a ".FI" command can't be found.  
  There is an error in the filename, or you tried to specify a drive.

"can't open input file" - The file you gave on the wsNOTE command line can't 
  be found on the current (or specified) disk.  Did you misspell it, or is 
  it on a different disk?

"can't open output file" - wsNOTE can't write its output on the current (or 
  specified) disk.  Either it's read-only, or its directory is full.  (This 
  error can occur if your input file has the type ".PRN" or ".NOT", which 
  you should avoid.)

"figure block exceeds page" - A ".FB" command has requested a figure block 
  larger than the current number of free lines on a page.  Decrease the 
  header and bottom margins, or make the figure block shorter.

"figure buffer overflow" - The text of a figure block filled the available 
  buffer.  Decrease the amount of text in the block, or use CONFIG to 
  increase your buffer size.

"foot buffer overflow" - The text of footnotes already scheduled to print 
  has filled the available buffer.  Don't call so many notes from a single 
  page, or make them shorter, or use CONFIG to increase your buffer size.

"missing note block" - A note block was still being searched for when the 
  end of your file was reached.  Either some notes are missing, or there are 
  too many calls in the text.

"no file specified" - You didn't give wsNOTE the name of your text file, so 
  it couldn't even get started.

"no note in buffer" - The contents of a note block don't look like notes, 
  because there is no proper "##" number on the first line.  There is 
  probably a simple error in its format.  The same error in a subsequent 
  note in the block will cause it to become part of the preceding one.
     In external note mode (with an ".XNT" file), this message indicates 
  that there weren't enough notes in the file for all the calls in the text.

"note buffer overflow" - Your note block appears to be too long to fit in 
  the note buffer.  Probably, the block isn't terminated properly with "}", 
  <RETURN>.  Possibly you've left out some calls, and so have too many 
  notes.  If your notes are simply too large, or you've put in too many 
  before their calls, you need to increase your buffer size with CONFIG.
     In external note mode (with an ".XNT" file), this message means that 
  one single note was too large to fit in the buffer.

"page align error" - This is very unlikely.  It indicates that wsNOTE can't 
  cope with the combination of page length, header and bottom margins that 
  you have set with CONFIG, which must be pretty strange.

"source line too long" - There appears to be a line in the text file that 
  exceeds the maximum length, currently 256 characters.  You probably forgot 
  to reformat a paragraph.

"text buffer overflow" - While looking ahead to find a note block, the text 
  buffer filled up.  You need to put this note block closer to the point in 
  the text where it was called, or to increase your buffer size with CONFIG.

"[Warning: extra notes]" - This is only a warning.  wsNOTE has finished, but 
  there still seem to be unused notes.  Probably you left out a call in the 
  text, and the following notes may all be mismatched as a result.  Proof- 
  read the output carefully.
     In numbering ("-n") mode this error means that a note block was found.

"[Warning: found .XX]" - This is only a warning; formatting does not stop.  
  You have used a dot command that is not recommended, and will likely cause 
  misaligned pages in your printout.  Abort wsNOTE with ^C if this was a 
  mistake.  Proofread the output carefully.

"[Warning: multiple spacing]" - This is only a warning.  wsNOTE has found 
  text that was multiple-spaced with ^OS.  This may cause spacing problems 
  in the notes.  Proofread the output carefully.


                        wsNOTE Manual Rev. 1.35 (04/89)


                           Instructions for ZIP.COM
                   IBM PC Fast Serial File Transfer Utility
                           Version 1.43 (03/28/90)

                             (c)1988-90 E. Meyer

        Requires:  two IBM PC compatible computers with DOS 2.x or above;
                   appropriate serial (null modem) cable.

     ZIP is a tiny, fast utility to transfer files between two IBM compatible 
computers over an ordinary serial cable connection.  This is especially useful 
when large amounts of data are involved, and essential when the computers 
don't share a common disk size or format.
     ZIP is ideal for laptop computers: it requires only 7k of disk storage, 
and consumes no memory when not in use, yet it can transfer files or groups of 
files with a single command.

===============================  USAGE POLICY  ===============================

     The ZIP utility and its documentation are copyright (c)1988-90 Eric 
Meyer, all rights reserved.  They may not be circulated in any incomplete or 
modified form, nor sold for profit, without written permission of the author.  
The use or sale of ZIP is subject to the following terms:

INDIVIDUAL USE:       ZIP may be freely used and shared with others; there is 
----------         no required registration fee.  (If you like ZIP and find it 
                   useful, please do consider sending a contribution!)

INSTITUTIONAL USE:    Any corporation or institution wishing to use ZIP in the 
-------------      course of its business must purchase a SITE LICENSE.  A 
                   standard license, allowing the use of ZIP on up to 20 
                   different computers, can be ordered for US $50.00; write 
                   for terms concerning larger quantities.  A disk containing 
                   the latest release of ZIP will be included at no additional 
                   charge (please specify 5.25" 360k or 3.5" 720k disk).

COMMERCIAL SALE:      Any software dealer or library may offer ZIP for sale, 
           ----    as long as the price of the disk containing the program 
                   does not exceed US $5.00.  With this single exception, the 
                   sale of ZIP for profit, either alone or together with other 
                   software or hardware, requires a contract to provide for 
                   royalty payments.  Please write to the author for terms.

CUSTOMIZATION:        It is often possible to develop modified versions of ZIP 
                   for special applications.  Contact the author for details.

           Eric Meyer
           401 12th Ave SE, #139            CompuServe [74415,1305]
           Norman, OK  73071  USA

     DISCLAIMER: You undertake to use ZIP at your own risk.  The author 
assumes no liability for damages of any kind resulting from your use of ZIP.

===============================  INTRODUCTION  ===============================

     Anyone with two computers probably needs to transfer programs or data 
between them... If you have compatible disk drives, you can just swap disks, 
though this gets tedious if done frequently or with large amounts of data.  
And if you have incompatible drives, like old-style 5.25" versus the 3.5" 
drives on laptop computers, you're out of luck!

     Rather than shuffling stacks of disks, or buying expensive additional 
hardware, a simple (null modem) cable connected between serial ports can be 
used to transfer data instead -- at rates approaching 14K per second!  There 
are good commercial programs for this purpose, though they typically cost over 
$100; if you're willing to find or make your own cable, you can do the same 
job with ZIP instead.  ZIP doesn't have all the features of the fancy 
programs, but then it doesn't consume precious system memory either; it just 
transfers files when you need to, as simply as using the COPY command.

     ZIP is as fast as a serial transfer program can be, and faster than some 
free/shareware programs that claim to operate "at 115200 bps" (twice as fast 
as PCMag's ZCOPY, for example, which uses a slower I/O technique).  ZIP can 
transfer data up to 6 times faster than a telecom program over a serial 
cable... 48 times faster than typical modem transfers.
            Telecom programs: modem       2400 bps            0.3 K/sec
                            : cable      19200 bps            2.3 K/sec
            ZIP: cable                  115200 bps     up to 14.1 K/sec!
If you don't own the latest '386, ZIP will come about as close to this amazing 
throughput as your computer speed allows.  (Between an 8MHz XT clone and 
4.77MHz laptop, it reaches about 10K/sec.)  Of course, disk access also takes 
time; with any system, large amounts of data can be sent more quickly using 
hard or RAM disks, rather than (slow) floppy disk drives.

-------------------------------- I. USING ZIP --------------------------------

     Transferring files with ZIP requires a copy of ZIP.COM on both computers, 
and the correct cable connection between them.  For more on null modem cables, 
see the Technical Information section below.  If incompatible disk formats 
prevent you from getting ZIP.COM itself onto the second computer to begin 
with, you can "clone" a copy of ZIP with the ZIPDUP utility (see below).

     Transferring a file between computers with ZIP is as easy as copying it 
from one disk to another.  To transfer files, once the cable is properly 
connected to the serial ports of the two computers, from the DOS prompt:

           1.  MENU-DRIVEN OPERATION.  Simply type "ZIP" on both 
      machines; the program will step you through all the necessary 
      choices, including transferring or receiving files.
           You will also have the option to view file directories 
      and/or delete files.

           2.  Command line operation, for experienced users.  (See 
      full explanations and usage examples, below.)
              C>zip FILENAME      to send a file
              C>zip /R            to receive
              C>zip FILENAME /F   to fetch a file from serer
              C>zip /S            to enter server mode

     As each file is transferred you should see a line of "=" signs 
representing the remaining file length (if over 64k), with a blinking asterisk 
("*") at the end.
     During communications, ZIP can be aborted by pressing ^C (or Ctrl-Break):       
              (1) on either end, during initial handshaking
                    (otherwise ZIP waits as long as necessary for connection)
              (2) on sending end, during file transfer
                    (will abort once current file is finished)
              (3) at confirmation or string input prompts.

                                SENDING FILES

     In menu mode, simply select "S"end, and you will be prompted for the 
filename(s).  For command-line use, specify the name(s) of the file(s) to send:

              C>zip FILENAME

The "FILENAME" can be a single file (including directory), or a GROUP 
specified by wildcards (eg, *.BAK), or a LIST of these delimited by commas 
(FILE1,FILE2).  Each item assumes or continues the same drive/directory as the 
previous one (unless the new one begins with a drive or root directory).  Thus

              C:\WRK>zip B:\SF\GORT,LTRS\*.892,KLAATU

will send files B:\SF\GORT, B:\SF\LTRS\*.892, and B:\SF\LTRS\KLAATU.
     Any desired options may follow the filename(s).  Files will appear with 
the same filename, in the receiving directory.  Take care not to send two 
files with the same name, as one would overwrite the other.

                               RECEIVING FILES

     In menu mode, simply select "R"eceive, and you will be prompted for the 
directory to receive into.  For command-line use, specify the option "/R" for 
              C>zip /R

Each file will appear with its original filename.  Files are received into the 
current directory, unless you specify another.  In command line mode, this can 
be done in square brackets after the /R option:

              C>zip /r[DIRECTORY]

(Note: ZIP also still accepts the syntax of earlier versions, where the 
directory was specified from the command line by typing:
              C>zip DIRECTORY /r
but this tends to seem confusing, and may not continue to be supported.)

                          SELECTING THE SERIAL PORT

     IBM-compatible computers have anywhere from one to four serial (RS232) 
ports.  By default ZIP uses the COM1 port.  The standard port addresses are:
              COM1: 03F8h         COM3:03E8h
              COM2: 02F8h         COM4:02E8h
Some computers (including PS/2s!) use different port addresses for COM3 and 
COM4; to use a nonstandard port address, you must modify ZIP.COM with ZIPCFG.
     You can select any standard COM port during operation of ZIP:  in menu 
mode, just select the choice to modify "P"arameters.  In command line mode, 
specify one of the following options:

            /1-4  = Use port COM1-4.

     You will see a note in the ZIP signon message, "Port=____", giving the 
port address in use.

                         SELECTING FILES FROM A GROUP

     If you want to transfer only certain files in a group (such as *.BAK) 
with ZIP, you can request that you be prompted to confirm each file 
individually: you will be asked to hit a key (Y/N) to determine whether the 
file is to be sent.  (In menu mode, you can select "O"ptions for a help 
message describing the selective copy operations.)  After the names of files 
to be transferred, in menu or command line mode, specify this option:

              /P  = PROMPT to confirm files individually

     This option (which can be combined with others) can be specified on 
either end -- but the option on the SENDING (or active) end governs each 
transfer.  You will see a note in the ZIP signon message, "Option /P", if this 
option is in effect.

                              OVERWRITING FILES

     It is possible that a file already exists on the receiving end with the 
same name as the one being sent.  By default, ZIP doesn't care: it will 
transfer all files specified, whether or not they overwrite existing ones.  
Several options are provided to modify this behavior.  (In menu mode, you can 
select "O"ptions for a help message describing the selective copy operations.)  
After the names of files to be transferred, in menu or command line mode, 
specify one (or two) of these options:

              /N  = copy NONexisting files only
                       (cannot be used with /E or /T)
              /E  = copy EXISTING files only
              /T  = TIMESTAMP determines files sent

     The /N option will prevent all files from being overwritten.  The /T 
option will allow overwrites only when the new copy has a more recent time 
stamp.  The /ET combination is especially useful for backup purposes: it 
transfers only more recent copies of files that already exist.
     These options can be specified independently on either computer -- but 
the options on the SENDING (or active) end govern each transfer.  You will see 
a note in the ZIP signon message, "Option /_", if an option is in effect.

                                 SERVER MODE

     It would obviously be easier to transfer files if you could do all the 
typing from one keyboard -- and "server mode" lets you do just that.  In 
server mode, ZIP stays "on line" on one end, ready to send or receive files, 
or answer directory requests, from the other end automatically.  To enter 
server mode: in menu mode, just select the choice for ser"V"er.  In command 
line mode, specify the option /S for SERVER:

              C>zip /S

     ZIP will then remain ready to exchange files until such time as you press 
^C or Ctrl-Break to exit server mode.

     From the other ("active") keyboard, you can then transfer files TO the 
server; these will be received into the default directory, either the current 
one or another that you specify in square brackets:

              C>zip /s[NEWDIR]  = Server mode, default directory NEWDIR.

     In any event, when you send files to the server, you will be prompted for 
a destination directory (if desired) to override the default on the server end.  
In command-line mode, you can specify this on the command line in brackets:

              C>zip sendfile /[DESTDIR]

(Specify "/[]" if you simply want to avoid the prompt and use the default, for 
example, when running ZIP from a batch file.)

     You can also fetch files FROM the server.  In menu mode, just select the 
choice to "F"etch files.  In command line mode, specify the option:

              /F  = Fetch specified files from server.

     You must specify the directory with the filenames, if they are not in the 
default directory on the server end.  You will be prompted for a directory to 
receive the files into, unless you specify one in square brackets after the /F 
              C>zip filename /f[DESTDIR]  = Fetch into directory DESTDIR.

(Again, specify "/f[]" to avoid the prompt and use the current directory.)
     A fetch request will not be completed until server mode is detected on 
the other end.


     When ZIP is in menu-driven mode, you will see choices for "D"irectory and 
d"E"lete, offering simple file maintenance from within ZIP.COM itself.
     The directory function provides an alphabetized file listing for your 
reference, and the free space left on the disk.  You will be prompted for the 
files to list.  If you just hit RETURN, ZIP lists all files (*.*) in the 
default directory.
     The delete function prompts for a filename to delete (as always, a 
directory may be included).  Note that wildcards ("*,?") are NOT allowed.

     If the other computer has ZIP running in SERVER MODE, you can also 
request a directory from it, or delete files on it.  Simply type a ">" before 
the filespec for the server.  This can be done alone, or together with a 
request on the active end:

              Directory: \WORK\*.BAK                active alone
              Directory: >B:\BACKUP                 server alone
              Directory: \WORK\*.BAK >B:\BACKUP     combined
and similarly,
              Delete: \WORK\THIS.FIL >B:\BACKUP\THAT.FIL

     A server directory or delete request will not be completed until server 
mode is detected on the other end.

                            BACKING UP A HARD DISK

     At times you may need to transfer the entire contents of a sizable disk, 
including several levels of directories.  ZIP is not specifically designed to do 
this: it does not create directories while copying, nor does it look for files 
within subdirectories.  However, it is easy enough to put the receiver in 
Server mode, then run a BAT file containing a separate command for each 
desired directory (once corresponding directories exist on both ends):
              zip \work\*.* /t[\work]
              zip \work\ed\*.* /t[\work\ed]  ...

                      USAGE EXAMPLES (Command line mode)


C>zip b:myfile,*.doc              sends files B:MYFILE, B:*.DOC

C>zip my.* /2 /p                  sends files C:MY.* over COM2, with
                                prompts to confirm each file individually

C>zip *.* /n                      sends all files which don't already exist
                                on receiving directory

C>zip a:chapter.* /et             sends all files A:CHAPTER.* of which an
                                older version exists on the receiving end

C:\WORK>zip /r                    receives files into directory C:\WORK

C:\WORK>zip /2 /r[\temp]          receives over COM2 into directory C:\TEMP


C>zip /s                          waits as server to send or receive files

C>zip /s[d:\]                     waits as server, with default directory D:\


C>zip *.bak /[]                   sends files *.BAK to server's default dir

C>zip *.bak /[b:\recs]            sends files *.BAK to directory B:\RECS

C>zip b:\recs\my.* /f             fetches files MY.* from directory B:\RECS

C>zip b:\recs\my.* /f[\orig]      fetches files MY.* from directory B:\RECS
                                on server into directory C:\ORIG

---------------------- II. UTILITIES: ZIPDUP AND ZIPCFG ----------------------

     ZIP comes with two utility programs: ZIPDUP and ZIPCFG.  If you need to 
duplicate ZIP on your other computer in order to begin using it, you can do so 
with the ZIPDUP utility.  If you want to configure the default values in ZIP 
differently, you can use ZIPCFG.

                                 USING ZIPDUP

     In order to duplicate or "clone" ZIP itself on another computer, ZIPDUP 
runs DEBUG, remotely, to receive and write the file to disk.  This is a 
feature most people need only once, so it is not part of ZIP itself.  ZIPDUP 
will duplicate any version of ZIP (indeed, any file, though it's slow and 
cumbersome compared to ZIP itself).

     1.  Connect the cable to the desired serial ports (COM1 or COM2 only).  
The cable must have the DTR wires connected, as well as the data lines -- see 
cabling diagram under "Technical Information" below -- or ZIPDUP will not work.

     2.  Set up the receiving end:  Make sure the MSDOS utilities DEBUG and 
MODE are available (either in the current directory or accessible via PATH).
     Be certain that the last character of your DOS prompt is ">".  (Yes, this 
actually matters!)  If in doubt, type the command:
              PROMPT $P$G
     Then prepare to receive data by typing these two commands:
              MODE COM#:96,N,8,1     ("#" = 1 or 2 only)
              CTTY COM#
(The CTTY command gives control to the sending computer, via the COM# port.  
The receiving system will seem to "lock up" -- the keyboard is ignored, etc.)

     3.  Now, on the sending end, to duplicate your copy of ZIP.COM, type:
              C>zipdup FILENAME
(If you omit the filename it defaults to "ZIP.COM".)
     You will be asked to specify the COM port (1 or 2 only) that the cable is 
connected to; if the connection can be made, the transfer will proceed.  When 
ZIPDUP exits, you will find a duplicate copy of FILENAME in the current 
directory on the receiving computer.  You can transfer ZIPCFG the same way, 
but it's easier to send it using ZIP itself!

                                 USING ZIPCFG

     If you don't instruct it otherwise (via command-line options or menu 
choices), ZIP assumes its built-in "defaults" of port COM1, 115200 bps, no 
delay.  You can, however, configure your copy of ZIP.COM to change these 
defaults as you like, using ZIPCFG.COM: just type
              C>zipcfg FILENAME
(If you omit the filename it defaults to "ZIP.COM".)  You will be given the 
chance to specify any new default values you like.  They can, of course, be 
overridden by the usual means when running ZIP.

     Please DO NOT distribute modified copies of ZIP.COM; this could confuse 
other users.  They are for your personal use only.  (ZIPCFG includes an option 
to restore the original default values.)

--------------- III. TECHNICAL INFORMATION and TROUBLESHOOTING ---------------

     Like many communications programs, ZIP does full CRC (Cyclic Redundancy 
checksum) verification on the data to guarantee accurate transfer, although 
ZIP uses its own transfer protocol.  Be sure to use the SAME version of ZIP on 
both ends: the transfer protocol may have changed.  Do not disturb the cable 
when ZIP is running, as this may cause the program to stall, requiring a 
reboot of your computer(s).

     Using any communications software in a multitasking environment often 
requires special precautions.  ZIP, in particular, may need to be given a 
"non-swappable" or "foreground-operation" status, so that other tasks will not 
interfere with its operation.  You should allocate at least 96k of memory to 
run ZIP, though it will operate with as little as 48k.  You may also need to 
set a somewhat slower baud rate (see below) for ZIP to work reliably.
     Do not use ZIP while any serial ports are in use by other software.  In 
particular, potential conflicts exist between COM1 and COM3, and between COM2 
and COM4, because they use the same interrupt vectors.


     Your SERIAL CABLE should be a "null modem" cable: if you're building or 
shopping for a cable, the transmit and receive data lines should be crossed, 
the signal ground straight through.  (The pin numbers depend on whether you 
have a 9-pin DB9 or 25-pin DB25 connector, see figure.)  No other connections 
should be needed; ZIP uses no hardware handshaking lines.  (NOTE: ZIPDUP does 
require the connections between pins 20/4 and 6.)

        |--COMPUTER 1--|         |--COMPUTER 2--|
         DB9       DB25           DB25       DB9
          2 - - - - 3 - - - - - - - 2 - - - - 3   \ transmit &
          3 - - - - 2 - - - - - - - 3 - - - - 2   / receive data
          5 - - - - 7 - - - - - - - 7 - - - - 5   - signal ground

          4 - - - - 20  - - - - - - 6 - - - - 6 * \
          6 - - - - 6 - - - - - - - 20  - - - 4 *  \handshaking (optional)
          7 - - - - 4 - - - - - - - 5 - - - - 8    /(* required for ZIPDUP)
          8 - - - - 5 - - - - - - - 4 - - - - 7   /

Actually, any serial cable that doesn't work by itself, should work with a 
"null modem adapter" attached.  If possible, use a properly shielded cable; 
high speed transmissions can be especially susceptible to RF interference.  
I am not an expert on RS232 hardware: find a good book if you need further 

                      Adjusting the Baud Rate and Delay

     BAUD RATE: ZIP normally transmits data at 115200 bps.  For some 
specialized applications, such as multitasking environments, it may be 
necessary to set a somewhat slower baud rate.  There is no run-time option for 
this; it can only be set with ZIPCFG.

     DELAY: Most users also will not need to worry about the "delay factor".  
(In fact, it will be removed from future versions unless users notify me that 
they still need it.)  In theory, due to large differences in raw CPU speed, 
when sending files from a very fast '286 or '386 AT to a very slow PC, the 
receiver might be unable to keep up, and the transfer would be aborted.  
Therefore a delay factor is provided, ranging from 0 (the default) to 9, to 
slow down the sending rate.  You can experiment with delay settings in menu 
mode (select the choice to modify "P"arameters), or make modifications with 
ZIPCFG to the copy of ZIP on the "fast" computer.
     This option can be specified on either computer -- but the setting on the 
SENDING end governs each transfer.  You will see a note in the ZIP signon 
message, "Delay=_", giving the current default.

                                ERROR MESSAGES

    <Argument error>  invalid command line argument(s).
     <Out of memory>  less than 64K free RAM available.
     <No connection>  no files transferred.  (Bad cable? Wrong version?)
         <No server>  function requires server mode on other computer.
    <Too many files>  global filespec (eg *.*) includes over 512 files.
<Conflict with NAME>  name conflicts with a directory or read/only file.
     <Cannot delete>  specified file didn't exist, was read/only, etc.
        <Disk error>  trouble writing to disk.  (Disk full?)
           <Aborted>  you pressed ^C.
             <Error>  error on other end; or, unrecoverable error.

                              PROBLEMS USING ZIP

     ZIP now works well on the vast majority of systems; please let me know if 
you encounter trouble.  Under certain software environments, particularly 
memory resident programs (TSRs) such as disk caches or multitasking, ZIP may 
fail to work; if you experience problems, do not use ZIP with that software.

                               VERSION HISTORY

ZIP 1.0  (4/88) - trial release.
    1.1  (4/88) - improved protocol; batch transfers; receive directory 
                 option; original file time/date preserved.
    1.2  (5/88) - improved error handling; patchable default port also 
                 allows use of COM3,4; small bug fixes.
    1.21 (5/88) - slower speed options; fixed bug in initializing ports.
    1.22 (8/88) - improved protocol; fixed bug in deleting temp file.
    1.23 (1/89) - menu-driven operation; detects disk-full errors.
    1.3  (4/89) - selective copy options /P,N,E,T; server mode, fetch; 
                 file directory; internal improvements.
    1.4  (9/89) - true error correction; delete file function; directory 
                 shows free space; ZIPCFG utility; small improvements.
    1.41 (11/89) - DesqView aware; multiple file arguments.
    1.42 (2/90) - minor improvements; ZIPDUP utility.
    1.43 (3/90) - simplified multiple argument syntax; corrected instructions 
                 for ZIPDUP.

(One final note -- this should be obvious but I'll say it anyway: ZIP is not 
related to the new PKZIP series of file compression utilities by Phil Katz.)


Directory of PC-SIG Library Disk #1273

 Volume in drive A has no label
 Directory of A:\

LQCHR123 ZIP     21664   3-29-90   6:56p
ZIP143   ZIP     18352   3-28-90   5:34p
PI12     ZIP      5680   4-06-90   4:22p
VDE152   ZIP     91011   4-06-90   2:16p
READ     ME        370   3-25-90   4:25p
PKUNZIP  EXE     21440   7-21-89   1:01a
DIRCMP12 ZIP      3314   3-25-90   4:28p
ARCOPY14 ZIP      8769   3-25-90   4:30p
DLT10    ZIP      4664   3-25-90   4:30p
DTA13    ZIP      7726   3-25-90   4:31p
QKRP12   ZIP      2961   3-25-90   4:33p
WSNOT135 ZIP     30395   3-25-90   4:34p
GO       BAT        38  10-19-87   3:56p
GO       TXT       771   4-23-90   7:51a
FILE1273 TXT      3775   4-23-90   9:15p
       15 file(s)     220930 bytes
                       95232 bytes free