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 ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ Create/Delete Folder - Call ChessEdt - 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 ³ ³ ³ ³ ³ ³ ³ ³ Create/Delete Folder - Call ChessEdt - 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 where 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!