                              ChessEnv
                  ChessEdt DataBase Games Manager
                                  
                                   
                              ReplyEdt
               Online Postal Chess Message Generator
                                  
                                  
                                  
                                  
                                  
                                  
                                  
                                  
                                  
                                  
                                  
                                  
                                  
                                  
                                  
                                  
                                  
                                  
                                  
                                  
                            version 1.0
                 (c) 1993, Intelligent Control Solutions                               
                         Table of Contents
                                   
     1.0  Introduction . . . . . . . . . . . . . . . . . . . .-1-
     
     2.0  Installation . . . . . . . . . . . . . . . . . . . .-2-
     
     3.0  Using ChessEnv . . . . . . . . . . . . . . . . . . .-3-
     
     4.0  Using ReplyEdt . . . . . . . . . . . . . . . . . . .-6-
          4.1  Generating ChessEdt Print Files for ReplyEdt. .-6-
          4.2  Sending Common Messages to All Opponents. . . .-8-
     
     5.0  Using SetupREd . . . . . . . . . . . . . . . . . . .-9-
     
     6.0  Help!. . . . . . . . . . . . . . . . . . . . . . . -10-
     
     7.0  Registration . . . . . . . . . . . . . . . . . . . -11-
          

Addenda for version 1.2

Mouse support has been added!  Anything on the screen (except for INS/DEL)
can be selected with the mouse.  Folders can be selected with a single click,
and ChessEdt can be started with the new folder with a double click.

ReplyEdt can be started by pressing 'R' or double clicking on it in the status
bar.  This is handy for when using ChessEnv under Windows.  The usual method
is to have ChessEnv and CIM (or equivalent) running under Windows, you enter
the moves, update and print reply files, and go back to the shell page.  Now,
instead of exiting ChessEnv to generate the formatted response files, just 
activate ReplyEdt.  This leaves you in the shell after it's done.  Much more
useful!

As always, feel free to contact ICS with suggestions or problems at:

John DeMastri
Intelligent Control Solutions
71172.660@compuserve.com

BTW - If you use ChessEdt and ever need PGN files - look for EDT2PGN, the great
new ChessEdt -> PGN conversion utility from ICS!

Have fun - that's the point!



1.0  Introduction

ChessEnv (Chess Environment Shell) and ReplyEdt (Reply Editor and
Manager) work with ChessEdt to automatically generate and prepare postal
messages for importing to an online service (primarily) or printing for
sending through normal mail.

I know.  ANOTHER utility...  But wait!  This one might even get used!  To
the point where you stop spending all your time making and editing
message files, and actually start concentrating on the games again. 
Wouldn't THAT be worth reading the next few pages?

ChessEnv is a "folder" management utility which allows you to break your
database of saved games into separate directories, where they can more
readily be searched, or otherwise manipulated.  Typical folders could
include games in progress, completed, rated, or classics.  ChessEnv
manages where these games are located, and calls ChessEdt with the
appropriate directory as the default.  Anyone who has tried to manage
several directories of games with ChessEdt, or who has avoided
categorizing games into logical subdirectories because of ChessEdt's
difficulties in managing other directories will really appreciate this ability.

ReplyEdt is a message generation tool which looks through directories for
the *.PRT files generated by ChessEdt, and converts them into a format
which can be transmitted via online services (CompuServe, etc...) which
otherwise would generate unreadable messages from the graphics
characters generated by ChessEdt.  It combines games which will be sent
to the same opponent, even if they are in different PRT files, or different
directories!  It separates games to different opponents which are in the
same PRT file.  It adds a personal opening and closing from you to your
opponent in each message.  It includes "clock" information for USCF based
games where you must provide this documentation in your messages.  It
also generates report files which are compatible with standards set by
online club database managers.  Finally, ReplyEdt will send these message
files to the directory of your choosing, so that they will be where your
communications system software will expect to look for them.

The advantage of this system shines through when both ChessEnv and
ReplyEdt are used together.  You just call ChessEnv like you would
normally call ChessEdt now.  Update the games you need to, analyze
others - do what you normally would.  Generate one or more PRT files with
any file name (using the default for ChessEdt is easiest) for the games you
need to send.  Exiting ChessEdt puts you back in ChessEnv.  When you're
through, exiting ChessEnv automatically calls ReplyEdt and tells it which
directories you've been working in.  It then takes over to send personalized,
perfect messages for your updated games ready to be imported and sent. 
No more editing, or worrying about transcription errors, plus you get
diagrams of every position!  All for less work than you do just calling
ChessEdt now!  You'll be more organized, and you'll spend more time
playing chess, rather than editing messages over and over.  That's the
point!
2.0  Installation

Installation is about as simple as possible.  UnZIP the distribution file
ChessEnv.ZIP onto a backup disk.  There should be five files in this
archive:
     ChessEnv.TXT   this document file
     ChessEnv.EXE   ChessEnv executable file
     ReplyEdt.EXE   ReplyEdt executable file
     SetupREd.EXE   ReplyEdt setup/file maintenance utility
     USCFblk.xxx    Example USCF "clock" text file

The three executables can be placed anywhere, but the ChessEdt directory
is the most logical.  The only important thing is that wherever you place
ChessEnv.EXE, there must be a copy of ChessEdt.DAT in that directory. 
This is the setup file for ChessEdt, and can be copied from that directory
if you place these files elsewhere.  Any changes you make to ChessEdt
options (colors, etc.) while running under ChessEnv will automatically
update this file, so they will automatically be in effect for ALL your folders. 
Under ChessEdt alone, you'd have to update the ChessEdt.DAT file in
EACH folder directory separately.

There are two ways to complete the ReplyEdt installation.  The first is to run
the SetupREd utility.  It will ask you for your name and the destination path
to which it should send its completed messages.  For a destination path,
you should probably use the default file directory for your communications
package.  As an example, C:\CIM\DOSCIM,
is where our copy of CIM looks for text files to import.  SetupREd will then
tell you that there are no opponents in its database file yet.  This is normal. 
Whenever ReplyEdt detects that you are sending messages to a new
opponent, it will ask you for information about that opponent then, so you
never have to worry about whether ReplyEdt has information for that new
quad you just started.  The other way to complete ReplyEdt installation is
to run the package itself with the command ReplyEdt.  It will automatically
detect that there is no database file, and ask you for the same information
that the setup utility did.  Why two options?  The setup utility also allows
you to edit your opponent database (once one exists).  These features are
described more fully in section 5.0 Using SetupREd.  Setup information for
ReplyEdt is stored in the data file ReplyEdt.DAT.  This data is binary
formatted text, so you should really use the provided setup utility to edit it.

Completing the ChessEnv installation is even easier.  Just run the package
with the command ChessEnv.  The first time you run ChessEnv, it will ask
you for the path to ChessEdt.  You should give the FULL PATH, without a
trailing \ (i.e. C:\CHESSEDT).  It will then ask for the path to ReplyEdt. 
Once this is done, it brings up the main ChessEnv screen, and your
installation is complete.  You can type ESC at this point to exit the program
to DOS.   Setup Information for ChessEnv is stored in the file
ChessEnv.DAT.  This data is purely text, but its format may not be so
obvious from a casual (or even detailed...) glance.  Contact ICS for a
detailed description of this (or any other) data file format should you require
it.
3.0  Using ChessEnv

Starting ChessEnv is as simple as typing ChessEnv, just as you type
ChessEdt now.  You should start it from the directory you installed it from,
so it can find it's setup file.  If there is no setup file ChessEnv.DAT, the
system will prompt you for the information it requires to generate one (See
2.0 Installation).  Once this housekeeping is completed, the main ChessEnv
Screen is displayed as in Figure 1.  The bottom line of text in the window
displays the basic commands available.  The line below that is a status line
where ChessEnv will display or ask you for any relevant information.
     
         ChessEnv Environment Shell for ChessEdt Users   (c) 1993, ICS
  Ŀ
   ChessEdt Default Folder                                                 
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
    <INS/DEL> Create/Delete Folder  <ENTER> - Call ChessEdt  <ESC> - Quit  
                                                                           
  
                                  
This screen shows the tree of folders which make up your database.  At
first there will only be the one "ChessEdt Default Folder" available.  There
are two keys which allow you to change this tree, the insert (INS) and
delete (DEL) key.  Pressing INS creates a child of the current folder.  When
you do this, ChessEnv will ask you for this name of the new folder, and
then the FULL PATH to the new folder.  Note that while the new folder is
displayed as a child of the previous current folder, the actual directory for
the new "child" folder has no relation whatsoever to the "parent" folder's
directory.  It could even be on a floppy, or RAM drive.  This allows for great
flexibility in the placement of game files, or logical grouping of physically
distant game databases.  A typical usable ChessEnv tree is shown in
Figure 2.  You may add up to 17 folders (one full screen) to the system in
any combination of parents and children.  Any of these folders may
represent directories which contain games, or possibly logical placeholders,
which must represent actual physical subdirectories (just in case you decide
to call ChessEdt for those folders), but probably contain no actual games. 
Parent directories are typically these "placeholder" directories (The "In
Progress" folder in Figure 2 is this type of placeholder, as will most
"ChessEdt Default Folder"s).
     
         ChessEnv Environment Shell for ChessEdt Users   (c) 1993, ICS
  Ŀ
   ChessEdt Default Folder                                                 
       In Progress                                                       
           Casual Games                                                 
           Electronic Knights                                           
           Tournament Games                                             
           USCF Rated Games                                             
       Completed                                                         
           Casual Games                                                 
           Electronic Knights                                           
           Tournament Games                                             
           EC Games                                                     
           USCF Rated Games                                             
       OTB Games                                                         
       Classics                                                          
                                                                           
                                                                           
                                                                           
    <INS/DEL> Create/Delete Folder  <ENTER> - Call ChessEdt  <ESC> - Quit  
                                                                           
  
     
This example actually reflects the following directory structure:
     
Folder Name                        Actual Directory
ChessEdt Default Folder       g:\chess\chessedt
     In Progress              g:\chess\inprgrss
          Electronic Knights  g:\chess\inprgrss\ek
          Tournament Games    g:\chess\inprgrss\tourny
          USCF Rated Games    g:\chess\inprgrss\uscf
     Completed                g:\chess\complete
          Electronic Knights  g:\chess\complete\ek
          Tournament Games    g:\chess\complete\tourny
          EC Games            g:\chess\ecenter
          USCF Rated Games    g:\chess\complete\uscf
     OTB Games                g:\chess\otb
     Classics                 g:\classics
     
Notice that while the folder structure generally follows the directory
structure, it doesn't have to.  The folder for EC Games is a child of the
logical folder Completed , but its directory is NOT a child of Completed's
directory.  Also, the Classics subdirectory is not a child of any other folder's
directory, and none of the games folders directories are subdirectories of
the Default ChessEdt Folder's directory.  This example is intended to show
that you can create a disk structure which matches the folder structure, or
you can leave your existing games where they are, if you prefer, and let
ChessEnv group them logically.  ChessEnv will conform to your preference!

To actually call ChessEdt for a particular folder, use the Up and Down
Arrow Keys to reach the desired folder, and then press ENTER.  ChessEdt
will automatically be called with the proper directory.  All games in this
directory will be immediately available through ChessEdt's F-ile O-pen
command.  Q-uitting ChessEdt places you back in the ChessEnv Shell, with
the same screen.

The Escape (ESC) key exits ChessEnv.  When you are done, press ESC
and ChessEnv will automatically call ReplyEdt, and tell it which directories
you have been working in.  ReplyEdt uses this information to generate your
response messages.

4.0  Using ReplyEdt

If you were to use ReplyEdt from the command line, you would simply type:
     ReplyEdt <dirList>
where <dirList> is a list of directories which you would like ReplyEdt to
search for *.PRT files to translate into messages.  As an example:
     ReplyEdt C:\INPRGRSS\CASUAL C:\INPRGRSS\EK
would have ReplyEdt search those two directories for PRT files.

The more frequent use of ReplyEdt will be automatically, through
ChessEnv, so the proper heading for this section should be "Using
ChessEdt Properly For ReplyEdt Input", although this is misleading,
because you cannot use ChessEdt improperly.  ReplyEdt can handle just
about any conceivable ChessEdt output (we're looking forward to hearing
about some "inconceivable" output situations...).  There are some things
you should know, however, so you can take advantage of
ChessEnv/ReplyEdt's extreme flexibility.

4.1  Generating ChessEdt Print Files for ReplyEdt

In order to generate an output *.PRT file (PRT file) in ChessEdt, you must
select P-rint, D-evice, hit the space bar twice to select file output, and then
type the output file name you'd like for each file to create (usually one file
per opponent).  For ReplyEdt, you have to select file output as above, but
you don't have to type a file name, you can just select the default name
ChessEdt generates, and print all the games in that folder to the same PRT
file (You can still generate separate files.  ReplyEdt will sort them out.  This
is just easier for you).  In ChessEdt you can either print C-aptured Pieces,
P-ostal Updates, a B-oard Position, a F-orm Feed, H-eader information, or
G-ame reports.  You can mix these types of output freely in any PRT file. 
The intent is so that all you will have to do is import the file into your
communications program, and add comments if you choose to.  No other
editing should be required.

When ReplyEdt sees these types of output in PRT files, it takes the
following actions.

Form Feed      These are stripped out of PRT files and do not appear
               in the *.TXT files generated by ReplyEdt.
Postal Updates ReplyEdt looks for your opponent, opens the proper
               output file and prints your opening if the file is not
               already open, then strips out the graphics characters
               and formats the output of this game to the output file. 
               If the file is already open, the stripped and formatted
               output is appended to the information already placed
               there.
Game Reports   ReplyEdt sends all game reports to the file "report.txt"
               in your destination directory.  It compresses the header
               generated to the tournament on the first line, and the
               players (without ratings) on the second line.  It
               replaces the standard ChessEdt game terminators
               Resign, Time, Forfeit, and Draw with the appropriate 1-
               0, 0-1, or 1/2 (If these are the terminators in the game,
               they are kept).  If the move marker terminator is ')', it
               is changed to '.'  Also, if the terminator is where a
               White move would normally be (i.e. 42. Draw), the
               move marker is removed.  If there is no game
               terminator, a message to that effect is displayed.
               This is the format required by the CompuServe Chess
               Forum database manager for automatic importing into
               that database.  Requests for other output formats are
               welcomed.
Header Information  As above, ReplyEdt opens and initializes the output file
                    for your opponent as required.  It then formats and
                    places the header information in the proper output file.
Captured Pieces     This output contains no player information, so it is
                    appended to the last defined opponent's data file.  If it
                    is the first thing seen, or if only Game Reports have
                    been seen, there is no way to determine where to send
                    the output, so it is discarded and an error message is
                    generated.  If ReplyEdt sees a postal update, then a
                    game report, the captured piece data will be sent to
                    the PLAYER FROM THE POSTAL UPDATE, not the
                    game report file!!  Note that there is no way to
                    determine the order that ReplyEdt will search
                    directories, so this type of output should immediately
                    follow a game output for the intended opponent in the
                    same PRT file to ensure that it gets in the right TXT
                    file!!  This will not usually be a problem, because you
                    will generally print the game score, and then a
                    captured pieces list, so the opponent will be clear. 
                    Processing of the PRT file continues after the Captured
                    Pieces data.
Board Position As with Captured Pieces, this output contains no player
               information, so it is formatted and sent to the last
               defined player output.  Graphics characters are
               replaced with similar text characters, as in the Postal
               Update.

If ReplyEdt cannot find your opponent in its database (guaranteed the first
time you run it), it will ask you if you want to add this player.  If you say
Yes, it will ask you to provide some opening text (which can spread over
several lines), you can terminate the opening text by typing "XXX" and then
an ENTER.  The last line (with the XXX) is not included in the text.  You are
then prompted for closing text, which is entered in the same manner.  You
must then provide a filename for the output for this player.  If you enter
"fred", the output file will be "fred.txt".  The last information required is the
extension for USCF "clock block" files.  This is a file which is included for
opponents playing USCF rated games which contains time and other
information required by USCF.  More information is provided below and in
Section 6.0 Using SetupREd.  If you enter "abc", the clock block file would
be "uscfblk.abc".  If this opponent is not a USCF opponent just enter any
characters.  If you make any mistakes in entering data for an opponent, you
can't change it from within ReplyEdt, but you can from within SetupREd
(see Section 6.0 Using SetupREd).

When ReplyEdt is done with all the directories it is given to search, it closes
each opponent's TXT file in turn.  If any of the games in a file are USCF
rated (designated by USCF in the tournament header), it adds the text file
"uscfblk.xxx" where xxx is the USCF extension you defined for that
opponent.  This contains "clock" information which is required for USCF
game messages.  After this, ReplyEdt adds your closing and actually closes
the file.  After all opponent files are closed, the "report.txt" file is also
closed, ReplyEdt deletes the PRT files it has processed, so they're not
cluttering up the drive, and ReplyEdt is done!

Some quick notes about USCF files.  The "report.txt" file never contains
"clock blocks."  If you edit the uscfblk.xxx file so that it has the correct
dates/times before ReplyEdt puts it in the file, you won't have to edit the
output file.  If not, you probably will have to edit the output file to be sure
its information is accurate.  ReplyEdt does a straight copy of whatever's in
the uscfblk.xxx file to the output file, so theoretically it could contain ANY
kind of data.  The provided uscfblk.xxx (its actual name) is intended as a
sample of a clock block format that has worked well in the past.  You do not
need to define uscfblk files for opponents which do not require them. 
Unless USCF is in the tournament name for a game, ReplyEdt will never
even check if the file exists.  If, however, it expects to find a uscfblk file that
doesn't exist, it will continue processing but display a message that it
couldn't find the file.

4.2  Sending Common Messages to All Opponents

ReplyEdt also allows you to send a common message to all opponents it
sends messages to.  If ReplyEdt finds the file "MsgToAll.TXT" in its default
directory, the contents of that file are copied to each message file just after
the opening greeting is printed.  This file will not, however, be copied to any
report file created.  This file is not automatically erased or deleted by
ReplyEdt, so you should delete it when you are through with a message. 
It's OK if the file "MsgToAll.TXT" doesn't exist, ReplyEdt will continue
     normally without it when you don't have a message for everyone.
5.0  Using SetupREd

SetupREd (Setup ReplyEdt utility) allows you to change your name, the
output directory, or opponent information.  Running this utility first reads an
existing ReplyEDt.DAT file for current information, then verifies this
information with you.  For all prompts, pressing 'Y' accepts the existing
information.  The information consists of:

Your Name      This must appear exactly as it does in your ChessEdt
                    games for ReplyEdt to work properly.
Output Directory    This is where the text output files generated by
                         ReplyEdt is placed.
Opponents      The information for each opponent is displayed in turn. 
                    You can accept the information as shown, delete this
                    opponent, or edit the information.  After editing the
                    information, you are given the same choice until you
                    either accept the (now edited) information, or delete
                    the opponent.

Since ReplyEdt is intended to discover new opponents automatically, no
facility for adding opponents directly is provided.  This actually requires less
work on your part, since you never have to worry about whether ReplyEdt
"knows" about that new opponent you just started a match with.  The
normal use for SetupREd will be to delete opponents after you've completed
games with them (not completely necessary), to change the output directory
as your communications software changes, or to change openings or
closings for opponents periodically.  The current system has a limit of 50
opponents at one time, which should be plenty.  If not, give us a call...
6.0  Help!

This is a first release of this package, and we've tried to make this
document as helpful as possible, hence the relative scarcity of information
in this section.  Of course, the first thing that happens with a software
release is that people use it (or try to) in creative ways, which may not be
handled so elegantly by the system (i.e. crashes or garbage data).  ICS'
main business is industrial controls software, and it stands behind every line
of code it writes (even its shareware).  If there's anything you need help
with, or if you'd like to see something added to the system, drop us a line
at the following addresses:

     Intelligent Control Solutions
     523 N 32nd Street
     Milwaukee, WI 53208

or on CompuServe:

     John DeMastri - (ICS)
     71172,660

CompuServe and normal (snail) mail responses for registered users will be
answered in, at most, 48 hours, but usually the same day.  Unregistered
users will be responded to as time permits.  Phone support is also available
for registered users (see 7.0 Registration).
     
7.0  Registration

If you find this software useful, PLEASE REGISTER IT!   (If you don't, drop
us a note and tell us why!!)  Registration provides a printed documentation
set, a backup disk of the system,  a serial number for support and updates,
a phone number for free unlimited phone support, a free copy of the next
upgrade of this system, and information on other ICS upgrades, products,
and services.

To register this package, send $20 US to (checks payable to Intelligent
Control Solutions):

     Intelligent Control Solutions
     523 N 32nd Street
     Milwaukee, WI 53208


Thanks for your support and HAVE FUN!
     