C C C CM M M MA A A AI I I IL L L L( ( ( (6 6 6 6) ) ) ) C C C CM M M MA A A AI I I IL L L L( ( ( (6 6 6 6) ) ) ) N N N NA A A AM M M ME E E E cmail - an email chess helper S S S SY Y Y YN N N NO O O OP P P PS S S SI I I IS S S S c c c cm m m ma a a ai i i il l l l [o o o op p p pt t t ti i i io o o on n n ns s s s] D D D DE E E ES S S SC C C CR R R RI I I IP P P PT T T TI I I IO O O ON N N N The _ c_ m_ a_ i_ l program will help you play chess by email with opponents of your choice using an X interface. To use it, you will need to be able to run _ x_ b_ o_ a_ r_ d with which _ c_ m_ a_ i_ l is distributed, available by anonymous FTP from numerous sites around the world. It has been tested with _ x_ b_ o_ a_ r_ d _ 3._ 1; it may require modification for other versions. O O O OP P P PT T T TI I I IO O O ON N N NS S S S You will usually run cmail without giving any options. the next section for instructions. -h h h h Displays _ c_ m_ a_ i_ l usage information. -c c c c Shows the conditions of the GNU See General Public License. -w w w w Shows the warranty notice of the GNU General Public License. -[ [ [ [x x x x] ] ] ]v v v v Provides verbose output _ c_ m_ a_ i_ l (not _ x_ b_ o_ a_ r_ d) useful for debugging, or inhibits it. The x x x xv v v v form also inhibits the cmail introduction message. -[ [ [ [x x x x] ] ] ]m m m ma a a ai i i il l l l Invokes or inhibits the sending of a mail containing the move. [ [ [ [x x x x] ] ] ]x x x xb b b bo o o oa a a ar r r rd d d d from message Invokes or inhibits the running on of _ x_ b_ o_ a_ r_ d the game file. -[ [ [ [x x x x] ] ] ]r r r re e e eu u u us s s se e e e Invokes or inhibits the reuse of an existing _ x_ b_ o_ a_ r_ d to display the current game. -r r r re e e em m m ma a a ai i i il l l l Resends the last mail message for that game. This inhibits running _ x_ b_ o_ a_ r_ d. -g g g ga a a am m m me e e e _ n_ a_ m_ e The name of the game to be processed. -o o o op p p pp p p p _ n_ a_ m_ e An alias for the opponent. -a a a ad d d dd d d dr r r r _ a_ d_ d_ r_ e_ s_ s Page 1 (printed 1/12/99) C C C CM M M MA A A AI I I IL L L L( ( ( (6 6 6 6) ) ) ) C C C CM M M MA A A AI I I IL L L L( ( ( (6 6 6 6) ) ) ) The opponent's email address. -e e e ev v v ve e e en n n nt t t t _ e_ v_ e_ n_ t The PGN Event tag (default "Email correspondence game"). -s s s si i i it t t te e e e _ s_ i_ t_ e The PGN Site tag (default "NET"). -r r r ro o o ou u u un n n nd d d d _ r_ o_ u_ n_ d The PGN Round tag (default "-", not applicable). ( ( ( (w w w wh h h hi i i it t t te e e e| | | |b b b bl l l la a a ac c c ck k k k) ) ) ) _ n_ a_ m_ e The PGN White/Black name tag (default "?", unknown). ( ( ( (w w w wh h h hi i i it t t te e e e| | | |b b b bl l l la a a ac c c ck k k k) ) ) )n n n na a a a _ n_ e_ t _ a_ d_ d_ r_ e_ s_ s The PGN White/Black network address tag (default "?", unknown). -m m m mo o o od d d de e e e _ m_ o_ d_ e The PGN Mode tag (default "EM", Electronic Mail). files. -d d d di i i ir r r r _ d_ i_ r_ e_ c_ t_ o_ r_ y The directory in which _ c_ m_ a_ i_ l keeps its This defaults to the environment variable $CHESSDIR or failing that, $HOME/Chess or ~/Chess. It will be created if it does not exist. -m m m ma a a ai i i il l l lp p p pr _ m_ a_ i_ l _ p_ r_ o_ g_ r_ a_ m The program used by cmail to This defaults to the $CMAIL_MAILPROG or failing "/usr/ucb/mail" or "Mail". r r ro o o og g g g send email messages. environment variable that "/usr/ucb/Mail", g g g ga a a am m m me e e es s s sF F F Fi i i il l l le e e e _ f_ i_ l_ e A file containing a list of games with email addresses. This defaults to the environment variable $CMAIL_GAMES or failing that .cmailgames. a a a al l l li i i ia a a as s s se e e es s s sF F F Fi i i il l l le e e e _ f_ i_ l_ e A file containing one or more aliases for a set of email addresses. This defaults to the environment variable $CMAIL_ALIASES or failing that .cmailaliases. -l l l lo o o og g g gF F F Fi i i il l l le e e e _ f_ i_ l_ e A file in which to dump verbose debugging messages that are invoked with the -v v v v option. O O O OT T T TH H H HE E E ER R R R O O O OP P P PT T T TI I I IO O O ON N N NS S S S Any unrecognised flags will be passed to _ x_ b_ o_ a_ r_ d. Those most relevant for use with _ c_ m_ a_ i_ l are: Page 2 (printed 1/12/99) C C C CM M M MA A A AI I I IL L L L( ( ( (6 6 6 6) ) ) ) C C C CM M M MA A A AI I I IL L L L( ( ( (6 6 6 6) ) ) ) o o o l le F F F [ [ [ old ol l l ld e e e ( ( Fa a a al [x x x x] d ( l ] d dS S S Sa a a av v v ve (T T T Tr r r ru u u ue e l ls s s se e e e) ) ) ), ] ]o o o ol l l ld d d ds If this option is True, _ e e eS S S St t t ty y y yl l e e | | | | , , , o o o or r r r - - - s s sa a a av v v ve e e e x_ b_ o_ a_ r_ d uses the save style for saving games, rather than the new PGN format. Newer versions of _ c_ m_ a_ i_ l and _ x_ b_ o_ a_ r_ d understand both formats automatically without using this flag, so it is only necessary on starting a new game where Black uses the old _ c_ m_ a_ i_ l (1.0). t t t ti i i im m m me e e eD D D De e e el l l la a a ay y y y ( ( ( (o o o or r r r - - - -t t t td d d d) ) ) ) _ d_ e_ l_ a_ y This sets the speed at which the moves are displayed on start-up. It defaults to the environment variable $CMAIL_TIME_DELAY if set, and 0 otherwise. n n n g gr F F F [ [ [ a no o o r r ra Fa a a [x x x oC C C Ch h h he e e es a a am m m m ( ( ( (T T al l l ls s s se e e e) x] ] ] ]n n n nc c c cp If this option is s s ss s T Tr r r ) ) ), , p p p False, s sP P P Pr r r ro o o og g ru u u ue e e e | | | | , , o o o or r r r - - - _ x_ b_ o_ a_ r_ d starts chess program which can be used with _ c_ m_ a_ i_ l to suggest moves. s s s se e e ( ( ( (o o o m m m mi i i e ec c c co Default: True. ea a a ar r r rc c c ch h h hT T T Ti i i im m m me e e e or r r r - - - -s s s st t t t) ) ) ) in n n nu u u ut t t te e e es s s s[ [ [ [: : : :s s s se e o o on n n nd d d ds s s s] ] ] ] Tells GNU Chess to spend at most the given amount of time searching for each of its moves. Without this option, GNU Chess chooses its search time based on the number of moves and amount of time remaining until the next time control. s s s se e e ea a a ar r r rc c c ch h h hD D D De e e ep p p pt t t th h h h ( ( ( (o o o or r r r - - - -s s s sd d d d) ) ) ) n n n nu u u um m m mb b b be e e er r r r Tells GNU Chess to look ahead at most the given number of moves when searching for a move to make. Without this option, GNU Chess chooses its search depth based on the number of moves and amount of time remaining until the next time control. s s s sa a a av v v ve e e eG G G Ga a a am m m me e e eF F F Fi i i il l l le e e e ( ( ( (o o o or r r r - - - -s s s sg g g gf f f f) ) ) ) f f f fi i i il l l le e e e If this option is set, _ x_ b_ o_ a_ r_ d appends a record of the game played to the specified file on exit. - - - -a a a au u u ut t t to o o os s s sa a a av v v ve e e e o o o or r r r - - - a a a au u u ut t t to o o oS S S Sa a a av v v ve e e eG G G Ga a a am m m me e e es s s s If this option is True, at the end of every game _ x_ b_ o_ a_ r_ d prompts you for a filename and appends a record of the game to the file you specify. s s s sa a a av v v ve e e eP P P Po o o os s s si i i it t o on n n nF F F Fi i i il l l le e e e ( ( ( (o o o or r r s s s sp p p pf f f f) ) ) ) f f f fi i i il l l le e e e If this option is set, _ x_ b_ o_ a_ r_ the final position reached to the specified file on b ( ( M S b ( ( M S b ( ( M S bo (o (L Me Sm o o L e m o o L e m Page 3 oa or La ed ma a r a d a t ti i i io o r - - - d appends exit. a ar r r rd d d dS S S Si i i iz z z ze e e e r r - - - -s s s si i i iz z z ze e e e) ) ) ) a ar r r rg g g ge e e e | | | | d di i i iu u u um m m m | | | | a al l l ll l l l) ) ) ) Determines how large the board will be and what built-in piece bitmaps will be used. On a large board (the default), pieces are 80x80 pixels, on a medium board 64x64 pixels, and on a small board 40x40 pixels. (printed 1/12/99) C C C CM M M MA A A AI I I IL L L L( ( ( (6 6 6 6) ) ) ) C C C CM M M MA A A AI I I IL L L L( ( ( (6 6 6 6) ) ) ) S S S ST T T TA A A AR R R RT T T TI I I IN N N NG G G G A A A A G G G GA A A AM M M ME E E E Type _ c_ m_ a_ i_ l from a shell. After an opening message, you will be prompted for a game name, which is optional -- if you simply press return, the game name will take the form _ y_ o_ uVS-_ o_ p_ p_ o_ n_ e_ n_ t. You will next be prompted for the name of your opponent. If you haven't played this person before, you will also be prompted for his/her email address. _ c_ m_ a_ i_ l will then invoke _ x_ b_ o_ a_ r_ d in the background. Make your first move and select _ M_ a_ i_ l _ M_ o_ v_ e from the _ F_ i_ l_ e menu. If all is well, _ c_ m_ a_ i_ l will mail a copy of the move to your opponent. If you select _ E_ x_ i_ t without having selected _ M_ a_ i_ l _ M_ o_ v_ e then no move will be made. A A A AN N N NS S S SW W W WE E E ER R R RI I I IN N N NG G G G A A A A M M M MO O O OV V V VE E E E When you receive a message from an opponent containing a move in one of your games, simply pipe the message through _ c_ m_ a_ i_ l. In some mailers this is as simple as typing "| _ c_ m_ a_ i_ l" when viewing the message, while in others you may have to save the message to a file and do "_ c_ m_ a_ i_ l < file" at the command line. In either case _ c_ m_ a_ i_ l will display the game using _ x_ b_ o_ a_ r_ d. If you didn't exit _ x_ b_ o_ a_ r_ d when you made your first move then _ c_ m_ a_ i_ l will do its best to use the existing _ x_ b_ o_ a_ r_ d instead of starting a new one. As before, simply make a move and select _ M_ a_ i_ l _ M_ o_ v_ e from the _ F_ i_ l_ e menu. _ c_ m_ a_ i_ l will try to use the _ x_ b_ o_ a_ r_ d that was most recently used to display the current game. This means that many games can be in progress simultaneously, each with its own active _ x_ b_ o_ a_ r_ d. If you want to look at the history or explore a variation, go ahead, but you must return to the current position before _ x_ b_ o_ a_ r_ d will allow you to mail a move. If you edit the game's history you must select _ R_ e_ l_ o_ a_ d _ C_ M_ a_ i_ l _ G_ a_ m_ e from the _ F_ i_ l_ e menu to get back to the original position, then make the move you want and select _ M_ a_ i_ l _ M_ o_ v_ e. As before, if you decide you aren't ready to make a move just yet you can either select _ E_ x_ i_ t without sending a move or just leave _ x_ b_ o_ a_ r_ d running until you are ready. T T T TR R R RO O O OU U U UB B B BL L L LE E E E S S S SH H H HO O O OO O O OT T T TI I I IN N N NG G G G It's possible that a strange conjunction of conditions may occasionally mean that _ c_ m_ a_ i_ l has trouble reactivating an existing _ x_ b_ o_ a_ r_ d. If this should happen trying it again might work. If not, remove the file that stores the _ x_ b_ o_ a_ r_ d's PID (<_ g_ a_ m_ e>.pid) or use the -_ x_ r_ e_ u_ s_ e option to force _ c_ m_ a_ i_ l to start a new _ x_ b_ o_ a_ r_ d. Older versions of _ c_ m_ a_ i_ l do not understand the PGN format which _ x_ b_ o_ a_ r_ d now uses. If your opponent uses an older version of _ c_ m_ a_ i_ l you will need to use the _ o_ l_ d_ s_ a_ v_ e flag to initiate a game with him/her. Page 4 (printed 1/12/99) C C C CM M M MA A A AI I I IL L L L( ( ( (6 6 6 6) ) ) ) C C C CM M M MA A A AI I I IL L L L( ( ( (6 6 6 6) ) ) ) F F F FI I I IL L L LE E E ES S S S "._ c_ m_ a_ i_ l_ g_ a_ m_ e_ s" contains with the email addresses of the opponents. a list of games "._ c_ m_ a_ i_ l_ a_ l_ i_ a_ s_ e_ s" contains one or more aliases for a set of email addresses. B B B BU U U UG G G GS S S S No known bugs. B B B BU U U UG G G G R R R RE E E EP P P PO O O OR R R RT T T TS S S S I make no promises but if you send bug reports/suggestions to welsh@epcc.ed.ac.uk I'll do my best to fix/implement them. A A A AU U U UT T T TH H H HO O O OR R R R Copyright (C) 1993 Free Software Foundation, Inc. _ c_ m_ a_ i_ l is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. _ c_ m_ a_ i_ l is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with cmail; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Author: Evan Welsh <welsh@epcc.ed.ac.uk> Edinburgh Parallel Computing Centre JCMB, Kings Buildings The University of Edinburgh Edinburgh EH9 3JZ Scotland C C C CO O O ON N N NT T T TR R R RI I I IB B B BU U U UT T T TO O O OR R R RS S S S Patrick Surry helped with design, testing and documentation. Tim Mann helped integrate _ c_ m_ a_ i_ l with _ x_ b_ o_ a_ r_ d. S S S SE E E EE E E E A A A AL L L LS S S SO O O O _ x_ b_ o_ a_ r_ d(1) Page 5 (printed 1/12/99)