DBS Chess - A Chess Recorder program. Written by David B Sugden Version 1.7a, December, 1996 Section Page Section Page 1. Introduction 1 1.1 Abstract. 1 1.2 Environment. 1 1.3 Conventions in this manual. 1 1.4 Installation. 2 1.5 Shareware. 3 1.6 Help. 3 1.7 Disclaimer. 3 2. Holding Games. 4 2.1 Directory Structure. 4 2.2 Saving Games. 4 3. What you see. 5 3.1 Viewpoint. 5 3.2 Language. 5 3.3 Short Algebraic. 5 3.4 * & ? Moves Only. 5 3.5 International (as well). 5 3.6 Last Few Moves. 5 3.7 Board. 6 4. Starting Games. 7 4.1 New game. 7 4.2 Open Game. 7 4.3 Create Game. 7 4.4 Import from Clipboard. 8 4.5 Import from PGN file. 8 4.6 Search 8 4.7 Merging Games. 8 5. Moves & Analysis. 9 5.1 Forced End. 9 5.2 Moving using the Board Display. 9 5.3 Moving using the Valid Moves list. 9 5.4 Game and Variation moves. 10 5.5 Autoplay. 10 6. Navigating within the program. 11 6.1 Single Move Back. 11 6.2 Removal of Move(s). 11 6.3 Change Variation to Game Status. 11 6.4 Jump to an Earlier Move. 11 6.5 Jump to End of Game. 12 6.6 Jump to Start of Game. 12 6.7 Jump to Start of Variation. 12 7. Comments. 13 7.1 Game Comments. 13 7.2 Move Comments. 13 7.3 Dates. 13 8. Clipboard. 14 8.1 Printing. 15 8.2 Saving to a File. 15 8.3 Chess.DOT Template. 15 8.4 Signature file - F8. 15 9. Information. 16 9.1 Ages. 16 9.2 Result Analysis. 16 9.3 Games Summary. 16 9.4 Move Statistics. 16 9.5 Calendar. 16 9.6 Free memory. 16 9.7 Other Tasks. 16 9.8 About. 16 9.9 Material Balance. 17 10. Variation display. 18 11. Library. 19 Annex B. DBSCHESS.INI file. 20 Annex C. Library Files. 21 Annex D. Bitmap files. 21 Annex E. Restrictions & Limits. 21 Annex F. Errors 21 Annex G. Import Algorithm. 22 Annex H. PGN Clipboard Output. 23 Annex I. Function keys. 23 1. Introduction 1.1 Abstract. DBSCHESS is a program designed to record the moves and analysis XE "analysis " of a chess game. Typically it is used to analyse and record correspondence XE "correspondence " games, and to play through published games. It specifically does not suggest the "best" move in a position, although it has sufficient chess knowledge to allow only legal moves XE "valid move" to be examined and played. DBSCHESS can display moves in either long XE "long algebraic" or short algebraic XE "short algebraic" notation, optionally showing the 4 digit international XE "international " notation as well. The piece symbols can be shown in English, French, German or Spanish abbreviations. This manual was last updated on 3 December, 1996. The program was written by David B Sugden, using Borland Delphi*. David B Sugden has sole copyright to the DBSCHESS program and associated items - with the exception of the translation of the Help system into German (for which he is indebted to Martin Hamacher) and additional bitmaps (such as the "Old German" set provided by Alan Cowderoy). 1.2 Environment. DBSCHESS runs under the Windows XE "Windows " environment, either Windows 3.1* or Windows 95*. A 386 or better processor is required, a co-processor is not. There are no special memory requirements. A minimum VGA 640*480 display should suffice, SVGA is recommended. The program uses a mouse, only the left hand button is required. 1.3 Conventions in this manual. References to special key XE "key" s, e.g. Enter and Alt are given in italics. Items that you should type during installation are given in bold characters, anything enclosed in { } on the same line is just an explanation - not to be typed. Under Windows XE "Windows" , you often choose a program function from a menu. The notation File | New is used to mean click on the New entry within the File menu. If you prefer to use key XE "key" presses then having the Alt key held down whilst you press the underlined letter has the same effect, e.g. Alt/F followed by Alt/N in the current example. However, I will omit the underlining in the manual from now on, it is in the program (and may not appear in non-Word* version of this documentation). When a Button on the Toolbar XE "toolbar " is referred to, this means one of the 10 items on the line below the menu line having a red symbol on it. To "press" a button on the screen, use the mouse to click on it. 1.4 Installation. DBSCHESS is issued as a PKZIP* file named DBSZIP.EXE which is a "self expanding" executable program. You will have obtained it either on a floppy disc or via the Internet. Please for my peace of mind as well as yours, do virus check the software before use. a) Floppy disc (only). As well as DBSZIP.EXE, the disc contains the minimum documentation files (just in case you want to read them before proceeding!) and a "cheap and cheerful" installation batch file to run under DOS*. You need to decide where to keep DBSCHESS, in the following example I am using the disc C: and the directory XE "directory" DBSCHESS (which will be created). Type ... A:INSTALL C: DBSCHESS { note the spaces } and then proceed to step (c). b) Internet (only). In this case you will only have downloaded the DBSZIP.EXE file. Under DOS, you must create a new directory XE "directory" to hold DBSCHESS and then expand the contents of DBSZIP.EXE therein. Amend C: and/or DBSCHESS if you wish to use somewhere else, but typically type ... C: { default disc } MD DBSCHESS { make a new directory on C: } CD DBSCHESS { position therein } C:\CSERVE\DOWNLOAD\DBSZIP -D -N { run with parameters, NB spaces } If, instead of the self expanding EXE, you have downloaded a ZIP file (e.g. DBS17.ZIP), replace the last line above with PKUNZIP C:\CSERVE\DOWNLOAD\DBS17 -D -N I have assumed that the file was downloaded to C:\CSERVE\DOWNLOAD. This procedure is also used to update DBSCHESS to a new version. Note that the "-D -N" parameters are needed to preserve the directory XE "directory" structure and overwrite old files. c) Running under Windows XE "Windows " 3.1. You should highlight the required program group (or create a new one) that is to hold the DBSCHESS icon. Then use the File | New item of the Program Manager and select the new program item option. Give the Description as DBSCHESS. Give the Command Line as C:\DBSCHESS\DBSCHESS.EXE {or wherever the program lives} Give the Working Directory as C:\DBSCHESS {or wherever} This should give you an icon that you can double-click to run the program. If you add a full filename as a parameter to the Command Line, this file is loaded at startup as if File | Open XE "open" had been used. Please consult your manual for the corresponding process under Windows XE "Windows " 95. Note that except for section (c) above, no changes are made to your system outside the DBSCHESS directory XE "directory" . 1.5 Shareware. DBSCHESS is a Shareware program. It is made available for you to try out for 30 days without charge or obligation. At the end of that period you should either register the program or discontinue using it. If the program is registered, you receive the following benefits :- * The reminder screens are removed. * Certain limits on the program are removed. * This manual is made available in Word* 2.0 format. Word can also export the manual in other formats, although some features may be lost. Please consult DBS. * You can suggest future additions to the program's functions. * Future versions of the program are automatically available in registered mode at no additional cost. Shareware authors rely on the integrity of the users of a program to reward their efforts. Details of how to register are given in the README.TXT file that accompanies the program. 1.6 Help. Delphi also allows me to provide hints XE "help" in most places. If you position the cursor in a given screen area, e.g. a toolbar XE "toolbar " button, a brief description will appear after a second if you keep the cursor stationary. I am told that the novelty of this feature wears off quickly in the case of the chessboard image and valid move list - press the F9 key to remove these. A standard Windows XE "Windows " help XE "help" file is included with the program. If you press the F1 key XE "key" at any time, the appropriate area of help appears. Within the help environment you can follow links to related topics or search via keywords as usual. Some of this manual contains material duplicated in the help system, but I've attempted to present it differently wherever possible. The help system has been translated into German by M Hamacher, to whom I express grateful thanks. To change to the translated version, use the DOS commands :- REN DBSCHESS.HLP ENGLISH.HLP { rename existing help file } REN DEUTSCH.HLP DBSCHESS.HLP { convert it to the one DBSCHESS uses } 1.7 Disclaimer. I have made every effort to make the program work as described and will endeavour to cure any problems that arise. However, I cannot accept responsibility for any consequential damage caused in using this program. The formal disclaimer statement is given in the README.TXT file. As with any other software you install on your machine, you should virus check it before use. 2. Holding Games. 2.1 Directory Structure. Although you can store games anywhere, I suggest that they are stored beneath the C:\DBSCHESS directory XE "directory" . (From now on I will assume you have chosen this name, please substitute your choice as appropriate). In particular only games stored in this way are included in the Library XE "library " and Results XE "result" evaluation - it starts from the directory holding DBSCHESS.EXE and then examines any subdirectories below that. After installing DBSCHESS for the first time you will find that \DBSCHESS contains various subdirectories. All the ones having a name of the form xxxx.BMP hold bitmaps for alternative colours for the chess board XE "board " and pieces. There is also a subdirectory XE "directory" called EXAMPLES, holding 3 games and a second level subdirectory BCCA128 which holds further examples from issue 128 of the British Correspondence Chess Association magazine. I would suggest that you create a subdirectory XE "directory" GAMES at the level below DBSCHESS to hold your current games and archive subdirectories below that for completed games. My set- up is of the form ... DBSCHESS | | EXAMPLES GAMES | | | | BCCA128 DEEPBLUE 95 96 where \DBSCHESS\GAMES\95 holds my many losses, some draws and the occasional win from 1995! All DBSCHESS games are stored in files having a file extension XE "file type " DBS (Annex A gives further details). Personally, I number my games so my filenames are of the form nnnxxxxx.DBS where nnn is a serial number and xxxxx an abbreviated form of the opponent's name. 2.2 Saving Games. A game may be save XE "save" d at any time by using either the File | Save or File | Save As menu items. A game consists of all the moves, analysis XE "analysis " and comment XE "comment" s, together with the notation and viewpoint XE "viewpoint" currently in use. The exception is the choice of long XE "long algebraic" or short notation XE "short algebraic" , this is held as a characteristic of yourself and is save XE "save" d in the DBSCHESS.INI XE "file type" file so that it can be restored for the next DBSCHESS session. If you forget to save XE "save" a game, either when you open XE "open" or create a new one, or when you exit the program, you are asked if you wish to save the game before losing any alterations you have made. If no alterations have been made, this is unnecessary - in which case there is no prompt. If the File | BAK Backup files option is checked, the old version of the DBS file is retained with a BAK file extension. F3 may be used as a shortcut to File | Save. 3. What you see. The View menu gives you several choices for the manner of presenting the moves, both on the screen and in clipboard XE "clipboard " output. 3.1 Viewpoint XE "viewpoint" . You can orient the board XE "board " by * View | White * View | Black * View | Side to Move * View | Side Not to Move. Note that the last setting is preserved for the next time you look at that game. The selected item is "checked" ( a * mark). The toolbar XE "toolbar " "rotating arrows" button exchanges a pair of the above options. 3.2 Language. View | Language XE "language" takes you to a screen giving you a choice of English, French, German or Spanish abbreviations for the piece notation of each move. Note that this setting also controls Clipboard XE "clipboard " output and import. 3.3 Short Algebraic. If View | Short Algebraic XE "short algebraic" is checked, short notation is used. This counts as a "user" characteristic, not just for the individual game; the program starts up in the same mode next time. To avoid ambiguity it is sometimes necessary to use moves such as Nfxd4 or R1a6. The setting is preserved for the next run of the program. 3.4 * & ? Moves Only. If View | * & ? Moves Only is checked, the list of all valid moves is truncated to show only any game and variation moves that have been already examined. The setting is preserved for the next run of the program. 3.5 International (as well). View | International (as well). Subconsciously this was probably the reason for writing DBSCHESS! The author is so capable of making mistakes, especially when playing black in this notation, that he finds it a very useful feature. In the international XE "international " notation a move is given as a 4 digit value, the first 2 being the starting square, the last 2 the destination for a move. Squares are numbered as 11=a1, 81=h1, 38=c8, 66=f6, etc. If this option is checked, then this value is given in brackets after the usual notation. 3.6 Last Few Moves. View | Last Few XE "last few" Moves produces a small display giving recent moves. The display remains until you click the Cancel button within the panel. This characteristic is save XE "save" d as a user preference. 3.7 Board. The board XE "board " display is generated from a collection of small bitmap XE "bitmap" s. Apart from the default XE "default " display (as per OLIV.BMP), there are a family of alternatives in the various subdirectories having names of the form xxxx.BMP. If you wish to have a different coloured board XE "board " then use Edit | Load XE "load" bitmaps to select an alternative. Depending on your graphics display some may be more suitable than others. To make the choice permanent, choose the "yes" option when you are asked if you want this to become the default collection. This simply overwrites the collection of *.BMP files in the DBSCHESS directory with the preferred set. At present the piece representation is the same in all of them (except for the experimental 3D effort). Some alternative sets (courtesy of A Cowderoy) are available in Compuserve "The Chess" library #5. The program will load a new bitmap set only if it is held in a subdirectory having a name of the correct form, immediately below the \DBSCHESS directory. If you find the yellow hint associated with the board annoying, then press F9. This preference is recorded for next time. Edit | Reversed Knights makes the knights on the left-hand side of the board face inwards, another recorded preference. Note that if you design your own bitmaps, then make the knights face left. See Annex D for further details. 4. Starting Games. A game may be ... * A new game from the normal starting position. * An existing game held in a disc file. * A new game from an arbitrary position. * Imported via the contents of the clipboard or PGN file. * Constructed by merging existing games. 4.1 New game. File | New gives you a completely new game from the normal starting position. You are given a screen to fill in with the details for this game - they can be edited later if required. The viewpoint XE "viewpoint" defaults to White and English notation. The usual practice for correspondence XE "correspondence " is to play a pair of games; when you are setting up the second game you are given an option to retain the previous players' names, reversing their colours. 4.2 Open Game. File | Open XE "open" selects an existing disc file with a .DBS extension XE "file type " and loads its contents. The default XE "default " directory XE "directory" is the DBSCHESS one, or the previous directory used by the program. You double click through the directory structure in the normal way and then select the file. Alternatively a recently saved game can just be chosen from the list at the bottom of the File menu or the full filename can be given as a parameter when running the program. The game is positioned at the last "game" move recorded. If the position is checkmate or stalemate, you will have to clear the notification display. F2 is a shortcut to File | Open. 4.3 Create Game. The File | Create gives you a bare board XE "board " on which to place pieces, e.g. for an end-game tournament. When you click on an empty square of the board XE "board " a copy of the selected item appears - the currently selected item is shown on the right hand side of the display. The currently selected item changes if 1) You click on the available choice from the selection panel, or 2) You click on an occupied square of the playing board. In that case the board XE "board " square becomes empty and the removed item becomes current. You may not place a pawn on the first or last rows. You must finally have one King of each colour before the OK to use the set-up position. The side whose turn it is to play must not be able to capture the opponent's King! The player to move is adjusted by clicking on the "White to Move" control. It is assumed that en passant is not possible on the first move, otherwise you can adjust what is available concerning castling by clicking on the other options. Any obvious mistakes are corrected, but note that if a King and Rook are on their original squares and you tell me that it is not possible to castle, then I believe you. In this type of game, if Black has the first move it is numbered as 1, the white reply being a move 2. The process then continues as for a normal New game. If you are playing a pair of games from each side of a position, then File | Create, File | Save, Edit | Comments | Game and File | Save As. 4.4 Import from Clipboard. If the clipboard XE "clipboard " holds a game in any reasonable notation including PGN, DBSCHESS will attempt to read it and create a collection of moves as a result of using File | Import. The complete method (as it stands in version 1.5) is given in Annex G. If the process fails, I give you some indication of where I had got to in the contents of the clipboard. 4.5 Import from PGN file. A disc file frequently contains a collection of games in PGN format. File | Import from PGN file reads the entire file and produces a list of the separate games - click on the required entry to import that game. The text of that game is left in the clipboard. 4.6 Search You can find a game if you know some of the text that occurs in it. This text could be part of the comment XE "comment" s for the game itself, or given against one of the moves (as a date XE "dates" or comment). The menu File | Text Search XE "search" gives you a screen in which you place the text string to search for. The search results in a list of games containing at least one instance of the text. The search is carried out over all games held in the DBSCHESS directory XE "directory" and subdirectories thereof. If you click on one of the games found, this game is open XE "open" ed. If the text was found as a game comment XE "comment" , the game details screen is opened, otherwise the move of the game in which in the text was found. If the text occurs in several places in one game, a game comment will be found first, otherwise it simply depends on where it was found in the physical order of the save XE "save" d file. You can choose to note or ignore the difference between upper and lower case in the search by setting or clearing the "Match Case" box. The "Text of Move as well?" box determines whether the search is to include the text of the move. It is a little quicker to include the text of the move, but if you do so then a search for e4 is liable to find rather of lot of successes! 4.7 Merging Games. You can merge several games together, e.g. if you are playing in a thematic tournament and wish to have a summary of all the lines considered. The first game opened is the only one which retains some of its moves as being of "game" status. From a given game, if you then use File | Merge to specify another game, all moves from the latter that do not already occur in the existing game appear as variations. Comments from the new game are only preserved if they concern the "additional" moves. Repeated use of File | Merge allows many games to be combined. A composite game is given the title MERGED.DBS, you will probably wish to use File | Save As to write it to disc under another name. Note that if you merge games with little in common, you will end up with some very long "variations". 5. Moves & Analysis. Only legal chess moves may be made. After a move is made, the new position and list of valid move XE "valid move" s are displayed. If a Library XE "library " has either been Created or Loaded the new position is matched against other known positions and the number of "hits XE "hits" " displayed. 5.1 Forced End. The help XE "help" file contains definitions of checkmate and stalemate - if such as position arises as a consequence of making a move a message is generated. Note that this possibility is not pointed out until the move is made, this is in keeping with the philosophy of DBSCHESS being a chess recorder and not an advice giver. A game is drawn if 50 moves have occurred with neither a pawn move nor a piece capture. This is simple reported when it occurs. However the program does not detect the draw when the same position has occurred 3 times. This is an option for which the player has to claim. It was felt that the overheads necessary to make this check did not justify the infrequency with which these situations arise in correspondence XE "correspondence " games. 5.2 Moving using the Board XE "board " Display. The mouse can move pieces. Position the cursor on the piece to move, hold the left-hand button down and drag the cursor to the required destination. To castle, move the king to its new position. For en-passant, move the pawn to its destination square. If you promote a pawn, you are asked to specify the piece it turns into. 5.3 Moving using the Valid Moves list. To the right of the board is a large box holding a list of the valid move XE "valid move" s from the current position. If there are many possibilities, you may have to scroll through the box to find the one you require. The moves are simply sorted into alphabetic order - except that if there is a "game" move it comes first, followed by any known "variation XE "variation" " moves as defined below. To make one of these moves click on it using the mouse, or use the arrow keys to position and then Return. If you click on a piece on the board, the list shows only the moves available to that piece. Click off the board to return to the complete list. The Page Down key will make the game move if one exists (unless editing). Note that the moves not previously analysed can be suppressed by use of View | * & ? Moves Only. 5.4 Game and Variation moves. By default, the first move you make from a given position is given the status of being the "game" move, i.e. the one actually played in the real game. Its status is shown by an asterisk when it appears in the list of valid move XE "valid move" s. If you wish the first move from a position to be a variation (as opposed to having the default "game" status) then keep the Ctrl key down while it is being made. This applies both to a move made directly with the mouse and by a selection from the list of valid moves. If either a game or variation XE "variation" move already exists from the current position, the new move has variation status. A variation move is shown by a question mark in the valid move XE "valid move" list. You may set up any number of variation moves from any position. 5.5 Autoplay. Move | Autoplay lets you sit back and watch the game being played. You may need to drag the control display to a more convenient position. This display lets you alter the speed or freeze the play. 6. Navigating within the program. Some of these operations can be done in several ways, depending on your preferences. N.B. If the cursor is positioned in the box that edits comments (as is the case after a move has been made), the movements keys XE "key" Home and End perform edit functions. You can move out of the editing box using Esc, Tab or the mouse. 6.1 Single Move Back. * Use the mouse cursor to press the toolbar button on the XE "toolbar " with a back arrow (* ). * Use the Move | Back 1 Move item. * Use the Page Up key. 6.2 Removal of Move(s). Stepping back does not remove the existence of the move, you will see it as one of the game or variation XE "variation" moves in the new valid list of moves. If you wish to remove it from the recorded moves ... a) Convert its status into a variation move if it is a game move. Do this by either by ... * Press the *? button on the toolbar. * Use Edit | Game to Variation. b) Remove it - and all its subvariations by either by ... * Press the toolbar XE "toolbar " button that has a crossed out question mark. * Use Edit | Kill Variation. Choose the offending move from the list of variations that you are presented with. I naturally have to remove all the later ones in subvariations as well, as they would otherwise not be connected to the game. 6.3 Change Variation XE "variation" to Game Status. If you decide that the move which resulted in the current position should be revised to being a game status move either ... * Press the * button on the toolbar. * Use Edit | Game to variation. The position currently displayed is now after the last game move. 6.4 Jump to an Earlier Move. A display for Backtracking is obtained either by ... * Press the << button on the toolbar. * Use Move | Backtrack. This display gives the moves from the start of the game to get to the current position. The first variation move is highlighted. Click on one of the moves shown to get to the position where it is one of the options. Thus if you click on the highlighted move, you get to the position where the variation you are investigating diverged from the game. Nothing is highlighted if all are game moves XE "game moves" . 6.5 Jump to End of Game. You can get to the position after the last known game move either by ... * Press the >> toolbar XE "toolbar " button. * Use Move | End of game. * Use the End key (unless editing) XE "key" . Normally Esc End is needed. 6.6 Jump to Start of Game. Either ... * Use the normal backtrack method (see section 6.4). * Move | Start of game. * Use the Home key (unless editing) XE "key" . Normally Esc Home is needed. 6.7 Jump to Start of Variation. Either ... * Move | Start of variation * Use the button with the thin double back arrow. This backtracks through the game until a position is reached that has more than one game/variations stored. The one from which you have come is highlighted. If there is no suitable earlier position, you just get the error bleep. 7. Comment XE "comment" s. Comments are free text that can be amended using standard conventions. Use the mouse to position the cursor at the appropriate place to insert or delete characters (use normal key XE "key" s for the former, Del for the latter). If you drag the cursor across an area of text it is highlighted. A highlighted area is copied to the clipboard XE "clipboard " by Ctrl/c and cut by Ctrl/x. Ctrl/v pastes the contents of the clipboard. Ctrl/z undoes the last edit. Return (Enter) characters cannot be inserted as part of a comment. The Home and End keys only work as editing keys if the comment box is the active area, i.e. the cursor is there. 7.1 Game Comment XE "comment" s. There is a free text area (maximum 255 characters) as the final item of the screen giving details for a new game. This screen can be recalled for later amendment by use of Edit | Comments | Game Details. The F11 key is a shortcut to this screen. 7.2 Move Comments. Each move has an area of maximum size 128 characters for your comment XE "comment" s. It can be edited in 2 ways ... * Working on the box below the box holding the list of valid move XE "valid move" s * Use the Edit | Comments |Move Details. The F12 key is a shortcut to this screen. 7.3 Dates XE "dates" . Originally I had intended to calculate the total time elapsed for the Game moves XE "game moves" . However, the rules concerning Sundays, Holidays and agreed Cessations make this far too complicated and variable. I've just left the Move (Received and Sent) and Game (Start and Adjudication) fields as simple text areas for your convenience to fill in using the notation of your choice. However, if it happens that you need today's date and either PGN or the day/month(year) format is acceptable, you can use one of the adjacent buttons. If you click on the "Today" it changes into "Yesterday" (and vice versa). Note that F12 is the quickest route to the date window and that F10 also sets the "Sent" date - see section 8. If you amend the date received/sent for the last game move, the clipboard contents are automatically set as per the Correspondence option in section 8. If you have ambitions to export the game in PGN XE "Portable Game Notation" , note the conventions as given in Annex H. The Edit screens have PGN buttons to generate today's date in PGN format. 8. Clipboard. Either the game moves XE "game moves" or the current board XE "board " may be copied to the clipboard XE "clipboard" , e.g. for use for insertion into a word processor document or an e-mail message. Choose an option from the window after the Edit | Copy to Clipboard menu. The current board XE "board " is copied as a bitmap XE "bitmap" or a crude text display that must be viewed in a fixed width font to make sense. Forsyth is a text representation of the position. The PGN XE "Portable Game Notation" output is described in Annex H. The game moves XE "game moves" are listed, without comments (unless you set the checkbox) or variations, in the following styles :- EITHER (Newlines) 1. e2-e4 Ng8-f6 2. e4-e5 Nf6-d5 etc. (where there are tab characters between the move number and the moves). OR (Semicolons) 1.e2-e4, Ng8-f6; 2. e4-e5, Nf6-d5; etc. OR (Correspondence) 23. d5-d6 c7xd6 24. Nf3-e5 Qd8-e8 25. Qd1-f3 Ra8-b8 depending on the option chosen after Edit | Copy to Clipboard. In the semicolons option, the output does not consist just of one enormous string, but is broken up every hundred characters or so into separate records. The moves are preceded by the game details - except in the correspondence option when only the players' names are given. The correspondence XE "correspondence" option just gives the latest 3 move pairs and is designed for composing the reply to your opponent - so you must be positioned at the last game move. I've done this deliberately to force myself to make sure that the game is in the correct state when I've decided on the move. F12 is a shortcut to the Edit | Move window that sets up the clipboard when you give a date. F10 is a simplified crude method of making the current position the "end of game", setting the "Sent" date to today and setting the clipboard for correspondence (there is no confirmation other than the OK beep). The number of move pairs is 3 by default on loading the program.. You may subsequently change this value using Edit | Set # Clipboard Moves to increase it, or to force it just to give the single last move. The increased value may be useful if you want to give a conditional continuation (a bit of editing to insert the "if" is necessary later), the solitary move may be all that is required if you are playing online. Analysis XE "analysis " from View | Analysis or toolbar XE "toolbar " button A (see section 10) is given with tab characters separating the columns. From this window you can either click the button to select everything or drag the mouse over the required area for a subset. Note that the language XE "language" notation used is that currently selected from the View | Languages menu. 8.1 Printing. As of version 1.6 you can choose between direct printing (use File | Print Game) or composing your own layout with the various clipboard XE "clipboard " outputs and a word processor. In version 1.7a the print routine was re-coded (the former method being retained temporarily as File | Print Game (old format) ). The new method also produces the board image as dispalyed on the screen at the time of printing. I suggest that if you run your word processor to prepare documents, run DBSCHESS and the WP at the same time and (within Windows XE "Windows " 3.1) use Alt/Tab to flip between the programs. If, like myself, you have only a black & white printer, then load XE "load" the BW.BMP bitmap XE "bitmap" s set to work in for the duration of the exercise. In Word, I find that the appearance of the board XE "board " image is greatly enhanced if you give it a thin/double line border. 8.2 Saving to a File. If the clipboard contains text, its contents can be saved to a disc file by File | Save Clipboard. The menu item is dimmed if the clipboard is not set or contains graphical information. Note that File | Import from PGN File leaves the selected game in the clipboard. 8.3 Chess.DOT Template. This is a Word template that I have found useful in producing the final hard copy of a game. I start by using Word to open a new document with this template, double-click on the nnn area and overwrite it with the 3 digit number that starts my DBS filename (see last paragraph of section 2.1). The 2 lines below the nnn have a wide left margin so that I can deposit the moves of the game therein and have plenty of room to punch holes for insertion of the page in a ring binder. Edit | Copy to Clipboard and the "Moves with Newlines" option sets the clipboard from DBSCHESS and a bit of Alt/Tab gets me back to Word so that I can paste the moves below the nnn. I then Alt/Tab back to DBSCHESS, load the BW.BMP bitmaps (as I only have a Black & White printer) and set the clipboard to hold the board image - usually at the final position. This can then be pasted into the frame area with a double line border. With Word in Page View, a bit of positioning may be necessary to make it look pretty, depending on the length of the game. The CHESS.DOT file should be placed in your \WINWORD directory. The alternative is to have a simple text printout produced by File | Print. 8.4 Signature file - F8. The F8 key copies the contents of a file SIG.TXT XE "signature" in the root directory (e.g. DBSCHESS) to the clipboard. This is intended for use as a signature to go at the end of an e-mail message. 9. Information. 9.1 Ages. Info | Ages allows you to find out when the files in a selected directory XE "directory" were last amended - the age in days allows you to spot those opponents who seem to have given up playing. 9.2 Result Analysis. Info | Results. This depends on your filling in the result XE "result" and your involvement in each game using the radio buttons that are on the display generated by File | New, File | Create or Edit | Comments | Game (F11). Starting from the DBSCHESS directory and performing the calculation on each subdirectory below it, the total success rate is analysed - together with the count of unfinished and "non-involvement" games. Personally, I find it annoying to go through all the games in a directory of "archived games" to find the one for which I have forgotten to edit in the result - hence the extra button to show/remove the list of all the ones defined as incomplete because the edit was omitted. 9.3 Games Summary. Info | Games Summary sets the clipboard XE "clipboard " with a summary of all the games in \DBSCHESS and its sub-directories. You may choose which of the fields are used. Depending on the amount of text, you will have to adjust the tab positions for this output when you paste it into a word processor document. 9.4 Move Statistics. Info | Move Statistics gives details about the moves in the current game and from the current position. 9.5 Calendar. Info | Calendar is a Delphi freebie that I thought might be useful to include. 9.6 Free memory. Info | Free memory is given in units of around 222 bytes, the amount I require to store a move. As it includes the swap file availability you should see a nice large number! It's smaller than it was in previous versions mainly due to the increased limit on the size of move comments. 9.7 Other Tasks. Info | Other Tasks lists the other programs that can be reached by use of Alt/Tab. 9.8 About. Help | About gives program details in the About box. The important item is the version number. This enables me to tell you "Oh, you haven't got the latest version where that old bug is cured"! 9.9 Material Balance. The matérial différence (pardon my French!) is displayed by the plus/minus ( ± ) toolbar XE "toolbar " button. This is useful both for people like me who are too lazy to count all those pawns or to check if you haven't been swindled out of a piece at the end of an exchange sequence. Cancel the display to return to normal. Note that it shows the positive advantage - not the pieces removed from the board! 10. Variation display. This is obtained by pressing the toolbar XE "toolbar " button marked with the letter A or by View | Analysis. The problem with showing an arbitrarily complicated branching of possible moves is the way to list them. My solution is first to sort the variation XE "variation" s so that the "heaviest" one comes last - in the style of "this move is the way forward, if there is a short digression let's get it out of the way first before continuing". From a given position the variation moves are called ?1, ?2, ?3, etc. (surprise!, but after 9 I go to ?a, ?b, etc. - you must be a real enthusiast to need these). The first subvariation of ?1 is ?11, the second subvariation is ?12. Thus ?3122 is the second subsubsubvariation of the second subsubvariation of the first subvariation of the third variation of the current position! Starting from a well known (i.e. initial) position, we could have :- ?1 e2-e4 ?11 e7-e5 ?12 c7-c5 ?2 d2-d4 ?21 Ng8-f6 ?211 c2-c4 ?22 d7-d5 ?221 c2-c4 ?2211 d5xc4 ?3 Ng1-f3 ?31 Ng8-f6 ?311 d2-d4 ?3111 g7 ?312 g3 ?3121 g7 ?3122 d5 ?31221 Bg2 The analysis XE "analysis " display uses indentations - until it gets too far to be readable. If you decide to add a lot of moves to one variation line, note that it gets re-sorted to appear last - hence the numbering of the line may change. To return from the analysis XE "analysis " page to the normal graphical display, double click anywhere in the row describing the required move. The default XE "default " options for the display give variations and comment XE "comment" s, and not dates nor international XE "international " notation. If you change these, it will also affect the output sent to the Clipboard. Variation XE "variation" moves are all numbered, being preceded by the letter "w" or "b" to show a white or black move. Game moves XE "game moves" are shown only with the number if a white move. Variations after the last game move are coloured red. This shows the transition between variations that were alternatives to the last game move and those that might follow it. 11. Library XE "library" . DBSCHESS has no ambitions to provide a large reference database of all chess openings. It does however have the ability to see if the current position has occurred in any of your other games (those stored in the DBSCHESS directory XE "directory " and any subdirectories of it). The test takes place continually after you have used either the Library | Create or Library | Load commands; it is turned off by Library | Ignore. The numbers of "hits" is displayed at the left hand end of the toolbar in a button. Library | Create is a fairly slow process, it involves looking at every position in the existing games and producing new versions of the library files (see Annex C). The much faster process is Library | Load which just reads back the contents of the library files. However, whenever you save a new version of a game, the data in the library files refers to the old version and cannot be used - hence on Library | Load you are given a list of games that are no longer included in the search for "hits XE "hits" ". Eventually you will have to do another Library | Create to refresh the library files. If you press the "hits" button a list of the other games appears which share the current position. If you click on an item in the list you open XE "open " the alternative game. Note that you probably won't be able to return to the original game using this method if the original game is one under development and therefore not in the library! (use the File | 1 filename entry). In theory it is possible that a "hit" may be a false positive. For efficiency of storage size and calculation speed, the entire position is not stored, only a compressed (hashed) value derived from it. Whilst two or more positions can generate the same value, the spurious ones are unlikely to be anything that occurred in a chess game. I see this facility as being useful in two ways :- a) When you have a flash of déja vu and don't want to make that horrible mistake on a second occasion. b) If you have a favourite opening, a dummy game with lots of variations could be constructed for reference. If you leave the Library | Load on Startup menu item checked, the library is automatically loaded on subsequent startups of the program. A given file can be marked so that it is not included in the library - use F11 or Edit | Comments | Game Details. A File | New game is so marked, on the assumption that as each time the next move is made and the game saved, its entry in the library would become obsolete. Conversely, as File | Imported games are complete, these are not excluded by default. Annex A. DBS XE "file type" files. Each game is stored in an individual file. I use only printable characters with the exception of the field separator (FS = ASCII 28) - this means that you can examine the files with a normal text editor and transmit them over the Internet as "Text" files. Although this is not an efficient way to store data, in practice the files are so small that little physical disc space is wasted (a single byte file could well be costing you 4K if your disc is organised that way). When you back up these files, they are easy meat for any compressing algorithm such as used by PKZIP* or Microsoft Backup* The format definition has been extended over various versions, but a later version of the program will always read older version formats (even if it has to convert it). You are NOT encouraged to edit these files, I take no responsibility for any crashes you generate! However, for interest only and in case any other program writers wish to import these files we have ... Record 1 : Game details separated by FS; white,black,tourney,start,adj,ref,comment, result/I_was Record 2 : Number of move nodes followed by parameter letters ... W,B,M or N define viewpoint XE "viewpoint" I if International XE "international " checked E,S,F or G define language XE "language" X if the file is to be excluded from the library. * if version 1.3 or later (short notation XE "short algebraic" value recorded as well) # if a Created user position. If record 2 contains # then there are 2 extra records ... Record 3 : 64 chars giving pieces on squares (easy to reverse engineer!) Record 4 : T=White move, F=Black, value to show castlings allowed. Then come records, one per move node, with fields ... ID,parent ID,child ID,sibling ID,game(T) or var(F),received,sent,comment,long,short Annex B. DBSCHESS.INI XE "file type" file. This file records settings to be used next time the program is run. I have NOT used your Windows XE "Windows " system files for this purpose. Again, you are not encouraged to edit this file, but ... Record 1 : S if short notation to be used (otherwise L), P if PGN clipboard output, * if only * & ? moves displayed, H if F9 toggled to suppress the hint on the board image. I if the File | Open has been used, in which case an extra record follows giving the directory to use as the default. R if the "reversed knights" is selected. B if creation of BAK backup files selected. F if the Last Few Moves is preferred. O to load the library on startup. Record 2 : Eight T or F characters to show recent file names in use or not. Record 3-10 : File names concerned. Annex C. Library XE "library " Files. There are two library XE "library " files in the DBSCHESS directory XE "directory" concerned with the calculation of "hits XE "hits" " of identical positions being the current position and other stored games. LIBFILE1.DAT XE "file type" is a binary file holding names and creation dates for all the relevant games when the Library | Create was last carried out. Do not edit this file. LIBFILE2.DAT is a binary file holding hashed values for all the relevant games when the Library | Create was last carried out. Do not edit this file. Annex D. Bitmap XE "bitmap" files. These are standard BMP XE "file type" files each holding a 48 * 48 pixel sized picture. You must create a family of 26 such files in a directory XE "directory" having a name of the form x.BMP to be suitable for DBSCHESS to use as an alternative representation for the board XE "board " image. The help XE "help" file gives more details. Annex E. Restrictions & Limits. A non-trivial Windows XE "Windows " swap file will give a total overkill for the storage requirements for moves and analysis XE "analysis " of a game (see Info | Free memory). There is no limit on the number of variation XE "variation" s that may be analysed from a given position, other than ... * The actual number of legal moves XE "valid move" from the position * The 35 limit for naming variation XE "variation" s (?1 .. ?9, ?a .. ?z) if you look at them using the Analysis XE "analysis " screen. Note that the above refers to number of branches at any point, not the total number of variations. Annex F. Errors The program has several places in which it can generate a DBSCHESS error XE "error " from an internal inconsistency (as opposed to the places where you are told off for doing something incorrect). You will never see any of these errors. If/when you do, then please report it to me as quickly as possible! The exact text of the error report and any clues as to what you were doing at the time would be greatly appreciated. Annex G. Import Algorithm. The aim is to be able to accept the contents of the clipboard if it contains any of * An output from the DBSCHESS program. * Any reasonable notation for the moves of a game. * PGN (Portable Game Notation) standard. In the first phase, a search is carried out for the string "1.", i.e. the characters before the first move (without the quotes). Up to this point everything is treated as comment except for PGN XE "Portable Game Notation" tags. The following tags (which include the STR (Seven Tag Roster)) are specially treated ;- Event, Site, Date, Round, White, Black, Result, TimeControl * Values in Event, Site & Round are combined to give a DBS Tourney. * Date & TimeControl become the Start Date and Adjudication Date. * White & Black are the same. * Result sets the radio box control for the Game Result. * Other tags become a Comment (in the form TagSymbol : Value, e.g. ECO : B12), assuming that the limit of 255 characters is not exceeded. The following rules are then applied to the moves of the game :- * White moves are preceded by the fullmove number and a period. * Black moves are optionally preceded by the fullmove number and more than one period. * Optional whitespace (space, tab, newline) characters are ignored. * The move in Short or Long Algebraic notation. * Optional + (for check), # (for checkmate), ep or e.p. (for en passant). * (Optional = followed by) The piece letter for pawn promotions. * Optional comma or semicolon. * PGN "NAG" values (a dollar sign followed by a number) are ignored. * Comments are read into the Comment field of a move (note the 64 character limit on length, truncation takes place for long comments). A comment is defined as a string enclosed by a pair of round, square or curly brackets. Comments may not be nested. Finally the result of the game may be given as 1-0, 0-1 or 1/2-1/2. If this is in contradiction with the PGN tag, a message is generated. From version 1.6 onwards, the period after a white move number may be omitted. This means that you have to be more careful in choosing the clipboard contents to correctly start with the first "1 ". Annex H. PGN Clipboard Output. One option of the Edit | Copy to Clipboard menu produces PGN format output, with the option to include comments (in curly brackets). This option will automatically switch you into Short Algebraic notation and English Language if necessary for the duration. The converse problems to those described in Annex G apply, so the Tourney value in DBS appears as the Event tag; the Site and Round tags are set to the undefined "?" value. If you use the Start Date and Adjudication Date values, it is your responsibility to use the "yyyy.mm.dd" format for PGN XE "Portable Game Notation" . Similarly, White & Black names should be given as "Surname, Other names". The Result tag is output, the end-of-game result value is not. Annex I. Function keys. F1 Help. The standard Windows help system is called with the English version as default. To use the German version the DBSCHESS.HLP file should be overwritten with the contents of DEUTSCH.HLP. You will find that if F1 is pressed at certain points in the program, you will be sent directly to the relevant part of the help file. F2 Shortcut to File | Open. F3 Shortcut to File | Save. F8 Signature file to clipboard. The contents of SIG.TXT are sent to the clipboard, see 8.4. F9 Toggles whether the help hint appears on the board and valid-move-list displays F10 Makes the current position the end-of-game, adds the "today" date to the current move and sets the clipboard for the e-mail move. F11 Shortcut to Game details. F12 Shortcut to Move details. David B Sugden. Dec, 1996 (soon to be) DBSugden@compuserve.com 100676.3347@compuserve.com http://ourworld.compuserve.com/homepages/DBSugden Index. analysis, 1, 4, 14, 18, 21 bitmap, 6, 14, 15, 21 board, 4, 5, 6, 7, 9, 14, 15, 21 clipboard, 5, 8, 13, 14, 15, 16 comment, 4, 8, 13, 18 correspondence, 1, 7, 9, 14 dates, 8, 13 default, 6, 7, 18 directory, 2, 3, 4, 7, 8, 16, 19, 21 error, 21 file type, 4, 7, 20, 21 game moves, 11, 13, 14, 18 help, 3, 9, 21 hits, 9, 19, 21 international, 1, 5, 18, 20 key, 1, 3, 11, 12, 13 language, 5, 15, 20 last few, 5 library, 4, 9, 19, 21 load, 6, 15 long algebraic, 1, 4 open, 3, 4, 7, 8, 19 Portable Game Notation, 13, 14, 22, 23 result, 4, 16 save, 4, 5, 8 search, 8 short algebraic, 1, 4, 5, 20 signature, 15 toolbar, 1, 3, 5, 11, 12, 14, 17, 18 valid move, 1, 9, 10, 13, 21 variation, 9, 10, 11, 18, 21 viewpoint, 4, 5, 7, 20 Windows, 1, 2, 3, 15, 20, 21 Page 20 Page 20