Initial check-in of NSIS Winboard installer files.
authorMark Loli <chessknight>
Fri, 15 Jun 2007 04:26:57 +0000 (04:26 +0000)
committerMark Loli <chessknight>
Fri, 15 Jun 2007 04:26:57 +0000 (04:26 +0000)
41 files changed:
installer/WinBoard-4.2.7/COPYING [new file with mode: 0644]
installer/WinBoard-4.2.7/COPYRIGHT [new file with mode: 0644]
installer/WinBoard-4.2.7/ChangeLog [new file with mode: 0644]
installer/WinBoard-4.2.7/Crafty-WinBoard/Crafty.rc [new file with mode: 0644]
installer/WinBoard-4.2.7/Crafty-WinBoard/book.bin [new file with mode: 0644]
installer/WinBoard-4.2.7/Crafty-WinBoard/books.bin [new file with mode: 0644]
installer/WinBoard-4.2.7/Crafty-WinBoard/crafty.doc.txt [new file with mode: 0644]
installer/WinBoard-4.2.7/Crafty-WinBoard/wcrafty.exe [new file with mode: 0644]
installer/WinBoard-4.2.7/FAQ.html [new file with mode: 0644]
installer/WinBoard-4.2.7/GNUChes5.exe [new file with mode: 0644]
installer/WinBoard-4.2.7/GNUChess.exe [new file with mode: 0644]
installer/WinBoard-4.2.7/Knight.ico [new file with mode: 0644]
installer/WinBoard-4.2.7/NEWS [new file with mode: 0644]
installer/WinBoard-4.2.7/READ_ME.txt [new file with mode: 0644]
installer/WinBoard-4.2.7/RJF60.pgn [new file with mode: 0644]
installer/WinBoard-4.2.7/RePackage/FA.ini [new file with mode: 0644]
installer/WinBoard-4.2.7/RePackage/WinBoard-4.2.7_full.nsi [new file with mode: 0644]
installer/WinBoard-4.2.7/RePackage/knight.ico [new file with mode: 0644]
installer/WinBoard-4.2.7/RePackage/modern-uninstall.ico [new file with mode: 0644]
installer/WinBoard-4.2.7/RePackage/wc_uninst.ico [new file with mode: 0644]
installer/WinBoard-4.2.7/RePackage/welcome_chess.bmp [new file with mode: 0644]
installer/WinBoard-4.2.7/book.dat [new file with mode: 0644]
installer/WinBoard-4.2.7/bughouse.bat [new file with mode: 0644]
installer/WinBoard-4.2.7/cygncurses7.dll [new file with mode: 0644]
installer/WinBoard-4.2.7/cygreadline5.dll [new file with mode: 0644]
installer/WinBoard-4.2.7/cygwin1.dll [new file with mode: 0644]
installer/WinBoard-4.2.7/gnuches5.txt [new file with mode: 0644]
installer/WinBoard-4.2.7/gnuchesr.exe [new file with mode: 0644]
installer/WinBoard-4.2.7/gnuchess.README [new file with mode: 0644]
installer/WinBoard-4.2.7/gnuchess.dat [new file with mode: 0644]
installer/WinBoard-4.2.7/gnuchess.lan [new file with mode: 0644]
installer/WinBoard-4.2.7/gnuchess.txt [new file with mode: 0644]
installer/WinBoard-4.2.7/kk13.pgn [new file with mode: 0644]
installer/WinBoard-4.2.7/modern-uninstall.ico [new file with mode: 0644]
installer/WinBoard-4.2.7/timeseal.exe [new file with mode: 0644]
installer/WinBoard-4.2.7/timestamp.exe [new file with mode: 0644]
installer/WinBoard-4.2.7/wcrafty.exe [new file with mode: 0644]
installer/WinBoard-4.2.7/winboard.exe [new file with mode: 0644]
installer/WinBoard-4.2.7/winboard.hlp [new file with mode: 0644]
installer/WinBoard-4.2.7/zippy.README [new file with mode: 0644]
installer/WinBoard-4.2.7/zippy.lines [new file with mode: 0644]

diff --git a/installer/WinBoard-4.2.7/COPYING b/installer/WinBoard-4.2.7/COPYING
new file mode 100644 (file)
index 0000000..a3f6b12
--- /dev/null
@@ -0,0 +1,340 @@
+                   GNU GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                          59 Temple Place - Suite 330, Boston, MA
+                          02111-1307, USA.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+\f
+                   GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+\f
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+\f
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+\f
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                           NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
+\f
+       Appendix: How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) 19yy  <name of author>
+
+    This program 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.
+
+    This program 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 this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) 19yy name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/installer/WinBoard-4.2.7/COPYRIGHT b/installer/WinBoard-4.2.7/COPYRIGHT
new file mode 100644 (file)
index 0000000..accde17
--- /dev/null
@@ -0,0 +1,51 @@
+XBoard -- a graphical chessboard for X
+
+Original authors:  Dan Sears and Chris Sears
+Enhancements (Version 2.0 and later):  Tim Mann
+
+Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts.
+Enhancements Copyright 1992-98 Free Software Foundation, Inc.
+
+XBoard's alternative piece bitmaps (bitmaps.xchess) are derived from the
+bitmaps in the XChess program, which was written and is copyrighted by
+Wayne Christopher.
+
+The following terms apply to Digital Equipment Corporation's copyright
+interest in XBoard:
+------------------------------------------------------------------------
+All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+------------------------------------------------------------------------
+
+The following terms apply to the enhanced version of XBoard distributed
+by the Free Software Foundation:
+------------------------------------------------------------------------
+This program 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.
+
+This program 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 this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+------------------------------------------------------------------------
diff --git a/installer/WinBoard-4.2.7/ChangeLog b/installer/WinBoard-4.2.7/ChangeLog
new file mode 100644 (file)
index 0000000..313e8f1
--- /dev/null
@@ -0,0 +1,3331 @@
+ChangeLog for XBoard/WinBoard
+
+* 11/26/2003: In WinBoard, setting the -debug flag now logs ICS output
+to WinBoard.debug too.  (This isn't needed in xboard because ICS
+output already goes to stdout, so it's easy to capture along with the
+debug output on stderr.)  This was issue #280 in the ToDo file.
+
+* 11/23/2003: Cleaned up some minor problems in cygwin.mak.  Thanks to
+Hans Werner Strube for the problem report.
+
+* 11/23/2003: Updated the default list of chess servers in
+winboard/defaults.h.  Deleted two that appear to be dead and added a
+new one that is active.
+
+* 11/19/2003: Swapped icon_white.bm and icon_black.bm in XBoard.
+Hopefully this will get them the right way around by default on more X
+window managers.  I wish I understood this better.
+
+* 11/18/2003: Implemented a simple 32-bit random number generator for
+WinBoard, replacing the Windows rand(), which ranges only up to
+0x7fff.  Formerly on Windows, only zippy.lines sayings that started in
+the first 32767 bytes of the file could ever be used.  This was issue
+#505 from the ToDo file.
+
+* 11/16/2003: The xboard man page and info files are now built from a
+common set of texinfo source files, and the xboard man page now covers
+cmail as well.  Formerly, ever since the texinfo file was first
+contributed to the project, it was separate from the man page and the
+two files had to be updated in parallel, making for a maintenance
+nightmare.  To make combining the files possible, I took the Perl
+script "texi2man" from the GNU Units project and added support for a
+larger subset of the texinfo markup language.  I then carefully
+compared the old man page and old texinfo file to make sure the latest
+and clearest words survived into the new combined texinfo file.  It
+would be great to merge in WinBoard's help file too, but that's a
+larger project.  It would have to be heavily conditionalized to
+deal with differences in features between XBoard and WinBoard.
+
+* 11/15/2003: Cleaned up and applied a small patch from Daniel
+Mehrmann, to stop overly long PVs in thinking output from causing a
+buffer overflow crash in backend.c.
+       
+* 11/5/2003: When a chess engine sends a "telluser" command (including
+the cases where "tellall" or "tellopponent" acts like telluser), the
+information now goes into a nonmodel popup that is automatically
+dismissed when the user clicks anywhere on the board.  This fix is
+more significant on WinBoard, where formerly you got a fully modal
+dialog that had to be dismissed by clicking on OK before anything else
+could happen.  The bug was issue #406 in the ToDo file.
+
+* 11/1/2003: Removed email addresses from this file to reduce spam
+load, as it gets linked to from the Web.
+
+* 11/1/2003: Updated READ_ME and winboard/READ_ME.txt.
+
+* Modified xboard and winboard makefiles to be able to build the
+project in the new combined directory structure.
+
+* Applied a small security fix to pxboard, from Martin Maeok.
+
+* Fixed a bug in the game list dialog.  The change in 4.2.6 to opening
+games in text mode (meant to avoid getting extra \r's into comments)
+caused a new bug in determining seek offsets when parsing a game file
+to form the game list.  Also, the change was incomplete; on some code
+paths games were still being opened in binary mode.  Thanks to Lenik
+Terenin for reporting the offset bug.  I've now gone back to always
+using binary mode when reading game files, and I've fixed the comment
+bug by adding code to remove \r's from parsed comments explicitly.  I
+still use text mode for writing game files so that games written by
+WinBoard will have Windows-style line endings.
+
+* Fix for minor bug in WinBoard installer.  If you chose a non-default
+destination directory, the default directory was still used for a
+couple of unimportant things, namely setting the App Paths registry
+keys (unused by WinBoard) and trying to copy the existing WinBoard.ini
+file to WinBoard.old.  I inherited this bug from the InstallShield 5
+sample template.  Thanks to "l.d." for noticing the incorrect keys.
+
+* Patch from Chris Priest: when two engines are being run through rsh,
+avoid reusing the same stderr port for both.  I'm not sure why this
+should be needed, but it's harmless, at least.
+
+* Bugfix: The kludge to deal with old engines that give an error
+message because they don't know the "st" command was too sloppy; it
+could hit on an "st" substring anywhere in an error message.  GNU
+Chess 4 is the only engine I know of where the kludge was needed, so I
+changed the kludge to match a longer, more GNU-specific string.
+
+* Changed the WinBoard self-extracting installer to choose a unique
+temporary subdirectory name within the Windows temp directory instead
+of always putting wb-setup directly in temp.  Besides being better
+practice, this avoids the need to deltree wb-setup first, which
+occasionally alarms someone who thinks that deltree is only used by
+trojans to delete all your files.  (Yes, I'm serious.)
+
+* Fixed a bug where FICS-style "wild/0" strings were not parsed as the
+proper wild type.  The "/" was not being skipped.
+
+* Fixed a WinBoard bug where temporary files created by game
+copy/paste were being created in the root directory of the current
+drive instead of the TMP directory and were not always deleted on exit.
+
+* Fixed a small bug in winboard.c's ErrorDialog() function.  Thanks to
+"Ron" (no last name given).  The bug might have caused a problem when
+pressing OK or Cancel in an error dialog when more than one error
+dialog was being displayed, but I'm not really sure.
+
+* Removed a hack that worked around a bug in very old versions of
+Crafty, where it would sometimes reply "illegal move" to a "."
+command.  The hack kept us from recognizing real illegal move messages
+in analyze mode from engines that don't respond to the "." command.
+Thanks to Fabien Letouzey for the report.
+
+* Fixed a bug in the xboard version of GetDelayedEvent.  It would
+return the most recently scheduled event even if it had already fired.
+This caused at least one visible error: in -ics -xreuse mode, starting
+the engine again and seeing another "feature done=1" would re-run the
+initialization code in InitBackEnd3, including the code that opens the
+connection to ICS.  The WinBoard version didn't have this bug.  Thanks
+to Bob Hyatt for the bug report.
+
+* The promotion popup for ICC wild 26 (giveaway) now includes King.
+Thanks to Fredrik Josefsson for the bug report.
+
+* The first game in a file (or being pasted from the clipboard) can
+now start with a bare move -- no PGN tags, no move number "1", etc.
+Suggested by Shane Harrelson.  One could imagine taking this farther
+and accepting something like "e4 e5 1/2-1/2 d4 d5" as two games, but
+I haven't done that.
+
+* Bug fix: xboard didn't really accept a paste of multiple games,
+contrary to what I wrote when adding the feature to WinBoard in
+4.2.4.  Now it works in both.
+
+* Fixed generic start/end of game messages to work on chess.net, where
+they put ratings in parens after the player names.
+
+* Updated config.sub and config.guess to newer versions from
+automake-1.4p5-2.  This makes configure work with MacOS X + X11.
+
+* Bugfix: when examining a game fragment on FICS where black plays
+first, don't show two "(0:00.000)" times on the initial "none" move.
+
+* If TestLegality is on and one of the engines makes an illegal move
+in TwoMachines mode, it forfeits immediately.  Formerly the game would
+get stuck at that point and the engine that made the illegal move
+would eventually lose on time.
+
+xboard/WinBoard 4.2.6 -- Fri Feb  1 22:26:31 PST 2002
+Tim Mann
+
+Another small bugfix release.
+
+* Put in a small change from Alexander Mai to allow xboard to build in
+an OS/2 EMX environment.
+
+* Fix WinBoard-only bug where editing a PGN file with comments would
+insert more \r characters before the \n after every Load/Save cycle.
+For some unknown reason we were reading the files in "rb" mode but
+writing them in "a" mode, so we kept the \r characters on reading and
+added an extra one on writing.  Fix: change the "rb" to "r".  Thanks
+to Joel (last name not given) for the bug report.
+
+* Put the arguments to rsh/remsh in the right order for better
+portability.  Thanks to Michael Kalisz.
+
+* FreezeUI is now implemented in WinBoard; it was previously only
+implemented in xboard.  This function prevents the user from entering
+moves or other commands while we are waiting for an engine to
+initialize itself.  Implementing it fixes a bug where the user could
+start a game (etc.) during feature negotiation.  One of the symptoms
+of this bug was that we could send "new" one or move moves *after* the
+first game started!
+
+* Fixed some handle leaks (WinBoard only), including a nasty one that
+leaked one handle per command sent to ICS.  Thanks to several folks
+who helped characterize the bug and tried to look for leaks.
+
+* We now install and look for the info file in ${prefix}/share/info
+instead of ${prefix}/info.  The latter is still the default in
+autoconf, but the former is currently used in Red Hat Linux and
+probably elsewhere.
+
+xboard/WinBoard 4.2.5 -- Sat Dec 15 11:42:51 PST 2001
+Tim Mann
+
+* Changed the bundled GNU Chess 5.02 in the WinBoard package to
+include a much smaller book and to use much less hash table space by
+default (8 MB transposition table, 0.5 MB pawn evaluation table).  The
+large book included with 4.2.4 made the WinBoard download too big for
+some people, and the default hash tables were larger than the
+available physical memory on some people's computers. I built the
+small book by running Crafty's "small.zip" book line collection
+through a Perl script that makes it look enough like real PGN games
+that the GNU Chess book builder will accept it.  The script and some
+minor patches to GNU Chess 5 are available in the WinBoard source
+distribution and at http://www.tim-mann.org/gnuchess.html.
+
+* Fixed a bug in the code that deals with engines that complain that
+"time" and "otim" are illegal moves.  This was a new bug in 4.2.4.
+
+* Revamped the implementation of ToStart in analysis mode.  Formerly
+there was some ill-conceived code that would try to get back to the
+start of the game by doing a "new" command (and all the followup
+commands that requires) while remaining in analysis mode.  This is
+problematic for engine authors to support, though it works with
+Crafty.  This code was trying to solve the problem of ToStart being
+slow because the engine would try to start an analysis after every
+"undo" command all the way back to the start.  But ToEnd already had a
+much better solution to this problem, and now ToStart does the same
+thing: we exit from analysis mode and enter force mode instead,
+make/unmake moves to get to the end/start of the game, and then
+reenter analysis mode.
+
+* Formerly, Zippy could try to start playing a game before the engine
+was initialized; that is, during the initial timeout for protover 1
+engines, or before "feature done=1" for protover 2 engines.  We now
+wait until the engine is initialized before connecting to ICS, which
+fixes this in the common case.  If you turn off engine reuse for
+multiple games (that is, if you give the -xreuse option), there could
+still be problems; see item 503 in the ToDo file.  Thanks to Dieter
+Buerssner for the bug report.
+
+* Bugfix: All WinBoard versions since the merge with WinBoard Plus
+(but not xboard) have had a bug in changing the PeriodicUpdates,
+PonderNextMove, and ShowThinking options from the menu.  The bug
+mostly just caused changing these options during a game to not take
+effect until after the next reset.  For TwoMachines games, though,
+changing PonderNextMove just before the game would take effect
+immediately for the second engine but not until the next game for the
+first engine.  Thanks to Koundinya Veluri for the bug report.
+
+* Bugfix: In 4.2.4, we sometimes got confused when trying to leave and
+reenter analyze mode.  One symptom was that Analyze File did not work.
+Thanks to Igor Syry for the bug report.
+
+xboard/WinBoard 4.2.4 -- Sun Dec  9 14:56:30 PST 2001
+Tim Mann
+       
+* WinBoard now includes GNU Chess 5.02 in place of GNU Chess 5.00.
+
+* WinBoard's PasteGameFromClipboard will now handle a paste with
+multiple games in it, popping up the game list dialog.  xboard
+already did this.  Suggested by Robert Gerstman.
+
+* We now use the "clearboard" command on ICC where appropriate.
+
+* Bugfix: don't generate a bogus "variant normal" command to an engine
+for the loadable ICC wild types that we internally flag as
+VariantLoadable.  Also clarified the message that Zippy sends when
+declining such wild games -- it can't deal with the possibility of
+loading an arbitrary position into the game.  Thanks to Dieter
+Buerssner for reporting the problem.  It would be nice to be able to
+actually play these wild types some day; presumably there would have
+to be an option to either send "loadgame" with a specified position,
+or to deal with an opponent sending it.
+
+* If we get a holdings message from ICS when we thought we were
+playing normal chess, we now try asking for a move list so that we can
+find out from the header what's really happening.  Formerly we guessed
+bughouse in this case.  Response to a comment from Gian-Carlo
+Pascutto.
+
+* Fixed two longstanding bugs in the clock code.  These affected only
+play between a user and a local engine, or between two local engines,
+not ICS play.  (1) The last fractional second used by a player before
+moving and virtually pushing his clock was being charged to his
+opponent instead of to him.  (2) The time and otim commands were being
+sent to an engine before the (buggy) fractional second update was
+done.  The second bug was pretty harmless in itself, but the first one
+was serious.  Many thanks to Peter Rosendahl for carefully diagnosing
+and reporting these bugs!
+
+* Changed WinBoard timestamp key.  Nothing is changed other than the
+key and a recompilation.  ICC may phase out the old key soon; if they
+do, you'll need to use the timestamp.exe from WinBoard 4.2.4 or later
+to connect to chessclub.com.
+
+* Fixed an xboard-only bug where most dialogs would not take keyboard
+input unless the mouse was actually over the dialog, even if the
+dialog window had focus.  Thanks to Jason Varsoke for the bug report.
+
+* Bugfix; Remember to send time and otim commands to engine before
+sending playother.  Thanks to Bob Hyatt for the bug report.  Also
+fixed a bug where time and otim were sometimes sent even with feature
+time=0.
+
+* Added small patches from Wilkin Ng that are meant to fix a crash in
+CopyGameToClipboard and a "can't unlock clipboard memory" error in
+PasteTextFromClipboard, under Windows 2000.
+
+* Changed cygwin.mak to not use -mno-cygwin.  In other words, it now
+uses cygwin1.dll instead of the mingw libraries.  This works around
+bugs in fileno() and stat() that I encountered in mingw.  (fileno
+seems to always return 0.  stat fails because the library routine uses
+a different definition of struct stat than the header files provide.)
+Thanks to Robert Gerstman for reporting the symptoms these bugs caused
+when WinBoard was compiled with Cygwin.
+
+* Added -showButtonBar option.  This lets you delete the << < P > >>
+buttons and thus widen the message widget a bit.
+
+* Added code to address a very obscure bug.  If an engine dies and
+needs to be restarted while in one of the analyze modes, it was not
+getting put back into analyze mode.  This bug should not really ever
+have gotten tickled unless reuse was turned off and the engine sends
+game end commands (such as 1-0) when a game ends by rule while in
+analyze mode.  The next version of the protocol spec will say that
+engines should not do that, but version 2 and earlier didn't address
+the issue.
+
+* We now use the FICS "iset ms 1" feature to get times in ms instead
+of seconds.  Thanks to DAV for email telling me about this feature.
+
+* Changed clock display to show tenths of seconds for 9.9 seconds and
+less, instead of 0.9 seconds and less as before.
+
+* It has been discovered that Zippy can play simuls on ICC (but not on
+FICS).  If you arrange for Zippy to send the ICC command "simulize" in
+the -zippyGameStart string, it will accept additional games while
+playing.  Zippy will use the same engine for every game, so whenever
+it switches opponents, the engine's state will be reset with the "new"
+command.  This will of course weaken its play, so don't enable simuls
+if you want your engine to have the highest possible rating.  Zippy
+was never designed to work with simuls; it just works by accident, and
+it hasn't been tested much.  So please report any bugs you notice, but
+don't expect them to be fixed rapidly.  Thanks to Paul McGuire for
+noticing that this works.
+       
+* Bugfix: Suppress the direct command to engine popup if there is no
+engine.  In WinBoard this case used to cause a crash.  Thanks to
+"Dargon" for the bug report.
+
+* Bugfix: formerly we did part of the engine initialization for the
+very first game too soon, before feature negotiation.  One result of
+this is that engines would never get the "ics" command for the first
+game.
+
+* Lengthened timeout to detect protocol version 1 chess engines to 10
+seconds.  This should reduce problems with protocol version 2 engines
+that are slow to initialize missing the timeout and not getting a
+chance to send their feature commands before the first game starts.
+
+* Klaus Friedel says that adding a short sleep to WinBoard after
+starting a new chess engine solves a problem that occurs under Windows
+2000, in which engines sometimes don't see the initial command(s) from
+WinBoard and hang.  I don't understand how that can happen, but the
+sleep is harmless, so I've put it in.  Others have also reported what
+may be the same problem, so hopefully this will fix it for them too.
+
+* Bugfix: editing the Result field in EditTags will no longer cause a
+later crash.  Thanks to DAV for a clear bug report that let me
+reproduce the problem.
+
+* ICC wild 28 is now recognized as shatranj, but it is not supported.
+You might be able to play it by turning off Test Legality.
+
+* Formerly we would always turn off "feature time" if the engine
+printed an error message with the string "time" or "otim" in it; now
+we do that only if the message comes before the engine makes its first
+move.  This change is useful because some engines spew a lot of bogus
+error messages about commands they don't fully parse, so something
+like "result 0-1 {White lost on time}" could generate such a message.
+Engines shouldn't do that, but if they do, mysteriously turning off
+"feature time" is not a good way to react.
+
+* Fixed an infrequently occurring Zippy bug: formerly, resuming from
+adjournment by position (that is, with GetMoveList turned off) or
+starting/resuming a wild game (nonstandard starting position) would
+try to set up the position without putting the engine into force mode
+first.  That was probably tolerated by most engines, but if the
+position was black-to-play and the engine hadn't set feature
+setboard=1, then the fake "a2a3" move (which we use as a kludge to get
+black to be on move before sending the edit command) would appear to
+be a real move, and the engine might reply to it!  This bug could also
+be seen when trying to use Zippy to play a simul -- something that
+Zippy was never designed to support, but which seems to mostly work
+anyway.  Thanks to Paul McGuire for sending a WinBoard.debug file that
+showed the bug occurring.  Some other cases of resuming adjournments
+or starting games from nonstandard positions may have been broken too;
+I think I've straightened out the problems.
+
+* Agreeing to a draw in the human vs. local engine case formerly did
+not work if the human offered first; now it does.  A human's
+unsolicited offer is considered valid until he makes another move.
+Thanks to Bruce Moreland for the bug report.
+
+* Bugfix: We used to look for just "fr" in Event tags or strings from
+ICSes to recognize Fischer Random games.  This caused a lot of false
+matches.  Now we look for "wild/fr" instead, which is what FICS uses.
+
+* Bugfix: Clicking on a move in the MoveList window only updated the
+displayed position; if a chess engine was active, its state was not
+updated.  Thanks to Alejandro Dubrovsky for the bug report.
+       
+* Bugfix: The "resign" command from engine to xboard formerly did not
+work in ICS (Zippy) mode.
+
+* Bugfix: Formerly we would register a garbage premove if the user
+clicked on a piece, then clicked on an edge or outside the board.  Now
+such an errant click is ignored.
+
+* Bugfix: GameEnds would send "exit" to an engine in analyze mode even
+if we did not actually want to leave analyze mode.
+
+* Bugfix: "feature pause" was being rejected.  We don't currently use
+it, but that is no reason to reject it.  Thanks to Gian-Carlo Pascutto
+for the bug report.
+
+* Bugfix: when "partner" needed to be sent both to ICS and the engine,
+Zippy was erroneously sending the ICS prefix character to the engine
+too.  Thanks to Gian-Carlo Pascutto for the bug report.
+
+* Zippy now declines challenges when the engine is not yet ready to
+play again, instead of ignoring them.  This is needed so that the
+server will let the opponent repeat the challenge.  It might be better
+to remember such challenges and accept them when the engine is ready,
+but that would be a bit more complicated to implement.
+
+* Bugfix: Zippy's emotes didn't work on FICS because there, "i" is a
+built-in alias for "it", not a real command.  So sending "$i foo" gave
+an error message instead of doing "it foo".  We now leave out the
+alias-suppressing prefix for emotes.
+
+xboard/WinBoard 4.2.3 -- Mon Feb 19 19:55:05 PST 2001
+Tim Mann
+
+* Bugfix: The error message "Variant X not supported by gnuchessx"
+formerly could pop up even in -ncp mode.
+
+* Fixed an xboard bug in premove highlighting.  If you had
+HighlightLastMove turned on, premoves got highlighted in
+highlightSquareColor (yellow) instead of premoveHighlightColor (red).
+
+* Modified premove again.  Now we are back to displaying the move
+locally immediately after sending it to the server, as in versions
+prior to 4.2.1.  This is good because it lets you register your next
+premove sooner.  As a better fix to the problem that the change in
+4.2.1 had been trying to address, we now suppress animating the
+opponent's move if you have a premove reply pending.  However, it's
+probably still a good idea for you to turn off AnimateMoves entirely
+if you are trying to play extremely fast games.
+       
+* Removed an erroneous patch that left zombie chess engines around
+when both sigterm and reuse were turned off.  (Bug was in xboard only,
+not winboard.)
+
+* Bugfix: loading a game with autostepping did not work for games with
+PGN result "*" (unfinished).  This bug was introduced in 4.1.0, caused
+by some outdated code that was supposed to leave you in EditGame mode
+after loading an unfinished game.  I fixed this, and also changed it
+to leave you in EditGame mode after loading *any* game, but without
+changing the tags to say it's an edited game.  It's not really clear
+whether that is the best thing is to do here -- ideally, perhaps, the
+tags should change to say "edited game" if you actually make any
+changes, but that is harder to make work.
+
+xboard/WinBoard 4.2.2 -- Tue Feb  6 20:00:00 PST 2001
+Tim Mann
+
+* Fixed a problem introduced in 4.2.1.  In -zippyPlay mode, 4.2.1
+started sending the initString immediately after the old game ended,
+but then when the next game started, it would still send "force" and
+another initString.  Another problem was that the first initString put
+the engine out of sync with the displayed board position, though that
+might not usually have been noticeable.  This is now changed to do a
+full Reset at the end of the previous game, and avoid doing a Reset at
+the start of a new game if we are still in BeginningOfGame mode.
+
+* Fixed some limitations in -zippyPlay mode.  The engine was not being
+fed the moves or history of games that were displayed but not being
+played, so it would get confused if you tried to do something like
+examine a game, then enter EditGame mode from somewhere in the middle
+of the game.
+
+* Made a small change so that cygwin can compile xboard for Windows
+(an X server is required to run it).  Thanks to Volker Zell.  Most
+people would probably prefer to run WinBoard on Windows, however; note
+that cygwin could already compile WinBoard.
+
+* Added some missing documentation to engine-intf.html: It is okay to
+send "feature done=0" even before you receive the xboard and protover
+commands, if this is needed to give your engine enough time to
+initialize.  See engine-intf.html for more discussion.
+
+* Bugfix: "feature done=0" did not work for the second engine; now it does.
+
+xboard/WinBoard 4.2.1 -- Sat Feb  3 19:52:26 PST 2001
+Tim Mann
+
+* Bugfix: in Zippy mode with feature san=1, the elapsed time was being
+sent to the engine after the SAN move; for example, "e4 (0:01)" was
+sent instead of just "e4".
+
+* It seems that scroll wheel mice with incompletely installed software
+(under Windows 95, at least) can send repeated middle button up events
+when the wheel is turned.  Moved QuickPaste from middle button up to
+middle button down to avoid problems with this.
+
+* A premove is now sent *before* the opponent's move that it replies
+to is animated.  The premove itself is no longer displayed (or
+animated) when sent; instead, it is displayed when the chess server
+echoes it back as a board update.
+
+* Bug fix: in -xreuse mode, xboard was only sending command line
+arguments to the engine the first time it was started.  (WinBoard
+didn't have this bug.)
+
+* In -zippyPlay mode, we now initialize the chess engine for a new
+game immediately after the old game ends.  (In -xreuse mode, this
+means starting a new engine process; in the default -reuse mode, it
+just means sending "new".)  If the engine supports ping, we don't
+accept challenges until the "new" has finished.  This should help
+avoid losing time (re)initializing the engine after the game starts.
+
+* We now handle the new FICS field in style 12 that says whether the
+clocks are ticking.
+
+* whiteFlag and blackFlag are now reset whenever an ICS board image
+arrives, giving autoflag a fresh chance to work.
+
+* Suppressed "geometry error" debug messages unless -debug flag is given.
+
+* Bugfix: avoid core dump on Solaris with -debug flag, caused by
+passing NULL to a %s format in GameEnds.
+
+* Added -firstProtocolVersion and -secondProtocolVersion.  This will
+allow use of extremely broken engines that hang or die when given the
+"protover 2" command.  It should be rarely if ever needed.
+
+* Zippy now strips highlights from player names in the Creating
+message; previously the ratings would not be extracted from this
+message properly if you had set the highlight variable.
+
+* Bug fix: Zippy with -zp but not -zt used to be fooled by false
+partner tells inside channel tells; e.g.: 
+Garf(24): Garf (your partner) tells you: sit
+
+* Bug fix: when an engine reported its name with the new "feature
+myname=" command, we had been putting just that name into the window
+title even when in TwoMachines mode.
+
+* By default, WinBoard no longer uses the new feature introduced in
+4.2.0beta of keeping the ICS menu, ICS server list, and lists of chess
+engine command lines in separate files; instead, the lists are back in
+the winboard.ini file.  This gets rid of some problems where the
+separate files could not be opened because the working directory was
+not set to WinBoard's installation directory.
+
+* WinBoard command lines and ini files now have another optional
+syntax for quoting an option value.  All characters within { } curly
+braces are interpreted literally except for '}' itself.  SaveSettings
+now uses this syntax for string values that contain a backslash or
+newline and do not contain a '}'.  This should address the problem
+that the separate .ini files had been meant to fix; engine command
+line lists can now be written without \-escapes.
+       
+* Fixed three bugs in relaying moves between engines in TwoMachines
+mode: an engine would be sent SAN if the *other* engine had set
+feature san=1, a relayed SAN move did not end with a newline, and
+feature usermove was not implemented for relayed moves.
+
+* Fixed several bugs in exiting: File/Exit would sometimes hang;
+timestamp/timeseal would not get killed off; an engine crash would
+cause error messages to be printed recursively until stack overflow.
+
+* Fixed a bug in the code to detect which ICS is in use and adapt to
+it; the chess.net case was broken.
+
+* Removed the leading alias-suppression character when sending a move
+to ICS, because it seemed to break accuclock on chess.net.
+
+* Fixed a bug where a FICS prompt like "10:01_fics%" would be matched
+as finger note number 10, causing a problem detecting when the user is
+logged in.
+
+* Added tellicsnoalias command to protocol.
+
+* Changed st command in protocol back to old behavior.
+
+* Added done=0 feature to protocol, to lengthen initial timeout.
+
+* Added missing -colorSeek command line option to xboard.  (Was
+present in WinBoard.)
+
+* Bug fix: setting feature reuse=0 was not working.
+
+xboard/WinBoard 4.2.0beta -- Sat Dec 16 16:34:56 PST 2000
+Tim Mann
+
+* Setting -searchTime no longer turns off -clockMode.  Note that when
+-searchTime is set, some engines may search for the lesser of
+searchTime and the amount of time their normal clock management would
+dictate, while others will disable their normal clock management and
+always search for exactly searchTime.
+
+* Fixed WinBoard bug where on Windows 2000 (and maybe Windows 98) the
+ICS Interaction window would scroll back to the top whenever it filled
+to capacity and WinBoard trimmed some text off the top.
+
+* Changed xboard dragging so that the center of the dragged piece is
+forced to be over the mouse cursor.  (WinBoard dragging already worked
+that way.)  This should avoid confusing cases when you start a drag
+with the mouse near the edge of a square -- formerly most or all of
+the piece could be over one square but the mouse cursor over another.
+Suggested by DAV.
+
+* Added move list window for xboard.  Code contributed by Manuel
+Hoelss and re-hacked a bit by me.  Performance of this window is poor,
+because the implementation regenerates the entire window contents
+whenever anything changes.  It's hard to avoid this when using the
+Athena List widget, though we could be a little smarter and notice
+when the current move number has changed but the move list has not.
+There are also several drawing problems caused by bugs in the Athena
+Form and List widgets.  The window should not really allow a
+horizontal scroll bar, but the bugs are much worse if I turn it off.
+In both Xaw and Xaw3d, the List widget tries to resize itself when
+XawListChange is called, even if you tell it not to; and what's worse,
+if the widget cannot resize itself to be large enough to avoid
+clipping any of the list item, it does not change the list!  Arrgh.
+On top of that, the Xaw Form widget is very buggy in XFree86 4.0.1
+(X11R6.4.3).
+
+* The OK button in the WinBoard startup dialog is now simply disabled
+if none of the radio buttons is selected, instead of bringing up an
+error dialog.  Suggested by Ted Milbaugh.
+       
+* Used ping to address the worst of the race conditions in the
+protocol.  Now if an engine supports ping, we ping it after sending
+the "new" command and after trying to place it in force mode at the
+end of a game.  When a ping has been sent and the corresponding pong
+has not yet come back, we (1) ignore or undo any moves the engine
+sends, (2) ignore game end messages (such as "offer draw", etc.) from
+the engine, (3) ignore thinking output from the engine, (4) delay
+starting the next game if in -matchGames mode, (5) in -zippyPlay mode,
+respond to challenges with a polite message to try again soon instead
+of accepting them.  There are a few more things that should be done
+(and item 5 might not be quite what we want), but it's hard to fit
+them all into the existing code.
+       
+* Patched the version of GNU Chess 5.00 included with WinBoard to
+support protover, feature, setboard, and ping, and to fix some minor
+bugs.  See gnu500+.patch.
+
+* Changed the GNU Chess 4 kludges for missing "st" and "sd" commands
+to be invoked only if the engine gives an error message for "st" or
+"sd", and to always use protocol commands instead of engine
+command-line options.  See "Idioms" in engine-intf.html.
+
+* Added new protocol command "protover 2" to tell the engine what
+version of the protocol is in use.  Version 2 is still compatible with
+old engines; see engine-intf.html.
+
+* Add new protocol command "feature ..."  The engine can send this in
+response to the protover command command, to say what extended
+protocol features it would like to enable, etc.  xboard responds
+"accepted F" or "rejected F" for each feature F that is set.  See
+engine-intf.html.
+
+* Added new protocol command "setboard <fen>".  This is an alternative
+to "edit", used only if the engine says "feature setboard=1".
+
+* Added new protocol command "ping <msg>".  The engine is supposed to
+respond "pong <msg>".  This gives us a tool to fix some race
+conditions in the protocol, but it is not used to the fullest yet.
+
+* Added new protocol command "tellopponent".  This will do a "say" if
+you're on a chess server in Zippy mode, or pop up an information
+dialog otherwise.
+
+* Added new protocol command "tellall".  This will do a "kibitz" if
+you're on a chess server in Zippy mode, or pop up an information
+dialog otherwise.
+
+* Added new protocol command "tellothers".  This will do a "whisper" if
+you're on a chess server in Zippy mode, or do nothing otherwise.
+
+* Changed the WinBoard /icsNames, /icsMenu, /firstChessProgramNames,
+and /secondChessProgramNames options to accept a filename preceded by
+"@", meaning to find the value in the file.  Changed the defaults to
+use this feature, with filenames icsnames.ini, icsmenu.ini, fcp.ini,
+and scp.ini.  This should make it easier for users to edit the values,
+since one less level of quoting is needed, and each value is in its
+own file, not mixed into winboard.ini.  Those who upgrade from an
+older winboard version and already have a winboard.ini file will not
+automatically have these values moved to a file; that has to be done
+by hand if desired.
+
+* We now strip .exe from engine names for "name" command, tags, etc.
+
+* Allowed WinBoard input widget to hold more than one line.  You can get
+a newline into the widget with copy/paste or with Ctrl+Enter.
+
+* Fixed an xboard bug where the [P] button would appear in the
+opposite highlight state from what it should be after being pressed.
+
+* We now use the "/" or "$" alias suppression feature on the chess
+servers, to avoid problems if the user inadvertently aliases a
+needed command to something else.
+
+* Changed the method used to deiconize xboard in AutoRaise and cmail.
+This may fix bugs under some window managers where after
+deiconization, the board window was mapped but nothing was drawn
+inside.
+
+* Preliminary, partial support for playing several chess variants
+against a local engine or editing variant games.  The -variant option
+must be given on the command line or WinBoard startup dialog; there is
+no menu.  The current variant is not displayed (except in the
+Tags/EditTags window).  Many variants will not work quite right even
+if the engine supports them; see item 326 in the ToDo file for
+details.
+
+* Added a workaround to detect the variant type when examining a
+scratch wild game on an ICS.
+
+* Fixed two cases where "variant" command should be sent to the engine
+when necessary but was not: loading a game from a file and restarting
+a dead engine.  Thanks to Gian-Carlo Pascutto.
+
+* Added missing support for FICS games that start from a bsetup position
+with Black moving first.
+
+* Fixed a bug in loading a file from the game list window while in
+Analysis or AnalyzeFile mode.  This now leaves us in AnalyzeFile
+mode, analyzing the new file.
+
+* Fixed a bug in loading games with a comment before the first move.
+
+* Fixed a bug in handling LoadGame (or -lgf) with -td 0.
+
+* Added a command line option to select an initial minor mode from the
+Mode menu.  This should satisfy requests from a couple of users with
+special applications.
+
+* Fixed a problem where some things in WinBoard's General Options
+dialog box were grayed out at the wrong time.
+
+* We look for a few messages from the chess engine pipe that are
+intended to catch problems starting an engine via rsh, such as "No
+such file".  Moved code so that these strings won't match until other
+protocol messages have been looked for, and documented the messages in
+engine-intf.html.
+
+* Fixed the WinBoard bug that sometimes made the console input box
+white-on-white even when not in password-entry mode.
+
+* Small changes to WinBoard to be compilable with the latest Cygwin
+net release (as of 10-16-2000).  Thanks to Mark Schoenberg.
+
+* Recompiled GNU Chess 5.0 for WinBoard with the latest Cygwin net
+release (as of 10-16-2000).  Also rebuilt the book just to be sure,
+since I had one bug report about it.  It came out identical and seems
+to work fine.
+
+* Added messages for some common InstallShield errors instead of just
+printing InstallShield's stupid error code numbers.
+
+* Added -firstComputerString and -secondComputerString, allowing you
+to suppress or change the command that is sent to a chess engine when
+its opponent is another computer.
+
+* Added "configure --with-Xaw3d" to allow use of Xaw3d widgets instead
+of Xaw widgets in xboard.  Thanks to Johnny C. Lam of the NetBSD
+project.  I've left Xaw as the default because Xaw3d is too ugly.
+       
+* The version of the Xaw Form widget released in XFree86 4.0.1
+(X11R6.4.3) has a bug that causes xboard to display the button bar
+on top of the message widget.  I've reported the bug and have
+installed a kludge workaround into xboard.
+
+xboard/WinBoard 4.1.0 -- Sun Sep 17 17:30:14 PDT 2000
+Tim Mann
+
+* Merged Winboard Plus 4.0.8 from Mark Williams into xboard
+  source pool.  Status of Winboard Plus features in xboard:
+
+  - White pieces now have borders, but the implementation is
+    completely different from WinBoard's; see below.
+
+  - Options menu not changed, probably won't be.
+
+  - Copy&paste support working, using Mark's changes to backend.c, Ben
+    Nye's changes to xboard.c for FEN positions, and some code of my
+    own in xboard.c for PGN games.
+
+  - Premove hooked up and working.  No pre-first-move, though.
+
+  - ICS Alarm hooked up and working.
+
+  - Auto-flip working.
+
+  - PGN Training mode hooked up and working.
+
+  - Improved menu item enable/disable working.
+
+  - Improved >> button working.
+
+  - Auto activate board working.  I changed this to be optional; you
+    might not always want it, especially in Zippy mode.
+
+  - Blindfold working.
+
+  - Documentation updated.
+
+* Fixed more colorization bugs.  Commands like "message foo tells you:
+xxx" and "tell 33 tells you: xxx" will no longer generate bogus
+colorization.
+
+* Added low-tech sound support to xboard, by invoking an external
+program on a filename for each sound to be played.
+       
+* ICC wild 27 is now recognized as VariantAtomic, and it sets the
+"ignore check" flag, but is not otherwise supported.
+
+* Converted the piece bitmaps from .bm to .xpm for use with xboard's
+xpm support.  (An .xim version was not created.)  Wrote a shell script
+using ImageMagick to do the conversion and to bucket fill from
+coordinate 0,0 with the background color.  Used xpaint by hand to
+clean up a few pieces where background color "leaked" into the inside
+or didn't flow all the way around the outside, then a sed script to
+fix up color names and bitmap names in the xpaint output.  If any more
+sizes are added later, they should be straightforward to convert with
+reference to the existing scripts.  With this conversion, not only do
+the white pieces now have dark borders, but (unlike with WinBoard) the
+light details on the black pieces are opaque.
+
+* If the XPM library is found when building xboard, the new xpm pieces
+are compiled in as the default.  External bitmap (or xpm) pieces can
+still be used by giving the -bitmapDirectory (or -xpmDirectory)
+option.  If the XPM library is not found, the old bitmap pieces are
+the default.  In this case external bitmap (or xim) pieces can be used
+by giving the -bitmapDirectory (or -xpmDirectory) option.  There is no
+way to compile in xim pieces.
+
+Winboard Plus 4.0.8 -- Sat Aug 5 15:51 PDT 2000 
+Mark Williams
+
+* Bugfix release.
+
+* Main menu now visible in Win NT.  Thanks to Microsoft for creating a 
+compiler which auto-mutilates the WinBoard.rc file so that the menu is
+displayed under Win 98 but not Win NT.  I fixed the problem by hand editing the
+.rc file.  Sigh.
+
+* "Reset game" now works properly when invoked from Analysis mode when two
+engines are present. Correction of bug introduced in Winboard Plus. Thanks to
+Mogens Larsen for reporting the bug.
+
+* Pasting a FEN position with Black to move now works in all modes.
+Thanks to Mogens Larsen for reporting the bug.
+
+* Added gnuchess.dat to the distribution and a couple of text files that were
+missing in 4.0.7.
+
+*** Merged in the following changes from Tim Mann:
+
+* Bugfix: Highlights would sometimes not be taken down, at least in
+xboard.  The problem is that SetHighlight works in chess coordinates,
+not view coordinates, so if flipView has been toggled since the
+highlight was put up, it gets taken down from the wrong square.  Fixed
+by being careful to call ClearHighlights before toggling flipView, not
+after.  Ugh.
+
+* Bugfix: HighlightLastMove would sometimes highlight square a1 after
+a FICS "tomove black" command.
+
+* Bugfix: a move list with initial position that has black to play was
+not being handled correctly.
+
+* Removed "decline abort" and "decline adjourn" commands from Zippy.
+The syntax is changing on FICS, and Zippy really doesn't have to
+explicitly decline the requests anyway; it's sufficient to not accept
+them.
+
+* ICC wild 26 is now recognized as VariantSuicide (the FICS name; ICC
+calls it "giveaway").
+
+* Bugfix: PGN games with black to move in the initial position weren't
+being legality checked correctly.  I think this was introduced in
+4.0.6 when I fixed a different PGN bug.  Thanks to Mark Williams for
+spotting the bug and suggesting a fix.
+       
+* Bugfix: the initial "name(" of a kibitz wasn't being colorized.
+
+Winboard Plus 4.0.7 -- Thu May 12 17:57 PDT 2000 
+Mark Williams
+
+* New white pieces with black borders.
+
+* Major overhaul to Options menu. New dialogs for setting General Options,
+  Board Options, ICS Options, Sounds, Fonts, Colors.
+
+* Clipboard support for PGN game scores and FEN positions.
+
+* Optional ICS Premove with user-specified first moves for White and Black.
+
+* New sound events: ICS Win, ICS Loss, ICS Draw, ICS Unfinished, ICS Alarm.
+
+* New auto-flip option when playing against a chess program.
+
+* Added PGN Training mode.
+
+* Certain menu options now disabled while program is thinking.
+
+* ">>" button now always goes to the end of the game.
+
+* In ICS mode, the board is automatically activated at the start of a
+new game.
+
+4.0.7 -- Sun Mar  5 17:17:49 PST 2000  Tim Mann
+
+* Fixed a nasty bug in parsing ICS game histories that was introduced
+in 4.0.6.
+       
+4.0.6 -- Fri Mar  3 16:20:11 PST 2000  Tim Mann
+
+* Fixed bugs in Zippy's code for responding to messages sent with the
+ICS "message" command.
+       
+* Fixed bugs where xboard could still create dialogs partially off the
+top of the screen.  Fixed unwanted interactions between initial sizes
+and positions of various unrelated xboard dialogs.  Deleted
+borderXoffset and borderYoffset resources.
+
+* Fixed restoring the xterm name on exit to work in more cases.
+       
+* Small fix to the WinBoard self-extracting installer: when it starts
+up, it now always deletes any old wb-setup directory left over from a
+previous installation.  Formerly this worked only on Windows 95/98, so
+on NT the self-extractor would sometimes stop and ask the user whether
+it was OK to overwrite the old wb-setup files.
+
+* Modified WinBoard to be compilable with the free Cygwin tools
+available from http://sourceware.cygnus.com/cygwin/.  Based on work by
+Mark Schoenberg.  (His mods were enough to get WinBoard through the
+compiler, but a few things were broken along the way, so I reworked them.)
+       
+* Merged changes from Don Fong to make WinBoard compilable with
+Borland C++ 4.5.  I do not have Borland C++ and am unable to test with
+it, but I did make sure the changes don't stop it working with MSVC++
+5.0 and Cygwin.
+
+* Forbade entering TwoMachines mode from MachineWhite or MachineBlack
+mode when machine is on move.  This used to confuse the engine and
+cause problems, because when we try to get the engine to stop, it
+might make a move first, and it might not do that immediately.
+       
+* Variant classification now deals with new ICC wild 25, classifying
+it as "3check".  Also, we are now conservative about new wild numbers
+we don't know about, classifying them as "unknown" instead of
+"normal".
+
+* Replaced bad GNU Chess 5.00 book in WinBoard distribution with a
+correct one.  1.e4 now no longer takes GNU Chess 5.00 out of book!
+Thanks to Pete Galati.
+
+* Made move parser accept and ignore nonstandard ep suffix on PGN moves,
+e.g., "exf6ep" or "exf6e.p."
+
+* Fixed bugs in parsing PGN files starting with no move number, or
+with a move number other than "1." (including "1...").  Thanks to
+Michael Soulier and Stefan Zipproth for example PGN files
+demonstrating the bugs.
+       
+* Changed InitComboStringsFromString to not modify the input string;
+this caused an exception when WinBoard was compiled with MSVC++ 6.
+Thanks to Bert Tuyt for the report.
+
+* In WinBoard, dragging a piece off the edge of the board without
+releasing the mouse button no longer instantly aborts the move.  You
+still must release the mouse button inside a square to complete a
+move, but you can now drag off the edge and come back inside.
+       
+* WinBoard bugfix: If you went into EditGame or EditPosition mode
+while observing or playing an ICS game, and a new move came in
+(snapping you back to ICSClient mode) while you were dragging a piece
+around, the drag state would not be reset, causing the piece you were
+dragging to remain on the board wherever you dropped it.  Thanks to
+David Brinegar for the bug report.
+
+* WinBoard bugfix: If you moved or resized the board while your
+opponent was moving, and you had AnimateMoving on, his move would not
+be displayed until after your next move.  Thanks to DAV for reporting
+the bug repeatedly until I finally understood it.
+
+* Added a Zippy "farewell" feature; see zippy.README.
+       
+* Fixed a bug (xboard only) in processing -zippyReplayTimeout on the
+command line.  Thanks to Steve Beer for the report and patch.
+
+* Send "computer" command to both sides in TwoMachines matches.
+       
+* Fixed a Y2K bug in Evan's cmail code!  Thanks to Brian Mays for the
+report and patch.
+       
+* Bugfix: Initialize variant field of GameInfo struct in gameinfo.c.
+This could cause crashes in LoadGame.  Thanks to Andrzej Nagorko.
+       
+* Fixed several pattern matching problems: Finger notes and formula
+vars no longer get replied to by zippyTalk or colorized.  Channel
+tells by players with many titles are now colorized fully, and
+zippyTalk handles channel tells by such players correctly.  The shout
+"--> foo(99): bar" no longer gets colorized as a channel tell.  Code
+is cleaned up a bit, and autocomment capture now uses the same
+criteria as colorization.
+
+* xboard fix: Enter key now closes error popups as in WinBoard.
+Especially nice for the "Exiting: Connection closed by ICS" popup.
+
+4.0.5 -- Tue Dec  7 10:30:40 PST 1999  Tim Mann
+
+* Added missing documentation of SIGTERM usage into engine-intf.html.
+
+* Bugfix: New -zippyReplayTimeout option was misspelled in WinBoard as
+-zippyReplyTimeout.  Thanks to Francesco Di Tolla.
+       
+* xboard -ics now restores the xterm's original title upon exit, at
+least if $WINDOWID is set.
+
+* Bugfix: -matchGames mode wasn't terminating properly.  Final score
+popup would come up twice and engines would not be killed off.  Thanks
+to Frank Quisinsky for the bug report.  Bug was introduced in 4.0.4.
+
+* Bugfix: "tell 50 foo shouts: bar" no longer gets colored as a shout;
+similarly for "...s-shouts:" and "...c-shouts:".  Thanks to David Lee
+for the bug report.
+
+4.0.4 -- Fri Dec  3 17:51:27 PST 1999  Tim Mann
+
+* Bug fix: formerly if you invoked SaveGame from EditPosition mode
+with black to play, the position was not saved properly.  As a quick
+fix, SaveGame now takes you out of EditPosition mode before saving.
+
+* Changed -matchGames to keep track of the score (won-lost-drawn) and
+display it in the banner.  The final score is displayed in a modal
+popup before the program exits.
+
+* Changed "Connection closed by ICS" to display in a model popup
+before the program exits.
+
+* Added -popupExitMessage option, default on.  Setting this to false
+suppresses the modal popups that you sometimes get just before
+xboard/winboard exits -- both the two new ones listed above and the
+existing Fatal Error popup.  This is useful when running Zippy
+unattended from a shell script (or .bat file) that loops and starts a
+new copy after a time delay when there is an error.
+
+* In xboard, added missing support for WM_DELETE_WINDOW to all
+windows.  This makes xboard a better citizen, and is much needed with
+the newer X window managers that put an [X] button on every window and
+bind it to "kill application" if the applicationd does not support
+"delete window".  We can't allow xboard to be thoughtlessly killed,
+since that leaves the chess engine running in the background.
+
+* We now avoid positioning tops of xboard dialog boxes offscreen.
+
+* zippy.lines can now use the caret ('^') character as an inter-saying
+separator. You no longer need to dig up a text editor that can put NUL
+('\000') characters in text files.
+
+* Bugfix: In traditional chess clock mode, White now gets time added
+to its clock as soon as it makes time control.  Previously both White
+and Black got their time added only when Black made time control,
+which would cause some engines to make their 41st move as White too
+quickly, thinking they were low on time.
+
+* The zippyAcceptOnly feature no longer sends a decline command or
+a tell.  Thus you can use it to put Zippy into a manual accept mode.
+
+* Bugfix: "tell 50 foo tells you: bar" no longer gets colored as a
+personal tell; similarly for "...whispers:" and "...kibitzes:".
+
+* WinBoard no longer blanks the message line when you start a new
+move, unless there was an error message there from the previous move.
+
+* WinBoard now never puts the white piece drop menu on the middle
+mouse button.  Both colors are always on the right button.  Windows
+users often don't think to look for a middle button menu, or don't
+really have a working middle button despite what Windows says.
+
+* Guest login handles on ICC are now parsed again; an ICC wording
+change had broken this feature.
+       
+* Autodetect when the engine does not support the "draw" command and
+don't relay the command to it in that case.  Needed because sending an
+unsupported command to GNU Chess makes it move immediately, so people
+could make Zippy move without thinking by continually offering a draw.
+Thanks to Frank Walker for the problem report.
+
+* Small changes based on code from Robert Jurjevic: The WinBoard
+analysis window can be minimized (though not to the taskbar).  The
+WinBoard ICS Interaction window will autoscroll if you drag the mouse
+above or below the window while selecting, and password entry mode
+leaves the entry line as the background color instead of using 75%
+gray.  Seeks are now colorized with a new color of their own.
+
+* Added -zippyMaxGames feature.
+       
+* -zippyNoplayCrafty command line option was missing in xboard; fixed.
+Thanks to John Perry.
+
+* Fixed bug in detecting when Zippy loses his bughouse partner.
+Thanks to Ben Dean-Kawamura.
+
+* allobs fix in 4.0.3 didn't work; corrected it.
+
+* WinBoard will now update the board immediately if a move is made
+while the window is being moved or resized.
+       
+4.0.3 -- Sun Aug 15 18:44:39 PDT 1999  Tim Mann
+
+* Bugfix: moved winboard wizard functions that send a command directly
+to the chess engine from Ctrl+Alt+1 and Ctrl+Alt+2 to Alt+1 and Alt+2.
+Ctrl+Alt is equivalent to the European AltGr key, so the old assignments
+conflicted with typing an @-sign on some keyboards.
+       
+* Bugfix: prevent "If this message stays up, your chess program does
+not support analysis" from appearing if AnalysisMode is selected when
+already in Analysis or AnalyzeFile mode.  Also, deleting analysis window
+in WinBoard now switches you to EditGame mode, to avoid the anomaly of
+being in an analysis mode with no analysis window present.
+       
+* Change all Zippy environment variables to work as command line
+options.  For now they still work as environment variables too, but
+the environment variables are deprecated.
+
+* Use unsigned long to hold node counts from engines.
+
+* Print error instead of crashing on attempts to use xpm or xim pieces
+in monochrome mode.  Thanks to Jim Torrance for the bug report.
+
+* Tightened pattern recognition for ICS messages sent to Zippy; should
+no longer match ICC allobs output.  Fixed recognition of when Zippy is
+sent a message; small change to FICS output had broken it.
+       
+* Zippy now exits if the engine dies unexpectedly.
+
+* Added Zippy "spoofedby" feature; see zippy.README.
+       
+* Narrowed the margins on some older WinBoard dialogs to make their
+style uniform with the newer ones.
+
+* Bugfix: Changing Ponder Next Move from the Options menu did not take
+effect until the next game.  This bug was in WinBoard only.  Thanks to
+Stefan Zipproth for the bug report.
+
+* Got rid of "Internal error: bad move type" message when the engine
+makes a move that we can parse but think is illegal.  Now the move is
+just passed on (which also may be the wrong thing to do).
+
+4.0.2 -- Thu Feb 25 19:55:32 PST 1999  Tim Mann
+
+* Added one more built-in sound choice to WinBoard: move.wav from Pete
+Galati.
+       
+* Added new larger piece sizes: big, huge, giant, colossal, titanic.
+       
+* Modified the xboard font searcher to be able to use scalable fonts.
+The new -fontSizeTolerance flag controls how closely a nonscalable
+font must match to be used in preference to a scalable font.
+       
+* Zippy environment variables ZIPPYABORT and ZIPPYADJOURN now control
+whether Zippy will accept abort and adjourn requests.
+
+* We now determine the variant type being played on ICS, send it as a
+command "variant VARTYPE" to the chess engine (if in Zippy mode), and
+put it in the PGN tags.  See engine-intf.txt for variant names.  See
+ZIPPYVARIANTS in zippy.README to control what variants Zippy will
+accept.  Note that this now applies to bughouse, too.
+
+* Zippy now won't do -zippyTalk in a channel unless his handle is
+mentioned there.
+
+* Zippy now ignores bughouse holdings if not actually playing, instead
+of stupidly trying to abort the game.  Let me know if other strange
+things happen when Zippy is observing a game.
+
+* Set ICS Interaction title bar to "user@server".  User name is
+determined by parsing message during the login sequence.  Zippy now
+uses this method to get its name too, so ZIPPYNAME is eliminated.
+Problem: with xboard, the title bar gets set to "xterm" upon exit,
+since we didn't know what it was to start with.
+
+* Fixed xboard-only bug in -colorChannel1 command line option.  Thanks
+to Fredrik Sandstrom for the bug report and fix.
+
+* Check for overflow of MAX_MOVES.  Still not sure this is checked for
+everywhere it needs to be.
+
+* Added .epd to suffixes recognized by WinBoard as position files.
+This is a bit of a kludge, as the .fen reading code was not written
+with .epd files in mind, but reading them with it is said to work.
+
+* Added ZIPPYGAMESTART feature, suggested by Jason Hoblit.  See
+zippy.README.
+
+* Restored the feature of soaking up the moves from a user-typed "moves",
+"oldmoves", or "smoves" ICS command when xboard/WinBoard is idle, but
+changed it so that the move list is also echoed to the screen.  Some folks
+still liked the old feature since it is faster than examine mode, and
+printing the moves to the screen should eliminate the confusion it caused
+for other people.
+
+* Bugfix: in WinBoard, starting a click-click move and then clicking on
+a black line would cause the source square to be forgotten without taking
+the highlight down.  Now the errant click is ignored.
+
+* Corrected shortcut key labels for LoadNext/PrevPosition in WinBoard's
+File menu.  Thanks to Andreas Stabel for the bug report.
+
+* Bugfix: if you had a completely full ICS context menu in WinBoard
+(90 items), the last one would do nothing if selected.
+
+* The "computer" engine command added in 4.0.1 was not working; I had
+left out part of the code patch.  Oops.
+
+4.0.1 -- Fri Feb 12 21:24:15 PST 1999  Tim Mann
+
+This is a minor bugfix release.  The first item listed below is the
+only interesting new feature.
+
+* You can now type in moves from the keyboard in WinBoard.  Either
+select TypeInMove from Step menu, or (if you are not in ICS mode),
+just start typing.  In ICS mode you can type moves into the ICS
+interaction window anyway, so I've retained the feature that typing
+switches you there.  Not implemented in xboard.
+
+* Removed the "noise 1000" command that used to be sent to the chess
+engine when entering analysis modes.
+
+* Deleted the feature where we soak up the output of a user-typed ICS
+"moves" or "oldmoves" command.  This ancient feature is not really
+useful anymore, now that "examine" exists, and it caused a lot of
+complaints.
+
+* Increased maximum size of ICS text menu to 90 entries and added
+overflow checking.
+
+* The command sent to ICS by Zippy at the end of each game can now be
+customized with the ZIPPYGAMEEND environment variable.
+
+* We treat xboard.info as a pseudo-source since most people don't have
+the tools to rebuild it.  But "make install" erroneously had a
+dependency on it, even though "make all" did not.  Fixed.
+
+* Miscellaneous minor updates and clarifications to engine-intf.txt.
+In particular, documented the st and sd commands (support for command
+line options -searchTime and -searchDepth), warts and all.
+
+* Added a small code patch from Bob Hyatt to detect when Zippy's ICS
+opponent is a computer and send the command "computer" to the engine.
+Added this command to engine-intf.txt.  Thanks, Bob.
+
+* Bugfix: configure was looking for usleep(), but config.h.in didn't
+have an entry for it, so HAVE_USLEEP was never defined.  Also, in the
+non-HAVE_USLEEP case, there was a possible race condition between the
+signal handler and the pause() call.  Thanks to Ben Dean-Kawamura for
+the bug reports.
+
+* Bugfix: a "1..." preceding Black's first move (usually present if
+there is a comment on White's first move) would cause the parser
+to think a new game started there and report "End of game" on the
+current game.  Thanks to Dell Garner for the bug report.
+
+* Changed the abbreviation for -searchDepth from -sd to -depth to fix
+a clash with -secondDirectory.
+
+* Changed -searchDepth to be orthogonal to the various timing options.
+Previously it would search for an unlimited time to the given depth;
+now the engine is allowed to choose its search time in the normal way,
+but is told to cut off the search early if it reaches the given depth.
+
+* Bugfix: SaveSettings in WinBoard was saving both the long form
+option highlightSquareColor and its abbreviation (hsc).
+
+* Fixed a redisplay bug in DisplayBothClocks that could cause White's
+clock to be highlighted in EditPosition mode when Black's should have been.
+
+* Fixed Zippy's feature of passing on draw offers from the ICS opponent.
+The colorization code was eating the offer before Zippy saw it, so I disabled
+colorization of offers while in -zp or -zt mode.  (Other types of
+colorization are already disabled in Zippy mode for similar reasons.)
+
+* Added some more commands to the default ICS context menu in WinBoard,
+and put "(name)" on the ones that insert a playername (or game number).
+
+* Added missing documentation to WinBoard help file: PonderNextMove, the
+-ponder/-xponder argument, and the up/down arrow history feature in the
+ICS Interaction window.
+
+* Fixed        ZIPPYNOPLAYCRAFTY feature to fire only if the opponent is Crafty,
+not if some other Crafty is observing the game and kibitzes.
+
+* Fixed bugs in generating "partner" commands when Zippy is playing
+bughouse.
+
+4.0.0 -- Sat Jun 20 16:59:47 PDT 1998  Tim Mann
+
+* Fixed WinBoard resizing so that the edges you do not drag remain in
+place, even when the final size is different from what you dragged to.
+(This doesn't work on NT 3.51 or earlier, if anyone cares.)
+
+* Fixed problems with resizing WinBoard on Windows NT: you no longer get
+whitespace around the board, a clipped board, or a lot of flashing during
+the drag.
+
+* Added customization for highlight-square color.
+
+* Bugfix: backend.c wrote to stderr in a few obscure places, which doesn't
+work in WinBoard.
+
+* Added Index Number field back to LoadGame/LoadPosition dialog boxes in
+WinBoard.  This required some extra code to work with both the
+Explorer-style dialog boxes and the old-style NT 3.51 dialog boxes.  Ugh.
+
+* WinBoard startup dialog now understands -zp mode.  The first chess
+engine selector is enabled and the value is used.
+
+* Bugfix: ResetGame would send "exit" to engine twice if it was in an
+analysis mode.
+
+* Bugfix: The response "Illegal move: bk" to the "bk" command, indicating
+that it is not implemented, would confuse xboard.
+
+* Bugfix: Ignore empty hints ("Hint:\n") instead of printing a message
+saying that some bogus string (often "Hint:") is illegal.
+
+* Bugfix: LoadNextGame/LoadPreviousGame/ReloadSameGame were broken.
+
+3.6.12 -- Sat Jun 13 14:57:10 PDT 1998  Tim Mann
+
+Beta test release of xboard and WinBoard.
+
+* Spruced up xboard man page a bit.
+
+* Added Highlight Last Move to xboard too.
+
+* The revamped xboard mouse click code had several more bugs than the
+previous version, so I revamped it again.  All fixed now, I hope.
+
+* xboard bugfix: crash in CreatePieceMenu.
+
+* Oops.  winboard-3_6_11beta.exe installed 3.6.10beta, not the new version.
+
+3.6.11 -- Fri Jun 12 20:00:48 PDT 1998  Tim Mann
+
+Beta test release of xboard and WinBoard.
+
+* Major reorganization to engine-intf.txt.  Some new features added,
+many existing features clarified and hints for engine programmers added.
+Support for new features added to program.
+
+* Changed defaults for -scp (etc.) back to being independent of -fcp, as
+in 3.6.2. That is, the default is no longer to copy the value from -fcp if
+-scp is not specified.  This will sometimes make command lines longer but
+will remove some confusing situations.
+
+* Split -reuseChessPrograms into two options: -reuseFirst and
+-reuseSecond.  Fixed obscure bugs when reuse is off.
+
+* Detect ICC and change some command usage slightly there: only ICC has
+set-quietly; only FICS has iset and bsetup clear.  With this feature, we
+can now safely use bsetup clear when appropriate instead of deleting each
+piece one by one.
+
+* Added indent to lines that are wrapped by WinBoard ICS Interaction
+window.  This seems to tickle a Microsoft bug in the RichEdit control:
+occasionally the start of the next line after the wrapped line is indented
+too.  I think the wrapped indent feature is useful enough that it's worth
+having in spite of the bug.
+
+* WinBoard bugfix: bounding box for the board was computed incorrectly by
+mouse code.  It would think you moved off the bottom of the board before
+you really did, so it was hard to drag pieces along the bottom rank on
+smaller board sizes.
+
+* Fixed obscure parser.l bug: ambiguity between capture using : instead of
+x and email header line.  Also removed or simplified a lot of complex
+patterns for English (as opposed to PGN) end-of-game indications while I
+was in there.
+
+* Added PonderNextMove option.
+
+* xboard EditPosition piece menus now let you set the side to play by
+selecting the "White" or "Black" label at the top of the menu, like
+WinBoard.  (Both xboard and WinBoard still let you set the side to play by
+clicking on the clock.)
+
+* Merged documentation of Crafty and GNU Chess thinking output in
+engine-intf.txt.  Corrected code in backend.c to match documentation; it
+used to require the PV to start in column 27 (!).
+
+* Fixed bug that caused crashes in "-reuseChessProgram false" mode.
+
+* Draw by agreement in Two Machines mode now works as it is supposed to.
+Other minor bugs in handling game end messages from machines are also
+fixed, and engine-intf.txt is revised in this area.
+
+* Revamped xboard code for handling mouse clicks on the board.  In
+particular, it had a bug if a click-click promotion move was made.
+
+* Fixed and reinstated optimization for << in analysis modes: send
+initString and re-send the board if needed.  Sending repeated undos
+is bad because Crafty prints some analysis after every one.
+
+* Don't go into a spin loop while pausing between xboard animation frames.
+This caused problems, especially when compiling with -O2 on HP-UX.
+
+* WinBoard Options/Colors/RevertToDefaults now also turns off Monochrome
+if it was on, and similarly for Options/ICSInteractionColors/RevertToDefaults.
+This seemed to confuse people before.
+
+* Bugfix: ICS Interaction context menu items with neither of the two
+optional flags set did not work.
+
+* Bugfix: PGN move numbers are optional, but we were insisting on "1"
+right after the tags.
+
+* Bugfix: only the first game of an -mg match was loading -lpf or -lgf.
+
+* Other minor fixes and code cleanup.
+
+3.6.10 -- Mon Jun  1 01:32:31 PDT 1998  Tim Mann
+
+* Added ZIPPYNOPLAYCRAFTY feature; see zippy.README.
+
+* Added timestamps for chess engine interaction to -debug output.
+
+* Now allow 10 seconds (was 5) between games in match mode for engines to
+respond to "force" command that ended previous game.
+
+* When a game is picked from the game list and the names of White and
+Black are known, display them in the window banner instead of the filename
+and game number.
+
+* Changed default for -scp and -sd to be the values of -fcp and -fd.
+
+* Added boxes for both engines to WinBoard startup dialog.  Changed to
+dropdown boxes whose content can be set from winboard.ini, similar to
+the box for ICS name.
+
+* Accept "offer draw" (or "*offer*draw*") from engine to offer a draw.
+
+* Accept "move mmmm" from engine as well as silly "1. ... mmmm" syntax.
+
+* Added support for bughouse engines (Zippy mode only).
+
+* Move bombproofing for engines sending illegal or out of turn moves.
+
+* Always send "xboard\n" to engine as first command.  Eliminates need
+to run crafty as "crafty xboard".
+
+* Rewrote xboard code for input from engines to fix longstanding bugs.
+Previously an engine that sent one line in two separate writes with 
+some time lapse in between (or perhaps that sent several lines in one
+write) could make xboard hang.  WinBoard did not have this bug.
+
+* Fixed minor bugs in dealing with illegal moves.
+
+* Added "iset startpos 1" for FICS.
+
+* Removed special support to put "GNU Chess" or "Crafty" in the window
+banner instead of the engine's base filename.  This gives a more level
+playing field for other engines.  Also fixed bugs in the code that finds the
+engine's base filename.
+
+* Bugfix: Abort or Resign at the very start of a game in chess engine mode
+would fail to send "force" to the engine.
+
+* Fixed some minor bugs in new "result" messages, and changed format to
+include a trailing PGN comment giving the reason the game ended.
+
+* Changed syntax of /font options in WinBoard; old syntax was assuming
+that a font name can't contain a digit, which is wrong.  Old font names in
+WinBoard.ini files are still accepted.
+
+* Serious further work on getting WinBoard to read/write files in the
+"right" directories and documenting exactly what it does.
+
+* Added LoadPreviousPosition, LoadNextPosition, ReloadSamePosition.
+
+* Misc. tiny fixes and cleanup.
+
+3.6.9 -- Sun May 24 20:53:08 PDT 1998  Tim Mann
+
+xboard and WinBoard beta release.
+
+* Tightened up illegal move handling.  Illegal or meaningless moves from a
+file or chess engine should no longer get translated into a1a1 and blindly
+applied.  Explicit moves to the same square (like a1a1) no longer make the
+piece on that square capture itself and vanish.
+
+* Added AlwaysOnTop feature to winboard.
+
+* Fixed bug in winboard "@" command line indirection operator.
+
+* Removed buggy "optimization" code for ToStart in analysis modes.
+
+* Fixed typo bug in zippy.c that would often cause winboard to crash
+right after starting a game in -zp mode.
+
+3.6.8 -- Sat May 23 22:23:19 PDT 1998  Tim Mann
+
+xboard and WinBoard beta release.
+
+* Added -firstDirectory and -secondDirectory so that chess engines can
+be started in a different directory from xboard/WinBoard itself.
+
+* Added -matchGames to allow more than one game in -matchMode.  The games
+are played with colors alternating between the two chess engines.  Had to
+add a time delay at the end of each game to catch up with game ending
+messages from both chess engines -- yuck.
+
+* Changed TwoMachines mode to have firstChessProgram play White by
+default.  Added -firstPlaysBlack to restore old behavior.
+
+* Major rework of code in backend.c for dealing with first and second
+chess engines.  Generalized the code and created a struct type with one
+instance for each engine.  Several small bugs fixed along the way. 
+
+* Fixed bugs in Abort in local chess engine mode.
+
+* Tightened pattern matching to recognize moves from machine.  Should cure
+bogus "Illegal move" errors while Crafty is pondering with Show Thinking
+on, among other things.
+
+* WinBoard keeps focus in board window after popping up a comment due to
+Forward/Backward/ToStart/ToEnd commands.
+
+* Finally got rid of warnings on compiling moves.c under Windows.
+
+* Fixed so WinBoard will compile on machines where WM_MOUSELEAVE is not
+defined.
+
+* Removed various bits of unused code.
+
+* Parse (and ignore) NAGs in PGN files.
+
+* Updated engine-intf.txt.
+
+* Send "result R" to the chess program at the end of each game, where
+R is the PGN result 1-0, 0-1, 1/2-1/2, or *.
+
+* Bugfix: suppress animation when loading a game with timeDelay=0.
+
+* Bug fix: pondering output from Crafty that contained "..." could be
+mistaken for a move, causing bogus error messages and general chaos.
+
+* xboard "make clean" bug fix: moved things created by configure to be
+removed only by "make distclean".
+
+* Fixed a remaining case where move was being animated before being
+relayed to opponent.
+
+* Backend was reversing time/otim commands to the chess program (new bug),
+and was often not sending them on the first move of a game or the first
+move after a mode change (old bug).  Fixing the latter required a kludge
+to work with both GNU Chess and Crafty, because Crafty swaps white and
+black clock times when it swaps sides, while GNU Chess does not.  The
+kludge is that we always make sure the chess engine thinks its opponent is
+on move before we set the clock.  This will sometimes result in sequences
+like "white\ntime xxx\notim yyy\nblack\ngo", or the same with white and
+black interchanged.
+
+* Removed last trace of old -whiteString and -blackString arguments.
+
+* Fixed so that you can type "bd" into the Direct Command dialog when
+debugging gnuchess, without having xboard parse the clock display
+(starting with "White") as "White wins" and end the game.
+
+* Changed moves.c to make a distinction between IllegalMove (where we
+could tell what move was intended, but it violates the chess rules) and
+MeaninglessMove (where we could not tell).  This is a step towards getting
+rid of cases where we translate meaningless moves into "a1a1", but some
+work is probably needed to track them all down.
+
+* Fixed bug in WinBoard monoMode dragging.
+
+* Changed WinBoard to new style file dialogs.  In the process, disabled
+the feature that let you enter the index number of a game or position within
+the file in the dialog.  This is no loss in LoadGame, as you can pick your
+game from the game list dialog that follows, but it does remove some
+functionality from LoadPosition.
+
+3.6.7 -- Mon May 18 21:25:00 PDT 1998  Tim Mann
+
+xboard and WinBoard beta test release.  I've been unable to reproduce some
+reported drawing bugs, so they may still not be fixed.
+
+* Changed PopUpErrors option to PopupMoveErrors, which is more useful, and
+changed default to off.  Errors other than move errors should always be in
+popups; they are often too big for the message area and too important to
+put where they can be easily missed.  But it seems good to get rid of the
+popups for move errors by default.
+
+* xboard analysis window no longer forces itself to top whenever there is
+new output.  Also, now uses built-in Xaw word wrapping instead of trying
+to do its own; works better.
+
+* Bugfix: Reset did not take Crafty out of analyze mode.
+
+* A chess engine no longer has to claim to be Crafty to be able to use
+AnalysisMode and AnalyzeFile; it just has to implement the analyze
+command as Crafty does.  Put in heuristics to generate more informative
+error messages if the engine does not support analyze, and checked that
+they work at least with GNU Chess.
+
+* Added click-click moving, HighlightLastMove, and HighlightDragging to
+WinBoard.  The highlight features are unlikely to go into xboard unless
+the xboard drawing code is cleaned up to do *all* drawing on the board
+from DrawPosition, as WinBoard does.  This is low priority for me.
+
+* Eliminated bogus "Error gathering move list: no header" popup.  You
+could get this by observing two fast games at once without turning off
+GetMoveList.
+
+* Disable WinBoard Sounds menu entirely in -ncp mode, since not even
+MoveSound is used in that mode.
+
+* WinBoard bugfix: Several problems were caused if the user changed 
+WinBoard's current directory in a Load, Save, or Browse dialog.  In
+particular, WinBoard.ini would get saved in the wrong directory, and
+sound .wav file names would not get saved with a full pathname.  I think
+all such problems are now fixed.
+
+* WinBoard bugfix: iconizing the board after an aborted mouse resize would
+(partially) resize it to Tiny.
+
+* WinBoard bugfix: board was not being drawn in color on 256-color
+displays.  This bug was introduced in 3.6.6.
+
+3.6.6 -- Tue May 12 17:43:43 PDT 1998  Tim Mann
+
+xboard and WinBoard beta release.  Note: not all reported bugs are fixed.
+
+* Move animation in WinBoard, programmed by Henrik Gram.  Great stuff!
+
+* Animate backward moves too.
+
+* xboard bugfix: -font (and friends) can now specify a font alias (such
+as "fixed"), not just a full X Consortium name pattern.  Previously this
+would give a resource conversion error message.
+
+* Some coding style cleanup in xboard.c.
+
+* Earlier error check for moving wrong color piece in EditGame mode.
+
+* Completed fix to pattern matching; see 3.6.5.
+
+* Fixed some software rot bugs in Zippy.
+
+* Split AnimateDragging as separate option from AnimateMoves.
+
+* Added FlashMoves to options menu and -flash/-xflash to command line
+options (xboard only).
+
+* Some preliminary work on visible bughouse holding support.  Most of the
+code is not present in this release because I have not gotten it working
+properly yet; my first approach went down a blind alley and I had to
+remove most of the partially working code in preparation for a rewrite.
+
+3.6.5 -- Fri May  8 14:22:09 PDT 1998  Tim Mann
+
+Not generally released.
+
+* Pack bughouse holdings display in banner more tightly when board is one
+of the smaller sizes (when smallLayout or tinyLayout is true, that is).
+An interim measure, but should help.
+
+* Completed fix to make move list parsing recognize the end condition and
+final comment.
+
+* Fixed pattern matching for chatter (tells, etc.) to be more reliable.
+This should reduce the incidence of colors starting in the wrong place and
+of incorrectly matching things that look like other patterns inside
+chatter, such as "shout <12>".  (These errors were already rare.)
+
+* WinBoard now lets you customize the list of ICS's in the startup dialog.
+For now, at least, requires editing WinBoard.ini with a text editor.
+
+* Bug fix: WinBoard window sizing and position setting save/restore did
+not work right when the taskbar was at the top (or left side) of the
+screen and not in autohide mode.
+
+* Merged xboard click/click mode and drag mode, and deleted
+ClickClickMoving option on menu.  Now if you click on a piece, it
+highlights and a further click on another square will move it.  (A second
+click on the same square takes down the highlight.)  Or if you press down
+on a piece and start to drag, you can drag it to a new square.
+
+* When making click/click style moves, if your second click is on a piece
+of the same color, instead of saying "Illegal move", we now cancel the first
+starting square, replace it with the second, and wait for another click to
+finish the move.
+
+* Separate -secondInitString.  Default: same as -initString.  Suggested by
+Remi Coulom.
+
+* Patch from Frank McIngvale to make animation work with XIMs.  Yay!
+
+* Changed move animation to happen after move is passed on to ICS or the
+chess engine, where applicable.  Fixed problems with updating moveList
+that this uncovered.
+
+* Changed game list to show PGN result token for each game.
+
+* The usual minor bug fixes.
+
+3.6.4 -- Thu Apr 30 23:14:43 PDT 1998  Tim Mann
+
+xboard and WinBoard beta test release.
+
+* xboard documentation updated, both man page and info file.  An attempt
+to generate both from the same source with LinuxDocSGML was abandoned, at
+least for now.  WinBoard doc updated too.
+
+* Merged updates to animation code from Hugh.  Fixed a couple of remaining
+bugs, mostly to do with handling Pause mode correctly.
+
+* Added SaveSettingsOnExit to WinBoard.
+
+* WinBoard now saves the last screen position of the Comment, Edit Tags,
+Game List, and Analysis windows (in addition to the board and ICS
+Interaction windows) in WinBoard.ini.
+
+* WinBoard now provides a way to customize the right-button context menu
+in the output area of the ICS Interaction window.  For now, requires
+editing WinBoard.ini with a text editor.  
+
+* Various minor fixes to ICS message recognition, most affecting only Zippy.
+
+* Colorize the notification when someone sends you a message while you are
+logged in, not the output of the "messages" command.
+
+* Fixed colorization to turn off at the right place more reliably.
+
+* Added a new color and WinBoard sound for "requests": abort, adjourn,
+draw, pause, and takeback.  The same color and sound are used for all of
+these.
+
+* Added GUI to change sounds in WinBoard.
+
+* Suppressed WinBoard error popup when a sound can't be played.  They were
+popping up when two separate WinBoards tried to play a sound at the same
+time (such as during a bughouse match).
+
+* Fixed WinBoard crash when a sound file didn't exist.
+
+* WinBoard ports of timestamp and timeseal now produce decent error
+messages if they fail to connect, and WinBoard captures the messages and
+puts them into a popup.  Previously WinBoard would exit with no message on
+such errors.
+
+* WinBoard resizing with mouse improved; now accurately picks the largest
+size that fits in the new area.
+
+* Added option to turn off error message popups.
+
+* Added sizes slim, dinky, and teeny.
+
+* Fixed some minor problems with error message wording.
+
+3.6.3 -- Mon Feb 23 19:08:57 PST 1998  Tim Mann
+
+xboard beta test release only.  Man page is updated for the changes, but info
+file is not.
+
+* Bug fix: LoadGame could not load a PGN game whose first move was
+castling (which is possible from setup positions).
+
+* Bug fix: we were ignoring illegal move messages from chess engines in
+modes where the engine is refereeing but not participating (EditGame,
+LoadGame, AnalyzeFile).  The problem was in a workaround for a Crafty bug,
+where Crafty generates a bogus illegal move message if a "." (used by
+the PeriodicUpdates feature) is sent in analysis mode when the current
+analysis reveals a forced mate.  Installed a different workaround (that
+works in most but not all cases) and reported the Crafty bug.  Bob Hyatt
+replied with a fix, so the Crafty bug should be gone in Crafty 14.12 or so.
+
+* WinBoard only: enabled resizing board with the mouse.  It snaps to the
+nearest (but not too much larger) predefined size.
+
+* The xboard default font is now sized according to piece size, just as
+clockFont and coordFont have always been.
+
+* Added more sizes: bulky, moderate, average, middling, mediocre, petite.
+       
+* xboard only: Added Animate Moves and Click-Click Moving to Options menu.  
+
+* xboard only: Added code to animate piece movement, from Hugh Fisher.
+
+* New feature: autoflag is implemented in MachineWhite, MachineBlack, and
+TwoMachines modes.  If it is on and either a chess program or the user
+oversteps his time, xboard will automatically call the flag and end the
+game.  This feature was requested by someone who runs matches between
+programs and wants to penalize GNU Chess for its habit of running slightly
+over at the end of a time control.  I personally think it's pointless.
+
+* Fixed a bug in Zippy's pattern matching; he can now reply to ICC
+messages again.
+
+* Generate prettier notation for illegal moves.  If a move is illegal only
+because it leaves the player in check, generate notation as if that were
+not illegal.  For instance, if two knights are a knight's move away from
+f3, one on g1 and one on e5 that is pinned, the notation would be Nf3 to
+move the g1 knight, Nef3 to move the e5 knight.  (Suggested by Philippe
+Schnoebelen.)  In addition, if a move is illegal because the type of piece
+moved cannot go that way, would be jumping over another piece, etc., we
+give fully disambiguated coordinate notation; for example, Ng1g3, Ke1xe8,
+d2xd8=Q, etc.  An alternative would be to still write Ng3 if there is only
+one knight on the board, or Ngg3 if the other knight is not on the g file,
+but life is too short to code up all this stuff, and perhaps the way I did
+it is better as it emphasizes that this move was really made despite being
+illegal.  I wonder if the new PGN standard revision will speak to notation
+of illegal moves?
+
+* Fixed gross bug from 3.6.2: if a chess program said "checkmate" and
+White was left on move, the PGN outcome was "1-0 {Black mates}" instead
+of "0-1 {Black mates}"!  The bug occurred only for that specific string.
+
+3.6.2 -- Wed Jul 23 16:47:29 PDT 1997  Tim Mann
+
+* There was a bug in backing up from the end of a game against a chess
+engine, introduced when -reuse mode was added.  Fixed.
+
+* Recognize "{" as terminating an ICS move list.  Previously we needed to
+see a prompt (containing %), but occasionally ICC can send more stuff
+right after a move list with no prompt in between.
+
+* In WinBoard, -mm now implies -cp, so you don't get the startup dialog.
+
+* WinBoard startup dialog no longer sets -scp.  People used to get
+confused because they would give the -fcp and -scp arguments, but omit
+-cp.  This would bring up the startup dialog, which would set both -fcp
+and -scp to the value in the engine name box.  Now you can change -scp
+only with the command-line argument.  That will confuse some people too,
+but hopefully fewer.  I think overall it's better than putting spaces for
+both -fcp and -scp in the dialog, which would puzzle newbies.
+
+* Bug fix: Analyze File mode now works in WinBoard.
+
+* Bug fix: WinBoard window no longer cuts off part of the bottom row if
+the menu bar wraps to a second line.
+
+* Accept game end messages of the form "PGN-result {comment}" from the
+chess engine, where PGN-result is 0-1, 1-0, or 1/2-1/2.  Accept "resign"
+or "computer resigns" from the chess engine as a synonym for "0-1 {White
+resigns}" or "1-0 {Black resigns}". Accept any message from the chess
+engine containing "game is a draw" as a synonym for "1/2-1/2 {Draw}".
+Accept "White resigns" or "Black resigns".
+
+* Enable "Action / Draw" menu item in chess engine mode.  It sends the
+command "draw" to the engine.  Accept any message from the chess engine
+containing "offers a draw" as a draw offer.  WARNING: Draw offers from the
+user and the engine (or from two engines) are not yet matched up by xboard
+in chess engine mode.  Two engines could get into a loop offering each
+other draws.
+
+* Bug fix: Game end messages from the chess engine are always ignored in
+Zippy mode.  Previously they could sometimes be processed, which was
+sometimes making Zippy hang at the start of a new game that followed
+quickly after an old one.
+
+* Zippy can now respond to titled players in channels.  Zippy will avoid
+talking to himself in a channel if he knows his own name.
+
+* Bug fix: in colorization arguments, the bold setting was being ignored
+if the background color was defaulted.  (xboard only.)
+
+* Extended ParseFEN to accept Crafty 12.2's interpretation of FEN.
+If fewer than 8 squares are given in a row, or fewer than 8 rows are
+given, the uncovered squares are empty.  Also, there can be a / after the
+8th row.
+
+3.6.1 -- Sat May 17 01:02:33 PDT 1997  Tim Mann
+
+* Bug fix: Hitting escape while entering a password on WinBoard no longer
+sets the font color back to black (which made further typing visible).
+
+* Bug fix: On Windows NT 4.0, WinBoard /ics /icshelper=timestamp would
+often hang if you tried to exit with the Exit menu item, the [X] button,
+etc.  The same fix may also have corrected the problem where running a
+chess program with /xreuse would sometimes crash Windows 95 (but not NT)
+when the chess program was killed and quickly restarted.
+
+* Bug fix: Periodic Updates would not work if turned on after having been
+off.  Also, the default was needlessly "off" in WinBoard.
+
+* Zippy bug fix: Continuing an adjourned game was totally broken.  The
+wrong moves, or no moves at all, were being fed to the chess program.
+
+* WinBoard change: Giving -ics without -icshost now pops up the startup
+dialog with "Use an Internet Chess Server" pre-selected, so that you get a
+menu of chess servers instead of going directly to ICC.
+
+* Bug fix: WinBoard's SaveSettings was saving -icshost, -icsport, and
+-icshelper in winboard.ini.  This causes a problem if you use a different
+icshost later that needs the default values for icsport (5000) and
+icshelper ("", meaning none).
+
+* Disabled complaints about unexpected "[Ii]llegal move" messages from
+the chess program; we still get them at times.
+
+* Greatly simplified the code for Move Now and SIGINT (ATTENTION).  Fixes
+the bug where Move Now did not work with GNU Chess in WinBoard, and
+several more obscure bugs as well.  Reintroduces a minor bug: GNU Chess might
+not think on your time after a Move Now command.  Trying to fix this
+causes too many other problems.  Documented change in engine-intf.txt.
+
+* Cleaned up code for obtaining ratings from ICS.  It was kludgey and may
+have had bugs on systems with no "Creating:" message.  It should fail
+gracefully there, just not finding the ratings.
+
+3.6.0 -- Thu May  8 19:55:58 PDT 1997  Tim Mann
+
+* WinBoard now has right-button context menus in the ICS Interaction
+window.  Some of the items do immediate commands on the player name you
+have selected or pointed to.  (Suggested by Paolo Casaschi.)  Also, the
+middle button or shift+right does a immediate Copy and Paste.
+
+* Fixed a bug in Zippy's wild rejection.  The bug was causing Zippy to
+reject all forms of wild.  Now it rejects only 1, 9, 16, 17, and 24, as
+was intended.  These variants have different rules, while the other
+variants defined so far only have different starting positions.
+(Actually, wild 2, 3, and 4 never allow castling, but may sometimes by
+chance have king and rook start on squares where castling appears legal.
+This could cause a problem later.)
+
+* Zippy now resumes adjourned games by feeding the chess program 
+the move list instead of the position.  Setting -getMoveList to False 
+restores the old behavior.  Feeding in the move list is better because 
+it enables the chess program to correctly handle en passant legality, 
+castling legality, draw by repetition, and draw by the 50 move rule. 
+
+* Added a WinBoard startup dialog for people who run WinBoard.exe without
+using the Start menu or reading the help file.  Instead of being dumped
+directly into GNU Chess mode, you now get a menu of choices.  You now have
+to give the new WinBoard -cp option to go directly into chess engine mode.
+I did not add this feature to xboard.
+
+* Handling of "illegal move" from Crafty is now back on.  (It was turned
+off in 3.4.6; see below.)  Crafty 12.0 doesn't seem to send bogus ones
+anymore.  I did have to suppress sending time and otim in analyze mode to
+make this work, but there is no harm in that.
+
+* Zippy now sends "gameend" to ICS at the end of each game.  You can alias
+this to "seek" or whatever you like.
+
+* Added Crafty support for Move Now, using the "?" command.  We test
+whether this command exists by trying it once at the start of the first
+game, before it really makes sense.  If we don't get a message like
+"Illegal move ... ?", we assume it's OK.  (We're careful about this
+because sending a "?" to GNU Chess on Move Now keeps it from pondering the
+next move as it should.)
+
+* Added support for a tellusererror command from the chess engine.  See
+engine-intf.txt.
+
+* Attempted to make engine-intf.txt complete.
+
+* Minor fixes/cleanup to GameEnds code, to be sure we always interrupt
+when needed, and always undo an extra move generated by stopping the chess
+program while it is thinking.
+
+3.5.7 -- Sat May 03 22:37:44 PDT 1997  Tim Mann
+
+Beta release of both xboard and WinBoard.
+
+* Updated xboard documentation.  I really wish the man page was built from
+the info file instead of being separate!  It's a pain to update them both.
+
+* Updated documentation of the interface between XBoard/WinBoard and chess
+programs, and renamed it to engine-intf.txt.
+
+* Added support for tellics, telluser, and askuser commands from the chess
+engine.  See engine-intf.txt.
+
+* Various bug fixes.  On WinBoard, 256 color displays are finally handled
+right; no more color flashing when you switch windows unless the colors
+really need to be updated.  Also, I think the problem of the console font
+failing to change or changing back by itself is finally fixed.
+
+3.5.6 -- Tue Apr 29 03:08:00 PDT 1997
+
+Beta release, WinBoard only.  ChangeLog was out of date in release,
+updated here.
+
+* Added ICC timestamp and FICS timeseal to WinBoard distribution.  These
+are my own ports to Win32, based on and used by permission of the owners
+of the proprietary source code (Daniel Sleator for timestamp, Henrik Gram
+for timeseal).  The owners permit these programs to be distributed only in
+binary form (to help prevent cheating), so to avoid running afoul of the
+GPL, I have kept them as separate programs, not linked into the WinBoard
+address space.  Updated Start menu icons to use them.
+
+* Miscellaneous smaller changes.
+
+3.5.5 -- Fri Apr 25 03:06:00 PDT 1997
+
+Beta release, WinBoard only.  ChangeLog was out of date in release;
+updated here.
+
+* Added simple sound support to WinBoard.
+
+* Updated WinBoard documentation.
+
+* Internal implementation of the telnet protocol is now more complete.
+You can now hop through a VMS host on the way to ICS.  For example, do
+"xboard -ics -icshost vms.host.edu -icsport 23", then log in.  Do not use
+the -telnet flag; that says to use an *external* telnet program.  To avoid
+double echoes, you need to force character mode in VMS telnet after
+connecting from VMS to ICS.  Do "^]^Mset mode char^M^M".
+
+* Display opponent names in the title bar for MachineWhite, MachineBlack,
+and TwoMachines modes.
+
+* WinBoard now has an installer, built with InstallShield.  The installer
+works with a binary-only distribution.  Sources are still freely
+available, but now separately.
+
+* Added SaveSettings to WinBoard, which saves current option settings to
+winboard.ini.  Made sure all options can be saved and loaded, including
+fonts and com port settings.
+
+* If the game ends while you are dragging a piece, we now don't let you
+finish the move.  Formerly the move was accepted and your opponent's clock
+would start running again.
+
+3.5.4 -- Fri Apr 18 01:15:24 PDT 1997  Tim Mann
+
+Beta test release of WinBoard and xboard.  The documentation remains
+out of date.
+
+* Many fixes and improvements to new WinBoard user interface code.
+
+* In Zippy mode, avoid sending another copy of the same move to the chess
+program if ICS sends us another copy of the board image.  Hard to believe
+it took me until now to diagnose and fix this problem!
+
+3.5.3 -- Sat Apr 12 19:49:33 PDT 1997  Tim Mann
+
+Beta test release of WinBoard and xboard.
+
+* Fixed fatal bug in WinBoard input handling.
+
+* Made code to stop chess program for reuse a bit smarter.  Removed kludge
+of "white" in initString; it didn't work well, and is unneeded
+with Crafty 11.21 and later.
+
+3.5.2 -- Sat Apr 12 15:40:01 PDT 1997  Tim Mann
+
+Beta test release of WinBoard.
+
+* Ignore check and permit promotion to King during suicide games; no need
+to turn off TestLegality.
+
+* Renamed CheckLegality to TestLegality to avoid confusion with the chess
+term "check".
+
+* Added Rematch to Action menu.
+
+* WinBoard now has a custom ICS interaction window with scrollback, a
+separate line for input, and colorization.  Accelerators that conflict
+with normal editing keys were changed (by requiring Alt+) so they can work
+in both the console and the main window.
+
+* WinBoard error popups are now non-modal and disappear when you make a
+new move, as in xboard.
+
+* Configure now defaults to --disable-ptys on all systems.  If anyone has
+an ancient SysV system where pipes don't work with select, they can still
+do "configure --enable-ptys" explicitly.  I would appreciate getting a bug
+report if this happens to anyone, with complete output from configure and
+"uname -a".
+
+* "make install" now makes the installation directories too.
+
+* Fixed a bug that would cause an "Illegal move" message for Black from
+GNU Chess to be incorrectly considered bogus.
+
+* Handle name changes during an ICS game (FICS bname and wname commands).
+
+* You can force both chess programs to be killed at the end of each game
+by turning off the reuseChessPrograms option.  There are still some
+problems with reusing Crafty even in version 11.20.
+
+* Now the second chess program stays around by default too, if it ever
+gets started.
+
+3.5.1 -- Sat Apr  5 16:47:48 PST 1997  Tim Mann
+
+Beta test release.
+
+* Don't kill off and restart the chess program for each game; keep the
+same one running, using the "new" command to start a new game.  This
+change works around the problem in Windows 95 that makes WinBoard crash it
+at times, and is generally desirable to make new games start faster.  The
+second chess program (for TwoMachines) is still killed at the end of the
+game, and unfortunately this can still crash Windows 95.  Temporarily
+added "white" to the initString to make this work with Crafty 11.20, which
+has a minor bug in "new".  Older versions of Crafty have worse bugs in
+"new"; they should not be used with this version of xboard.
+
+* Support for FICS suicide chess: Parse illegal moves (that leave King in
+check) in game history.  If CheckLegality is off, allow promotion to King
+and illegal moves in game files.  We still generate e2e4 style notation
+for illegal moves.
+
+* Handle FICS "has timeseal; checking" message.
+
+* Changed the coords from white back to black; this was a bug.
+
+* Fixed problems compiling with K&R compilers.
+
+* Fixed an old bug in RegisterMove that was crashing cmail on some systems
+(notably linux).
+
+3.5.0 -- Thu Jan  2 16:59:49 PST 1997  Tim Mann
+
+Thanks to Frank McIngvale for much of the work on versions 3.4.4 and above!
+
+* Fix Crafty resumed game time bug (frankm)
+
+* Word wrap text in Analysis window (frankm)
+
+* More debug info for XPM loading (frankm)
+
+* Replaced config.sub, config.guess, etc., with up-to-date versions from
+autoconf 2.12.  Hopefully this will fix problems on Pentium Pro machines.
+
+* Removed some Makefile gunk that was causing looping for one person.
+
+3.4.7 -- Thu Dec 19 14:22:41 PST 1996  Tim Mann
+
+All changes from Frank:
+
+* Retrieve ratings from ICC (and FICS, etc., when they add the Creating:
+message), save them in the PGN tags, and pass them to Crafty in Zippy mode.
+
+* Add settable time delay between characters in ICS login script.
+
+* Colorize messages like personal tells.  Fix false recognition of channel
+tells.
+
+* Pass "tells" from Crafty through to ICS (in Zippy mode).
+
+* Implement ~/ filename convention from C shell for game and position file
+names.
+
+* ZIPPYACCEPTONLY feature for testing.
+
+3.4, patchlevel 6 -- Sat Nov 23 16:58:50 PST 1996  Tim Mann
+
+* Put recognition of "illegal move" messages from Crafty for
+illegal castling, etc., inside an #if that is currently turned off,
+because of a bug in Crafty that generates bogus "illegal move" messages
+after some moves that are actually legal and accepted by Crafty.
+
+* Added -checkLegality option; previously this could not be turned off.
+
+* Fixed an old bug in finding default board size parameters.
+
+* Differentiated among channel tell, kibitz/whisper, and personal tell/say.
+
+* Fixed a bug in detecting Xpm in the configure script.
+
+3.4, patchlevel 5 -- Mon Nov 18 16:22:53 PST 1996  Tim Mann
+
+* Added zic2xpm to the kit; it had been omitted by mistake.
+
+* Added some default colors for -colorize
+
+3.4, patchlevel 4 -- Sat Nov 16 18:10:17 PST 1996  Tim Mann
+
+This is meant to be a beta release in preparation for version 3.5.
+
+* Added InfoXBoard and ManXBoard to the Help menu.
+
+* Made Frank's ICS input box optional, defaulting to off.
+
+* Merged in Frank McIngvale's XbKit.  Many new features, including
+-clickClick mode, the Analysis modes, piece flashing, ZIICS import,
+ICS text colorization, and the ICS input box.  Many thanks to Frank for
+supplying and documenting this code.
+
+3.4, patchlevel 3 -- Mon Nov 11 18:23:14 PST 1996  Tim Mann
+
+Small set of changes made while Frank McIngvale was working on XbKit in
+parallel.  Unreleased in this form.
+
+* Updated zippy.README.
+
+* Removed useless X event handler and removed strange code for copying
+form translation table to board that worked around the bug it caused.
+This makes changing bindings in .Xdefaults more straightforward.
+
+* Now pressing the Control key steps back one move, and releasing it steps
+forward again.
+
+* Moved quit from "q" to "Q" for greater safety.
+
+* Use "unobserve" instead of "observe" to stop observing; needed on FICS.
+
+* Support for interface variable.
+
+* Strip titles from people who are talking to us, so (for example) Zippy
+won't try things like "tell Darooha(*) hello".  Needed on FICS.
+
+3.4, patchlevel 2 -- Tue Jul  9 19:06:42 PDT 1996  Tim Mann
+
+This patchlevel is not planned to be an announced release.  It's in
+preparation for integrating Frank McIngvale's XbKit.  It mostly contains
+minor fixes I've accumulated since 3.4.pl1.
+
+* WinBoard /telnet option now fires up an external program, as
+with xboard, instead of trying to use a feature of NT 3.1 that does not
+exist in later versions of NT or in Windows 95.  ChangeLog for 3.4.pl1
+said this had been implemented there, but it really wasn't.
+
+* Indicating player to move by the icon color now works under Windows 95.
+
+* WinBoard now kills the chess program when you exit using the system menu
+or the [X] button.  Thanks to Michael Lowe.
+
+* Minor changes to Zippy, including: Now understands wild challenges on
+FICS; these used to crash it.  Removed limit on how fast a game will be
+accepted.  Use "set formula ..." on the chess server to limit this if you
+are using GNU Chess.  Now sends correct opponent name to Crafty.
+
+* Added some missing default values to documentation.  Thanks to Stuart
+Cracraft.
+
+* Bugfix: Trying to print "No fonts match pattern" error message would
+crash.  This can happen to Linux users who don't install Helvetica, for
+example. 
+
+* Bugfix: Defaulting feature in -size n,n,n,n,n,n would put us in an
+infinite loop.
+
+* Added more directories to search for Athena widgets on HPUX.
+
+* New cmail (3.12) from Evan Welsh; includes small fix from Kayvan Sylvan.
+
+* Recognize "illegal move" messages from Crafty for illegal castling, etc.
+
+* Bugfix: "name" command added to zippy.c for Crafty was producing error
+message if GNU Chess was in use.
+
+* In bughouse mode, suppress holding messages from console window; show
+holdings only in banner.
+
+* Minor fixes/cleanup to Makefile.in and configure.in.
+
+3.4, patchlevel 1 -- Mon Dec 11 13:43:12 PST 1995  Tim Mann
+
+* This patchlevel updates WinBoard to match xboard, and includes a few
+fixes and minor improvements.  "-size tiny" and "-size n,n,n,n,n,n"
+are still not implemented for WinBoard.
+
+* Installed support for Crafty based on code from Bob Hyatt.
+Currently the only documentation for this is in the FAQ, and a few
+things don't work with Crafty 8.23.  Please do not report these
+problems as bugs in either xboard or Crafty.  Bob and I know about
+them.  The worst ones (if not all of them) should be fixed in Crafty
+8.24.
+
+* Changed the kludge command we send when gnuchess wants to print
+something that doesn't end with a newline, from "help" to "bogus".
+This works because the error message gnuchess prints ends with a
+newline.  It also improves compatibility with Crafty, which doesn't
+need the kludge, but for which sending "help" causes a problem.
+
+* Don't draw grid at all if lineGap is 0; previously we drew the grid
+with X "0-width" lines (usually 1 pixel wide) and then overwrote it.
+
+* Makefile: Removed xboard.info from "all" target so we won't try to
+rebuild it, because this fails on hosts that don't have makeinfo
+installed.  Other minor fixes to "clean" targets, etc.
+
+* Fixes and cleanup to Auto Comment code that handles continuation
+lines and highlighting.
+
+* Auto Observe now tries to observe the game from the point of view of
+the player who was on your gnotify list.  Requested by rng.
+Limitations: We can't tell which player it was unless you have ICS
+highlighting turned on.  Also, currently "observe foo" works as
+required (observing from foo's point of view) only on ICC, but FICS
+will probably implement this soon.
+
+* "-size tiny" now makes the default font smaller automatically.  This
+was implemented by introducing an extra Form widget in the hierarchy
+for all xboard windows, named either normalLayout, smallLayout, or
+tinyLayout.  So you can have resource specifications that apply only
+to certain layouts; in particular, XBoard*tinyLayout*font.
+
+* Bug fix: EditGame or EditPosition while playing or examining still was
+not really being permitted.
+
+* WinBoard bug fix: On the EditPosition menu, King did not work.
+
+* Added text catalog of WinSock error messages to WinBoard, because
+Microsoft still has not put them in the system message catalog.
+
+* Removed support for older ICS game-ending messages that do not have
+a PGN result token (*, 0-1, 1-0, or 1/2-1/2) after the closing '}'.
+The code for older messages was sometimes firing on the newer
+messages, due to parsing ambiguity.  If the current code sees an old
+message, it will understand that the game is over, but will always
+display * as a result token instead of trying to guess the result by
+interpreting the text message.
+
+3.4, patchlevel 0 -- Tue Nov 21 01:02:50 PST 1995  Tim Mann
+
+* This patchlevel was released for xboard only.
+
+* Updated the info file.  It should now be as up-to-date as the man page,
+with good English except in the parts that pertain only to AmyBoard.
+
+* Added "-size tiny", requested by Bob Hyatt.  Also cleaned up bitmap
+support and added "-size n,n,n,n,n,n" to allow arbitrary-sized bitmaps,
+if the actual bitmaps are supplied by the user.
+
+* Updated bughouse support.
+
+3.3, patchlevel 4 -- Sat Nov 18 02:27:21 PST 1995  Tim Mann
+
+* Unreleased beta that works with preliminary FICS bughouse code.  Will
+need changes before release to track FICS message changes.
+
+* Removed use of .EX macro from man page.  It is not supported by some
+nroff -man macro packages, notably the one on Slackware Linux.  Switched
+to boldface for references to xboard and other commands within the man
+page, as this seems to be the modern way.
+
+* Bug fix: If ICS rejected a move, it was correctly undone on the board,
+but the message widget still displayed the bad move.  Reported by DAV.
+
+* Normally, xboard in ICS mode fetches the move list whenever the board
+display switches to a new game.  Doing this is now an option
+(getMoveList) that can be turned off, which is useful if you are watching
+multiple blitz games.  Requested by rng.
+
+* Move list fetching code is now smarter: it ignores a move list if it is
+not for the right game.
+
+* Added support for bughouse as implemented on FICS.  Holdings are shown
+in the window title in place of the strength numbers.  A menu on mouse
+buttons 2 and 3 (same on both) lets you drop pieces.  There is no checking
+as to whether you actually hold the piece you are trying to drop; we rely
+on ICS to check that.  Notation of the form P@f7 is generated and parsed.
+The mate detector does not understand that non-contact mate is not really
+mate in bughouse, but this does no real harm.  It results in a "#"
+suffix being displayed on the move notation, but xboard does not assume the
+game is over.
+
+* Bug fix: Promotion to a knight was not working with ICC!  Thanks to
+Wendigo for the report.
+
+* Bug fix: Special pty code for host types *-*-aix3* and *-*-irix3*
+(supplied from configure.in) had a bug that would cause childio.c to
+fail to compile, due to a "continue" that was not within a loop.
+
+* Bug fix: In pgntags.c, memory was being freed while still in use.  One
+symptom this caused was that on some machines, cmail would fail with a
+message that it could not find the BlackNA tag.  The error was in some
+submitted code that I included in version 3.2.pl3 without reading
+carefully enough.  Anders Forberg noticed the symptoms, and Evan Welsh
+(who had nothing to do with causing the bug) found the bug and submitted a
+fix; thanks to them both.
+
+* Removed restriction against using EditGame while playing, observing,
+or examining on ICS.  You still get a warning popup.
+
+3.3, patchlevel 3 -- Sat Sep 16 11:44:05 PDT 1995  Tim Mann
+
+* Bug fix: Going directly from MachineWhite to TwoMachines mode would kill
+off the second chess program after Black's first move.
+
+* Added -timeIncrement feature.  Thanks to Joel Rivat.
+
+* Deleted code that tries to keep you from observing more than one game,
+or observing while playing or examining.  There is actually no problem in
+doing this, except that every time an update comes in from a different
+game than is currently being displayed, xboard fetches the history of the
+new game, which may be time-consuming if you are on a slow link.
+
+* Fixed configure so as not to crash when neither lex nor flex is found.
+lex or flex is needed only if the user wants to rebuild parser.c.  Thanks
+to Phil Humpherys for reporting the crash.
+
+* Bug fix: config.h.in used #define instead of #undef for some macros used
+in the pty code in childio.c.  This causes the code to fail to compile on
+some architectures, because the symbols are supposed to be undefined, not
+defined to empty, when they are not set in configure.  Bug originated in
+3.3.pl0 when config.h was introduced.  Thanks to Phil Humpherys for report.
+
+* Bug fix: ShowThinking would not show anything when current position had
+no move to display in the move window.  E.g., if position was created by
+LoadPosition or EditPosition.
+
+3.3, patchlevel 2 -- Mon Aug 28 11:11:11 PDT 1995  Tim Mann
+
+* Zippy code was omitted from xboard-3.3.pl1 by mistake; now included.
+
+* For WinBoard, added hint to help file that you may need to turn off
+LocalLineEditing while typing dialing commands to your modem.
+
+3.3, patchlevel 1 -- Sat Aug 19 15:13:30 PDT 1995  Tim Mann
+
+* Zippy distribution is no longer separate from regular xboard distribution.
+
+* Deal properly with Show Thinking output from GNU Chess when it is
+thinking on its opponent's time.  In TwoMachines mode this output is
+suppressed to avoid interfering with the output from the machine that is
+on move; in other modes it is displayed (including the move that GNU Chess
+is predicting the user will make next).  GNU Chess produces this output
+only if it is built without -DQUIETBACKGROUND defined; this symbol is
+defined by default in patchlevels before pl75, but undefined by default in
+pl75.
+
+* Bug fix: Handling of initial board position in move list for wild games
+was broken, so wild games could not be observed and adjourned wild games
+could not be continued.  Thanks to "Maximum Entropy" for the bug report.
+
+* Added feature: algebraic notation now shows "+" indicator for check
+and "#" for checkmate, as called for in PGN standard.  Thanks to Kevin
+Maher for the suggestion.
+
+3.3, patchlevel 0 -- Thu Jul 27 22:21:07 PDT 1995  Tim Mann
+
+* Changed configuration to use a config.h file instead of passing zillions
+of -D options on the cc command line.
+
+* Merged a small fix and some updates to the texinfo file from Jochen
+Wiedmann.  The texinfo file still needs work.
+
+3.2, patchlevel 5 -- Tue Jul 18 20:29:39 PDT 1995  Tim Mann
+
+* Beta test release of xboard only.
+
+* Updated WinBoard code to include new xboard features.
+
+* Added texinfo file from Jochen Wiedmann to the release, but not as the
+primary documentation.  It needs updating, and the English needs work.
+I did make a few improvements, mostly to change incorrect uses of @var to
+either @samp or @code as appropriate.
+
+* Merged in code changes to 3.2.pl4beta from Jochen Wiedmann.
+
+* Fixed EditComment; did not pop up window in previous beta.
+
+* Added AutoComment feature.
+
+* Added GameListDestroy to disable the outdated game list popup in cases
+where we load a new game file without building a new popup.
+
+* Added yyskipmoves feature to parser.l to speed up building of gamelist.
+
+* gamelist.c wouldn't compile with a non-ANSI compiler.  Fixed.
+
+* Change to yy_text handling in patchlevel 3 still had problems.  Can't
+use AC_DECL_YYTEXT in configure.in, because that defines YYTEXT_POINTER
+according to whether the lexer on the current host makes yytext a pointer.
+But most people will be using a parser.c that was generated on another
+host and shipped with the package.
+
+3.2, patchlevel 4 -- Sun Jun 25 19:13:43 PDT 1995  Tim Mann
+
+* Beta test release of xboard only.  
+
+* Added FIREWALLS section to man page.
+
+* Changed -icsport to be a string.  Now with the -telnet option,
+specifying -icsport "" suppresses the second argument to telnet.
+
+* Added EditTags feature.  Removed AboutGame from menu, because EditTags
+subsumes it.  EditTags suggested by Jochen Wiedmann and first implemented by
+him in AmyBoard.  xboard implementation is my own.
+
+* Fixed some missing or incorrect prototypes.
+
+3.2, patchlevel 3 -- Sat Jun  3 18:57:38 1995  Tim Mann 
+
+* Beta test release of xboard only.  
+
+* New version of cmail from Evan Welsh, to fix compatibility problems with
+perl 5.0.
+
+* Added game list feature on Load Game, based on code from Jochen
+Wiedmann.  Integrated it with cmail.
+
+* Several bug fixes from Jochen Wiedmann, including one to my yy_text
+workaround for the difference in the type of yytext between lex and flex.
+
+* Handle clock pause on FICS.
+
+* Suppress clocks in untimed FICS games (time control 0 0).
+
+* Rebuilt configure script with autoconf 2.3.  This fixes a bug in
+configuring for X11R6, where -lSM -lICE would not be added when needed.
+
+* Fixed inconsistent type declarations on IntSigHandler and
+CmailSigHandler.  Bug report from Josh Daynard.
+
+* backend.c wouldn't compile with a non-ANSI compiler.  Fixed.
+
+3.2, patchlevel 2 -- Tue Feb  7 14:50:30 1995  Tim Mann 
+
+* Minor release of both xboard and WinBoard.
+
+* Added recognition of some FICS messages.  On the other hand FICS is also
+changing some of its messages to match what xboard already recognizes.
+
+* Temporarily went back to using "promote" command on ICS instead of
+"a7a8=Q", because FICS doesn't implement the latter yet.
+
+* We now avoid using overlapped I/O on pipes in WinBoard, to make Windows
+95 beta 2 happy.  This lets WinBoard work with GNU Chess on Windows 95!
+
+* Installed patches from Jochen Wiedmann to coordinate with Amiga XBoard.
+
+* Installed patch to cmail bug in LoadGame from Evan Welsh.
+
+* Bugfix: checkmate and stalemate moves entered with EditGame in ICS mode
+were not being handled correctly.  Bug was in GameEnds().
+
+* Implemented EchoOn and EchoOff for xboard, using system("stty echo\n").
+Now passwords won't be echoed when you connect directly to ICS.  Also,
+telnet negotiation characters aren't displayed (when possible).
+
+* Implemented more of the telnet protocol.  Now connecting to a telnet
+server with "-icsport 23" should work even without giving the -telnet
+option.  The telnet is in "old line-by-line mode".
+
+3.2, patchlevel 1 -- Sat Dec 10 13:50:46 1994  Tim Mann 
+
+* This patchlevel released for WinBoard only.
+
+* winboard.c: Fixed ConsoleInputThread().  Needed to change CRLF to LF,
+not to CR.  This was stopping normal /ics mode from working.  Thanks to
+Asher Kobin for the bug report.
+
+* winboard.c: Fixed Raw(), EchoOn(), EchoOff().  Now they take effect
+immediately, not on the next console read after the one in progress.
+
+* winboard.c: Attempted to make WinBoard work with gnuchessx running
+directly on Windows (not remotely via rsh).  It now works on NT, but only
+if gnuchess is told not to think on its opponent's time ("easy\n" removed
+from initString).  The problem seems to be that GenerateConsoleCtrlEvent
+is not doing anything.  On Windows 95 beta 2, we get error messages on
+both reading and writing to gnuchessx; I didn't investigate why.
+
+3.2, patchlevel 0 -- Wed Dec  7 13:23:36 1994  Tim Mann 
+
+* Thanks to all the beta testers who gave me feedback: Josef Nelissen,
+Steve Booth, Evan Welsh, Dima Dakhnovsky, Chris Petroff, Peter Jansen,
+Derek Terveer, Michel van der List, Richard Lloyd, Shelly Mistry, and Mike
+Lee.  Sorry if I forgot anyone.  Thanks to Virendra Kumar Mehta for
+information about DYNIX/ptx.
+
+* Don't exit on keyboard EOF unless we get two in a row.
+
+* WinBoard only: added -localLineEdit switch to allow turning off local
+line editing if you really want to.  It is still a bad idea to let the
+echoing be done remotely, however; see below.
+
+* Fixed some configure problems on HP-UX.  [Steve Booth]
+
+* Fixed (I hope) configure problem on SunOS 5.3/Solaris 2.3.  [Josef Nelissen]
+
+* cmail bugfix from Evan Welsh (cmail 3.4).
+
+3.1, patchlevel 9 -- Fri Dec  2 23:54:56 1994  Tim Mann 
+
+* Beta distribution only
+
+* Always do local echo/edit of user typing in ICS mode.  Doing the echo
+downstream may seem nicer in some modes, and it can be hard to turn that
+echo off, but the echoed characters can be interleaved with ICS output
+and make it impossible to parse correctly.  For xboard this involved only
+a change to recommendations in the man page, as Raw() isn't implemented.
+For WinBoard, removing Raw() made a real difference.  Added code in 
+WinBoard to change /r/n back into /r on keyboard input, as we get the 
+former when Raw() is not called.
+
+* Do not issue ICS "refresh" command after we start to observe a game
+unless we get to the next prompt without seeing a board image.  Newest
+version of ICS doesn't require this refresh, but old versions around still
+do.
+
+* cmail bugfix and small code cleanup in LoadGame, from Evan Welsh.
+
+* Added keyboard accelerators N/P for LoadNextGame/LoadPreviousGame.  Evan
+Welsh request.
+
+* Using "-" on the command line as a filename for loading (saving) games
+or positions specifies the standard input (standard output).  Alain Picard
+suggestion.
+
+* On WinBoard only, a command line option without a leading '-' or '/' is
+now taken as the value of -lgf.
+
+* Changed to not use stdin, stdout, stderr as initializers in backend.c;
+needed for GNU libc compatibility.  You also must build parser.c with flex
+(not lex) if you are using GNU libc, to avoid having the same problem
+there.
+
+* Changed WinBoard to avoid using "overlapped" input on the console.  It
+now seems to fully work on Windows 95 beta 2.
+
+* Improved comment popups on WinBoard.  Now newlines are handled properly,
+and the plain Comment popup window doesn't disappear and reappear when we
+step to a new move with a new comment.
+
+* Fixed bugs in detecting the absence of the time and otim commands.
+
+* Added built-in implementation of rcmd protocol to WinBoard.  Windows NT
+does not implement passing signals through rsh, and Windows 95 does not
+have rsh at all.
+
+* Added -remoteUser option.
+
+3.1, patchlevel 8 -- Mon Nov 28 15:26:07 1994  Tim Mann 
+
+* Beta distribution only
+
+* Rearranged ChangeLog file into reverse chronological order to be closer
+to GNU standards.
+
+* Integrated new cmail code from Evan Welsh (including cmail RCS rev 3.2).
+Includes a bug fix to TruncateGame.
+
+* Updated ICS address to be chess.lm.com.
+
+* Bug fixes to handling the aftermath of FatalError.  Thanks to Chris
+Petroff for the bug report.
+
+* Test for remsh before rsh, other fixes for HP-UX.  Thanks to Richard
+Lloyd.  I wasn't able to do all the things he suggested, so there may
+still be some rough edges in building on HP-UX.  See the FAQ file for hints.
+
+* Bug fix; added missing check for HAVE_SYS_SYSTEMINFO.  Thanks to Josef
+Nelissen for testing on Solaris 2.x.
+
+* Updated WinBoard to match xboard.  (WinBoard still has a few option
+dialogs that don't exist in xboard.)
+
+* Changed Hint output to a popup.
+
+* ShowThinking output and move output no longer overwrite each other.
+ShowThinking output won't appear if the displayed position is not current. 
+ShowThinking output in TwoMachines mode made clearer and documented.
+
+* Implemented --enable-ptys and --disable-ptys arguments to configure.
+
+* Fixed Book and Hint code to work over a pty with echo enabled and tabs
+expanded to spaces.  Thanks to Dima Dahknovsky for the bug report.
+
+* Moved Attention calls from all over xboard to one place, inside
+SendToProgram.
+
+* Added bulletproofing to ShowThinkingEvent.
+
+* Added code to handle "refresh N" boards that come in from ICS properly,
+assuming ICS is changed to mark them with a new relation code (-3).
+
+3.1, patchlevel 7 -- Sun Nov 13 22:16:01 PST 1994 -- Tim Mann
+
+* Beta distribution only
+
+* Changed ShowThinking to just show the current best line in the
+DisplayMessage area, instead of dumping everything to stdout.
+
+* Installed new cmail (RCS rev 3.1) and cmail.man (RCS rev 1.10), and
+changes to cmail code in backend.c, from Evan Welsh.
+
+* Miscellaneous minor fixes.
+
+3.1, patchlevel 6 -- Fri Nov  4 12:53:53 PST 1994 -- Tim Mann
+
+* This patchlevel was not actually released to anyone.
+
+* Updated the pty code to be based on GNU Emacs 19.24, and moved it to a
+separate file.  It was hard to split out just the pty configuration from
+all the stuff emacs does with its custom configure script and .h files,
+but I did my best.
+
+* Converted from imake to GNU autoconf.  This was a serious upheaval.  
+
+* Put in code to help trap "error gathering move list" problem reported by
+Michel van der List if it recurs.  I couldn't reproduce it.
+
+3.1, patchlevel 5 -- Mon Oct 31 21:12:00 PST 1994 -- Tim Mann
+
+* Beta distribution only.
+
+* We now test for checkmate or stalemate in EditGame mode after every user
+move, and in LoadGame mode whenever we hit the end of a game without
+seeing a PGN end marker.  cmail needs an update to deal with this
+correctly; Evan promises one.
+
+* Bugfixes in new move generator.  Thanks to Mike Lee for reporting one of
+the bugs.
+
+* Imakefile was omitted from patchlevel 4.
+
+3.1, patchlevel 4 -- Mon Sep 19 18:19:46 PDT 1994 -- Tim Mann
+
+* Beta distribution only.
+
+* The move generator includes a mate tester.  Initially this is used only
+by cmail, and even that usage needs further work.
+
+* Wrote a true move generator and used it to replace all the move
+disambiguation and legality checking code in parser.l.  The move generator
+is capable of dealing correctly with en passant and castling availability,
+but the rest of the program still does not keep track of this information.
+
+* Bug fix: xboard did not handle "foo has made you an examiner of game 23"
+message.  Thus you could not use examine features until the next board
+came in, showing your new relation to the game.  Thanks to POOKIEWOOKIE on ICS
+for the bug report.
+
+* Added AutoObserve feature.  Thanks to Chris Petroff for the idea.
+
+* Added Book feature to use new gnuchess "bk" command.  Mike McGann request.
+
+* Redid code to handle missing "time" command in gnuchess, because latest
+gnuchess no longer sends a response to this command.  
+
+* Eliminated need for -DFLEX.  Thanks to Michael Shields (Vladimir?) for
+the idea.
+
+* Added missing code to implement MoveNow in TwoMachines mode.
+
+* Added ShowThinking feature.  Thanks to Richard Lloyd for the idea.
+
+* Applied patches from Evan Welsh; some fixes and improvements to the
+cmail code.
+
+* Fixed bug in moving from EndOfGame mode to MachineWhite or MachineBlack,
+introduced in previous patchlevel.  Also fixed related bug in ending a
+game in ICS mode; was entering EndOfGame mode instead of IcsIdle.
+
+* Added patch to implement internetChessServerLogonScript flag, from Kevin
+O'Connor.  Thanks!
+
+3.1, patchlevel 3 -- Wed Sep  7 13:22:07 PDT 1994 -- Tim Mann
+
+* Beta distribution only.
+
+* Merged in new cmail code from Evan Welsh.  He added the ability to have
+more than one game per message, needed for official IECG matches.  I added
+the ability to resign or offer/accept/decline a draw in a cmail game.
+
+* Bugfix: invalid -tc option caused segmentation fault; DisplayFatalError
+was called too early in initialization.  Georges Honore reported this bug.
+
+* Decided to keep EndOfGame mode as an element of the user interface---it
+means that a gnuchess game or loaded game has ended, and the user must
+explicitly select EditGame to edit it, rather than just being able to
+enter more moves freely.  But internally there is no longer an invariant
+tying this mode to whether the chess program is running.
+
+* Zippy bugfix: Was saving only the final position in the -sgf file when
+the game ended by something other than resignation or flag.  Also fixed
+the longstanding bug that Zippy would think the final board of such a game
+was a new game and restart the chess program.
+
+* Now does a better job of faking castling availability in FEN.  We still
+don't really keep track of it, but now at least we don't say that castling
+is still available when the king or rook is not on its home square.
+
+* Bugfix: Initial board of game history for wild games was going through
+too much processing, causing us to forget the game length, which is now
+needed by ParseGameHistory.  This was causing problems with resuming
+adjourned wild games.
+
+* Updated ICS host to ics.onenet.net.
+
+* Zippy now accepts challenges where the opponent specified his color.
+
+* Added ZIPPYPASSWORD2 to let operator give commands directly to gnuchess.
+
+* Bitmap directory can include alternative icons now, too.
+
+* Handle "Game * (*) has no examiners" message from ICS.
+
+* Revamped window title and icon name selection.
+
+3.1, patchlevel 2 -- Sun Jun 12 17:16:28 PDT 1994 -- Tim Mann
+
+* "Beta" distribution for Zippy users only.
+
+* Bugfix: common.h was assuming that X11 type Boolean is char, which is
+not always true.  This might have caused all sorts of obscure bugs!
+
+* Installed new bitmaps from Elmar Bartel as the default.  Many thanks!
+The old bitmaps can be used by changing the "bitmaps" symbolic link before
+compiling xboard, or by using the -bitmapDirectory option at runtime.
+
+* Loading a game that ends with the PGN unfinished symbol ("*") now always
+leaves you in EditGame mode.
+
+* Added documentation of -icscomm to man page.  Thanks to Maarten Remkes
+for the linux script.
+
+* ^C now kills gnuchess as well as xboard.  Thanks to Dima Dakhnovsky for
+reminding me how to do this.
+
+* Bitmap icon color now indicates player to move.  Stuart Cracraft
+suggestion.
+
+* Changed piece bitmap flags to have just one flag, which points to a
+directory full of bitmaps, instead of a flag for each bitmap.  Also
+changed bitmap naming convention.
+
+* "Connection closed by ICS" is no longer a FatalError popup.  This was
+too annoying in the normal case where the user typed "quit".
+
+* Changed default font to 14 pixels instead of 10 points.  This seems to
+make it close to the size I want it to be on more displays.
+
+* Major mode (GNU Chess, etc.) appears in title bar.  Stuart Cracraft
+request.
+
+* Bug fix: EditGameEvent, MachineBlackEvent, MachineWhiteEvent, and
+TwoMachinesEvent were calling PauseEvent to get out of pause mode, which
+now has undesired side effects, such as advancing the display to the
+forwardMostMove.  It works fine to just set pausing = FALSE instead.
+
+* IcsExamining mode now lets you access ICS edit position commands using
+the same popup menus as xboard's EditPosition mode.  Thanks to DAV on ICS
+for inspiring the idea.
+
+* Corrected test for gcc on HP in Imakefile; thanks to Richard Lloyd.
+
+3.1, patchlevel 1 -- Wed Jun  1 16:25:11 PDT 1994 -- Tim Mann
+
+* Added parser.c.lex and parser.c.flex to the distribution.
+
+* Added HP gcc options to Imakefile, from Mats Nylen.
+
+* EndOfGame mode no longer highlights EditGame mode indicator, because the
+modes really do differ.  I would like to get rid of EndOfGame mode in the
+future, at least as far as users can see.
+
+* Larger %a in parser.l, needed for RS/6000 users.
+
+* Minor improvements to Mail Move error messages.
+
+* When -debug flag is given to xboard, -v is passed to cmail.
+
+* Old Save Style uses "1. ..." instead of "1..." when black moves after a
+comment; more like xboard 3.0's actual style.
+
+* New version of cmail from Evan Welsh.  Looks for UCB Mail in a more
+portable way and has some minor bug fixes.
+
+* Bug fix: Saving a FEN position while in EditPosition mode with black to
+play was showing white to play in the saved position.
+
+3.1, patchlevel 0 -- Fri May 20 16:36:15 PDT 1994 -- Tim Mann
+
+* This is the first general release since 3.0, patchlevel 9.  Releases
+since then have been limited-distribution or beta releases.
+
+* Thanks to my version 3.1 beta testers: Dmitry Dakhnovsky, Ed Hanway,
+Richard Lloyd, Mike McGann, Shelly Mistry, Josef Nelissen, Chris Petroff,
+Jack Robertson, Michel van der List, Ky Macpherson, Derek Terveer, and
+Evan Welsh.  Sorry if I've forgotten anyone who gave me feedback.
+
+* Updated man page.
+
+* Minor cleanup on menu sensitivity code.
+
+* Integrated another even better version of cmail from Evan Welsh,
+including some code he supplied in xboard itself.
+
+* A few more fixes to cmail support.
+
+* Automatically update clocks after an ICS "moretime" command.
+
+* Handle ICS automatic examine mode (set examine 1) after a game.
+
+3.0, patchlevel 14 -- Tue May 17 13:41:44 PDT 1994 -- Tim Mann
+
+* Beta test release only.
+
+* Don't suppress prompt on first board of game being examined; otherwise
+it looks like nothing happened at all (i.e., like you're lagged).
+
+* Added StopExamining and StopObserving (Chris Petroff suggestion).
+
+* Made Reset do a refresh on ICS.  John Chanak's original ICS code for
+xboard tried to do this; I finally decided it was a good idea after all.
+
+* Fixed bugs in handling updates that come in while you are pausing in
+examine mode.  This is pretty tricky to do right.
+
+* Made un-Pausing immediately pop you to the current position.  This is
+always necessary in examine mode, since the game may have changed under
+you; your remembered moves might no longer be right.  So I made it do the
+same in all modes.
+
+* Took Detach Examine mode back out...used Pause mode for this instead!
+
+* Put in a trap for the GNU Chess bug of printing an Illegal Move message
+when its own hint move is illegal.
+
+* Attempted to fix a Zippy bug; bogus "exited unexpectedly" messages after
+it checkmates its opponent.  This involved adding an argument to GameEnds
+to say who says it ended (ICS, GNU, etc.)  and taking different actions in
+different cases.  Unfortunately, this just restored an older Zippy bug, where
+Zippy restarts gnuchess when it gets the board with the final position,
+because GameEnds still puts xboard in EndOfGame mode.  Sigh.
+
+* We now capture elapsed time on last move when getting game history.
+(Josef Nelissen bug report)
+
+* Rewrote code to redisplay last file title so it really works.
+
+* Fixed bug in oldSaveStyle.
+
+* Larger %a and %o were needed for lex.
+
+3.0, patchlevel 13 -- Mon May 16 16:26:22 PDT 1994 -- Tim Mann
+
+* Beta test release only.
+
+* FatalError popups stay on the screen now.  If the error is really fatal,
+all functions are disabled, and the program exits when you press OK.
+
+* Redisplay last file title when using Load (Next/Previous/Same) Game.
+
+* Zippy understands new match challenge message format on ICS.
+
+* Added Revert command.
+
+* When examining a game on ICS, < > buttons do ICS backward/forward
+commands, unless you set the Detach Examine option.  Thanks to Dima
+Dakhnovsky for the idea.
+
+* Fixed various minor problems in cmail mode.
+
+* cmail generates the tags now.  New version of cmail from Evan Welsh.
+
+* cmail mode won't let you do MailMove unless the currently displayed
+position is exactly one move past the end of the game you loaded.
+
+* Fixed building of man pages in Imakefile
+
+* Updates to INSTALL file
+
+3.0, patchlevel 12 -- Sat May  7 21:10:03 PDT 1994 -- Tim Mann 
+
+* Beta test release only.
+
+* Brought man page up to date.
+
+* Added Shift+R to resign from keyboard.
+
+* Some items on Action menu available in GNU Chess mode now.
+
+* Revamped Action menu.
+
+* Reordered functions in backend.c as a small step toward reorganizing
+this whole mess.
+
+* Generate TimeControl PGN tag.
+
+* Get type of ICS game (e.g., rated blitz) and save in PGN tags.
+
+* Bug fix: Clocks were not redisplayed when entering EditGame mode.
+
+* Bug fix: Clocks were not being redisplayed after loading a game file
+with -td 0, so they could show the wrong color active.
+
+* Bug fix: Chess programs would be killed and match mode would exit
+prematurely when loading a PGN game fragment ending with "*".
+
+* ICS command "sposition" no longer confuses xboard.
+
+* Integrated new version of cmail (with support code in xboard) from Evan
+Welsh.
+
+* Added TruncateGame, MoveNow, RetractMove, and QuietPlay.
+
+* Bug fix: switching between MachineWhite and MachineBlack was not calling
+Attention().  Reported by Dino Dini.
+
+* More improvements to INSTALL and Imakefile.
+
+* Pack moves into 79 character lines in PGN output.  We don't generate
+check indications, and we always break the line before the result,
+so this is not quite PGN export format.
+
+* Use FEN tag in PGN.
+
+* Improved finding and counting of game starts in save files.
+
+* Negative position or game numbers in -lpi/-lgi mean to seek to that byte
+offset.  Hook for possible future features, not in man page.
+
+* Detect and handle absence of either "time" or "otim" commands in
+gnuchess.
+
+* Don't use "promote" command to ICS anymore.
+
+* Handle switching sides and taking back moves on FICS.
+
+* Handle flip state flag in style 12 board.
+
+* Handle examine mode on ICS.
+
+* Improved error popups for various kinds of illegal moves.
+
+* Suppress unasked-for hints from gnuchess (which it generates in post
+mode).
+
+* Load/save position functions use FEN.  Old style also supported.
+
+* Added detailed error messages if loading a bitmap file fails.
+
+* Small board has 2-pixel lines between squares instead of 3-pixel.
+
+* Added OldSaveStyle and AboutGame.
+
+* Renamed ForceMoves to EditGame.
+
+3.0, patchlevel 11 -- Tue Sep 21 15:25:36 PDT 1993 -- Tim Mann 
+
+* The following changes were present in xboard 3.0, patchlevel 11, but the
+first group did not make it into WinBoard 3.0 until later.  xboard
+3.0.pl11 was a limited-distribution release only, mostly to Zippy users.
+
+* Man page minor fixes.
+
+* Added a missing file close.
+
+* Removed automatic error popdown on Reset, which was destroying some
+error messages before they could be read.
+
+* Fixed char vs. unsigned char warnings on bitmaps.
+
+* Use ICS board style 12.  Some improvements to ICS parsing.
+
+* Comment window is now labelled with the move the comment is on, and
+comments don't pop down when you step to the next move.
+
+* Save files now in PGN format.
+
+* Support for loading PGN files.  PGN tags pop up when a PGN game file
+is loaded.
+
+* More info in INSTALL and Imakefile about building for Suns (and
+other systems).
+
+* WinBoard 3.0 patchlevel 11 split off from an early version of xboard
+3.0 patchlevel 11, so it does not have all the features of that
+patchlevel.  The following changes made it into both xboard and
+WinBoard:
+
+* Made Comment dialog non-modal in WinBoard.
+
+* EndOfGame mode is now more transparent.  It looks like ForceMoves
+mode except that there is no chess program running.
+
+* Small bug fixes in clock management.  Most noticeably, pausing when
+it is gnuchess's move now works as documented (again).
+
+* Add minimal support for -icscomm option.  Not documented yet because
+I haven't sorted out the issues with setting the tty modes on the comm
+port device, or with locking it properly.  But it's usable by wizards.
+
+* Don't restart the chess program upon Backward event from EndOfGame mode.
+
+* Suppress extra prompt after ICS sends us a board.
+
+3.0, patchlevel 10 -- Sat Sep 11 18:44:03 PDT 1993 -- Tim Mann 
+
+* Beta test release only.
+
+* Zippy now plays chess.  zippy.c and zippy.h are still not included
+in the standard distribution, but are available on request.
+
+* Switched to using style 12 on ICS.
+
+* Updated man page, and documented use of XBoard*form.translations to
+add more shortcut keys.
+
+* Added shortcut keys "d" to claim/offer/accept a draw, and "t" to
+call flag.  Suggested by venu on ICS.
+
+* More explicit instructions in INSTALL file.
+
+3.0, patchlevel 9 -- Tue Sep  7 14:02:00 PDT 1993 -- Tim Mann
+
+* General release, minor update to 3.0.pl8.
+
+* Loosened checking on whether it's okay to start a move, to satisfy
+ICS ultra-blitz players.  Now we don't check whether it's your turn
+until you let go of the piece.
+
+* Parser now recognizes "+-+" as meaning the game ended in a draw.
+
+* Got rid of S_NONE symbol, which seems to conflict with some symbol
+Sun defines.
+
+* Tweaked the man page.  Clarified that there is currently no way for
+two people running copies of xboard to play each other without going
+through the Internet Chess Server.
+
+* Fixed a bug in color name conversion.  Asking for two different
+colors whose names were the same in the first four characters would
+get you two copies of the first one.  Thanks to Volker Zink for the
+bug report.
+
+* Improved confusing Usage() message.
+
+* Added a bunch of Sun information to the Imakefile and INSTALL file.
+Thanks to Ed Hanway, Arik Klingensmith, and others who responded.
+
+* Test for defined(WIN32) instead of !defined(unix).
+
+* Avoid using (void *) type with non-ANSI C compilers.  Thanks to
+James Altucher for the bug report.
+
+3.0, patchlevel 8 -- Thu Sep  2 12:23:01 PDT 1993 -- Tim Mann
+
+* Note: Patchlevel 8 was the first non-beta release of xboard 3.0
+
+* Added cmail to distribution.  Contributed (and still maintained) by
+Evan Welsh.
+
+* Bug fix: -queen option wasn't initializing menu check.  Reported by
+Pat Surry.
+
+3.0, patchlevel 7 -- Thu Aug 26 13:23:24 PDT 1993 -- Tim Mann
+
+* Sent WinBoard 3.0.pl7 to Torre on ICS
+
+* Added parser.h to hold the interface to parser.l
+
+* Upgraded COPYING file and copyright notices to GNU GPL version 2.
+
+3.0, patchlevel 6 -- Tue Aug 24 15:16:13 PDT 1993 -- Tim Mann
+
+* We no longer display intermediate positions or intermediate comments
+while loading a game file with -timeDelay 0 or loading an opening to
+start up a -matchMode game.
+
+* Loading an empty game from an xboard save file now gives a status
+message "No moves in game" instead of an error popup saying "Game not
+found in file."
+
+* Added comment.awk to distribution.
+
+3.0, patchlevel 5 -- Tue Aug 17 16:45:54 PDT 1993 -- Tim Mann
+
+* Bug fix:  xboard would crash if it couldn't get all its colors; now
+it switches to monoMode instead.  Also, xboard was trying to convert
+color resources even when using a b/w display.  Reported by Larry
+Rogers.
+
+* Bug fix: Declared fields of TimeMark as signed so that we get signed
+instead of unsigned arithmetic.  SubtractTimeMarks was breaking on
+Alpha AXP (which has 64-bit longs) with old declarations.  Reported by
+Michel van der List.
+
+* Bug fixes:  Keyboard accelerators now work after EditComment window is
+popped down.  Iconize keyboard accelerator now works even if xboard
+was started with -iconic flag and later deiconized.
+
+* Bug fix:  The routine that tests whether a move is illegal because it
+would leave you in check was not handling e.p. captures properly.
+Reported by Patrick Surry.
+
+* Bug (?) fix:  Was adding time to clocks at time control even when
+loading a game file.  Actually it's not entirely clear how time
+controls should be dealt with when some moves are loaded from a file
+or clicked in with ForceMoves.  For now ForceMoves mode does add the
+time (because it can be used to change moves during a live game), but
+LoadGame mode does not.
+
+* Updated usage message.
+
+* Previous attempted fix to matchMode had broken TwoMachines mode and
+generally needed more work.  Also simplified command line interface to
+matchMode.
+
+3.0, patchlevel 4 -- Thu Aug  5 14:17:18 PDT 1993 -- Tim Mann
+
+* Thanks again to the beta testers listed for 3.0 patchlevel 3, and also
+Desnogues, Steve Cariglia, Niklas Engsner, Mark Silver, and Roger Rowe.
+
+* Reorganized man page, splitting OPTIONS into subsections.
+
+* matchMode was very broken; fixed.
+
+* Changed convention for turning off command line options from --opt
+to -xopt, to be less inconsistent with GNU standards.  Also changed
+the long command line options to take True/False arguments like
+resources; seems to make more sense this way.
+
+* Added AlwaysQueen option -- suppresses promotion dialog and always
+promotes to a queen if you move a pawn to the last rank.  Has no
+effect on gnuchess (or your ICS opponents!) -- they can still
+underpromote.
+
+* Subtracted an extra fudge term when determining how wide message and
+title widgets should be.  This fixes a problem some beta testers had.
+Wish I knew why it's needed.
+
+* Bugfix in parser; symptom was that you couldn't do LoadGame after
+observing a game on ICS.
+
+* Bugfix in Forward; didn't work after game ended while Pause was turned on.
+
+* Removed bogus execute bits on .h files.
+
+* Use REMOTE_SHELL and TELNET_PROGRAM definitions.
+
+* MachineWhite and MachineBlack now work from TwoMachines mode.
+
+* Popping down an error message with the [ok] button was not turning off
+the errorUp flag, so the next move would cause xboard to try to pop it
+down again, resulting in a wild memory reference and sometimes a crash.
+
+3.0, patchlevel 3 -- Tue Aug  3 17:40:27 1993  -- Tim Mann
+
+* Thanks to my beta testers: Patrick Surry, Takuya Kojima, Robert J. Luoma,
+Chris L.  Petroff, Richard K. Lloyd, Michel van der List, Craig Metz,
+Antoon Frehe, Simon Clift, Shelly, Eric Peterson, Christopher Mitchell,
+Martin Koch, Ed Hanway, Steve Booth, Udo, Ken Hobday, and Joseph Duhamel.
+
+* Improved error messages for trying to move the wrong color pieces or
+to move when it's not your turn.
+
+* Special code for monoMode on 1-bit displays now understands displays
+where 1=white and 0=black.
+
+* Declare getenv() if <stdlib.h> not included; avoids a compiler warning.
+
+* Documented borderXoffset and borderYoffset.
+
+* Added -titleInWindow option for use with X window managers that
+don't let us set the title in the window banner.
+
+* Fixed error message printing in WinBoard; system error messages no
+longer appear as numeric codes.
+
+* The error message popup is now non-modal; you don't have to press the
+[ok] button before you can do something else.  In addition, the popup is
+positioned so that it doesn't cover up the board (too much), and making a
+move or otherwise clicking on the board pops it down.  (Not implemented in
+WinBoard.)
+
+* You can now call your opponent's flag in ICS mode by clicking on his
+clock. 
+
+* Fixed minor bugs in -flipView option and documented exactly how xboard
+decides which way to flip the view.
+
+3.0, patchlevel 2 -- Fri Jul 30 22:20:23 PDT 1993 -- Tim Mann
+
+* Added Autosave to Options menu.  Would be better to have Save
+Options dialog as in WinBoard, but this was quick to do and gives the
+most-needed functionality.
+
+* Changed "Reload Game" on menu to "Reload Same Game".
+
+3.0, patchlevel 1 -- Thu Jul  8 21:22:59 PDT 1993 -- Tim Mann
+
+* Sent a copy of patchlevel 1 to Patrick Surry to beta-test.
+
+* Added -cmail option that sets appData.cmailMode.  Currently a no-op.
+In the future this may set special modes for use by the cmail script
+for playing chess by email.
+
+* Added LoadNextGame, LoadPreviousGame, and ReloadGame to File menu.
+ReloadGame suggested by Patrick Surry.
+
+* Added -flipView command-line option.  Suggested by Patrick Surry.
+
+* Fixed bugs in parser.l:  (1) Pattern for "# xboard game file ..."
+needed to match to end of line.  (2) Start of a new file was not matching
+the ^ start-of-line character.  The fix for this is a kludge.
+
+* Made game counting code in LoadGame more robust, and made LoadGame
+able to detect the end of a saved partial game (by noticing the start
+of the next game) in game files created by XBoard itself.  We don't
+try to find the start of the next game that way in other kinds of game
+files, because the only way I can think of to do that is to look for
+another move #1, and that technique gets too many false hits.
+
+* Fixed recently introduced bug in LoadGame when game starts with a
+position diagram.
+
+3.0, patchlevel 0 -- Fri Jun 25 14:17:17 PDT 1993 -- Tim Mann
+
+* Changes in this patchlevel were too numerous to list.  Larger ones are
+listed below.
+
+* Added a popup dialog to enter and edit comments.  Inspired by some
+code from Patrick Surry.  Changed the normal read-only comment popup
+to the same style.
+
+* Added ICS init script feature from Karl Schwamb.
+
+* Added some ESIX fixes and OMIT_SOCKETS ifdef option, from Kayvan Sylvan.
+
+* Revamped code to allow use of flex instead of lex on parser.l.
+Using flex requires adding -DFLEX to defines in Imakefile.
+
+* Source code is split into front end (xboard.c), which knows about X
+and Unix, and back end (backend.c), which knows about chess, gnuchess,
+and the ICS.  There is also a front end for Windows NT.
+
+* Boolean command line options now use "-foo" to turn on and "--foo"
+to turn off instead of "-foo true" and "-foo false".  [Later -xfoo;
+see above.] 
+
+* Added menu commands to control autoflag, bell, and coords options.
+
+* User interface has a new look: (1) Menu bar instead of array of
+buttons.  A few very commonly used features have small buttons in
+addition to being on the menus. (2) Large font for clock.  (3) Pop-up
+dialogs for errors.
+
diff --git a/installer/WinBoard-4.2.7/Crafty-WinBoard/Crafty.rc b/installer/WinBoard-4.2.7/Crafty-WinBoard/Crafty.rc
new file mode 100644 (file)
index 0000000..4289d6d
--- /dev/null
@@ -0,0 +1,10 @@
+log off
+hash=48M
+hashp=8M
+learn=7
+ponder on
+swindle on
+resign 0
+book random 1
+book width 5
+exit
diff --git a/installer/WinBoard-4.2.7/Crafty-WinBoard/book.bin b/installer/WinBoard-4.2.7/Crafty-WinBoard/book.bin
new file mode 100644 (file)
index 0000000..4576599
Binary files /dev/null and b/installer/WinBoard-4.2.7/Crafty-WinBoard/book.bin differ
diff --git a/installer/WinBoard-4.2.7/Crafty-WinBoard/books.bin b/installer/WinBoard-4.2.7/Crafty-WinBoard/books.bin
new file mode 100644 (file)
index 0000000..f45cdf5
Binary files /dev/null and b/installer/WinBoard-4.2.7/Crafty-WinBoard/books.bin differ
diff --git a/installer/WinBoard-4.2.7/Crafty-WinBoard/crafty.doc.txt b/installer/WinBoard-4.2.7/Crafty-WinBoard/crafty.doc.txt
new file mode 100644 (file)
index 0000000..dda0725
--- /dev/null
@@ -0,0 +1,2112 @@
+
+
+
+
+
+
+
+         Crafty Command Documentation (version 18)
+      -----------------------------------------------
+Crafty  is nothing more than a long-time hobby of mine, dat-
+ing back to Blitz and later Cray Blitz.  People ask me how I
+keep doing this, and that is the one question that generally
+leaves me at a loss for words.
+
+Perhaps the most common question I'm asked is "is this  ver-
+sion  of Crafty some dumbed-down version of what you play on
+ICC or what you use at a computer chess event?"  The  answer
+is a resounding *NO*.  The current version is *exactly* what
+is running on ICC under this version number.   Note  that  a
+new  version  can, on occasion, introduce weaknesses or out-
+right bugs that were not present  in  previous  "gold"  ver-
+sions.   As  a result, you should be careful to back up your
+"favorite" before trying the latest and  greatest.   If  you
+aren't  satisfied with the new version, you can then go back
+to what you believe is a better version.
+
+If you are looking for the strongest playing computer  chess
+program  available,  you should likely look to Fritz, Rebel,
+Tiger, and the other commercial  entries.   There  you  will
+find  strong  opponents  with  polished interfaces that have
+been tested in a systematic and careful  way.   If  you  are
+looking  for  a program that plays good chess, has a reason-
+able set of features for you to use, is available in  source
+form,  and  one  where the author welcomes feedback, code or
+suggestions, then you are at the  right  place.   I  welcome
+comments  and  suggestions, and also feedback from ideas you
+try yourself that seem to work.
+
+Crafty is a state-of-the-art  computer  chess  program,  and
+uses  all  of  the  search algorithms you have probably read
+about, negascout search, killer/history move  ordering,  SEE
+(Static  Exchange  Evaluation)  quiescence move ordering and
+pruning, hash (transposition/refutation) tables as  well  as
+evaluation caches, selective extensions, recursive null-move
+search, and a host of other features that have been used and
+are  still  being  used in most computer chess programs.  If
+it's not in Crafty, either it is on the "to do" list, or  it
+has been tried, found wanting, and discarded.
+
+Chess Knowledge is growing, and suggestions (or even better,
+real code) are welcome.  This is  the  best  place  to  con-
+tribute  your  ideas,  because knowledge can be used to sup-
+plant search and make it play  better.   The  evaluation  is
+probably  the easiest place to start studying Crafty because
+of the comments and simplicity of using bitmaps, *once*  you
+get "into" them.
+
+My  purpose  for doing this is an exercise in computer chess
+efficiency.  I can't begin to count the number of  people  I
+know  that  started  from  scratch to write a chess program.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Even larger is the group that started from scratch, and gave
+up  before  finishing, because of the basic size of the pro-
+ject.
+
+Crafty offers everyone a very clean starting point,  if  you
+are  fascinated by the bitmap chess board implementation (as
+I  am).   The  search  and  quiescence  code  is  reasonably
+straightforward, as is the evaluation,
+
+It  offers a great starting point, so that if you are inter-
+ested in trying a new search extension, you can  be  testing
+tomorrow,  rather  than  next year, because you start with a
+fully functional chess engine that is not a  "toy"  applica-
+tion,  but is a functional and "dangerous" chess player.  It
+offers a rapid start, although you can certainly replace  it
+piece  by  piece  until  it is "yours" if you want.  It also
+offers a fairly complete set of commands  and  an  interface
+for  a GUI as well as support for chess server play, so that
+testing and debugging your new ideas is greatly  simplified.
+
+If you'd like more information, please check out the read.me
+document  and  the  crafty.FAQ  that  are  distributed  with
+Crafty.  These contain recent news and specific instructions
+for commonly asked  questions,  like  "where  can  I  obtain
+tablebase files and how do I use them?"
+                    How to play a game.
+                    -------------------
+When  you execute Crafty, you will immediately be greeted by
+the prompt string "white(1): " and Crafty will wait for com-
+mands.  This prompt means it is white on move, and we are at
+move #1 for white.  You can first use any  of  the  commands
+from the alphabetic command listing below to tailor the game
+to your liking (time control, hash table size, book  random-
+ness,  etc.)  and then you have two choices.  If you want to
+play white, just enter your move, and Crafty  will  take  it
+from  there  and  make a move in response.  You will then be
+prompted by "white(2):" and it is your move again.   If  you
+would prefer to play black, just enter either "move" or "go"
+at the prompt and crafty will move for that side rather than
+accepting  a  move  from  you.   After it makes its move for
+white, you will then see the prompt "black(1): "  indicating
+it is now time for blacks first move.  You can enter a move,
+or you can once again enter "move" or "go" and  Crafty  will
+again  move  for  the current side, change sides, and prompt
+you for what to do next.
+
+If you find yourself continually using a set of commands  to
+configure crafty to play as you want, you can put these com-
+mands in a startup file called .craftyrc (Unix) or crafty.rc
+(DOS/Windows).   The  format  for this file is just like you
+would type the commands at the keyboard, with  the  require-
+ment that the last line of the file must be "exit" on a line
+by itself.  Using this, each time you start Crafty, it  will
+
+
+
+
+
+
+
+
+
+
+
+
+
+first  execute the commands from this file before it prompts
+you for input.
+
+While Crafty is running, you can control what  it  displays,
+but  here's a couple of samples to explain what it is saying
+and why:
+
+           depth   time   score    variation (1)
+            book moves {d4, c3, Nc3, d3, b3, c4, g3, b4, Be2, Bb5}
+            book   0.0s     70%    d4
+
+White(3): d4
+            time used:   0.01
+
+This is the normal output for those cases where Crafty is in
+book.   The book moves line gives the set of book moves that
+made the first selection cut (see the book selection  expla-
+nation  given  later), followed by the move actually played,
+in this case d4.
+
+If Crafty is out of book, then  the  output  looks  somewhat
+different as given below:
+
+   depth   time   score    variation (1)
+     4->   0.81    2.09    6. dxe4 Bxe4 7. Rad8 Qf2 8. Qb5
+     5      1.37    2.41    6. dxe4 Bxe4 7. Ne5 Qf4 8. Bxe4+
+Qxe4 9. f5
+     5->   1.88    2.41    6. dxe4 Bxe4 7. Ne5 Qf4 8.  Bxe4+
+Qxe4 9. f5
+     6     7.38      --    6. dxe4
+     6     11.90     1.97    6. dxe4 Bxe4 7. Rab8 Qf2 8. Qc7
+Nc5 9. Qe5
+     6    12.92      ++    6. Ne5
+     6    13.71    2.23    6. Ne5 Qg2 7. Ng6 h5 8. Nh4 Qg4
+     6->  15.59    2.23    6. Ne5 Qg2 7. Ng6 h5 8. Nh4 Qg4
+   time: 15.60  cpu:99%  mat:1  n:246565  nps:15927
+   ext-> checks:4706 recaps:1336 pawns:0 1rep:301
+   nodes  full:45951  quiescence:200614  evals:104657
+   endgame tablebase-> probes done: 0  successful: 0
+
+Let's take this stuff one line at a time.  Lines  that  have
+something like 4-> in the depth column are printed when that
+iteration (depth) is  completely  finished.   The  time  and
+score  columns  should  be obvious as to their meaning as is
+the PV, the sequence of moves that led to this  score.   One
+note  about  the  "score"  column.  As of version 18, Crafty
+displays the score with + values good for  white,  -  values
+good  for  black,  no matter which side it is playing in the
+game.  All output now follows this convention, from playing,
+to  analysis  mode,  to  annotating  your games, to whisper-
+ing/kibitzing on the chess servers, and so forth.   This  is
+unlike  other  engines,  but  once you get used to it, it is
+much less confusing when you remember that  negative  scores
+
+
+
+
+
+
+
+
+
+
+
+
+
+are good for black and bad for white, and vice-versa.
+
+the  line that has -- in the score column means that when we
+started depth 6, dxe4 turned out to be worse than we thought
+(notice  score  dropped  from 2.411 last search to 1.972 for
+this move this search.)  To resolve this, Crafty lowers  the
+lower  search bound (alpha) and re-searches the move to find
+the score.  The line with ++ means that this move  (Ne5)  is
+better than the best move so far, so Crafty raises the upper
+search bound (beta) and re-searches this move  to  find  the
+new score.
+
+the  first line of statistics gives the total time taken for
+this search, the cpu percentage which should stay at 98-100%
+unless your machine is heavily loaded or unless Crafty is in
+an endgame that is  having  lots  of  contact  with  endgame
+databases.  If this drops below 98%, it means that Crafty is
+not getting full CPU usage and will be playing  weaker  than
+normal.   The mat:1 is simply the true material score, since
+Crafty's positional scores are often larger than a pawn.
+
+               Alphabetic Listing of Commands
+               ------------------------------
+
+1.  alarm on|off  This command is used to  control  Crafty's
+"beep"  after  it  makes a move.  Turning this off will make
+Crafty "quiet" when it plays, but also makes it easy to miss
+a  move  if  you  are  using crafty to play in a tournament.
+This is primarily designed to make Crafty  tolerable  during
+late night matches.
+
+2.  analyze  This command puts crafty into analyze mode.  In
+this mode, Crafty starts computing for whichever side is  on
+move,  and  it  continues computing and showing its analysis
+until a move is entered.  This move is made, Crafty  changes
+sides,  and  starts thinking and printing analysis all over,
+but for the other side now.
+
+This command is useful to play through a game,  because  you
+get  instant  feedback  when you try a move.  If you want to
+try a different move from the one you just entered, use  the
+"back"  command  to  back  up one move, or use "back <n>" to
+back up <n> moves.  Note that one move is a single move  for
+the  last  player, not a move for both sides.  To unmake the
+most recent 2 moves (one for black, one for white) use "back
+2".
+
+3.    annotate|annotateh  <filename>  <colors|name>  <moves>
+<margin> <time> This command is used to annotate (make  com-
+ments in) a game that has already been played.
+
+The annotate command produces a file with the .can extension
+added to the original name.  This  file  will  contain  pure
+
+
+
+
+
+
+
+
+
+
+
+
+
+ascii  information  from  the  annotation pass.  "annotateh"
+produces an HTML file instead (with  the  .html  extension).
+This  includes  the  normal  output,  plus  a nice bitmapped
+graphical board display for every position where crafty  had
+'something to say'.
+
+<filename>  is  the name of the file that has the game moves
+stored  in  it.   This  should  be  a  PGN-compatible  file,
+although  Crafty  can  read nearly any file with chess moves
+and convert it to pgn using the "read" and  "savegame"  com-
+mands to perform the conversion.
+
+<colors|name>  indicates  which  side  Crafty will annotate.
+The valid choices are w, b, and wb/bw for white only,  black
+only,  and  both, respectively.  Crafty will search and pro-
+duce results for the indicated color only, making moves  for
+the other side silently as they are read in.
+
+Alternatively,  you can specify the player's name (useful if
+you want to annotate several of your own games in one  large
+pgn file, for example, and you alternated colors so that you
+can't pick the right one easily).  Crafty will  then  figure
+out  which side to annotate for in each game.  Note that the
+name is case-sensitive, but that you only have  to  enter  a
+string  that is unique in the name field.  IE if one name is
+"Anatoly Karpov" and the other is "unknown" then  specifying
+Karpov  as  the  name  would  be  sufficient.   If  the same
+'string' appears in both names, Crafty will complain.
+
+<moves> indicates the moves that should  be  annotated.   If
+this  is  a  single  integer, annotation starts at this move
+number (for the color given above) and proceeds for the rest
+of  the  game.   If  a range is given, as (20-33), then only
+moves 20-33 inclusive are annotated.  To annotate  the  com-
+plete game, you can use 1-999.
+
+<margin> gives a score "window" that controls whether Crafty
+will produce comments (see below).  The larger  this  number
+this  number,  the fewer annotations Crafty will produce.  A
+negative number will result in an annotation for every  move
+selected.
+
+<time> indicates the time limit for each search.  Since each
+move selected requires two searches, you can take the number
+of  moves,  double  this  number  and  multiply by <time> to
+determine how long the annotation process will  take.   This
+time is in seconds.
+
+How it works.  Suppose you use the command "annotate game1 w
+1-999 1.000 30" This asks Crafty to read the  file  "game1",
+and  annotate the white moves for the entire game.  The mar-
+gin is 1 pawn and the search time limit is 30 seconds.   The
+output  for the annotate command is found in <filename>.can,
+
+
+
+
+
+
+
+
+
+
+
+
+
+in this case this is game1.can.
+
+Crafty first searches the move actually played in  the  game
+to  determine  the  score  for it.  Crafty then searches the
+same position, but tries all legal moves.  If the score  for
+the best move found in this search is greater than the score
+for the move actually played plus the margin, then a comment
+is  added  to  the  output  file.  This output file is quite
+short, with all the game moves (plus any  PGN  tags  in  the
+original,  for  identification purposes) plus the brief com-
+ments.  An annotation looks like this:
+
+{real_value (depth:best_value PV moves)}
+
+real_value is the score for the move actually played.  depth
+is  the  depth Crafty searched to produce the best_value and
+PV for what it thinks is the best sequence of moves for both
+sides.   If you set <margin> to 1.000, you are asking Crafty
+to only annotate moves that either lost a pawn or  more,  or
+moves  that  failed to win a pawn or more.  If you set <mar-
+gin> to .300, you are asking for annotations  for  any  move
+that  makes  the  score  drop  about 1/3 of a pawn below the
+value for the best move Crafty found.
+
+If you have other moves you would like to see analyzed  dur-
+ing  this  annotate process, at the point where the move can
+be played, insert it into the PGN file as an  analysis  com-
+ment,  surrounded  by () or {} characters.  Crafty will pro-
+duce analysis for this move as well.  If more than one  move
+appears  inside  a  single set of delimiters, only the first
+will be analyzed.  To force Crafty to analyze more than  one
+move,  enter them like this:  (move1) (move2) as though they
+were two separate comments.
+
+4.  ANSI on|off  This command is used to control whether  or
+not  Crafty attempts to display its move in reverse video or
+not.  For PC's, Linux, and most Unix boxes, this works fine.
+Should you find yourself playing crafty via a dumb terminal,
+this might hose the terminal and interfere with your ability
+to  see  or  input  moves.   If  moves  are not displayed in
+reverse video, it's probably wise to turn this off to  avoid
+hanging the terminal you are using.
+
+5.   black|white   This  command  simply toggles the side on
+move.  if it is white to move, and you enter white,  nothing
+happens.   If  it is white to move and you enter black, then
+it becomes blacks turn to move  immediately  from  the  same
+position.  Used only infrequently.
+
+6.  book (see the book explanation near the end of this doc-
+ument for a full explanation of this command  and  its  many
+options.)   Note  that  there are special commands available
+(*only*   on   the    command    line,    *not*    in    the
+
+
+
+
+
+
+
+
+
+
+
+
+
+crafty.rc/.craftyrc  files)  to  direct  crafty  to specific
+directories for the book files (bookpath=/a/b/c), the table-
+base   files   (tbpath=/i/j/k)   and  the  log  files  (log-
+path=/x/y/z).  Note that these commands can *only*  be  used
+on  the  command  line, because they must be executed before
+the  engine   is   initialized.    Putting   them   in   the
+crafty.rc/.craftyrc file will produce error messages without
+affecting how the files are opened.
+
+If you need to specify multiple  directories  (tbpath  only)
+you  may  do  so  by using "tbpath=path1:path2:path3:etc" or
+else       use       the       more        Unix-        like
+"tbpath=(path1:path2:path3:etc)"  instead.   The  paths  are
+separated by ":" (colon) characters and everything is  case-
+sensitive  as  usual.   For dos/windows users, the separator
+can be a semi-color (;) or a comma(,)  to  avoid  the  drive
+designation ambiguity.
+
+7.   cache=N   This  command is used to alter the cache size
+used for endgame database probes.  N can be a  simple  inte-
+ger,  representing  the  number of bytes to use or it can be
+specified as nK or nM representing n * 1024  bytes  or  n  *
+1024  *  1024  bytes.   This  should  be in multiples of the
+database "chunk" size, which might vary.  Using the nM  form
+guarantees that you will have a reasonable number.
+
+8.    clock  <ctime>  <otime>   This  command  is  primarily
+intended for use when Crafty is  playing  in  a  tournament,
+such  as the WMCCC or WCCC events.  If the operator is some-
+what slow in entering moves, or forgets to  stop  the  clock
+after making a move for Crafty, the chess clock for the game
+will drift from the values that Crafty maintains internally.
+<ctime>  is the time (in minutes or hh:mm format) crafty has
+left until the next time control, and <otime> is  the  oppo-
+nent's  remaining  clock  time.  This command can be used at
+any time, but will only affect the  time  per  move  *after*
+crafty makes the current move and starts to think about what
+the opponent might do next.
+
+9.  computer  This command usually  comes  from  xboard/win-
+board,  but  can  be  used  at any time to tell Crafty it is
+playing a computer.  This will prevent some things from hap-
+pening, such as a draw score that varies, as well as adjust-
+ing the book selection code to be more selective in what  it
+plays.
+
+10.   display   this  command  is  used  to display the game
+board.  This board is displayed using the ICS style #1  type
+of  ASCII  display,  with  white always at the bottom of the
+screen, black at the top.  Very  unusable  to  play  a  game
+with,  but  good  to verify a position after it has been set
+up.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+This  command  is  also  used   to   display   the   various
+piece/square  tables,  by  typing  "display  <piece>"  where
+<piece> is replaced by pawn, knight, bishop, rook, queen  or
+king.   The board is oriented in the same way as the display
+board with a one-to-one correspondence between the  squares.
+Perhaps  useful  for  curiosity,  but not for anything else.
+These values can not be modified by the user.
+
+The final version of this command is used  to  control  what
+kind of output you will see when crafty runs.  Currently the
+following options are available.
+
+       display time:  this  will  make  Crafty  display  the
+     amount of time each side takes after making a move.
+
+       display  changes:   this will make Crafty display the
+     PV each time it changes during  the  search,  including
+     when a move fails high or becomes a new best move.
+
+     display  variation:   this will make Crafty display the
+     PV at the end of each iteration, but it will only  show
+     the  best  PV  for the entire iteration, not all of the
+     changes.
+
+     display stats:  this enables  basic  search  statistics
+     output including time, nodes and so forth.
+
+     display  extstats:   this enables extended search stats
+     including  the  hashing  statistics,  search  extension
+     statistics and so forth.
+
+     display movenum: causes all PV output to have move num-
+     bers embedded in them to make the PV possibly easier to
+     read.   This  causes the PV to look like this:  12. ...
+     Nxe4 13. Bxe4 h6 rather than simply Nxe4 Bxe4 h6.  This
+     is very helpful when playing on a server and whispering
+     or kibitzing analysis.  It will  also  be  useful  when
+     crafty  is  run  from  within a database program as the
+     move numbers will sync up with the actual game.
+
+     display moves:  will display each root move  as  it  is
+     searched,  along  with  updating the search time at the
+     bottom of the screen, so you can see what move is  cur-
+     rently being analyzed.
+
+     display general:  will display general information mes-
+     sages whenever Crafty wants to tell you  something  (ie
+     "clearing  hash tables" or other such things like "Mate
+     in n moves."
+
+If you put a "no" in front of any  of  these  options,  that
+will disable that particular type of output.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+11.   draw  offers Crafty a draw.  It generally will look at
+the value returned by the last search, and compare  it  with
+the  value returned by an internal function DrawScore().  If
+the search value is not above this result, then Crafty  will
+accept the draw.  If the search value is above the theoreti-
+cal value for a draw, Crafty will decline  the  draw.   Note
+that  crafty  will  offer  draws based on internal analysis.
+When it offers a draw, you can respond with "draw"  although
+the game does not really end until you exit Crafty.
+
+12.  drawscore N sets the draw score (or contempt factor) to
+N.  If you want crafty to avoid draws, set  this  number  to
+something  that  is negative.  IE -50 says that a repetition
+(draw) is the same as being 1/2 pawn down.   Setting  it  to
++100  will  make it try very hard to draw because that looks
+like it is winning a pawn when it does so.  Note  that  this
+is dangerous (either way) as a -50 in a king and pawn ending
+is very likely dead lost...  and a repetition is better.
+
+13.  echo <text>  This command is  normally  used  inside  a
+command file that you are going to use to "feed" crafty some
+positions for analysis or whatever.  Since crafty depends on
+the  operating  system  to  echo commands as they are typed,
+commands read in from a file are  "invisible."   This  gives
+you  the ability to insert commands into such a file so that
+crafty displays a message on the screen to give you an  idea
+of where it is in processing the file.
+
+14.   edit   This command has been "cloned" from GnuChess to
+provide an interface with Xboard.  After entering the "edit"
+command,   you   are   in   "edit.white"   mode,  where  any
+piece/square combination you enter will  add  the  indicated
+white  piece on the given square.  Piece/squares are entered
+as "qa3", or "bc4" for example.  This puts a white queen  on
+a3  and  a  white  bishop  on c4.  Once all white pieces are
+entered, typing a "c" changes  to  "edit.black"  mode  where
+piece/square  combinations now place black pieces.  Typing a
+"." character exits edit mode.   To  clear  the  board  ini-
+tially, you use the "#" character.
+
+Here's  a  sample  to set up the original starting position,
+after white has played 1. e4, but no other moves  have  been
+played.
+
+  edit
+  #
+  ra1 nb1 bc1 qd1 ke1 bf1 ng1 rh1
+  pa2 pb2 pc2 pd2 pe4 pf2 pg2 ph2
+  c
+  ra8 nb8 bc8 qd8 ke8 bf8 ng8 rh8
+  pa7 pb7 pc7 pd7 pe7 pf7 pg7 ph7
+  .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Note  that  input  is  free  form,  so  piece/squares can be
+entered one per line or all on one line.  Ditto for  the  #,
+c, and . special characters.  Note also that there is no way
+to enter castling status here.  It is far better to use  the
+"setboard"  command  which uses a FEN-like syntax and allows
+you to set both castling and enpassant status.
+
+15.  egtb   This  command  enables  the  endgame  databases.
+Crafty  will  use  the  "tbpath"  directory (if provided) to
+locate and register all of  the  databases  you  have  down-
+loaded.  It will report the largest class it found, as in "5
+piece tablebase files found" if you downloaded at least  one
+5-piece  file.  If you use this command to enable databases,
+you should also consider using the "cache" command to  spec-
+ify the egtb cache size.
+
+16.   end|quit  These commands are used to terminate crafty.
+Note that you can resume a  game  later  without  having  to
+replay  the  moves,  by starting Crafty using the "crafty c"
+command.  It will immediately read in the moves for the last
+game,  although  you  will have to set the time controls and
+clock time remaining yourself.
+
+17.  evaluation option <value>  This command is used to mod-
+ify the evaluation scores.
+
+The  option "asymmetry" is used to make crafty evaluate king
+safety differently for each side.  "evaluation asymmetry 25"
+will  increase the king safety scores for the opponent only,
+meaning it will pay less attention to its  own  king  safety
+than  to  that of its opponent.  This will make it play more
+aggressively.  "evaluation asymmetry -25"  will  reduce  the
+king  safety  scores  for for the opponent by 25%, making it
+care more about its own king safety than that of  its  oppo-
+nent.  This will make it play more defensively.
+
+The  "bscale"  option  will  adjust  the  scores for blocked
+pawns.  The default value is 100.  Increasing this will tend
+to  make  Crafty  dislike blocked pawn positions more, which
+will lead to more  open  positions.   Note  that  this  only
+affects  moves  _after_  the opening book has been followed,
+which means that the position might be  blocked  before  the
+evaluation term has a chance to affect the game.
+
+The "kscale" option will adjust all king safety scores based
+on the 'value' entered.  For example, "evaluation kscale 50"
+will  reduce  all  king safety scores to 50% of their normal
+value.  "evaluation  kscale  133"  will  increase  all  king
+safety scores to 133% of their normal values.
+
+The  option  "tropism" is used to scale king tropism scores.
+This will attract pieces toward kings.  A value of 100 means
+no  change.   other values are treated as a percentage (like
+
+
+
+
+
+
+
+
+
+
+
+
+
+scale) to increase (>  100)  or  decrease  (<100)  the  king
+tropism scores.
+
+When you use this command, you will see something like this:
+
+modified king-safety values:
+white:   0   4  16  26  39  45  58  77  87  90  93  96 100 103 106 109
+       112 116 119 122 125 128 128 128 128 128 128 128 128 128 128 128
+
+black:   0   5  20  32  48  56  72  96 108 112 116 120 124 128 132 136
+       140 144 148 152 156 160 160 160 160 160 160 160 160 160 160 160
+
+Those values represent the  king-safety  evaluation  as  the
+king  gets  more  and more exposed.  This is always based on
+the fast that "crafty" will be the side  on  move  when  the
+search  starts.  In the above, it was white's move when this
+was typed, meaning that it appears that crafty will be play-
+ing  black.   Notice  that  white's  king safety numbers are
+scaled by 20% to make it slightly more  cautious  about  its
+own king.  If you type "go" in this position, the scores get
+reversed as Crafty's scores are always left alone (with  the
+asymmetry  option) and the opponent's scores are scaled down
+as indicated.
+
+You will see similar numbers (but not black and white  sets)
+that  represent the actual scores produced for king tropism.
+Note that pieces interact to choose which  element  of  this
+vector is used, but in general, the more pieces are close to
+the king, the larger the element from this array.
+
+The "pscale" option is used to scale normal  pawn  structure
+scoring  in  the same way as the other scaling options.  100
+is the default.  Values less than 100 reduce this term, val-
+ues over 100 inflate it.
+
+The "ppscale" option is used to scale some passed pawn scor-
+ing in the same way as the other scaling  options.   100  is
+the  default.  Values less than 100 reduce this term, values
+over 100 inflate it.  This  mainly  effects  outside  passed
+pawns/protected  passed pawns.  The normal pawn scoring com-
+putes the value of a passed pawn.  This term is then used to
+scale  those  terms  that modify this value further, such as
+two connected passed pawns on the 6th, or a passed pawn with
+the king supporting it in an endgame.
+
+18.  extensions type value
+
+This  command is used to control the extension depth for the
+various extensions done in Crafty's search.  The  extensions
+are  set  as  decimel numbers that represent plies (or frac-
+tions of plies) to extend for each particular reason.   Most
+default  to  1.0  and  .75, but any value can be used.  Note
+that value > 1.0 are _very_ dangerous as they can cause  the
+
+
+
+
+
+
+
+
+
+
+
+
+
+search  to  become non-terminating (crafty will stop when it
+runs out of time for the move, but it might not be  able  to
+get anything useful from such a search).
+
+These  extensions  are presently limited to a maximum of one
+ply of extensions at any point in the tree.   IE  no  matter
+what you set these values to, they can not exceed one ply at
+present.
+
+incheck  This is the amount to extend when the side on  move
+makes  a  move that leaves the opponent in check.  Note that
+Crafty extends on the ply where the check is played, not  on
+the next ply where the opposite side is in check.
+
+onerep   This  is  the one-reply-to-check extensions, and is
+done at the point where one side is in check and has exactly
+one legal move to escape from the check.
+
+pushpp   This  is the extension used for certain passed pawn
+pushes in the endgame.
+
+recapture  This is the recapture extension, and  is  applied
+when  the current move recaptures an equal-valued piece that
+made a capture at the previous ply.  IE BxN, PxB.  Note that
+this  can  only  be applied once for every two plies so that
+BxN, BxB, NxB, NxN won't look like three recaptures.
+
+mate  This is the mate threat extensions and is applied when
+a  null  move  search returns -MATED, which means that doing
+nothing gets the side on move mated.  The opponent must have
+some sort of serious mate threat in such a position.
+
+19.   flag  on|off   This command is used to force crafty to
+end a game where the opponent runs out  of  time  with  win-
+board/xboard (on) or to ignore this (off) if desired.
+
+20.   force  [move]  This command is used to force Crafty to
+play a move that is different from the one chosen and played
+by  the  tree search.  If [move] is given, and it is a legal
+move, Crafty will retract its last move and make  this  move
+instead.   It  does  not  change  the side on move, but does
+change the position of course.   If  [move]  is  not  given,
+Crafty will prompt you for a move to make.
+
+21.   help  This command displays multiple pages of one-line
+help, one command per line.  If a  line  ends  with  [help],
+then  you  can  use help followed by the specific command to
+get detailed help.
+
+22.  history  This command displays the history in a  verti-
+cal  column  with  one  move for white and one per black per
+line.  There are other ways  to  display  the  current  game
+moves  and  also  to  save  them in files that are explained
+
+
+
+
+
+
+
+
+
+
+
+
+
+later.
+
+23.  hash=x and hashp=x  These commands are used  to  adjust
+the  size  of  the hash tables in Crafty.  hash modifies the
+size of the transposition/refutation table, while hashp mod-
+ifies the size of the pawn structure/king safety hash table.
+The sizes may be entered as one of the following  two  types
+of  values: nnnK where nnn is an integer indicating how many
+Kbytes Crafty should use for this hash table; nnnM where nnn
+is  an integer indicating how many Mbytes Crafty should use.
+
+The transposition/Refutation table is the most  critical  of
+the two, because it directly affects search efficiency, par-
+ticularly in the endgame.  For this reason  this  should  be
+maximized.   The  most effective size for this hash table is
+3/4 of your available memory.  If you don't know how to fig-
+ure  this  out,  but know that you have 16 megs for example,
+they you can say hash=16M and crafty will round that down to
+12M,  which is 3/4 of a power of two size.  If you study the
+sizes that are possible, you will find  3M,  6M,  12M,  24M,
+48M,  and  so forth.  Anything up to, but not including, the
+next size will be rounded  down  to  the  next  lower  size.
+hashp  should  be  set to approximately 1/2 of what is left.
+For example, the P6 Crafty runs on when playing on ICC often
+uses  hash=48M and hashp=8M.  The only thing to watch for is
+that if you make this too large, particularly under windows,
+performance  will  suffer  badly because of paging I/O over-
+head.  When Crafty is searching in a normal (non-book,  non-
+endgame  database)  position, the disk light should *not* be
+on, indicating lots of I/O.
+
+There is no danger in making this table too large,  although
+you  have to watch out because if Crafty barely fits in mem-
+ory, doing something else on the machine can cause Crafty to
+be  swapped  out  completely  or partially, depending on the
+operating system you are using.  If you are going to use the
+machine  for  anything  else  while Crafty is running, it is
+better to "pretend" that the machine only  has  1/2  of  the
+memory  it actually does when computing the size of the hash
+tables you want to use.
+
+24.  import <filename> [clear]   This  command  is  used  to
+import any sort of learning data that Crafty supports, which
+currently includes book learning data and position  learning
+data.   This  command  reads  the appropriate <filename> and
+imports that learned data, just as though Crafty had learned
+it  by playing the games.  The [clear] option, if specified,
+caused all old learned results  to  be  cleared  before  the
+import  operation,  otherwise  the  imported  data is simply
+added to what is already present.
+
+25.  input <filename>  This command is used to redirect  the
+console  input  I/O  stream  from  the  keyboard  to a file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Crafty will then read commands from this file,  rather  than
+from the keyboard, and execute them just as though they were
+typed in.  Such a command file *must* be  terminated  by  an
+"exit"  command (no quotes) as the last command in the file.
+This reverts the input stream  back  to  the  keyboard,  and
+prompts you for another command or move.
+
+This  command  might  be used to configure crafty for a spe-
+cific time control, by putting the appropriate time  control
+commands  in  the file, or to customize the hash table sizes
+as needed.
+
+26.  info  This command is used to display information about
+Crafty  and  the current game.  Such things as the time con-
+trol, the time left on the clocks and other  information  is
+shown.
+
+27.   learn  n  controls  the learning facilities in crafty.
+Currently this is a 3-bit boolean switch,  bit 1 (001)  con-
+trols book learning, bit 2 (010) controls position learning,
+and bit 3 (100) controls result learning.  learn=0  disables
+all  learning,  learn=1  enables book learning only, learn=2
+enables position learning only, and learn=4  enables  result
+learning.   Add the values together to turn on more than one
+type of learning (default=7 to enable everything).
+
+28.  level <m> <t> <inc>  This command  was  taken  directly
+from  GnuChess  so  that the Xboard/WinBoard interface would
+interface with Crafty.  There are other better ways  to  set
+the  time, but this one is well-known.  The three parameters
+are <m> (number of moves in the game)  <t> initial  time  on
+the clock.  After <m> moves are made, this amount of time is
+added to the clock again.  <inc> is the Fischer-Clock incre-
+ment  that is added back to each clock after a move is made.
+It may be zero for a non-increment game.
+
+Examples:
+
+level 0 5 0            (ICS 5 0 game)
+level 0 5 3            (ICS 5 3 game)
+level 0 15 30          (ICS 15 30 game)
+
+29.  list GM|IM|C|AK|S  +name [+name ...] -name [-name  ...]
+This command is used to maintain the internal "lists" Crafty
+uses to auto-tune itself when playing  on  a  chess  server.
+There  are  three lists, GM, IM and C.  If Crafty's opponent
+is in any of these lists, Crafty adjusts  internal  controls
+that  affect  how/when  it  resigns or offers draws, and how
+randomly it will choose moves from the  opening  book.   For
+example, Crafty resigns much sooner against a GM, because it
+assumes he knows how to win a rook-up ending, regardless  of
+how  much  time  is  left.   By the same token, when playing
+against computers, Crafty will always assume that a draw  is
+
+
+
+
+
+
+
+
+
+
+
+
+
+0.000, so that it doesn't wreck its position trying to avoid
+repeating a position.
+
+The AK list will automatically  kibitz  scores/PV's  if  the
+opponent  is  in this list.  The S list will turn on special
+scoring for opponents in this list.  The only current member
+is "mercilous".
+
+The  syntax  +name1  +name2 simply adds these players to the
+specified list.  To remove a name, use -name1  -name2.   You
+can  use  one  command per name to remove or add, or you can
+use one command to add and remove multiple names.  Note that
+all names must be entered in lowercase characters, using any
+uppercase characters will break the matching algorithm.
+
+30.  log off|on|<n>  This command is used  to  disable  log-
+ging.  The default is log on, which causes crafty to produce
+a new log.nnn file for each game played.  If you are running
+Crafty  on  a  server, you might use log off, which disables
+creating these files as well as the game.nnn files  used  to
+restart  a  game  after you exit crafty and come back later.
+If you use the form "log n" crafty will simply  display  the
+last  n  lines  of the log on the screen.  If you use "log n
+file" crafty will copy the last n lines of the log to "file"
+which could be your hard drive, or a floppy.
+
+Note  that  if  you  run with log off, you will be unable to
+find out what Crafty was thinking about since  there  is  no
+other  record  of  the game.  You will always see a game.001
+because as crafty plays a game, this contains all  the  real
+moves  played so far so that you can back up if needed.  you
+will also see a log.001 file, but it will be empty.
+
+31.  ls <filename> will list all the files  that  match  the
+filename  wildcard  (the  wildcards depend on the system you
+are using, but generally *, ? will work fine.  you can  also
+supply  path information in the filename if you want to list
+the contents of a different directory.  Just  use  the  same
+syntax  you would if you were using "ls" under unix or "dir"
+under windows.
+
+32.  mode tournament|normal  This command is primarily  used
+to  put Crafty into "tournament" mode, which is intended for
+use when Crafty is playing in  computer  chess  events.   It
+accomplishes two things:  (1) makes all draws return a score
+of 0.000, and (2) makes crafty issue a  message  after  each
+move  showing  the internal chess clock time, and requesting
+that that operator check and  adjust  as  needed  using  the
+"clock"  command.   This  primarily makes Crafty comply with
+computer chess rules that say the operator can't do anything
+not specifically requested by the program.
+
+33.   name  <name>   This  command  is  an ICS-play specific
+
+
+
+
+
+
+
+
+
+
+
+
+
+command.  Xboard/WinBoard uses this to inform Crafty of  the
+opponent's  name.   Crafty uses the name, and looks it up in
+its GM/IM/C lists, and if found, adjusts itself accordingly.
+This is not used by the PGN code and this will not cause the
+players <name> to show up in the PGN tag section.
+
+34.  new  This command wipes everything  out  and  starts  a
+brand  new  game.  It closes the old log-file and game-file,
+and opens the next sequential numbered file.  It also resets
+the  game to the beginning and prepares to start a brand new
+game.  This was added for Xboard,  but  it  turns  out  that
+Xboard  does not use this, rather it starts Crafty fresh for
+each new game by first terminating the old copy then  start-
+ing  a  new one.  Not nearly as efficient as using "new" but
+likely safer it a program can't be sure of resetting  every-
+thing back to the initial state.
+
+35.   noise  <n>   This  command  sets  the "noise" level in
+Crafty.  Basically, until  <n>  nodes  have  been  searched,
+crafty will be silent and not display analysis.
+
+This  is  useful  in two ways.  First, in end-games, 20+ ply
+searches are not uncommon, and the search analysis  for  the
+first  few  plies arrives so quickly that it is distracting.
+Second, when observing games (new  interface  only)  on  ICS
+servers,  this  can  be used to avoid having Crafty generate
+too many analysis kibitzes.  A value of  100000  will  basi-
+cally  shut  off any output for the first second or so (on a
+P6/200).  Similarly, 1000000 will eliminate any  output  for
+about  the  first  10  seconds.  When watching and kibitzing
+games like the World Championship games on ICC, I  generally
+use  5000000,  which is almost one minute of silence so that
+the first PV it kibitzes is a pretty deep search.
+
+noise 0 will cause *all* analysis to be displayed, which  on
+a  fast machine causes no problems.  On a slower machine, or
+over a slow phone connection, this might cause a big  commu-
+nication  backlog.   The  default is roughly one second on a
+P6/200 (100000) but can be modified by this command.
+
+36.  operator <n>  Another command  intended  for  use  when
+Crafty  is  playing  in  a  tournament, operated by a human.
+This tells crafty to "hide" <n> minutes of time and not  use
+them.   This  time is basically allocated to the operator to
+make up for the time it takes to type in moves  and/or  cor-
+rect mistakes.  At the WMCCC events, the normal value we use
+is 5.  Playing on a server, this is not needed, as it is not
+needed if you are playing Crafty yourself.
+
+37.   perf   This  command  is  primarily used in optimizing
+Crafty, or to test the speed of the move generator and Make-
+Move()/UnMakeMove() on different platforms.  It produces two
+results, the moves it can generate per second, and the moves
+
+
+
+
+
+
+
+
+
+
+
+
+
+is  can  generate and make/unmake per second.  While this is
+not  a  perfect  performance  indicator,  it  does  give  an
+"approximation"  for how fast Crafty might run.  In general,
+the higher the numbers, the better the  program  will  play,
+although  machines are certainly different.  It's not uncom-
+mon to find a machine that searches slower than another, but
+has a higher "perf" value.
+
+38.   perft  <depth>  This command is generally used to con-
+firm that the move generator and bitmap operators are  work-
+ing  properly.   It  simply  takes the current position, and
+generates/makes/unmakes moves and counts  them.   Many  pro-
+grams  use this from a "standard" position to make sure that
+their move generator does not miss generating odd moves like
+enpassant/promotions   and   also   to   confirm   that  the
+make/unmake code correctly updates the  board  so  that  the
+totals  remain  constant  across different machines and pro-
+grams, since there is no  alpha/beta  or  evaluation  things
+done.   if  <depth>  is  greater than 5 or 6, it will take a
+*long* time, since this is basically a minimax tree  traver-
+sal  that  will visit *every* node within the <depth> search
+horizon.
+
+39.  pgn <tag> <value>  This command  is  used  to  set  the
+usual  PGN  tags  to meaningful values.  The recognized tags
+are Event, Site, Round, Date, White, WhiteElo, Black, Black-
+Elo,  and  Result,  and  the tags *are* case sensitive.  The
+<value> can be any valid input and blanks and special  char-
+acters are allowed.  Note that the date is clearly specified
+in the PGN standard and must be yyyy.mm.dd with no variance.
+Valid  results are 1-0 (white won), 0-1 (black won), 1/2-1/2
+(drawn) and * (unknown).  Some examples:
+
+pgn Event 14th World MicroComputer Chess Championship
+pgn Date  1996.10.8
+pgn Site  Jakarta, Indonesia
+pgn Round 1
+pgn White Crafty
+pgn WhiteElo 2400
+pgn Black assassin
+pgn BlackElo 2400
+pgn Result 1-0
+
+Setting these values will result in a proper PGN  file  when
+using the savegame command.  Note that if you use the "read"
+command to input a PGN game, these values will be  extracted
+from that game if they are given.
+
+40.  ponder off|on|<move>  This command serves two purposes.
+First, it can be used to disable (off) or enable (on) think-
+ing  on the opponent's time (or pondering as it is called in
+many programs including Crafty.)  Turning it off will weaken
+Crafty  since it will not use any machine time while waiting
+
+
+
+
+
+
+
+
+
+
+
+
+
+on the opponent to move.  It is sometimes  useful,  however,
+when   playing  Crafty  against  another  computer  and  the
+machines are not equal.  If crafty is on a  faster  machine,
+and  you  attempt  to adjust for this by giving the opponent
+more time than Crafty, it doesn't work  quite  as  expected,
+because  while the opponent is thinking, so is Crafty, which
+lets it use the extra opponent time in  an  unexpected  way.
+In  such  a  case,  it's best to stop pondering in both pro-
+grams.
+
+If <move> is given, it directs Crafty to use that <move>  to
+ponder,  rather than the one from the previous search.  Most
+commonly this is used to set the right move to ponder  after
+Crafty has been stopped and then restarted, assuming that it
+is the opponent's turn to move when  this  happens.   Other-
+wise,  it is probably better to not try to influence things,
+although if you are watching and suddenly wonder "what would
+Crafty  do  if the opponent plays move 'X'?", you can answer
+this by simply typing "ponder X" and then watching the anal-
+ysis.  You should reset the correct ponder move after you do
+this of course.
+
+41.  reset <n>  This command lets you back up in the current
+game  to  any  move  of your choice.  reset <n> backs up the
+game to move <n> with the same side on move.  If you want to
+first  change the side to move, use the white/black command,
+then use the reset command to back up  to  the  right  move.
+Note that you can also go forward as well, just so there are
+moves in the current game history.
+
+42.  resign <n>  This command  sets  the  resign  threshold.
+When  running  on  ICC I typically use "resign 9" which will
+make crafty resign roughly five moves after the score  drops
+below  -9.000.   For IM's I change this to 6, and for GM's I
+often use 3, so that it will resign quicker and not  drag  a
+lost game out unnecessarily.
+
+43.   read/reada [<filename>]  This command will read input,
+and extract the chess moves and make  them  to  set  up  the
+position  at the end of the game.  It first resets the chess
+board to the initial position (read command only)  and  then
+extracts  the  PGN  tags  (if present) from the front of the
+input.  The rest of the input  is  parsed  for  chess  moves
+(comments  and  similar things are culled automatically) and
+the moves are made and added to the game history.  Once this
+is done, you can back up, go forward, or play from any point
+in the game.  If you specify a <filename> everything is read
+from  the  file,  otherwise it is read from the console key-
+board.
+
+The reada command reads moves, but appends them to the  cur-
+rent  game  history/  position  rather than resetting to the
+initial chess position.  This lets you read in a game,  then
+
+
+
+
+
+
+
+
+
+
+
+
+
+use reada to manually add some more moves to see the result-
+ing position.
+
+44.  savegame <filename>  This command is used to  save  the
+current  game  in  a  PGN-compliant  file  with the PGN tags
+included.  Note that the default TAG  values  might  not  be
+what  you  want  if you do not either use the pgn command to
+set them or else input  a  valid  PGN  file  with  the  tags
+already filled in.
+
+Be  aware  that  this command doesn't check the filename for
+legality since anything goes in UNIX.   In  DOS,  you  might
+produce  a bad filename with either too many characters, too
+many periods, or whatever, so be careful with the  name  you
+choose.   Note also that this file will be overwritten if it
+already exists, so be sure to choose a name that is not  the
+name  of a file that has something you consider important in
+it.
+
+45.  savepos <filename>  This command writes a  single  line
+into  <filename> in FEN-like notation.  This lets you save a
+position, and then come back later to  re-examine  it.   You
+would use the "in <filename>" command to input this file and
+set the position up.
+
+46.  search <move>  This command allows you to  specify  one
+particular move for the side on move, and then when you tell
+Crafty to search this position, this is the only  move  that
+will  be  searched.  This is used internally by the annotate
+command, but can be used to investigate one  specific  move.
+If the move is not the best move, a normal search won't show
+you why it is bad, but this will.  It is also  quite  a  bit
+faster  since  the  other  moves  in  the  position  are not
+searched at all.
+
+47.  settc <moves> <ctime> <otime>  This command is  primar-
+ily  used  in tournaments, and is an error-recovery command.
+If the machine crashes and corrupts the game  history  file,
+frequently the operator will have to simply set the position
+using the setboard command, and then use the  settc  command
+to  restore the time control values.  <moves> is moves until
+the next time control (from Crafty's perspective, be careful
+and  don't  look  at the opponent's moves to time control by
+accident.)  <ctime>  is  minutes  left  on  Crafty's  clock,
+<otime> is minutes left on the opponent's clock.
+
+48.   setboard  <FEN  input>   This command is used to set a
+chess position up for analysis and is the preferred  way  to
+do  this, rather than using the gnu EDIT interface.  It uses
+a classic Forsythe-like notation to encode the position  and
+also  has  provisions for castling status and enpassant cap-
+ture status.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+the standard piece codes p,n,b,r,q,k are used to denote  the
+type  of  piece  on  a  square, upper/lower case are used to
+indicate the color of  the  piece  (uppercase=white  pieces,
+lowercase=black pieces).
+
+the pieces are entered from the classic chess diagram's ori-
+entation of a8  being  the  upper-left-hand  corner  of  the
+board,  and  this  square  is entered first, followed by the
+remainder of the 8th rank left to right.  To indicate  empty
+squares,  use  a number between 1 and 8 to indicate how many
+adjacent squares are empty.  use a / to terminate each  rank
+after  all  of  the  pieces for that rank have been entered.
+Note that you do not have to account for all 8 squares on  a
+given rank, although many test suites do this for clarity.
+
+the following input will setup the board position that given
+below:
+
+      k2r/ppp////Q/5PPP/7K/ B
+
+this assumes that k represents a white king  and  -q  repre-
+sents a black queen.
+
+                      -k  *  * -r  *  *  *  *
+                      -p -p -p  *  *  *  *  *
+                       *  *  *  *  *  *  *  *
+                       *  *  *  *  *  *  *  *
+                       *  *  *  *  *  *  *  *
+                       q  *  *  *  *  *  *  *
+                       *  *  *  *  *  p  p  p
+                       *  *  *  *  *  *  *  k
+                                                                           *
+the field after the final "/" should be either  b  or  w  to
+indicate  which  side is "on move."  after this side-to-move
+field any of the following characters can appear to indicate
+the   following:   KQ:  white  can  castle  king-side/queen-
+side/both;  kq: same for black;  a1-h8: indicates the square
+occupied by a pawn that can be captured enpassant.
+
+49.   score   This command simply gives the positional score
+for the current position.  This score is  from  whites  per-
+spective,  so a + score is good for white, a - score is good
+for black.  Crafty also breaks the  score  down  into  major
+categories  (from  Evaluate())  to indicate things like pawn
+structure, piece evaluation, passed pawns, development,  and
+so forth.  Note that some of Crafty's evaluation is asymmet-
+ric, so that if you simply change sides with the white/black
+command  and then enter "score" again, you may get a differ-
+ent value.  This is *not* a bug.  :)
+
+50.  sd <n>  This command lets you specify a specific search
+depth  limit  that  Crafty  can  not  exceed.  It still pays
+attention to the clock, however, so often you will  use  the
+
+
+
+
+
+
+
+
+
+
+
+
+
+st  <n>  command  (below)  in  conjunction  with this if the
+search is going to take an extended amount of time.  <n>  is
+the  depth  (in  plies  or  1/2  moves) that the search must
+reach.  Note that if Crafty is pondering,  it  still  honors
+this  limit  and  will stop a ponder search after this depth
+has been completed as well.  This is *not* the way  to  make
+Crafty play weaker, although this will be covered in a later
+section of this document.
+
+51.  show <category>  This command forces Crafty to  display
+additional information about certain actions it takes.  Cur-
+rently the only <category> is "book" which will make  crafty
+display information about all the book moves it found in the
+database.  More is given about this information in the  BOOK
+section later in this file.
+
+52.   smpmt=n   This  command  is  used to set the number of
+threads to use on a machine with more  than  one  processor.
+For  optimal performance, "n" should be set to the number of
+processors you have, although using fewer  will  reduce  the
+load on your machine.  For this command to work, Crafty must
+have been compiled with SMP defined.  When compiled with SMP
+enabled,  mt=0 effectively disables the SMP code completely.
+
+This command also has two that are closely related.   smpmin
+and smpmax.  Both accept single numerical arguments.  smpmin
+is used to control the minimum tree depth required at a node
+for  it  to be eligible for parallel searching.  IE smpmin 2
+says don't split unless at least two more plies are left  to
+search  below  this  node.   smpmax sets the maximum for the
+same idea, is smpmax 10 says don't split  if  more  than  10
+plies are remaining below this node.
+
+53.   sn <n>  This command is similar to the sd command, but
+instead of setting a specific search depth, it sets a number
+of  nodes to search.  Once the search has searched this num-
+ber of nodes (+ maybe one more second of searching to  check
+the time) the search will exit.
+
+54.  st <n>  This command lets you specify a specific search
+time limit for Crafty.  Again, this is not the preferred way
+to  set  a time per move, because this limit is absolute and
+Crafty will never go over this limit, even if it  sees  that
+it  is  losing  or  getting mated.  Setting the time control
+with the usual "time" or "level" command is  *much*  better.
+<time>  is given in seconds, although it may also be entered
+as mm:ss if preferred.
+
+55.  swindle on|off  This command  gives  you  control  over
+"swindle  mode."   When  on, and playing a game, Crafty will
+try to win drawn endings (according to the tablebases) if it
+has winning chances (like KR vs KB, for example).  This will
+put up very stiff "resistance" to accepting the draw,  while
+
+
+
+
+
+
+
+
+
+
+
+
+
+with  this  mode off, it may be very easy to draw a position
+once the tablebases say "drawn."  This mode is automatically
+turned  "off" during analysis or when annotating a game, and
+is only used when actually playing a game against  an  oppo-
+nent.  If there are no tablebases then this has no effect on
+the game at all.
+
+56.  tags  This command will simply display the current  PGN
+tags (you can edit them with the various PGN commands).
+
+57.   test  <filename>  [n] This command will run a suite of
+positions (the file must be in "Crafty" format as  explained
+below)  and  produce  a  summary  of  how many it got right,
+wrong, etc.  It uses the time per  move  you  set  with  the
+(typically)  st  <n> command.  The optional parameter [n] is
+the "early exit" counter.  If Crafty finds,  and  holds  the
+solution  move  for  n  iterations,  it  will  terminate the
+search.  I use this to make a win at chess  run  take  <  15
+minutes,  even  though  the  time  per  position is set to 1
+minute, by setting n to 2.  After  two  correct  iterations,
+Crafty  goes on to the next problem.  For absolutely correct
+results, this is not advisable as it could obviously  change
+its  mind later on, but for performance analysis, this saves
+a lot of time.
+
+The test suite contains the following  lines:   (this  is  a
+sample from my test suite for Win At Chess.)
+
+title wac299
+setboard 1n2rr2/1pk3pp/pNn2p2/2N1p3/8/6P1/PP2PPKP/2RR4 w
+solution Nca4
+
+title wac300
+setboard b2b1r1k/3R1ppp/4qP2/4p1PQ/4P3/5B2/4N1K1/8 w
+solution g6
+
+end
+
+The  title  command  simply displays this message in the log
+file so you can look at the  output  and  figure  out  which
+position it goes with.  This is optional, but useful.
+
+The  setboard command sets the position as explained before.
+
+The solution command gives the set of solution moves (one or
+more  moves  that  are  separated by blanks) and/or a set of
+"anti-solution" moves (moves that  must  not  be  played  to
+count  the  position as correct.)  "anti-solution" moves are
+simply followed by a "?" character, for example:
+
+solution Bxa7?
+
+The solution command supplies a set of key moves,  and  then
+
+
+
+
+
+
+
+
+
+
+
+
+
+starts  the search.  If, after the search terminates, one of
+the key solution moves was chosen (or none of the anti-solu-
+tion  moves were chosen) the position is counted as correct.
+
+The final line should be "end" although end-of-file  or  EOF
+will also be detected in this case.
+
+57.    time   CPU|elapsed|<values>   This  command  controls
+whether the program uses CPU time  or  wall-clock  time  for
+timing.   for tournament play, it is safer to use wall-clock
+timing, for testing it may be more  consistent  to  use  CPU
+timing  if the machine is used for other things concurrently
+with the tests being run.
+
+time is also used to set the basic search  timing  controls.
+the general form of the command is as follows:
+
+      time nmoves/ntime/[nmoves/ntime]/[increment]
+
+nmoves/ntime  represents  a  traditional  first time control
+when nmoves is an integer representing the number  of  moves
+and  ntime  is  the total time allowed for these moves.  the
+[optional] nmoves/ntime is a traditional secondary time con-
+trol.   increment  is a feature related to ICS play and emu-
+lates the Fischer clock where <increment> is  added  to  the
+time left after each move is made.
+
+as  an  alternative,  nmoves  can be "sd" which represents a
+sudden death time control  of  the  remainder  of  the  game
+played in ntime.  the optional secondary time control can be
+a sudden-death time control, as in the following example:
+
+        time 60/30/sd/30
+
+this sets 60 moves in 30 minutes, then game in 30 additional
+minutes.  an increment can be added if desired.
+
+One final example is the following:
+
+        time sd/15
+
+which is a simple game/15 setting.  This command can also be
+used to perform the same function as  the  "level"  command.
+For  example, to set up a classic ICS 2 12 game, the follow-
+ing would would work:
+
+        time sd/2/12
+
+59.  trace <n>  This command is used to make crafty  display
+the  tree  as it searches a position.  Due to the incredible
+speed at which this program can  search,  however,  this  is
+less than useful since it can swamp any known display driver
+and make things scroll impossibly fast.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Also note that this command  usually  is  disabled,  because
+Crafty  is  generally  compiled  with the -DFAST flag, which
+removes the trace output code from the search to make things
+slightly  faster.   You  will have to recompile, without the
+-DFAST, if you want to use this.  It's utility  is  limited,
+except for debugging, anyway.
+
+60.  usage <n> is simply a way to modify Crafty's time usage
+to fit your tastes.  You can "suggest" a time limit with any
+of the options discussed previously, but if you use anything
+other than the "st" command, Crafty will do its best to  use
+time  as  you  suggest, but it also anticipates that it will
+save some time by pondering, etc.,  and  will  therefore  be
+more aggressive at trying to use time.  if <n> is a positive
+integer, it is taken as a percentage and crafty will compute
+the  time  limit  it  thinks  is appropriate for the current
+clock settings, then increase this limit by this  percentage
+(50  would  make it take 1.5 times longer than normal.)  -50
+would make it take 1/2 the time it would normally take.
+
+Crafty adjusts the usage  internally  based  on  time  left,
+opponent's  time left, how quickly or slowly the opponent is
+moving, etc.  Further modifying things with this is  danger-
+ous, but possible.
+
+61.   whisper/kibitz <n>  These commands are used to control
+what Crafty will whisper or kibitz on a chess  server.   The
+options  are  (1)  only  whispers or kibitzes mate announce-
+ments; (2) adds time, score, depth to the  previous  option,
+but  no  PV  or moves.  (3) adds the PV.  (4) adds book move
+information to the output.  The remaining two options gener-
+ate  a  lot  of output and should be used with caution.  (5)
+displays the PV after each iteration completes.  I use  this
+when using my custom interface to let Crafty observe/comment
+on games in progress on ICC.  Noise can be used  to  prevent
+shallow  searches from generating output and keeping "noise"
+down on the games being watched.  (6) basically  will  whis-
+per/kibitz  nearly  everything you see on the console from a
+search, each PV when it changes, fail highs and  fail  lows,
+etc.   A  significant  amount of output that should be care-
+fully weighed before turning it "loose."
+
+62.  xboard  This command turns on Xboard/WinBoard  compati-
+bility mode, and makes Crafty behave somewhat like GnuChess.
+This is designed to be used *only* when Crafty is  interfac-
+ing  with  Xboard/WinBoard.  Crafty will not work with these
+two GUIs without this option, and  really  won't  work  very
+well with this option if it is not connected to one of them.
+
+63.  There are other commands that are not documented.  They
+are  part  of  the  xboard protocol and really should not be
+used by the normal user.  You can find all the  commands  in
+option.c should you be interested.
+
+
+
+
+
+
+
+
+
+
+
+
+
+                Opening Book Setup and Usage
+                ----------------------------
+
+Crafty   uses   two   pre-compiled   opening  books,  called
+"book.bin" and "books.bin".
+
+The file book.bin is usually build from a  large  text  file
+containing  PGN  games,  often  taken from collections of GM
+games.  Building book.bin is a simple exercise and  requires
+nothing  other than the raw input file you are going to use.
+Generally this will be either medium.zip or the set of  four
+files  large[1-4].zip,  all  of  which are stored on the ftp
+machine ftp.cis.uab.edu/pub/hyatt/.
+
+To create the file book.bin, you need a PGN game  collection
+that is a *real* PGN-compliant file.  Supposing this file is
+called "large.pgn" you would use the following command:
+
+book create large.pgn <m> [n] [wpct]
+
+The only thing you have to supply is <m>, a number  indicat-
+ing  how  many  moves from each game are to be stored in the
+book.bin database.  I typically use  60,  which  stores  the
+first  60  moves  from  each  game.   Increasing this number
+slightly increases the probability that Crafty will stay  in
+book  longer,  but it also increases the probability that it
+will follow a game too far, so that it begins to reach posi-
+tions  where  the move actually played might not be the best
+move, letting it fall into a bad hole.  Increasing this also
+increases the size of the database as well.
+
+You  can  decrease the size of the book, and also reduce the
+number of ugly moves by  specifying  <n>,  which  says  that
+unless  a  move  is  played in at least N games, the move is
+discarded.  This will substantially decrease the size of the
+book.bin  file,  and  also  eliminate single game moves that
+often have significant errors or blunders.
+
+You can increase the quality of  book  lines  by  specifying
+<wpct> which is the "winning percentage".  This is specified
+as a percentage of lost games, and is used to discard  moves
+that  led  to mostly losses.  A safe value is 50, which says
+that if a particular opening move didn't win at least 50% as
+many  games  as it lost, the move is culled.  A value of 100
+would mean that moves  are  culled  if  they  produced  more
+losses than wins, and is really a strict criterion.
+
+After creating book.bin, you need to create books.bin.  This
+is a small version of book.bin, which is  intended  to  give
+you  more  control over the moves/openings Crafty will play.
+This is usually built from the file  start.pgn  on  the  ftp
+machine,  but  you  can  modify this file to suit your taste
+easily.  To build books.bin, you use the following command:
+
+
+
+
+
+
+
+
+
+
+
+
+
+books create start.pgn 60
+
+Again, 60 is what I use, but none of my start.pgn  lines  go
+anywhere  near that many moves.  The main point here is that
+in start.pgn, you can append a "!" to any move you want, and
+when  it  is  Crafty's  turn to move for that color, it will
+play from the set of moves with "!" if there are any, ignor-
+ing the rest of the book moves.  If you only want it to play
+1. e4 as white, you would just enter the short game:
+
+[Crafty only plays 1. e4] 1. e4!
+
+and you are finished!.  You can enter as many as  you  want.
+If  on  the other hand there is a move you don't want Crafty
+to play, then follow that move with a "?" and it will  never
+play  it.  Moves in books.bin that are not flagged with ! or
+? don't have any influence on Crafty's choice at all.
+
+Here's how the files are used.  When searching  a  position,
+Crafty  first enumerates the set of moves it can find in the
+opening database.  It then does the same for  the  books.bin
+database,  and performs a "merge" operation to combine the ?
+and ! flags...  The purpose of the books.bin file is to give
+you  a  small  database that you can easily modify, rebuild,
+and repeat this process over and over.   Since  it  takes  a
+fraction  of a second to completely rebuild this file, it is
+very easy to modify this to control what Crafty  will  play,
+without having to rebuild the large database.
+
+One  important characteristic of the PGN input is the Result
+tag must be specified in most of the lines,  because  Crafty
+counts  wins,  losses  and draws for each book move and uses
+these counts with some of the book selection  options  given
+below.
+
+How the flags are used.
+
+The  ! and ? flags should only appear in the small books.bin
+file, although there is no reason why they can not appear in
+the  large  file  as  well.  For this discussion, it doesn't
+matter since Crafty takes the  moves  from  both  files  and
+"merges" the flags/etc into one entry for each move.
+
+Quite simply, if any book legal book move has a ! flag, then
+Crafty will only play moves from the set of moves which  all
+have  the ! flag.  If a move has a ? flag, then that move is
+immediately removed from the set of possible book moves.  If
+the only legal book move has a ? flag, it will not be played
+as a book move and Crafty will simply pretend that it  found
+no book moves and will execute a normal tree search.  Pretty
+simple.
+
+How to control the frequency of opening move selection.
+
+
+
+
+
+
+
+
+
+
+
+
+
+A new feature in version 15.15  and  beyond  allows  you  to
+append a PGN comment to any move in a text file used to cre-
+ate books.bin, of the form {play nn%}.  This will force  the
+move  it  follows  to be played that percentage of the time,
+regardless of the normal book-ordering values based on  fre-
+quency and so forth.
+
+Note  that  {play  0%}  will  not  prevent a move from being
+played at all, as this will look just like a  move  with  no
+percent specified.  To avoid playing a move, use the ? flag.
+
+How does Crafty choose book moves?
+
+Crafty's book  selection  algorithm  depends  on  two  user-
+defined values that can be set at any time during a game:
+
+book random <n>
+
+book width <w>
+
+The  selection  algorithm  first finds the set of legal book
+moves as above.  This set will either be  all  !  moves,  or
+will  have  no ! moves in it.  This set is then sorted based
+on the setting of book random.  Here's the options:
+
+book random 0.  This is a special case for  book  selection.
+Crafty simply takes the set of book moves, and searches only
+these moves using a normal alpha/beta  search,  but  with  a
+shorter  than usual time limit.  It then plays the move that
+produces the best search value.  This has one serious disad-
+vantage  in  that there is no randomness to this at all.  It
+will always play the same move in the same position,  unless
+the  evaluation is modified, or the time per move is differ-
+ent enough to let the search find a different move from  the
+book move set.
+
+book  random  1.   This  enables  a random form of book move
+selection, but you have a lot of control over how moves  are
+randomly  chosen.  The moves are ordered, based on 4 parame-
+ters:  frequency of play, win/lose ratio, static  evaluation
+and  learned  results.  Normally these are factored into the
+value used to sort the moves, based on default settings that
+you  can  modify  by  using  the  command  "bookw  option N"
+"option" should be "freq", "ratio", "eval" and  "learn".   N
+should be a number between 0 and 1.
+
+Crafty finds the min and max values for each of the 4 param-
+eters, and then maps this into the  range  0-1000  for  each
+parameter.   Each parameter is multiplied by the correspond-
+ing "weight" you have assigned, and this is used as a  value
+to  sort  the  moves  from low to high.  Note that the first
+sort value is always the "play percent" to move them to  the
+top  of  the  list.   For  moves  with  equal "play percent"
+
+
+
+
+
+
+
+
+
+
+
+
+
+values, the normal sort-value is used  as  the  second-level
+sort  variable  (if  no moves have a play-percent, then this
+second-level variable is the only one used, of course.)
+
+Once Crafty has sorted the moves as  given  above,  it  next
+excludes  any  book moves which have 0 wins.  This culls the
+odd lines where a player chose a bad line and lost  quickly.
+With  zero  wins,  it  will never be chosen, although Crafty
+will happily follow it from the other side.  :)  This is not
+anywhere  near  perfect,  however,  because an opening could
+have 1 win and 19 losses and that still would  stay  in  the
+list.
+
+If  a  move  has a learned value of > 100, this move is ele-
+vated in priority to that of a ! move, since it  appears  to
+win material instantly.  If a value is < -100, it is given a
+? since it appears to be a lemon.
+
+After this, the setting for "book width <w>" is used to keep
+the first <w> moves in the list, after the above culling has
+been completed.  The smaller you make <w> the  less  random-
+ness  you get, but the chance of Crafty popping out a really
+bizarre book move gets smaller as well.
+
+After sorting, the final step is to fold  in  any  mandatory
+"play percent" values.  What this step does is that it finds
+all the moves in the  "playable  move  set"  just  computed,
+which  have no percent-to-play value set.  It sums the sort-
+values for these moves, then adjusts the sort-values for the
+other moves so that their percentages will be honored.
+
+Once this has been done, crafty simply uses the "sort value"
+for each move to compute a total for  all  moves.   It  then
+generates  a  random  number  between  1 and this limit, and
+chooses the move that this probability distribution matches.
+This will certainly evolve over time as new ideas are devel-
+oped.
+
+For my play on ICC, I use book random 1, and  book  width  5
+normally,  although  for  titled  players this is reduced to
+book width 3.  For computers, I reduce this further to 2, to
+try  to  play  reasonable  openings and cull the gambits and
+things that don't work out.
+
+How does book learning work and  how  can  I  share  learned
+results?
+
+1.  *all* of crafty's "learned knowledge" is in the book.bin
+file.  It keeps the learned value and learned count right in
+the  book  file  for  speed.   You can't modify it, although
+"show book" will make crafty  display  all  the  book  stuff
+before it makes a move.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+2.   the  book.lrn file has two purposes:  (a) to serve as a
+log for your prying eyes, so you can see what it's  learned,
+against  whom, and what the score was that got its attention
+in the first place.  The values on  the  end  of  each  book
+line, inside the {} characters are as follows:
+    {value,  depth, rating_difference} value is the value of
+the "key" search that comes from the first 10 moves  out  of
+book.  it's in centipawns, and + is good - is bad.  depth is
+the depth the search reached at  this  "key"  position,  the
+deeper  the  search,  the more the value is "trusted."  rat-
+ing_difference is crafty's rating - opponent's rating a neg-
+ative  value means pay more attention to the score since the
+opponent is better than crafty, a positive  value  means  to
+take  the  score  with a grain of salt, because the opponent
+was weaker than Crafty.
+
+You can delete this file at any time, and it has  no  effect
+on  learning.   As  I mentioned, the learning takes place in
+book.bin... this is mainly for you to peek  at  if  you  are
+interested.   However,  this  is the "portable learning data
+file" also, and can be given to others to import into  their
+crafty,  where  it  will  affect  the opening book just like
+their crafty had  played  the  openings  and  got  the  same
+scores.  There are two ways to use such "lrn" files:
+
+1.   "import <filename>" will read <filename> and import the
+knowledge therein into your book.bin.  Since I use the  same
+learning  code  as is used when playing games, this informa-
+tion also gets appended to *your* book.lrn file as well,  so
+that your book.lrn always reflects *everything* your program
+has learned, so long as you don't ever remove this file.  It
+would  be a mistake to use this command on your own book.lrn
+file, because the things  would  get  counted  twice,  which
+might or might not be a good thing.
+
+2.   "import  <filename>  clear"  will  read  <filename) and
+import the  knowledge  as  above,  but  first  clears  *all*
+learned  results from book.bin.  you will want to do this if
+you import my book.lrn, *and*, you have  contributed  to  my
+book.lrn data by sending me yours.  I'll take care of elimi-
+nating duplicates if you screw up in what you send  me,  but
+once  you  send me something, you run the risk of getting it
+"back again" later.  This is going to  be  a  problem  until
+everyone  gets  used  to  sharing  something  that is rather
+"vapid" like this "learned info" is...
+
+Other than that, we are now "open for business"...  when the
+urge strikes you, email me your .lrn file, I'll keep a large
+master here and update it on occasion.   Probably  the  best
+thing  to  do  is  to  send  me  your  .lrn  and at the same
+*instant* delete yours.  This will capture anything  learned
+*after*  you  send  me the file, but you'll get it all right
+back with the next version of book.lrn  that  I  distribute.
+
+
+
+
+
+
+
+
+
+
+
+
+
+after getting this new book.lrn back, here's what you should
+do:
+
+1.  rename your old book.lrn to something else.   I'll  call
+it "book.lrn.old" here.
+
+2.   copy my blearn.dat to your machine, but *do not* put it
+in the directory  with  your  book.bin  and  books.bin  file
+because  it  will get confusing very quickly if you do.  put
+it somewhere else,  because  you  are  going  to  remove  it
+quickly anyway.  I'll call it new.lrn for this example.
+
+3.  import new.lrn clear
+    import book.lrn.old
+
+and you are ready to rumble again.  The first command clears
+the learned values, sucks in my new learn file  and  updates
+everything.   the second command re-learns everything you've
+learned since you sent me the  last  book.lrn  file.   After
+doing  this your book.lrn will have my .lrn stuff, plus your
+old.lrn stuff, just waiting to be sent to me again...
+
+If this is confusing, I can probably add an  automatic  com-
+mand to do all of this by renaming book.lrn, etc.  Hopefully
+this is not too error-prone for the time being anyway...
+
+What is this new Position Learning I've heard about?
+
+Crafty now has a "permanent" hash table that  is  kept  from
+game  to  game.   A position gets into this "hash file" when
+Crafty executes a search and the search  value  is  signifi-
+cantly lower than the last search value.
+
+When this happens, Crafty stores the current information for
+this position in the permanent hash file, which can hold  up
+to  65536  positions.   Once  it fills up, the positions are
+replaced on a FIFO basic always keeping the most recent  64K
+entries.
+
+Each  time crafty starts a search, the positions/scores from
+this file are stuffed into the normal  transposition  table,
+and  used during the search just like any other table entry.
+Here's how it helps:  In a game that was played, the follow-
+ing moves and scores were found by crafty (playing white):
+
+1.   Ng5  (+.277)   h6  2.  Nh7 (+.321)  Kg8 3.  Qh5 (+.133)
+Qg7 4.  Ng5 (-2.122) hxg5
+
+So, the knight got trapped at h7, and at move 4 crafty  dis-
+covered  that  this  is gross and "learns" this result/posi-
+tion.
+
+We play the exact same game again:  except that  two  things
+
+
+
+
+
+
+
+
+
+
+
+
+
+can  happen here.  It might be that Ng7 is the *only* square
+the knight can move to here, which means this whole thing is
+forced.  the first search would find:
+
+1.  Ng5 (-2.122) if the search can reach 8 plies deep, which
+happens even in 5 second games.  It's learned  that  Ng5  is
+bad.   It  stores *this* position in the permanent hash file
+also, and the next time you try this same trap, it will dis-
+cover  4-5 moves earlier that if the knight gets to g5 it is
+in trouble.  Each game will diverge from the first game  3-4
+moves earlier.  Simple and effective.
+
+2.   Ng5 might not be forced, and if not, it knows Ng5 loses
+a piece for a pawn, so it will promptly play something else,
+which is exactly what is desired.
+
+This  is  implemented  with two (count 'em, two) files.  One
+file "position.bin" is a binary file that contains the  hash
+table  entries, and it right at one megabyte in size, *max*.
+(16 bytes per hash entry X 65536 entries = exactly one  meg,
+but  I  have 8 extra bytes for the FIFO queue implementation
+and to see how many entries are currently in the file if  it
+is not full.
+
+The  second file is "position.lrn" and is, you guessed it, a
+file that can be shared with others, just like book.lrn.  It
+contains all information needed to reconstruct the position,
+the score, the depth, etc.  and also included the  pgn  tags
+for who was what color and when the game was played...
+
+This data can be imported with the new "import" command (the
+old book learn <filename> is no longer  around)  which  will
+import  either  book.lrn type data or position.lrn type data
+and can tell them apart without your having to do  anything.
+The  <clear>  option  is still there, should you want to use
+it, and simply removes  the  position.lrn  and  position.bin
+files before starting the import process for position learn-
+ing.
+
+This can be turned off, if you like,  by  checking  out  the
+"learn"  command,  which  gives  you the ability to turn off
+book learning (as it presently  works),  position  learning,
+and  the next book learning stage which will add to the book
+in addition to learning which book lines are good and bad.
+
+What is this new "result" learning?
+
+Result learning works just like normal book learning, except
+that  if  Crafty is checkmated or resigns, it will step back
+through the book line to find the last point  where  it  had
+more than one move to choose from.  It will flag the move it
+chose as "never play again".
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+This handles the case where the  first  ten  non-book  moves
+produce  reasonable  scores,  but  the  position is one that
+Crafty simply can't handle very well.  If it  loses  such  a
+game,  it  will  still  vary  the  next time this opening is
+played, as otherwise it would possibly repeat the same open-
+ing, and would certainly repeat the remainder of the game.
+
+All  three learning modes are turned on by default, although
+any of them can be disabled  with  the  appropriate  command
+option to "learn".
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/installer/WinBoard-4.2.7/Crafty-WinBoard/wcrafty.exe b/installer/WinBoard-4.2.7/Crafty-WinBoard/wcrafty.exe
new file mode 100644 (file)
index 0000000..28d40fd
Binary files /dev/null and b/installer/WinBoard-4.2.7/Crafty-WinBoard/wcrafty.exe differ
diff --git a/installer/WinBoard-4.2.7/FAQ.html b/installer/WinBoard-4.2.7/FAQ.html
new file mode 100644 (file)
index 0000000..224748c
--- /dev/null
@@ -0,0 +1,1701 @@
+<HTML><HEAD><TITLE>
+XBoard and WinBoard: Frequently Asked Questions</TITLE></HEAD>
+<BODY>
+<H1>XBoard and WinBoard: Frequently Asked Questions</H1>
+
+This document answers some frequently asked questions about the
+graphical chess interfaces XBoard and WinBoard.
+A hyperlinked version of this FAQ is available on
+the Web through the page
+<A HREF=
+"http://www.tim-mann.org/chess.html"
+>http://www.tim-mann.org/chess.html</A>.
+
+<i>This FAQ is in need of revision.  Please contact us if you'd like
+to help update it.</i>
+
+<HR>
+<H2>Outline</H2>
+
+<UL>
+<LI><A HREF="#[A0]">[A] Introduction and hot topics</A></LI>
+<LI><A HREF="#[B0]">[B] XBoard and WinBoard</A></LI>
+<LI><A HREF="#[C0]">[C] XBoard and WinBoard, bugs and problems</A></LI>
+<LI><A HREF="#[D0]">[D] Crafty and other topics</A></LI>
+</UL>
+
+<HR>
+<H2>Detailed contents</H2>
+
+<UL>
+<LI><A NAME="[A0]" HREF="#[A]">[A] Introduction and hot topics</A></LI> 
+<UL>
+<LI><a href="#[A.1]">[A.1] What are XBoard and WinBoard?</a></li>
+<LI><A HREF="#[A.2]">[A.2] Where can I get chess information and chess
+  software?</A></LI> 
+<LI><A HREF="#[A.3]">[A.3] What are the current version numbers for
+  XBoard and WinBoard?</A></LI> 
+<LI><A HREF="#[A.4]">[A.4] Who is working on this project?</A></LI>
+<LI><A HREF="#[A.5]">[A.5] How do I report bugs, offer help, etc.?</A></LI>
+<LI><a href="#[A.6]">[A.6] What are the future plans for XBoard and
+  WinBoard?</A></LI>
+</UL>
+
+<LI><A NAME="[B0]" HREF="#[B]">[B] XBoard and WinBoard</A></LI>
+<UL>
+<LI><A HREF="#[B.1]">[B.1] What is XBoard?</A></LI>
+<LI><A HREF="#[B.2]">[B.2] Is there an XBoard for Microsoft Windows?  What is
+  WinBoard?  How do I install WinBoard?</A></LI>
+<LI><A HREF="#[B.3]">[B.3] Is there an XBoard for the Amiga?  What is
+  AmyBoard?</A></LI>
+<LI><A HREF="#[B.4]">[B.4] Is there an XBoard for the Macintosh?</A></LI>
+<LI><A HREF="#[B.5]">[B.5] Does XBoard run on VMS?</A></LI>
+<LI><A HREF="#[B.6]">[B.6] What is cmail?</A></LI>
+<LI><A HREF="#[B.7]">[B.7] How do I build XBoard?  Do I have to have
+  gcc?</A></LI>
+<LI><A HREF="#[B.8]">[B.8] Can I use XBoard or WinBoard to play a game
+  of chess with another human?</A></LI>
+<LI><A HREF="#[B.9]">[B.9] Will WinBoard run on Windows 3.1?  
+  How about Windows CE (also known as Pocket PC)?</A></LI>
+<LI><A HREF="#[B.10]">[B.10] How do I use XBoard or WinBoard as an external
+  viewer for PGN files with my Web browser?</A></LI>
+<LI><A HREF="#[B.11]">[B.11] How do I use WinBoard as an external viewer for
+  PGN files with the MS Windows File Manager or Explorer?</A></LI>
+<LI><A HREF="#[B.12]">[B.12] How do I use ICC timestamp or FICS timeseal
+  with XBoard?</A></LI>
+<LI><A HREF="#[B.13]">[B.13] How do I use ICC timestamp or FICS timeseal
+  with WinBoard?</A></LI>
+<LI><A HREF="#[B.14]">[B.14] How do I play bughouse with XBoard or WinBoard?
+</A></LI>
+<li><a href="#[B.16]">[B.16]
+  What is Zippy?  How can I interface a chess program to the Internet 
+  Chess Servers?</a></li> 
+<li><a href="#[B.17]">[B.17]
+  How can I interface my own chess program to XBoard or WinBoard?</a></li>
+<li><a href="#[B.18]">[B.18]
+  How can I recompile WinBoard from source?</a></li>
+<li><a href="#[B.19]">[B.19]
+  How can I use XBoard or WinBoard to talk
+  to an Internet Chess Server through a firewall or proxy?</a></li>
+<li><a href="#[B.20]">[B.20] 
+  How can I use XBoard or WinBoard on chess.net with accuclock?</a></li>
+<li><a href="#[B.21]">[B.21]
+  Can I get Zippy to do one or more ICS commands automatically at the 
+  start or end of each game?</a></li>
+<li><a href="#[B.22]">[B.22]
+  How do I print from WinBoard?</a></li>
+<li><a href="#[B.23]">[B.23]
+  Can I get Zippy to automatically reconnect to ICS when its connection 
+  breaks?</a></li>
+<li><a href="#[B.24]">[B.24]
+  The chess engines are too strong and always beat me.  How can I adjust
+  the difficulty level to make them weaker?</a></li>
+<li><a href="#[B.25]">[B.25]
+  May I use the piece bitmaps from XBoard/WinBoard in my own program?</a></li>
+
+</UL>
+
+<LI><A NAME="[C0]" HREF="#[C]">[C] XBoard and WinBoard, bugs and 
+  problems</A></LI>
+<UL>
+<LI><A HREF="#[C.1]">[C.1] I can't build XBoard because the
+  X11/Xaw/... include files are not found.</A></LI>
+<LI><A HREF="#[C.2]">[C.2] Configuring or building XBoard fails due to
+  missing header files, missing libraries, or undefined symbols.</a></li>
+<LI><A HREF="#[C.3]">[C.3] I have problems using WinBoard on ICS with a modem.
+  I'm not running SLIP or PPP, but just dialing in to an ordinary login account
+("shell account").</A></LI>
+<LI><A HREF="#[C.4]">[C.4] 
+  I have problems using WinBoard on ICS with Windows 95 and SLIP
+  or PPP.  When trying to start up, it gets the error "Address family
+  not supported by protocol family" (or some equally strange message).
+</A></LI> 
+<LI><A HREF="#[C.5]">[C.5] When I try to run WinBoard, I get the message
+  "Failed to start chess program gnuchess on localhost: NO LANGFILE (file
+  gnuchess.lan not found)".</A></LI>
+<LI><A HREF="#[C.6]">[C.6] I want to use XBoard or WinBoard as an Internet
+  Chess Server interface, but the ICS Client option is grayed out on the
+  menu.</A></LI> 
+<LI><A HREF="#[C.7]">[C.7] How do I give command-line options to
+  a Windows program like WinBoard?</A></LI>
+<LI><A HREF="#[C.9]">[C.9]
+  When I exit from WinBoard after using it to play against a chess
+  program on my machine, the chess program keeps running in the background.
+</A></LI>
+<li><a href="#[C.12]">[C.12]
+  Why do my ICS 
+  opponents often get extra time after they make their moves?
+  Why do I sometimes lose time off my clock after I make my move?
+</a></li>
+<li><a href="#[C.13]">[C.13]
+  I can't run WinBoard unless I delete the WinBoard.ini file each time!
+</a></li>
+<li><a href="#[C.15]">[C.15]
+  I get errors compiling XBoard's parser.c.
+</a></li>
+<li><a href="#[C.16]">[C.16]
+  I get an error building WinBoard from source because "flex" is not found.
+</a></li>
+<li><a href="#[C.17]">[C.17]
+  XBoard hangs shortly after connecting to an ICS when used with dxterm,
+  cmdtool, dtterm, kterm, konsole, or other substitutes for xterm.
+</a></li>
+<li><a href="#[C.18]">[C.18]
+  The WinBoard pieces show up in the wrong colors, appear distorted,
+  or are not visible at all.
+</a></li>
+<LI><A HREF="#[C.19]">[C.19] XBoard or WinBoard tells me
+"Error: first chess program (...) exited unexpectedly".</A></LI> 
+<li><a href="#[C.20]">[C.20]
+  XBoard tells me "Warning: Cannot allocate colormap entry", or
+  "too few colors available; trying monochrome mode", or
+  "XPM pieces cannot be used in monochrome mode".
+</a></li>
+<li><a href="#[C.21]">[C.21]
+  When I log in to freechess.org, the Enter key doesn't work, and I 
+  have to use Ctrl+J instead.  But when I use WinBoard, Ctrl+J doesn't
+  work either, so I'm stuck.
+</a></li>
+<li><a href="#[C.22]">[C.22]
+  XBoard says, "Failed to start first chess program gnuchessx
+  on localhost: gnuchessx: No such file or directory."  
+</a></li>
+</UL>
+
+<LI><A NAME="[D0]" HREF="#[D]">[D] Crafty and other topics</A></LI>
+<UL>
+<LI><A HREF="#[D.1]">[D.1] What is XChess?</A></LI>
+<LI><A HREF="#[D.2]">[D.2] What is Winsock Chess?</A></LI>
+<LI><A HREF="#[D.3]">[D.3] What is Crafty?</A></LI>
+<LI><A HREF="#[D.4]">[D.4] How do I use Crafty with XBoard?</A></LI>
+<LI><A HREF="#[D.5]">[D.5] How do I use Crafty with WinBoard?</A></LI>
+<LI><A HREF="#[D.6]">[D.6] How do I use GNU Chess 5 with XBoard?</A></LI>
+</UL>
+</UL>
+
+<HR>
+<H2><A NAME="[A]">[A] Introduction and hot topics</A></H2>
+<HR>
+<H3><A NAME="[A.1]">[A.1] What are XBoard and WinBoard?</A></H3>
+
+XBoard and WinBoard are graphical user interfaces for chess.  
+XBoard runs with the X Window System on Unix systems (including
+GNU/Linux); see topic
+<A HREF="#[B.1]">[B.1]</A>.
+WinBoard runs on true 32-bit Microsoft Windows operating
+systems, such as Windows 95, 98, NT,
+2000, ME, XP, and should continue to work
+on future 32-bit Windows systems.  It does
+not work on Windows CE (also known as Pocket PC), nor does it work on
+16-bit Windows systems such as Windows 3.1.  See topic
+<A HREF="#[B.2]">[B.2]</A>.
+
+<HR>
+<H3><A NAME="[A.2]">[A.2] Where can I get chess information and chess 
+software?</A></H3>
+
+As a shortcut to most things mentioned in this FAQ, try Tim Mann's
+Chess Web page, <A HREF= "http://www.tim-mann.org/chess.html"
+>http://www.tim-mann.org/chess.html</A>.  This page page is a good
+place to get the latest released versions of XBoard and WinBoard and
+the most up-to-date version of this FAQ.  Also see our Savannah
+project pages at <a href="https://savannah.gnu.org/projects/xboard/"
+>https://savannah.gnu.org/projects/xboard/</a>.
+
+<p>If you have other questions about XBoard/WinBoard that aren't answered
+in this FAQ, you can try Aaron Tay's WinBoard and Chess Engines FAQ, at
+<a href="http://www.aarontay.per.sg/Winboard/"
+>http://www.aarontay.per.sg/Winboard/</a>.
+
+<P>For general news and information about chess, try the newsgroup hierarchy
+rec.games.chess.*, especially the groups rec.games.chess.misc and
+rec.games.chess.computer.  Both of the latter groups have very informative
+FAQs maintained by Steve Pribut; look for them on the newsgroups or at
+<A HREF=
+"http://www.clark.net/pub/pribut/chess.html"
+>http://www.clark.net/pub/pribut/chess.html</A>.
+
+<P>Like other GNU software, you can get XBoard, and
+WinBoard by anonymous FTP from 
+<A HREF=
+"ftp://ftp.gnu.org/pub/gnu/"
+>ftp://ftp.gnu.org/pub/gnu/</A>
+and its many mirror sites.  Look in the subdirectories xboard, and winboard.
+The .tar.gz suffix on the files there indicates they were packed with tar
+and compressed with gzip.  The .exe or .zip suffixes indicate files that
+were packed and compressed with zip.
+
+<P>For other chess software, try the Internet Chess Library.  Use anonymous FTP
+to connect to ftp.freechess.org, or go to the Web page
+<A HREF=
+"http://www.freechess.org/"
+>http://www.freechess.org/</A>.
+You can get chess software, game
+collections, the FAQ file for rec.games.chess, and other chess-related
+material there, in the directory pub/chess.  The FTP server can
+automatically decompress files for you as you download them, useful if you
+don't have gzip.
+
+<P>Here is a sample anonymous ftp session.  Some of the ftp server's responses
+are abbreviated, but all the commands you must type are included.
+
+<p><PRE>
+    % ftp ftp.gnu.org
+    Connected to ftp.gnu.org
+    Name: anonymous
+    Password: your-email-address@your-site
+    ftp&gt; binary
+    200 Type set to I.
+    ftp&gt; cd /pub/gnu/xboard
+    ftp&gt; dir
+    -rw-r--r-- 1 14910 wheel  1057625 May 20 00:25 xboard-4.2.7.tar.gz
+    ftp&gt; get xboard-4.2.7.tar.gz
+    150 BINARY connection for xboard-4.2.7.tar.gz (1057625 bytes).
+    226 Transfer complete.
+    ftp&gt; quit
+</PRE>
+
+<HR>
+<H3><A NAME="[A.3]">[A.3] What are the current version numbers for 
+XBoard and WinBoard?</A></H3>
+
+At this writing, the current version numbers are:
+
+<UL>
+<LI>XBoard 4.2.7</LI>
+<LI>WinBoard 4.2.7</LI>
+</UL>
+
+<HR>
+<H3><A NAME="[A.4]">[A.4] Who is working on this project?</A></H3>
+
+Please see our Savannah project pages at <a
+href="https://savannah.gnu.org/projects/xboard/"
+>https://savannah.gnu.org/projects/xboard/</a> for a list of active
+developers.  Many others occasionally contribute suggestions and
+snippets of code, for which we are grateful.
+
+<HR>
+<H3><A NAME="[A.5]">[A.5] How do I report bugs, offer help, etc.?</A></H3>
+
+<P>Bug reports, suggestions, and offers to help on XBoard
+or WinBoard should be sent to
+bug-xboard<a name="nospam">@</a>gnu.org. <i>(Note: as of 4 Nov 2003,
+this mailing list is temporarily broken.  You can send mail to
+bug-xboard<a name="nospam">@</a>tim-mann.org instead until it is fixed.)</i>
+
+<p>Beginner questions and discussion about the program may get faster
+answers on the WinBoard Forum at <a
+href="http://f11.parsimony.net/forum16635/"
+>http://f11.parsimony.net/forum16635/</a>.  
+
+<p>If you are developing a
+chess engine that works with XBoard or WinBoard (or an alternative
+GUI that works with such engines), see the Chess Engines mailing
+list, hosted at
+<a href="http://groups.yahoo.com/group/chess-engines"
+>http://groups.yahoo.com/group/chess-engines</a>.
+
+<P>Any time you want to report a possible bug in XBoard or WinBoard,
+we need to know exactly what you did, and exactly what error (or
+other) messages you got.
+
+<P>If you are using Unix, run the "script" program, run XBoard with
+the -debug flag (if you get as far as running it), do whatever is
+necessary to reproduce the problem, type "exit" to the shell, and mail
+us the resulting typescript file.  We also need to know what
+hardware/operating system combination you are using.  The command
+"uname -a" will usually tell you this; include its output in your
+typescript.
+
+<P>If you are using MS Windows, run WinBoard with the -debug flag, and
+send us a copy of the WinBoard.debug file.  If you aren't sure how to
+add command-line flags to WinBoard, you can hit Ctrl+Alt+F12 to create
+a WinBoard.debug file after WinBoard starts, but that is not as good,
+because a few messages that would have been printed at the start are
+lost.
+
+<p>Either way, please send us the exact text of the commands you typed
+and the output you got, not just your recollection of approximately
+what they were.  The messages may seem meaningless to you, but they
+are very meaningful to us and essential for diagnosing problems.
+
+<hr>
+<h3><a name="[A.6]">[A.6] What are the future plans for XBoard and
+  WinBoard?</a></h3>
+
+<p>Our plans are always in flux.  As with most free software projects,
+the next release will happen when it happens -- or it may never
+happen.  This has always been the policy for XBoard/WinBoard.
+Releases have never been promised in specific time frames.
+
+<p>Starting in November 2003, several new developers have joined the
+project, and work is now hosted at <a
+href="https://savannah.gnu.org/projects/xboard/"
+>https://savannah.gnu.org/projects/xboard/</a>.  Lots of work is just
+getting underway, but nothing is far along yet.
+
+<p>Here is a partial list of items that have a nonzero probability of
+happening in finite time.
+
+<ul>
+<li>Small bug fixes.  Occasionally someone sends us a fix, or reports
+a small bug very clearly so that we're able to fix it in a few minutes
+work.<p>
+
+<li>Protocol version 3.  The members of the chess engine authors'
+mailing list discussed a set of proposed features for the next version
+of the XBoard/WinBoard chess engine communication protocol.
+Unfortunately, this project has gotten only as far as that discussion
+took it; no revisions of the protocol spec or coding have been done
+yet.  A few simple features are very clearly needed, though, and will
+probably appear in time.<p>
+
+<li>Contributed features.  Several people have mailed me code to add
+various features.  Most of this code is available on the
+XBoard/WinBoard extensions page at <a
+href="http://www.tim-mann.org/extensions.html"
+>http://www.tim-mann.org/extensions.html</a>, but it is not in any
+official releases yet.  We are in the process of getting folks to
+formally assign the copyrights on their contributions to the Free
+Software Foundation so that we can include it in official releases in
+the future.<p>
+
+<li>Internationalization.  Several people have expressed interest in
+internationalizing XBoard/WinBoard, and so hopefully this project will
+go forward.  Once the internationalization support is in, we will need
+more translators.  Watch for news on the xboard-devel mailing list on
+our Savannah pages.
+
+</ul>
+
+<HR>
+<H2><A NAME="[B]">[B] XBoard and WinBoard</A></H2>
+<HR>
+<H3><A NAME="[B.1]">[B.1] What is XBoard?</A></H3>
+
+XBoard is a graphical user interface for chess.  It displays a
+chessboard on the screen, accepts moves made with the mouse, and loads
+and saves games in Portable Game Notation (PGN).  XBoard is free software.
+It serves as a front-end for many different chess services, including:
+
+<p><strong>Chess engines</strong> that will run on your machine and
+play a game against you or help you analyze, such as GNU Chess and
+Crafty (topic <A HREF="#[D.3]">[D.3]</A> below).
+
+<p><strong>Chess servers</strong> on the Internet, where you can
+connect to play chess with people from all over the world, watch other
+users play, or just hang out and chat.
+
+<p><strong>Correspondence chess</strong> played by electronic
+mail. The cmail program (topic <A HREF="#[B.6]">[B.6]</A> below)
+automates the tasks of parsing email from your opponent, playing his
+moves out on your board, and mailing your reply move after you've
+chosen it.
+
+<p><strong>The Web</strong> and your own saved games. You can use
+XBoard as a helper application to view PGN games in your
+Web browser, or to load and save your own PGN files.
+
+<P>XBoard runs under Unix or Unix-compatible systems.  It requires the
+X Window System, version X11R4 or later.  There are also ports of
+XBoard to 32-bit Microsoft Windows and to
+the Amiga.  See topics <A HREF="#[B.2]">[B.2]</A> and <A
+HREF="#[B.3]">[B.3]</A> respectively.
+
+<HR>
+<H3><A NAME="[B.2]">[B.2] Is there an XBoard for Microsoft Windows?  What is WinBoard?  How do I install WinBoard?</A></H3>
+
+WinBoard is a port of XBoard to 32-bit Microsoft Windows systems, such
+as Windows 95, 98, NT, 2000, ME, and XP.  It uses the same back end
+chess code as XBoard, but the front end graphics code is a complete
+rewrite.  WinBoard is free software.
+
+<P>The WinBoard distribution includes a port of GNU Chess to Win32.
+The GNU Chess port is distributed in executable form, with instructions for
+rebuilding it from the standard GNU Chess sources (available separately).  You
+should have at least 16 to 24 MB of memory to run GNU Chess with WinBoard.
+
+<P>The WinBoard distribution also includes the ICC timestamp and FICS
+timeseal programs (topic <A HREF="#[B.12]">[B.12]</A>).
+
+<P>cmail (topic <A HREF="#[B.6]">[B.6]</A>) has not been ported to
+Windows.  All the other XBoard functions are included in WinBoard.
+The International Email Chess Group web site at <a
+href="http://www.iecg.org/" >http://www.iecg.org/</a> recommends
+ECTool (<a href="http://www.ectool.nu/" >http://www.ectool.nu/</a>)
+for playing correspondence chess under Windows.
+
+<p>You install WinBoard as follows. Download the WinBoard package to
+your PC (see topic <A HREF="#[A.2]">[A.2]</A>).  It will be a file
+with a name like winboard-4_0_0.exe.  Double-click on this file
+in the Explorer or File Manager to run it. Follow the on-screen
+prompts.
+
+<HR>
+<H3><A NAME="[B.3]">[B.3] Is there an XBoard for the Amiga?  What is AmyBoard?</A></H3>
+
+AmyBoard is a port of XBoard to the Amiga, by Jochen Wiedmann.
+The distribution includes a port of GNU Chess.
+AmyBoard is free software.
+
+<p>The current version of AmyBoard is 330.5 (based on XBoard 3.3.0).
+No one is currently maintaining it.
+
+<P>System requirements:
+
+<UL>
+<LI>An Amiga (obviously :-), running OS 2.04 or later, 2Mb RAM or more.</LI>
+<LI>MUI 2.0 or later.</LI>
+<LI>Workbench or another screen with no less than 640x400 pixels (adjustable
+  with the MUI-Prefs); this restriction is just because we don't have
+  bitmaps with less than 40x40 pixels per square. If someone contributes
+  bitmaps with 20x20 or 20x25, they will work with any Hires mode.</LI>
+</UL>
+<P>
+If you would like to use an ICS, you need an Internet connection via either
+
+<UL>
+<LI>a telnet-like program, or</LI>
+<LI>a terminal program reading from stdin and writing to stdout.</LI>
+</UL>
+<P>
+AmyBoard is available in the Internet Chess Library (topic <A HREF="#[A.2]">[A.2]</A>).
+
+<HR>
+<H3><A NAME="[B.4]">[B.4] Is there an XBoard for the Macintosh?</A></H3>
+
+Because MacOS X has a Unix base, XBoard will compile and run on it.
+You do need an X11 (X Window System) server and client libraries.
+These do not come with Mac OS, but both free and commercial versions
+are available.  Once you install the X11 package, XBoard is reported
+to compile and run without changes.  I am not a Mac user and have not
+tried this myself, so I cannot answer questions about it.
+
+Version 4.2.6 and earlier of XBoard come with an old copy of the
+config.sub utility that does not recognize Mac OS X, so to build
+XBoard, you'll have to tell the configure program what OS you are
+running.  Follow the instructions in topic <A HREF="#[B.7]">[B.7]</A>
+of this FAQ, but add the argument <tt>--host=powerpc-apple-bsd</tt> to
+the end of the "configure" command line.
+
+There is no version of XBoard or WinBoard that runs with the native
+(non-X11) Mac graphical interface, and none that runs on MacOS 9 or
+earlier.
+
+
+<HR>
+<H3><A NAME="[B.5]">[B.5] Does XBoard run on VMS?</A></H3>
+
+No.  This port would probably be a lot easier than the Win32 and Amiga
+ports were, because VMS has the X Window system (under the name
+DECwindows) and is now POSIX compliant.  However, I don't know enough
+about VMS to do the port myself, and I don't have time.  If you do,
+give it a try!  Send mail to me, 
+tim<a name="nospam2">@</a>tim-mann.org (Tim Mann), if you're
+working on this.
+
+<HR>
+<H3><A NAME="[B.6]">[B.6] What is cmail?</A></H3>
+
+cmail is a program that helps you play and keep track of electronic mail
+correspondence chess games using XBoard.  It is distributed with XBoard and
+has its own manual page.  cmail is free software.  It was written by
+Even Welsh.  cmail has not been ported to Windows; sorry.
+
+<HR>
+<H3><A NAME="[B.7]">[B.7] How do I build XBoard?  Do I need gcc?</A></H3>
+
+The first step to building XBoard is to get the distribution file.  See topic
+<A HREF="#[A.2]">[A.2]</A> for places you can ftp the software from.
+
+<P>Next, decide what directory tree you are going to install XBoard
+in.  The default is /usr/local, but you probably don't have write
+access to that directory unless you are a system administrator.  If
+you do, type the following to install it there:
+
+<p><PRE>
+    gzip -cd xboard-*.tar.gz | tar -xvf -
+    cd xboard-*/
+    ./configure
+    make
+    su
+    make install
+</PRE>
+
+If you want to install xboard in your personal home directory ($HOME/bin),
+type this:
+
+<p><PRE>
+    gzip -cd xboard-*.tar.gz | tar -xvf -
+    cd xboard-*/
+    ./configure --prefix=$HOME
+    make
+    make install
+</PRE>
+
+<P>If the first step above fails because you don't have gzip, see
+topic <A HREF="#[A.2]">[A.2]</A>, and ask a local Unix expert if you
+need more help.  If you have any problems with the last two steps,
+read the READ_ME and INSTALL files in the xboard-*/ directory.  You
+will also find this FAQ there.
+
+<P>You don't need to have gcc to build XBoard.  Almost any Unix C
+compiler should do.
+
+<HR>
+<H3><A NAME="[B.8]">[B.8] Can I use XBoard or WinBoard to play a game
+  of chess with another human?</A></H3>
+
+The only way for two humans on different machines to play chess in
+real time using XBoard/WinBoard is to use an Internet Chess Server
+as an intermediary.  That is, each player runs his own copy of XBoard
+or WinBoard, both of them log into an ICS, and they play a game there.
+Two copies of XBoard/WinBoard cannot communicate with each other
+directly.
+
+<P>Instructions on how to get started with Internet chess are included
+with the XBoard and WinBoard distributions.  The network addresses
+included in the distribution may not always be current.  The oldest
+and largest ICS is the Internet Chess Club at chessclub.com, which now
+has a fee for registered use, but still allows free unregistered use.
+There are also many newer sites with no fees, using the Free Internet
+Chess Server implementation (FICS).  The most active FICS site is
+freechess.org.  On these and most other chess servers,
+the port number to use is 5000.
+
+<P>If you don't have network connectivity to any ICS site, you
+can run your own server using a version of the FICS code, but this
+is not easy.  See <a href="http://www.tim-mann.org/ics.html#ownics"
+>http://www.tim-mann.org/ics.html#ownics</a> for advice and pointers.
+
+<P>The cmail program included with XBoard lets you play email postal games with
+another human; see topic <A HREF="#[B.6]">[B.6]</A>.
+
+<P>Two humans can play chess on the same machine using one copy of
+XBoard/WinBoard in
+Edit Game mode, but the clocks don't run in this mode, so it's of limited
+usefulness.
+
+<P>See also topic <A HREF="#[D.2]">[D.2]</A>, Winsock Chess.
+
+<HR>
+<H3><A NAME="[B.9]">[B.9] Will WinBoard run on Windows 3.1?
+  How about Windows CE (also known as Pocket PC)?
+</A></H3>
+
+WinBoard does not run on Windows 3.1, Windows for Workgroups 3.11, etc.,
+not even with the Win32s compatibility package.  The main problem is
+that Win32s does not have threads or real concurrent processes.  A
+port of WinBoard to Windows 3.1 is possible in theory, but it would be
+difficult and messy, and no one is going to do it.
+
+<p>WinBoard does not run on Windows CE (also
+known as Pocket PC).  I don't know what would be required to port it.
+
+<P>WinBoard does run well on full 32-bit versions of Windows, such as
+Windows 95, 98, NT, 2000, ME, and XP, and should continue to work
+on future 32-bit Windows systems.
+
+<HR>
+<H3><A NAME="[B.10]">[B.10] How do I use XBoard or WinBoard as an external viewer for PGN files
+  with my Web browser?</A></H3>
+
+1) On Unix systems:
+<P>
+- Add the following line to the file .mime.types in your home directory.
+(Create the file if it doesn't exist already.)
+<PRE>
+    application/x-chess-pgn    pgn
+</PRE>
+<P>
+- Add the following line to the file .mailcap in your home directory.
+(Create the file if it doesn't exist already.)
+<PRE>
+    application/x-chess-pgn; xboard -ncp -lgf %s
+</PRE>
+<P>
+- Exit from your Web browser and restart it.
+
+<P>2) On MS Windows systems:
+
+<P>The exact procedure depends on which Web browser you are using.
+The current version of WinBoard automatically configures itself as
+your PGN viewer for local files, Netscape 4.x and later, and Internet
+Explorer.  This automatic setup probably works for all other current Web
+browsers, too.
+
+<HR>
+<H3><A NAME="[B.11]">[B.11] How do I use WinBoard as an external viewer
+  for PGN files with the MS Windows File Manager or Explorer?</A></H3>
+
+WinBoard sets this up automatically when you install it, except on old
+versions of Windows NT (prior to 4.0).  On Windows NT 3.51 or earlier,
+go to the File Manager, click on the File menu, select Associate,
+enter "pgn" as the extension, and use the Browse button to find your
+copy of WinBoard and set up the association.
+
+<HR>
+<H3><A NAME="[B.12]">[B.12] How do I use ICC timestamp or FICS timeseal
+with XBoard?</A></H3>
+
+First, get the appropriate version of timestamp or timeseal for your
+machine from ftp.chessclub.com or ftp.freechess.org.
+Second, be sure that you can connect using XBoard <I>without</I>
+timestamp/timeseal.  Third, be sure that you can connect using
+timestamp/timeseal without XBoard.  See the help files on ICC and FICS
+or ask people online if you have problems.
+
+<P>If you are in a completely ordinary situation, where your machine
+is directly on the Internet and you can connect to ICC or FICS 
+without timestamp/timeseal using
+just the command "xboard -ics" or "xboard -ics -icshost freechess.org",
+change that command to one of the following:
+
+<p><PRE>
+    xboard -ics -icshost 204.178.125.65 -icshelper timestamp
+
+    xboard -ics -icshost 164.58.253.13 -icshelper timeseal
+</PRE>
+
+<p>If you have a firewall between your machine and the ICS, see topic
+<A HREF="#[B.19]">[B.19]</A>.
+
+<P>If you normally have to use the "/icscomm" command line option on
+xboard to log into a second machine, and then telnet to ICC or FICS
+from there, you are going to have to run the Unix version of timestamp
+or timeseal on the second machine.  (If the second machine is not
+running Unix, you are out of luck.)  Get the appropriate version of
+timestamp or timeseal onto the shell machine via FTP; see the help
+files on ICC and FICS for instructions.  Then simply run it when you
+would normally run telnet.  In this configuration you are not
+protected against lag between your PC and the shell machine, or for
+lag caused by heavy load on the shell machine itself from other users.
+
+<P>For further information on timestamp and timeseal, see the help
+files on ICC and FICS.
+
+<HR>
+<H3><A NAME="[B.13]">[B.13] How do I use ICC timestamp or FICS timeseal
+with WinBoard?</A></H3>
+
+<P>If you select an ICS from either the WinBoard Startup dialog or the
+Windows Start submenu that WinBoard installs, WinBoard automatically
+runs timestamp or timeseal if the ICS you chose is known to support it.
+
+<P>If you are constructing a WinBoard command line by hand, add the
+option "/icshelper timestamp" or "/icshelper timeseal" to the WinBoard
+command line to use timestamp or timeseal.  Both timestamp.exe and
+timeseal.exe are included in the WinBoard distribution.  They both
+function identically to the Unix versions, as documented in "help
+timestamp" on ICC and "help timeseal" on FICS.
+
+<p>If you have a firewall between your machine and the ICS, see topic
+<A HREF="#[B.19]">[B.19]</A>.
+
+<P>If you normally have to use the "/icscomm" command line option on
+WinBoard to log into a shell account, and then telnet to ICC or FICS
+from there, you are going to have to run the Unix version of timestamp
+or timeseal on the shell machine.  (If the shell account is not on a
+Unix machine, you are out of luck.)  Get the appropriate version of
+timestamp or timeseal onto the shell machine via FTP; see the help
+files on ICC and FICS for instructions.  Then simply run it when you
+would normally run telnet.  In this configuration you are not protected
+against lag between your PC and the shell machine, or for lag caused by
+heavy load on the shell machine itself from other users.
+
+<P>For further information on timestamp and timeseal, see the help
+files on ICC and FICS.
+
+<HR>
+<H3><A NAME="[B.14]">[B.14] How do I play bughouse with XBoard or WinBoard?
+</A></H3>
+
+XBoard and WinBoard have simple but effective bughouse support.
+Offboard piece holdings are shown in the board window's banner, and
+you drop offboard pieces using the right mouse button.  Press it over
+the destination square to pop up a menu of pieces.
+
+<P>XBoard and WinBoard can display only one board at a time, but you
+can observe your partner's game by running a second copy of the
+program and logging in as a guest.  (Unfortunately, this is not
+possible if you are using the /icscomm option.)  To observe your
+partner's games automatically, use the "follow" or "pfollow" ICS
+command; see the ICS online help for details.
+
+<HR>
+<h3><a name="[B.16]">[B.16] What is Zippy?  How can I interface a 
+chess program to the Internet Chess Servers?</a></h3>
+
+Zippy is an interface that lets a compatible chess engine (such as GNU
+Chess or Crafty) act as a computer
+player on an Internet Chess Server.  Zippy is included in both the
+XBoard and WinBoard distributions.  It is implemented as a small
+amount of additional code within XBoard or WinBoard.  
+For documentation, see the file
+zippy.README, included in both distributions or available
+from my chess Web page,
+<A HREF=
+"http://www.tim-mann.org/chess.html"
+>http://www.tim-mann/chess.html</A>.
+The version of zippy.README on my Web page is often more up-to-date
+than those in the XBoard/WinBoard distributions.
+You'll also find a "biography" of Zippy and pointers to the original
+Zippy the Pinhead comic strips on my Web page.
+Please read zippy.README carefully before you ask me any questions about Zippy.
+
+<p>Using a computer to choose your moves on a chess server is
+considered cheating unless your account is on the computer (C) list.
+Read "help computer" on your favorite server for details on their
+policy.  Most of the servers have plenty of computers running now, so they
+will not be excited about having you run a new one unless you have
+written your own chess engine.  They don't really need yet another 
+Crafty or GNU Chess clone.
+
+<HR>
+<h3><a name="[B.17]">[B.17] How can I interface my own chess program
+to XBoard or WinBoard?</a></h3>
+
+This is a non-trivial task.  XBoard and WinBoard were not designed
+with a clean interface for talking to chess programs; they were
+written to work with an existing version of GNU Chess that expects to
+be talking to a person.  Your program has to emulate GNU Chess's
+rather idiosyncratic command structure to work with XBoard and
+WinBoard.  We are gradually cleaning up, improving, and documenting
+the interface as newer versions of XBoard and WinBoard come out,
+however.
+
+<p>For documentation, see the file engine-intf.html, included in both
+distributions or available from my chess Web page, <A HREF=
+"http://www.tim-mann.org/chess.html"
+>http://www.tim-mann.org/chess.html</A>.
+The version of engine-intf.html on my Web page is often more up-to-date
+than those in the XBoard/WinBoard distributions.
+
+<HR>
+<h3><a name="[B.18]">[B.18] How can I recompile WinBoard from source?</a></h3>
+
+The source code for WinBoard is available from the author's Web page,
+<A HREF=
+"http://www.tim-mann.org/chess.html"
+>http://www.tim-mann.org/chess.html</A>.
+
+<p>WinBoard is currently developed using Microsoft Visual C++ 5.0.
+You can build the program from the MSVC++ GUI by opening the project
+file (winboard.dsp) and telling MSVC++ to build the project.  You can
+also build it from the the command line by using the nmake program
+supplied with MSVC++.
+
+<p>To build WinBoard with the free Cygwin tools, available from <a
+href= "http://www.cygwin.com/" >http://www.cygwin.com/</a>), use the
+command "make -f cygwin.mak".  WinBoard 4.2.5 was successfully
+compiled with the net release of Cygwin as downloaded on 20-March-2001
+(cygwin1.dll 1.1.8, gcc 2.95.2-6, binutils 20001221-1, flex 2.5.4-1),
+but exhibits a command-line parsing bug; see item 511 in the ToDo file
+that comes with WinBoard.  WinBoard 4.1.0 does not compile with
+Cygwin.  WinBoard 4.0.7 is known to compile with Cygwin BL20.1.
+
+<p>To build WinBoard with Borland C++ 4.5, use "borland.mak", supplied
+with the WinBoard sources, as the Makefile.  Support for Borland C++
+was contributed by Don Fong and has not been tested by the author of WinBoard.
+
+<p>WinBoard is a Win32 application, so you definitely need a compiler
+and tool set that supports Win32.  In particular, older versions of
+DJGPP can build only 32-bit MSDOS programs; that is, programs that use
+a DOS extender to get a 32-bit address space and do not make any
+Windows calls.  The latest versions of DJGPP are said to be able to 
+build Win32 programs when used with the proper extension package(s),
+but this is not known to work with WinBoard.  Use Cygwin instead.
+
+<p>See also topic <A HREF="#[C.16]">[C.16]</A>.
+
+<HR>
+<H3><A NAME="[B.19]">[B.19] 
+How can I use XBoard or WinBoard to talk
+to an Internet Chess Server through a firewall or proxy?
+</A></H3>
+
+<p>There is no single answer to this question, because there are many
+different kinds of firewalls in use.  They work in various different
+ways and have various different security policies.  This answer can
+only provide hints.
+
+<p>Note that you can't access Internet Chess Servers through a Web proxy,
+because they are not a Web service.  You talk to them through a raw
+TCP connection, not an HTTP connection.  If you can only access the
+Web through a proxy, there may be a firewall that stops you from
+making direct TCP connections, but there may also be a way through it.
+Read on for hints, and contact your local system administrator if you
+need more information about your local configuration.
+
+<p>A helpful user mailed me the following explanation of how to use
+WinBoard with WinGate:
+<blockquote>
+"I have managed to setup WinBoard though my WinGate proxy.  I have the
+Office version.  What I needed to do was to setup the TCP/IP
+connection to add the User/Host name and my provider service name for
+the DNS, but I had to leave the HOST IP address blank.  I have not
+played with all the variations, so it may be just that I have the DNS
+lookup enabled."
+</blockquote>
+I hope this helps, though I don't find it very clear.  I don't have
+a copy of WinGate myself and can't help if you have questions about it.
+
+<p>If you are using some other non-SOCKS firewall, read the FIREWALLS section
+in your XBoard or WinBoard documentation (man page, info document, or
+Help file).  If you can telnet to a chess server in some way, then you
+can almost certainly connect to it with xboard/WinBoard, though in
+some cases you may not be able to run timestamp or timeseal.  The
+timestamp and timeseal protocols require a clean, 8-bit wide TCP
+connection from your machine to the ICS, which some firewalls do not
+provide.
+
+<p>If you have a SOCKS firewall and are using <strong>XBoard</strong>,
+you should be able to SOCKSify xboard and use it.  See <a
+href="http://www.socks.nec.com/">http://www.socks.nec.com/</a> for
+information about SOCKS and socksification.  However, if you do this,
+you can't use timestamp or timeseal; what you really need is a
+socksified version of timestamp or timeseal.  This is hard because the
+source code for timestamp and timeseal is proprietary; the folks
+running the chess servers don't give it out because that would make it
+too easy to cheat.  On some versions of Unix, you may be able to
+socksify a program that you don't have the source code to by running
+it with an appropriate dynamic library; see <a
+href="http://www.socks.nec.com/">http://www.socks.nec.com/</a>.  For
+others, you might be able to get a pre-built socksified version from
+the chess server administrators.  For timeseal versions, see <a
+href="ftp://ftp.freechess.org/pub/chess/timeseal/"
+>ftp://ftp.freechess.org/pub/chess/timeseal/</a>.  For timestamp
+versions, the directory would be <a
+href="ftp://ftp.chessclub.com/pub/icc/timestamp/"
+>ftp://ftp.chessclub.com/pub/icc/timestamp/</a>, but at this writing
+there don't seem to be any socksified timestamps there.  Once you have
+a socksified timestamp or timeseal, simply run it with a normal,
+non-socksified xboard in place of the standard timestamp or timeseal.
+
+<p>If you have a SOCKS firewall and you are using
+<strong>WinBoard</strong>, we now know how to make this configuration
+work, complete with timestamp or timeseal!
+
+<p>Start by getting SocksCap32.  This software is freely available
+from <a href="http://www.socks.nec.com/">http://www.socks.nec.com/</a>.
+Install it on your machine, read the documentation, and learn to use
+it.  You may find it useful with many other programs besides WinBoard.
+
+<p>Next, <strong>don't</strong> socksify WinBoard.  Socksifying
+WinBoard itself doesn't let you use it with timestamp or timeseal.
+For some reason I don't understand -- something strange that
+SocksCap32 does -- the socksified WinBoard runs but does nothing, and
+timestamp/timeseal runs all by itself in its own window.
+
+<p>Instead, use the following workaround.  Follow the instructions
+exactly; don't try to skip steps or simplify things.
+
+<p>First, make SocksCap32 application profiles for timestamp and
+timeseal.  Use the following command lines in the SocksCap32
+profiles. Name the first profile "timestamp" and the second
+"timeseal".
+
+<p><pre>
+    "c:\program files\winboard\timestamp.exe" chessclub.com 5000 -p 5000
+    "c:\program files\winboard\timeseal.exe" freechess.org 5000 -p 5000
+</pre>
+
+<p>Second, run timestamp or timeseal by itself, socksified, using its
+profile.  This will open an unneeded, black window that will not
+respond to typing.  Minimize it to the task bar and ignore it. It will
+go away when you exit from WinBoard.
+  
+<p>Next, run WinBoard using the following command line.  Make a shortcut
+or type this command into an MS-DOS Prompt box.  Don't run WinBoard
+itself socksified, just run it directly.
+
+<p><pre>
+    "c:\program files\winboard.exe" /ics /icshost=localhost /icsport=5000
+</pre>
+
+<p>After you get this working, you can try getting the timestamp window to
+auto-minimize by starting it from a shortcut instead of from the
+SocksCap32 control window. As it says in the SocksCap32 help file, put
+the following in the Target field of a shortcut's Properties page:
+
+<p><pre>
+    "c:\program files\sockscap32\sc32.exe" timestamp
+</pre>
+
+Then select "Run: Minimized" on the same page.  Do the same for timeseal.
+
+<p>Another method that can work is to use a .bat file to start both
+timestamp and WinBoard.  It would look something like this:
+
+<p><pre>
+    REM --
+    REM -- icc.bat
+    REM -- Start timestamp under SocksCap32 and use WinBoard to connect to it.
+    REM -- The string "timestamp" refers to a SocksCap32 profile for timestamp.
+    REM --  Do not change it to the filename of the timestamp program!
+    REM --
+    start /minimized "c:\program files\sockscap32\sc32.exe" timestamp
+    cd "c:\program files\winboard"
+    winboard /ics /icshost=localhost /icsport=5000
+</pre>
+
+<p>This workaround has a problem if you want to run two copies of
+WinBoard at once, talking to the same chess server twice (for
+bughouse) or to two different chess servers. If you need to do that,
+you will need to run a separate copy of timestamp with <i>a different
+port number</i> for each connection.  You'll need to make a second set of
+profile entries with a different value after the -p flag (say, 5001)
+and you'll need to change the WinBoard command line /icsport=5000 for
+the second WinBoard to match.
+
+<HR>
+<H3><A NAME="[B.20]">[B.20] 
+How can I use XBoard or WinBoard on chess.net with accuclock?
+</A></H3>
+
+<p>I believe chess.net provides a Win32 command-line version of
+accuclock that will work with WinBoard.  Please see the documentation
+on the chess.net server itself; don't ask the author of WinBoard.
+
+<p>I don't know whether chess.net provides versions of accuclock for
+Unix at this time.  Ask them.
+
+<hr>
+<h3><a name="[B.21]">[B.21]
+  Can I get Zippy to do one or more ICS commands automatically at the 
+  start or end of each game?</a></h3>
+
+<p>By default, Zippy automatically sends the command "gameend" to ICS
+at the end of each game.  You can alias this command (using the ICS
+"alias" feature) to anything you want.  On ICC, you can use the
+"multi" feature to alias gameend to several commands, but other
+servers don't have that feature.  Zippy doesn't send anything at the
+start of the game by default.
+
+<p>You can get Zippy to send one or more commands of your choosing, at
+the start and/or end of each game, by using the -zippyGameStart and
+-zippyGameEnd command line options, newly added in version 4.0.3.
+Both xboard and WinBoard have (somewhat obscure) ways of getting
+newlines into this option to send several commands.  Here is an
+example of one way to do it for each.
+
+<p><pre>
+    xboard -ics -zp -xrm '*zippyGameStart: say hi\nsay prepare to die\n'
+
+    WinBoard /ics /zp /zippyGameEnd='say thanks\nseek 5 0\nseek 2 12\n'
+</pre>
+
+<hr>
+<h3><a name="[B.22]">[B.22]
+  How do I print from WinBoard?
+</a></h3>
+
+WinBoard does not have built-in printing functionality.
+If you want to print a picture of the board, press Alt+PrintScrn, run the
+standard Windows application Paintbrush, select Paste, and print from there.
+If you want to print a list of moves, save your game as a PGN file,
+then open the PGN file with Notepad or any other plain text editor and
+print it from there.
+
+<hr>
+<h3><a name="[B.23]">[B.23]
+  Can I get Zippy to automatically reconnect to ICS when its connection 
+  breaks?</a></h3>
+
+<p>There isn't a perfect solution to this problem yet, but a pretty
+good one is to write a shell script (for xboard) or .bat script (for
+WinBoard) that automatically restarts the program whenever it exits.
+Use the -xexit flag so that you don't get a popup dialog that must be
+dismissed with the OK button before the program will exit.  The gap in
+this solution is that your connection to ICS can sometimes get into a
+state where the program does not notice that the connection is broken
+until the next time it tries to send a command.  Perhaps some future
+version of xboard/WinBoard will have an option to send a harmless
+command every five minutes or so.
+
+<p>Anyway, here is a sample Windows .bat file that restarts WinBoard each
+time it exits.  Thanks to Jason Williamson.  It assumes that you have put
+your computer account's name and password in a file named logon.ini.
+
+<pre>
+REM --
+REM -- wbrecon.bat
+REM -- Start WinBoard in Zippy mode, and restart it each time it exits.
+REM -- Add or change parameters as needed for your application.
+REM --
+:loop
+start /w winboard /zp /ics /icslogon logon.ini /xexit /xautoraise
+REM -- The next line is to have a short delay setup for 139 seconds.
+REM -- Leave it out if it doesn't work on the version of Windows you use.
+TYPE NUL | CHOICE.COM /N /CY /TY,99 &gt;NUL
+goto loop
+</pre>
+
+<p>Here is a Unix shell script to do the same thing for xboard.
+It's a bit more elaborate.  It is based on the script I use for the
+original Zippy.  It logs all ICS output to a file named zippy.out,
+and it lets you type commands to Zippy by running "cat &gt; zippy.fifo".
+
+<pre>
+#! /bin/sh
+host="204.178.125.65 -icsport 5000 -telnet -telnetProgram timestamp"
+#host="164.58.253.13 -icsport 5000 -telnet -telnetProgram timeseal"
+out=zippy.out
+fifo=zippy.fifo
+ZIPPYPASSWORD='something'
+export ZIPPYPASSWORD
+ZIPPYPASSWORD2='orother'
+export ZIPPYPASSWORD2
+ZIPPYLINES=`pwd`/all.lines
+export ZIPPYLINES
+ZIPPYGAMEEND='say Yow, that was FUN!
+gameend'
+export ZIPPYGAMEEND
+zippylogon=`pwd`/logon.ini
+DISPLAY=`hostname`:0.0
+export DISPLAY
+mv -f $out ${out}.old
+rm -f $fifo
+mkfifo $fifo
+pid=$$
+( while [ true ] ; do cat -u $fifo ; done ) | \
+      ( while [ true ] ; do
+          xboard -iconic -ics -icshost $host \
+                 -zt -zp -xbell -xanimate \
+                 -xautosave -xquiet -fcp "gnuchessx -h" \
+                 -icslogon $zippylogon -xexit -autoflag -xautoraise $*
+          sleep 600
+        done ) &gt; $out 2&gt;&amp;1 &amp;
+</pre>
+
+<hr>
+<h3><a name="[B.24]">[B.24]
+  The chess engines are too strong and always beat me.  How can I adjust
+  the difficulty level to make them weaker?</a></h3>
+
+<p>The simplest way to get that effect is to make sure the
+XBoard/WinBoard Auto Flag option is off, set a very fast time control
+so that the chess engine can't think for long, but take as much time
+over your own moves as you want. Also feel free to use Retract Move if
+you make a blunder.  
+
+<p>Many chess coaches will let you switch sides after
+they get a stronger position so that you can get experience playing
+positions where you are winning.  You can try this with XBoard/WinBoard
+by using the Machine White or Machine Black menu command to make the
+machine take over your position.
+
+<p>The -depth command-line option to XBoard/WinBoard can also be used to
+weaken the engine (see the man page or Help file).  It's a bit of a
+nuisance to set command line options in Windows, but see topic <A
+HREF="#[C.7]">[C.7]</A> for instructions.
+
+<p>Other ways of weakening engines are engine-specific.  Many of them
+let you adjust various parameters, and if you choose bad settings, the
+engine will play more poorly.  Consult whatever documentation came with
+the engine you are using.
+
+<hr>
+<h3><a name="[B.25]">[B.25]
+  May I use the piece bitmaps from XBoard/WinBoard in my own program?</a></h3>
+
+<p>The piece bitmaps used in XBoard and WinBoard were designed by
+Elmar Bartel.  He released them under the <a
+href="http://www.gnu.org/copyleft/gpl.html">GNU General Public
+License</a>.  This means that if your program is also free software
+distributed under the GPL, you can use them freely.  If your program
+is distributed under some other license, including commercial,
+shareware, or non-GPL freeware, then you cannot use the bitmaps unless
+you obtain special permission from Elmar.  See the file README.bitmaps
+that comes with the XBoard and WinBoard source code for more
+information and an email address you can write to.
+
+<HR><H2><A NAME="[C]">[C] XBoard and WinBoard, bugs and problems</A></H2>
+
+<HR><H3><A NAME="[C.1]">[C.1] I can't build XBoard
+because the X11/Xaw/...  include files are not found.</A></H3>
+
+These are the header files for the Athena Widgets library, which XBoard uses
+heavily.  Some versions of Unix don't supply these files, but they are part of
+the standard X distribution, freely available from MIT.  
+
+<P>For general information on getting missing X sources, see the FAQ on
+comp.windows.x.  Note that you may be missing only the header files, or you
+may be missing the libraries themselves too.
+
+<P>HP-UX users are missing only the header files.  You can get them by
+anonymous FTP as follows.  (But first check with your system
+administrator to see if someone else at your site has already done
+this.)  Get the archive file /hpux9/X11R5/Core/Xaw-5.00.tar.gz (Xaw
+header files) via anonymous FTP from the site hpux.csc.liv.ac.uk
+(138.253.42.172), or one of the other official sites---Germany:
+hpux.ask.uni-karlsruhe.de (129.13.200.57), US: hpux.cae.wisc.edu
+(144.92.4.15), France: hpux.cict.fr (192.70.79.53) or Netherlands:
+hpux.ced.tudelft.nl (130.161.140.100). Unpack the archive using gzip
+and follow the instructions in its README and/or HPUX.Install files.
+Thanks to Richard Lloyd for this information.
+
+<P>If you have the Xaw header files installed in a different place
+than the other X11 headers, you may need to configure XBoard with an
+extra flag to help it find them.  For example, if yours are in
+/foo/bar/X11/Xaw, try this:
+
+<p><PRE>
+    rm config.cache
+    (setenv CFLAGS -I/foo/bar ; configure)
+</PRE>
+<P>
+Also see topic <A HREF="#[C.2]">[C.2]</A>.
+
+<HR>
+<H3><A NAME="[C.2]">[C.2] Configuring or building XBoard fails due to
+missing header files, missing libraries, or undefined symbols.
+</A></H3>
+
+Perhaps you have the X server and client programs installed on your
+machine, but not the X header files and link-time libraries.  If so,
+you can run existing X programs, but you cannot compile a new X
+program from source code.  In this case the XBoard configure script
+will fail and will tell you to look at this question in the FAQ.  Many
+GNU/Linux distributions put the headers and libraries in a separate
+package, which you might not have installed.  If you are using RedHat,
+install the XFree86-devel package.  If you are using some other
+kind of Unix, ask your system administrator where to find the X header
+files and link-time libraries.  If this is not your problem, read on.
+
+<p>The configure script for XBoard looks for X libraries and header
+files in some common places.  Sometimes it fails: If yours are
+installed in an odd place, it may not find them at all.  If you have
+more than one version of X installed on your system, it may find the
+"wrong" one, or occasionally it may find libraries from one version
+and incompatible header files from another.  You can work around these
+problems by telling the configure script where the files are.  For
+example:
+
+<p><PRE>
+    configure --x-includes=/odd/place/include \
+              --x-libraries=/odd/place/lib
+</PRE>
+
+<P>The directory named in the argument to --x-includes must have a
+subdirectory "X11" that contains the actual .h files.  That is, if
+your X.h file has full pathname /odd/place/X11R6/include/X11/X.h, then
+you must give the argument --x-includes=/odd/place/X11R6/include.
+
+<P>Some linkers have bugs that cause bogus error messages when you try
+to link X programs.  The configure script includes a workaround for a
+bug of this kind that exists in some SunOS 4.x.x installations.  See
+the FAQ on comp.windows.x for more information about problems of this
+kind.
+
+<P>If all else fails, check whether anyone else at your site has been able to
+compile any X programs on your system.  Your X installation might be buggy.
+If so, the system administrator at your site might know how to fix or work
+around the problem.
+
+<P>Also see topic <A HREF="#[C.1]">[C.1]</A>.
+
+<HR><H3><A NAME="[C.3]">[C.3] I have problems using WinBoard on ICS
+with a modem.  I'm not running SLIP or PPP, but just dialing in to an
+ordinary login account ("shell account").</A></H3>
+
+Here are solutions to some common problems in this area.
+
+<P>Some people want to connect to ICS through HyperTerminal or some other
+terminal program first, then run WinBoard.  This is not how it works.
+WinBoard wants to talk directly with your modem, acting as a terminal program
+itself.  Start out with the modem "on hook" (not making a call).
+
+<P>Run WinBoard with a command line like this (adding more options if desired):
+
+<p><PRE>
+    WinBoard /ics /icscom com1
+</PRE>
+
+Use com2, com3, or com4 in place of com1 if your modem is connected to one of
+those ports.
+
+<P>After you start WinBoard, you may need to change some of the options in the
+Communications dialog (on the Options menu).  The dialog has the usual options
+for talking to modems: bits per second, bits per byte, parity, number of stop
+bits.  You will probably want to use Save Settings Now when you're done.
+
+<P>Next, type dialing commands to your modem in the text window that WinBoard
+creates.  You may need to turn off Local Line Editing on the Options menu
+while you are typing commands to your modem.  Turn it back on when you're
+done.  See the WinBoard Help file for instructions if you see your typing
+echoed an extra time after you hit Enter.
+
+<HR>
+<H3><A NAME="[C.4]">[C.4]
+I have problems using WinBoard on ICS with Windows 95 and SLIP
+or PPP.  When trying to start up, it gets the error "Address family
+not supported by protocol family" (or some equally strange message).
+</A></H3>
+
+WinBoard is a 32-bit application, but some Winsock (TCP/IP) implementations
+support only 16-bit applications.  You get a strange looking error message
+if you try to use a 32-bit application because
+there is no standard Winsock error code number
+for "32-bit application not supported."
+
+<P>Microsoft TCP/IP works with both 16-bit and
+32-bit applications, supports SLIP, PPP, Ethernet, etc., and is included
+with Windows 95 and later Windows systems.
+If possible, I recommend that you uninstall
+whatever Winsock you are using and install Microsoft TCP/IP instead.
+For more information, see
+<A HREF=
+"http://walden.mo.net/~rymabry/95winfaq.html"
+>http://walden.mo.net/~rymabry/95winfaq.html (the Win95-L FAQ)</A>.
+
+<P>Trumpet Winsock 2.1 (and earlier) supports only 16-bit
+applications, and hence does not work with WinBoard.  But there is a
+beta-test release available that does support 32-bit applications.  
+I have not tried it with WinBoard, but it 
+should work.  See Trumpet's Web page
+<A HREF=
+"http://www.trumpet.com.au/wsk/winsock.htm"
+>http://www.trumpet.com.au/wsk/winsock.htm</A>
+for more information.
+
+<P>The 16-bit versions of America On-Line's software do not support
+32-bit Winsock applications.  Get the 32-bit version.  At one time the
+32-bit version was called "AOL for Windows 95," but I imagine that has
+changed.  Hopefully the current versions are all 32-bit.
+
+<P>A few versions of Winsock may have bugs that prevent
+Windows timestamp/timeseal from working with them.  I'm not sure if
+such bugs exist in any versions that actually have 32-bit support,
+so this point might be moot.  Again, Microsoft TCP/IP is known to work.
+
+<HR><H3><A NAME="[C.5]">[C.5] When I try to run WinBoard, I get the
+message "Failed to start chess program gnuchess on localhost: NO
+LANGFILE (file gnuchess.lan not found)".</A></H3>
+
+<p>This message means that WinBoard is trying to run GNU Chess, but
+GNU Chess cannot find a file that it needs, named gnuchess.lan.
+If you see it, you've probably customized WinBoard's /fcp, /fd, /scp,
+and/or /sd options and made a mistake in the process.  Review what
+you did, and see the WinBoard help file.
+
+<HR>
+<H3><A NAME="[C.6]">[C.6] I want to use XBoard or WinBoard as an Internet
+Chess Server interface, but the ICS Client option is grayed out on the
+menu.</A></H3> 
+
+XBoard and WinBoard have three major modes that can't be changed from the
+menus: local chess engine mode,
+ICS mode, and standalone mode.
+
+<p>With XBoard, you have to set the mode using command-line options.
+Local chess engine mode is the default, -ics selects ICS mode, and
+-ncp ("no chess program") selects standalone mode.
+
+<p>With WinBoard, if you don't set the mode using command-line
+options, you get a dialog box asking which mode you want.  To bypass
+the dialog box, use -cp ("chess program") for local chess engine mode,
+or -ics or -ncp as with XBoard.  Also see topic <A HREF="#[C.7]">[C.7]</A>.
+
+<HR>
+<H3><A NAME="[C.7]">[C.7] How do I give command-line options to
+a Windows program like WinBoard?</A></H3>
+
+<P>There are many ways; pick your favorite:
+
+<P><UL>
+<LI>Type the command line into an MS-DOS Prompt box.  Example:
+"WinBoard -ics".
+
+<LI>Make a Windows shortcut for WinBoard.  You can do this by
+right-dragging WinBoard.exe to the desktop and selecting "Create
+Shortcut(s) Here" from the menu that appears.  Right-click on the
+shortcut, select Properties, and click the Shortcut tab.  The
+command-line text box is labelled "Target" instead of "Command line"
+just to confuse you.  Edit the text in this box, adding the command
+line options to the end.</LI>
+
+<LI>Choose Run from the Start menu, or File / Run from the Program
+Manager or File Manager, and type the command line into the dialog you
+get.  You may have to give WinBoard's full drivespec and filename if
+it is not in a directory on your search path.</LI>
+
+<LI>Make a Program Manager icon for WinBoard.  You can do this by
+dragging WinBoard.exe from the File Manager into the Program Manager,
+or by using File / New in the Program Manager.  Select the icon and
+choose File / Properties.  Edit the Command Line text box to add the
+command-line options to the end.</LI>
+</UL>
+
+<HR>
+<H3><A NAME="[C.9]">[C.9]
+When I exit from WinBoard after using it to play against a chess
+program on my machine, the chess program keeps running in the background.
+</A></H3>
+
+<p>Be sure you have the current versions of WinBoard and the chess
+engine you are using.  WinBoard 3.4.1 and earlier had a bug that
+caused this problem to occur with all chess engines.  A buggy chess
+engine that does not respond to the "quit" command will also cause
+this.
+
+<p>If you still see this problem, you can stop the rogue chess engine
+by pressing Ctrl+Alt+Del, selecting the chess engine process from the
+menu, and pressing the End Task button.
+
+<hr>
+<h3><a name="[C.12]">[C.12]
+Why do my ICS 
+opponents often get extra time after they make their moves?
+Why do I sometimes lose time off my clock after I make my move?
+</a></h3>
+
+If you are playing with the ICS incremental clock, both you and your
+opponent get a set amount of extra time after each move.
+
+<p>If your or your opponent has netlag, your opponent might appear to
+get extra time, especially if your opponent is using timestamp or
+timeseal.  The ICS charges each player who is using timestamp or
+timeseal only for the time between when the player received his
+opponent's move and the time he sent his own move.  Thus delays in
+network transmission do not count against either player.  But WinBoard
+counts down the display of your opponent's clock on your screen under
+the assumption that there is no netlag.  When his move comes in, if
+there was netlag, the ICS may not have really charged him for that
+much time, and WinBoard corrects the clock to what the ICS says it
+should read.
+
+<p>If you are not using timestamp or timeseal, you may appear to lose
+time off your clock at some point after you make your move.  In this
+case, the ICS charges you for the time between when it sent you your
+opponent's move and the time it received your move.  Thus delays in
+network transmission count against you.  WinBoard stops counting down
+the display of your clock on your screen (and starts your opponent's)
+when you make your move.  When the ICS echoes your move back to you, it
+may have charged you for more time than that, and WinBoard corrects
+the clocks to what the ICS says they should read.
+
+<p>See "help lag" and "help timestamp" or "help timeseal" on your ICS for
+more detailed information.
+
+<hr>
+<h3><a name="[C.13]">[C.13]
+I can't run WinBoard unless I delete the WinBoard.ini file each time!
+</a></h3>
+
+<p>Most people don't have this problem, but two or three people using
+Windows NT 4.0 with Service Pack 3 or 4 have reported it.  I have no
+idea what causes this problem.  Contrary to what was reported in a
+previous version of this FAQ, reinstalling the service pack after
+installing WinBoard does not seem to solve the problem.
+
+<hr>
+<h3><a name="[C.15]">[C.15]
+I get errors compiling XBoard's parser.c.
+</a></h3>
+
+<p>The file parser.c is automatically generated from parser.l.  The
+copy included with XBoard 4.0.2 was generated by lex on Tru64 Unix and
+has problems compiling and linking on current GNU/Linux versions.  The
+copy included with XBoard 4.0.3 was generated by flex on a GNU/Linux
+machine, but it too won't necessarily work on other versions of Unix.
+If you have this problem, you can fix it by deleting parser.c and
+letting the Makefile re-create it from parser.l.  This will work if
+you have either lex or flex on your system.  Flex is available in all
+GNU/Linux distributions and can be obtained at no charge from the Free
+Software Foundation, www.fsf.org.
+
+<hr>
+<h3><a name="[C.16]">[C.16]
+I get an error building WinBoard from source because "flex" is not found.
+</a></h3>
+
+<p>The file parser.c is automatically generated from parser.l.  The
+Makefile included with the WinBoard source kit has a rule for
+generating parser.c using the program "flex", which will fail if you
+don't have flex.  However, the source kit also includes a ready-made
+copy of parser.c, so you don't really need flex unless you have made
+changes to parser.l.  Check that you still have a copy of parser.c; if
+you don't, unpack the WinBoard source zip file again to get one.
+Either set the last-modified time of parser.c to be later than that of
+parser.l, delete parser.l, or comment out the Makefile rule for
+building parser.c from parser.l, and then try building WinBoard again.
+
+<p>If you do want to change parser.l and rebuild parser.c, you can get
+flex as part of the free Cygwin kit from 
+<a href="http://sourceware.cygnus.com/cygwin/"
+>http://sourceware.cygnus.com/cygwin/</a>.  You can
+probably also get flex for Windows by itself from various other places
+around the Internet.  It is free software distributed by the Free
+Software Foundation, www.fsf.org.
+
+<hr>
+<h3><a name="[C.17]">[C.17]
+  XBoard hangs shortly after connecting to an ICS when used with dxterm,
+ cmdtool, dtterm, kterm, konsole, or other substitutes for xterm.
+</a></h3>
+
+<p>After connecting to a chess server, XBoard 4.0.2 and later sends an
+escape sequence to its terminal that is meant to display your handle
+and the ICS host name (for example, "user@chessclub.com") in the
+terminal's banner and icon.  It seems that several of the alternative
+X terminal programs have a bug that makes them hang when sent this
+escape sequence.
+
+<p>You can work
+around the problem by using xterm, nxterm, rxvt, aterm, xiterm, or
+gnome-terminal, all of which seem to work fine.  In fact, current
+versions of kterm and konsole seem to work fine too, so if you are
+having problems with one of them, be sure you are not running an
+outdated version.  
+
+<p>Alternatively, you can disable this feature by commenting out the
+body of DisplayIcsInteractionTitle in xboard.c and recompling xboard.
+
+<hr>
+<h3><a name="[C.18]">[C.18]
+  The WinBoard pieces show up in the wrong colors, appear distorted,
+  or are not visible at all.
+</a></h3>
+
+<p>This can happen if you have a bug in your Windows display driver.
+Check with the manufacturer of your display card, the manufacturer of
+your computer, or Microsoft to see if there is an updated driver
+available.  You can usually download updated drivers from the Web.
+
+<p>If you can't find an updated driver, you can try running Windows
+using a different number of colors and/or disabling some of the
+hardware acceleration features on your display card.  To change the
+number of colors, go to Windows Start / Settings / Control Panel /
+Display / Settings / Color Palette.  To disable hardware acceleration
+features, go to Windows Start / Settings / Control Panel / Display /
+Settings / Advanced Properties / Performance / Hardware Acceleration.
+
+<p>It's also possible that Windows has the right driver for your
+hardware already but you are not using it.  It may help to reinstall
+your driver.  Go to Windows Start / Settings / Control Panel / System
+and delete your display card (maybe even your monitor too), then
+reboot.  Windows should automatically re-detect your card and monitor
+and re-install the drivers; if it doesn't, run Start / Settings /
+Control Panel / Add New Hardware to force it to.
+
+<p>If all else fails, try Monochrome mode.  On WinBoard's menus, go
+to Options / Color and check Monochrome.  WinBoard will display in black
+and white.
+
+<HR>
+<H3><A NAME="[C.19]">[C.19] XBoard or WinBoard tells me "Error: first chess
+  program (...) exited unexpectedly".</A></H3>
+
+<p>This message means that your chess engine crashed, probably due to
+a bug in the engine, or because you have it configured incorrectly.
+You can try running XBoard or WinBoard again with the "-debug" flag on
+the command line.  This will print out all the messages received from
+the chess engine.  (With WinBoard, the messages go into a file called
+WinBoard.debug; with XBoard, they go to the xterm that you started
+XBoard from.)
+
+<P>If you are using GNU Chess and you see this problem as soon as it
+starts up, most likely GNU Chess is exiting with an error message.  If
+you see the message "NO LANGFILE", it means that you did not install
+GNU Chess correctly, and it is unable to find the file gnuchess.lang.
+Make sure that you defined LIBDIR in the gnuchess Makefile, and that
+gnuchess.lang is in that directory.  If gnuchess.lang is not there,
+you probably didn't type "make install" in the gnuchess src directory;
+you must do this to install gnuchess.lang (and the gnuchess book).  If
+you defined LIBDIR to something that is not an absolute pathname (that
+is, to something that does not start with a "/"), GNU Chess will work
+only if you run it from the GNU Chess "src" directory where you built
+it.
+
+<hr><h3><a name="[C.20]">[C.20]
+  XBoard tells me "Warning: Cannot allocate colormap entry", or
+  "too few colors available; trying monochrome mode", or
+  "XPM pieces cannot be used in monochrome mode".
+</a></h3>
+
+<p>You are running your X server with 8-bit color depth, and you are running
+some program that has used up all 256 of your colors.  Netscape tends
+to do this, or maybe you have a background image that uses up all of
+your colors.
+
+<p>If you have a modern machine, you probably have enough display
+memory to run your X server with 16-, 24-, or 32-bit color depth.  If
+you're using "startx" to start the X server, try giving the command as
+"<tt>startx -- -bpp 24</tt>" (or 16, or 32).  On newer X servers you
+may have to use -depth instead of -bpp.  Further details on
+configuring your X server are beyond the scope of this FAQ.
+
+<p>If you must run in 8-bit mode, try the following:
+Avoid background images that use up all your colors.  If you
+run Netscape, try starting it up with the <tt>-install</tt> command-line
+option; this gives Netscape its own private colormap that X will
+switch to when Netscape has the keyboard focus.  
+
+<P>If all else fails, another possibility is to run xboard in
+monochrome (black and white) mode by giving it the <tt>-mono</tt>
+command-line option.  XBoard will try this by itself in some cases.
+Monochrome mode works only with bitmap pieces, not pixmap pieces, so
+trying to use it may give you the error "XPM pieces cannot be used in
+monochrome mode".  To get around this, either use the -bitmapDirectory
+command line option to point XBoard to the directory containing the
+bitmap pieces included with the XBoard source code, or rebuild XBoard
+with pixmap support disabled, using "./configure --disable-xpm ; make
+clean ; make".
+
+<hr><h3><a name="[C.21]">[C.21]
+  When I log in to freechess.org, the Enter key doesn't work, and I 
+  have to use Ctrl+J instead.  But when I use WinBoard, Ctrl+J doesn't
+  work either, so I'm stuck.
+</a></h3>
+
+<p>This is a pretty rare problem.  It should only arise if you have to
+reach freechess.org by telnetting (or connecting with WinBoard
+/icsport=23) from a Windows PC to a Unix box, and then telnetting from
+there to freechess.org.  The Enter key should always work when
+connecting directly from your PC to freechess.org.
+
+<p>The best way to get around the problem is to run timeseal on the
+intermediate Unix box instead of telnet.  Get the appropriate version
+of timeseal for your box from ftp.freechess.org and follow the
+directions in the help files on FICS.
+
+<p>If you can't run timeseal for some reason, there are some things
+you can do to make telnet stay in line mode instead of going to
+character mode.  Then the Enter key will work.  First, try "telnet
+freechess.org 5000" instead of "telnet freechess.org."
+If that still doesn't work, then when the Enter key stops working,
+type the following.  Here <tt>&lt;</tt> and <tt>&gt;</tt> surround the
+names of keys.
+
+<p><pre>
+    &lt;Ctrl+S&gt;&lt;Ctrl+]&gt;mode line&lt;Enter&gt;
+</pre>
+
+<hr><h3><a name="[C.22]">[C.22]
+  XBoard says, "Failed to start first chess program gnuchessx
+  on localhost: gnuchessx: No such file or directory."
+</a></h3>
+
+<p>XBoard is looking for GNU Chess 4.0.  If you didn't want to use
+XBoard with GNU Chess, please see topic <A HREF="#[C.6]">[C.6]</A>.
+If you did want to use GNU Chess 4.0, be sure you have it installed and
+that it is on your $PATH.  If you wanted to use GNU Chess 5 instead,
+see topic <A HREF="#[D.6]">[D.6]</A>.
+
+<HR>
+<H2><A NAME="[D]">[D] Crafty and other topics</A></H2>
+<HR>
+<H3><A NAME="[D.1]">[D.1] What is XChess?</A></H3>
+
+XChess is an older chessboard program that is no longer supported.  XChess was
+written for X version 10, and you may or may not be able to build and run it
+on an X11 system.
+
+<P>XChess has only one significant feature that is not present in XBoard: Two
+humans can play chess using XChess on different machines, without using the
+Internet Chess Server as an intermediary.  This feature is of interest only if
+you don't have network connectivity to the Internet Chess Server.
+
+<P>Note: There actually have been several different programs called "XChess" in
+circulation at various times.  The above describes one that was associated
+with GNU Chess.
+
+<HR>
+<H3><A NAME="[D.2]">[D.2] What is Winsock Chess?</A></H3>
+
+Winsock Chess is a program that lets two people play chess across a
+network.  It runs only under Microsoft Windows.  Some of the code in
+Winsock Chess is derived from GNU Chess, but it is not maintained by
+the GNU Chess team.  You can get a copy from the Internet Chess
+Library; see topic <A HREF="#[A.2]">[A.2]</A>.  For more information,
+contact its author, Donald Munro, ccahdm@beluga.upe.ac.za.
+
+<HR>
+<H3><A NAME="[D.3]">[D.3] What is Crafty?</A></H3>
+
+Crafty is a freely-available chess program written by Bob Hyatt.  
+Bob is the main author of the well-known chess program Cray
+Blitz.  Crafty is a very strong program, its code is available, commented
+and fairly readable, and its author is actively working on improvements.
+
+<p>You can download Crafty from <a
+href="ftp://ftp.cis.uab.edu/pub/hyatt/"
+>ftp://ftp.cis.uab.edu/pub/hyatt/</a>.  Start by getting the <a
+href="ftp://ftp.cis.uab.edu/pub/hyatt/read.me" >read.me</a> file and
+reading it.  Among other things, this file contains instructions on
+how to install Crafty as a command-line application on your machine.
+
+<p>There is a Crafty mailing list.
+To subscribe, send email to majordomo@cis.uab.edu, with 
+"subscribe crafty-list" in the body.
+
+<HR>
+<H3><A NAME="[D.4]">[D.4] How do I use Crafty with XBoard?</A></H3>
+
+<p>First, you need to get Crafty and install it as a command-line
+application on your machine.  See topic <A HREF="#[D.3]">[D.3]</A>.
+
+<p>To use Crafty with XBoard, give the -fcp
+parameter like this:
+
+<p><PRE>
+    xboard -fcp "./crafty" -fd <I>crafty_directory</I>
+</PRE>
+
+Here <I>crafty_directory</I> is the directory where you installed Crafty.
+You can add more xboard options at the end of the command line.
+
+<p>Crafty 15.14 or later is required to work properly with XBoard
+4.0.0 or later.  We generally recommend using the latest versions of
+both XBoard and Crafty.
+
+<HR>
+<H3><A NAME="[D.5]">[D.5] How do I use Crafty with WinBoard?</A></H3>
+
+<p>First, you need to get Crafty and install it as a command-line
+application on your machine.  See topic <A HREF="#[D.3]">[D.3]</A>.
+It is best to use the latest version of Crafty with the latest version
+of WinBoard to make sure all features are compatible and function
+correctly.  You can install Crafty in any directory you like.
+
+<p>You also need to get WinBoard and install it in the normal way
+using its built-in installer.  You can do that either before or after
+you install Crafty.
+
+<p>After both Crafty and WinBoard are installed separately, follow the
+directions in the WinBoard Help file (included with WinBoard) for
+connecting new chess engines to WinBoard.
+
+<p>If you want to have Crafty act as an automated computer player on a
+chess server, see topic <A HREF="#[B.16]">[B.16]</A>.  Before you try
+to get that working, be sure you can play against Crafty locally,
+first without WinBoard, then with it.  Also be sure you can use
+WinBoard to play on the chess server yourself, without having Crafty
+connected to it.  You have to crawl before you can walk!
+
+<HR>
+<H3><A NAME="[D.6]">[D.6] How do I use GNU Chess 5 with XBoard?</A></H3>
+
+<p>By default, XBoard still tries to use GNU Chess 4 by running the
+command "gnuchessx".  That's why if you don't have GNU Chess 4, you
+get the error message "Failed to start first chess program gnuchessx
+on localhost: gnuchessx: No such file or directory."
+
+<p>If you have GNU Chess 5, the command should be "gnuchess xboard"
+instead.  To make XBoard use this command, give the -fcp parameter
+like this:
+
+<p><PRE>
+    xboard -fd <I>gnuchess_directory</I> -fcp "./gnuchess xboard" 
+</PRE>
+
+Here <I>gnuchess_directory</I> is the directory where you installed
+GNU Chess 5 and its book.  You can add more xboard options at the
+end of the command line.
+
+<p><HR>
+$Id$<br>
+** End of XBoard/WinBoard FAQ **
+</BODY></HTML>
diff --git a/installer/WinBoard-4.2.7/GNUChes5.exe b/installer/WinBoard-4.2.7/GNUChes5.exe
new file mode 100644 (file)
index 0000000..a67d202
Binary files /dev/null and b/installer/WinBoard-4.2.7/GNUChes5.exe differ
diff --git a/installer/WinBoard-4.2.7/GNUChess.exe b/installer/WinBoard-4.2.7/GNUChess.exe
new file mode 100644 (file)
index 0000000..dde2dfc
Binary files /dev/null and b/installer/WinBoard-4.2.7/GNUChess.exe differ
diff --git a/installer/WinBoard-4.2.7/Knight.ico b/installer/WinBoard-4.2.7/Knight.ico
new file mode 100644 (file)
index 0000000..5ea5bb5
Binary files /dev/null and b/installer/WinBoard-4.2.7/Knight.ico differ
diff --git a/installer/WinBoard-4.2.7/NEWS b/installer/WinBoard-4.2.7/NEWS
new file mode 100644 (file)
index 0000000..96e812c
--- /dev/null
@@ -0,0 +1,40 @@
+** Announcing the release of XBoard and WinBoard, version 4.2.7 **
+
+XBoard is a graphical chessboard for the X Window System that can
+serve as a user interface for GNU Chess, Crafty, and other chess
+engines, for the Internet Chess Servers, and for electronic mail
+correspondence chess.  XBoard can also be used by itself.  It can read
+and write game files in PGN (portable game notation).
+
+WinBoard is a similar program for 32-bit Microsoft Windows.  It
+includes all the major features of XBoard except email correspondence
+chess.
+
+A new release of both XBoard and WinBoard is now available.  Version
+4.2.7 corrects about two dozen bugs in the 4.2.6 release.  See the
+ChangeLog for a list.  In addition, WinBoard 4.2.7 comes bundled with
+GNU Chess 5.07 instead of the old 5.02+ version.  The XBoard and
+WinBoard source code trees have been merged, so the xboard download
+now contains the complete source for both.
+
+The various larger contributions that people have submitted since the
+4.2.6 release are not yet included in 4.2.7.  The source code for
+these contributions is now available, however (see
+http://www.tim-mann.org/extensions.html), and we plan to include most
+of them in a future release once the contributors complete necessary
+copyright assignment paperwork.
+
+You can get both XBoard and WinBoard from either our new Savannah
+project pages or their existing pages on Tim Mann's web site:
+
+- https://savannah.gnu.org/projects/xboard/
+- http://www.tim-mann.org/chess.html
+
+Most of the known bugs and deficiencies in previous versions have
+*not* been addressed in this release.  It is not necessary to report
+your favorite bug again if you have reported it before, unless the
+ChangeLog erroneously says it has been fixed.  Most known bugs,
+deficiencies, and suggestions received are now listed in the ToDo
+file.  If you find a bug not listed there, please report it in the bug
+tracker at https://savannah.gnu.org/projects/xboard/ or by email to 
+bug-xboard [AT] tim-mann.org.
diff --git a/installer/WinBoard-4.2.7/READ_ME.txt b/installer/WinBoard-4.2.7/READ_ME.txt
new file mode 100644 (file)
index 0000000..846b6e8
--- /dev/null
@@ -0,0 +1,53 @@
+WinBoard is a graphical chessboard for 32-bit Microsoft
+Windows systems.  It can serve as a user interface for
+GNU Chess or for internet chess servers, or it can be
+used to play out games manually or from game files.
+For full details, see the Help file (WinBoard.hlp).
+For answers for frequently asked questions, see the FAQ
+file (FAQ.html).
+
+WinBoard is free software.  You can redistribute it
+and/or modify it under the GPL, as described in the
+files COPYRIGHT and COPYING.  If your distribution does
+not include the source code, you can get it from the
+project's Web site:
+
+ http://savannah.gnu.org/projects/xboard/
+
+GNU CHESS
+
+Two versions of GNU Chess are included in the WinBoard
+distribution.  GNU Chess is free software released
+under the GPL.
+
+Source code for GNU Chess 5 is available from:
+
+ http://savannah.gnu.org/projects/chess/
+
+Source code for GNU Chess 4 is available from:
+
+ http://tim-mann.org/gnuchess.html
+
+BUGS AND IMPROVEMENTS
+
+Report bugs in WinBoard or XBoard by email to
+<bug-xboard@gnu.org>.  Report bugs in GNU Chess to
+<bug-gnu-chess@gnu.org>.  Give full details, including
+the program's version number and the exact text of any
+error messages.  If you improve WinBoard or XBoard,
+please send a message about your changes to
+<bug-xboard@gnu.org>.  Remember that these programs
+are released under the GPL, so source code is freely
+available, but if you distribute modified versions, you
+must distribute the source code modifications under the
+GPL as well.
+
+HISTORY
+
+WinBoard is a port of the Unix program XBoard to Win32,
+the 32-bit Microsoft Windows API.  The graphical front
+end (WinBoard.c, etc.) is all new, but the back end
+that understands chess rules, chess notation, GNU
+Chess, the ICS, etc., is shared with XBoard.  See
+WinBoard.hlp for a list of contributors to WinBoard and
+XBoard.
diff --git a/installer/WinBoard-4.2.7/RJF60.pgn b/installer/WinBoard-4.2.7/RJF60.pgn
new file mode 100644 (file)
index 0000000..f63cf33
--- /dev/null
@@ -0,0 +1,935 @@
+[Event "New Jersey State Open Championship"]
+[Site "East Orange, NJ USA"]
+[Date "1957.09.02"]
+[Round "7"]
+[White "Robert J. Fischer"]
+[Black "J. Sherwin"]
+[Result "1-0"]
+
+1. e4 c5 2. Nf3 e6 3. d3 Nc6 4. g3 Nf6 5. Bg2 Be7 6. O-O O-O 7. Nbd2 Rb8 8. Re1
+d6 9. c3 b6 10. d4 Qc7 11. e5 Nd5 12. exd6 Bxd6 13. Ne4 c4 14. Nxd6 Qxd6 15.
+Ng5 Nce7 16. Qc2 Ng6 17. h4 Nf6 18. Nxh7 Nxh7 19. h5 Nh4 20. Bf4 Qd8 21. gxh4
+Rb7 22. h6 Qxh4 23. hxg7 Kxg7 24. Re4 Qh5 25. Re3 f5 26. Rh3 Qe8 27. Be5+ Nf6
+28. Qd2 Kf7 29. Qg5 Qe7 30. Bxf6 Qxf6 31. Rh7+ Ke8 32. Qxf6 Rxh7 33. Bc6+ 1-0
+
+[Event "Portoroz Interzonal"]
+[Site "Portoroz, Yugoslavia"]
+[Date "1958.08.16"]
+[Round "8"]
+[White "Robert J. Fischer"]
+[Black "Bent Larsen"]
+[Result "1-0"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. f3 O-O 8. Qd2
+Nc6 9. Bc4 Nxd4 10. Bxd4 Be6 11. Bb3 Qa5 12. O-O-O b5 13. Kb1 b4 14. Nd5 Bxd5
+15. Bxd5 Rac8 16. Bb3 Rc7 17. h4 Qb5 18. h5 Rfc8 19. hxg6 hxg6 20. g4 a5 21. g5
+Nh5 22. Rxh5 gxh5 23. g6 e5 24. gxf7+ Kf8 25. Be3 d5 26. exd5 Rxf7 27. d6 Rf6
+28. Bg5 Qb7 29. Bxf6 Bxf6 30. d7 Rd8 31. Qd6+ 1-0
+
+[Event "Portoroz Interzonal"]
+[Site "Portoroz, Yugoslavia"]
+[Date "1958.08.27"]
+[Round "13"]
+[White "Tigran V. Petrosian"]
+[Black "Robert J. Fischer"]
+[Result "1/2-1/2"]
+
+1. c4 Nf6 2. Nc3 g6 3. g3 Bg7 4. Bg2 O-O 5. Nf3 d6 6. O-O Nc6 7. d3 Nh5 8. d4
+e5 9. d5 Ne7 10. e4 f5 11. exf5 gxf5 12. Nxe5 Nxg3 13. hxg3 Bxe5 14. f4 Bg7 15.
+Be3 Bd7 16. Bd4 Ng6 17. Re1 Rf7 18. Bf3 Qf8 19. Kf2 Re8 20. Rxe8 Qxe8 21. Bxg7
+Rxg7 22. Qd4 b6 23. Rh1 a5 24. Nd1 Qf8 25. Ne3 Rf7 26. b3 Qg7 27. Qxg7+ Kxg7
+28. a3 Rf8 29. Be2 Ne7 30. Bd3 h6 31. Rh5 Be8 32. Rh2 Bd7 33. Rh1 Rh8 34. Nc2
+Kf6 35. Nd4 Kg7 36. Be2 Ng8 37. b4 Nf6 38. Bd3 axb4 39. axb4 Kg6 40. Ra1 Ng4+
+41. Ke2 Re8+ 42. Kd2 Nf6 43. Ra6 Rb8 44. Ra7 Rc8 45. c5 bxc5 46. bxc5 dxc5 47.
+Nf3 Kf7 48. Ne5+ Ke7 49. Nxd7 Nxd7 50. Bxf5 Rf8 51. g4 Kd6 52. Bxd7 Kxd7 53.
+Ke3 Re8+ 54. Kf3 Kd6 55. Ra6+ Kxd5 56. Rxh6 c4 57. Rh1 c3 58. g5 c5 59. Rd1+
+Kc4 60. g6 c2 61. Rc1 Kd3 62. f5 Rg8 63. Kf4 Kd2 64. Rxc2+ Kxc2 65. Kg5 c4 66.
+f6 c3 67. f7 1/2-1/2
+
+[Event "Mar del Plata"]
+[Site "Mar del Plata, Argentina"]
+[Date "1959.03.30"]
+[Round "7"]
+[White "Robert J. Fischer"]
+[Black "G. Shocron"]
+[Result "1-0"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 d6 8. c3
+O-O 9. h3 Na5 10. Bc2 c5 11. d4 Qc7 12. Nbd2 Bd7 13. Nf1 Rfe8 14. Ne3 g6 15.
+dxe5 dxe5 16. Nh2 Rad8 17. Qf3 Be6 18. Nhg4 Nxg4 19. hxg4 Qc6 20. g5 Nc4 21.
+Ng4 Bxg4 22. Qxg4 Nb6 23. g3 c4 24. Kg2 Nd7 25. Rh1 Nf8 26. b4 Qe6 27. Qe2 a5
+28. bxa5 Qa6 29. Be3 Qxa5 30. a4 Ra8 31. axb5 Qxb5 32. Rhb1 Qc6 33. Rb6 Qc7 34.
+Rba6 Rxa6 35. Rxa6 Rc8 36. Qg4 Ne6 37. Ba4 Rb8 38. Rc6 Qd8 39. Rxe6 Qc8 40. Bd7
+1-0
+
+[Event "Mar del Plata"]
+[Site "Mar del Plata, Argentina"]
+[Date "1959.04.03"]
+[Round "10"]
+[White "Herman Pilnik"]
+[Black "Robert J. Fischer"]
+[Result "0-1"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Be2 e5 7. Nb3 Be7 8. O-O
+O-O 9. Be3 Be6 10. f3 Qc7 11. Qe1 Nbd7 12. Rd1 b5 13. Rd2 Nb6 14. Qf2 Rab8 15.
+Bxb6 Rxb6 16. Nd5 Nxd5 17. exd5 Bd7 18. f4 Bf6 19. c3 Rbb8 20. fxe5 Bxe5 21.
+Nd4 g6 22. a3 a5 23. Kh1 b4 24. cxb4 axb4 25. Rc2 Qb6 26. Nc6 bxa3 27. Qxb6
+Rxb6 28. bxa3 Ra8 29. Nxe5 dxe5 30. Rc3 Rb2 31. Rc7 Bf5 32. g4 Be4+ 33. Bf3 Bd3
+34. d6 Rd8 35. Re1 Rxd6 36. Rxe5 Rf6 37. Re3 Rxf3 38. Rxf3 Be4 39. Rxf7 Rf2 40.
+Rf8+ Kg7 0-1
+
+[Event "Mar del Plata"]
+[Site "Mar del Plata, Argentina"]
+[Date "1959.04.05"]
+[Round "12"]
+[White "Robert J. Fischer"]
+[Black "Hector Rossetto"]
+[Result "1-0"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 a6 5. c4 Qc7 6. Nc3 Nf6 7. Bd3 Nc6 8. Be3
+Nxd4 9. Bxd4 Bc5 10. Bc2 d6 11. O-O Bd7 12. Na4 Bxd4 13. Qxd4 Rd8 14. Rfd1 O-O
+15. Rac1 Qa5 16. Qb6 Qxb6 17. Nxb6 Bc6 18. f3 Nd7 19. Nd5 Bxd5 20. exd5 e5 21.
+b4 g6 22. Ba4 b6 23. Rd3 f5 24. Ra3 Nb8 25. c5 bxc5 26. bxc5 dxc5 27. Rxc5 Kg7
+28. Rb3 Rf7 29. d6 Nd7 30. Rc7 Nf8 31. Rbb7 Rxc7 32. dxc7 Rc8 33. Bb3 a5 34. a4
+h6 35. h3 g5 36. g4 fxg4 37. hxg4 1-0
+
+[Event "Zurich"]
+[Site "Zurich, Switzerland"]
+[Date "1959.05.19"]
+[Round "1"]
+[White "Edgar Walther"]
+[Black "Robert J. Fischer"]
+[Result "1/2-1/2"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 Be7 8. Qf3
+Nbd7 9. O-O-O Qc7 10. Bd3 b5 11. Bxf6 Nxf6 12. Rhe1 Bb7 13. Kb1 Rc8 14. g4 Nd7
+15. g5 Nb6 16. f5 e5 17. f6 gxf6 18. gxf6 Bf8 19. Nd5 Nxd5 20. exd5 Kd8 21.
+Nc6+ Bxc6 22. dxc6 Qxc6 23. Be4 Qb6 24. Qh5 Kc7 25. Bf5 Rd8 26. Qxf7+ Kb8 27.
+Qe6 Qc7 28. Re3 Bh6 29. Rc3 Qb7 30. f7 Bg7 31. Rcd3 Bf8 32. Qxe5 dxe5 33. Rxd8+
+Ka7 34. R1d7 h5 35. Rxb7+ Kxb7 36. c3 Kc7 37. Ra8 Kd6 38. Rxa6+ Ke7 39. Re6+
+Kxf7 40. Rxe5 b4 41. cxb4 Bxb4 42. h3 Kf6 43. Rb5 Bd6 44. Be4 Re8 45. Rf5+ Kg7
+46. Bf3 Re1+ 47. Kc2 Rf1 48. Rd5 Rf2+ 49. Rd2 Rxd2+ 50. Kxd2 h4 51. Kd3 Kf6 52.
+Kc4 Ke7 53. Kb5 Kd7 54. a4 Kc7 55. b4 Kb8 56. a5 Ka7 57. Kc4 Bg3 58. b5 Bf2 59.
+Be2 Be3 60. Kb3 Bd2 61. b6+ Kb7 62. Ka4 Kc6 63. Bb5+ Kc5 1/2-1/2
+
+[Event "Zurich"]
+[Site "Zurich, Switzerland"]
+[Date "1959.05.??"]
+[Round "3"]
+[White "Fridrik Olafsson"]
+[Black "Robert J. Fischer"]
+[Result "0-1"]
+
+1. c4 Nf6 2. Nc3 g6 3. d4 Bg7 4. e4 d6 5. Be2 O-O 6. Nf3 e5 7. d5 Nbd7 8. Bg5
+h6 9. Bh4 a6 10. Nd2 Qe8 11. g4 Nh7 12. Qc2 Ng5 13. h3 Nc5 14. O-O-O Bd7 15. f3
+Na4 16. Nxa4 Bxa4 17. b3 Bd7 18. Bf2 c5 19. h4 Nh7 20. Be3 b5 21. Nb1 f5 22.
+gxf5 gxf5 23. exf5 Bxf5 24. Qd2 e4 25. Rdg1 exf3 26. Bxh6 Ra7 27. Bxg7 Rxg7 28.
+Rxg7+ Kxg7 29. Bd3 bxc4 30. Rg1+ Kh8 31. Qc3+ Qe5 32. Qxe5+ dxe5 33. Bxf5 Rxf5
+34. bxc4 Nf6 35. Nd2 f2 36. Rh1 e4 37. Kd1 e3 38. Nf1 Re5 39. Ke2 Nh5 40. Kf3
+e2 0-1
+
+[Event "Zurich"]
+[Site "Zurich, Switzerland"]
+[Date "1959.05.??"]
+[Round "8"]
+[White "Robert J. Fischer"]
+[Black "Wolfgang Unzicker"]
+[Result "1-0"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 d6 8. c3
+O-O 9. h3 Na5 10. Bc2 c5 11. d4 Qc7 12. Nbd2 Bd7 13. Nf1 Rfe8 14. Ne3 g6 15.
+dxe5 dxe5 16. Nh2 Rad8 17. Qf3 Be6 18. Nhg4 Nxg4 19. hxg4 Qc6 20. g5 Nc4 21.
+Ng4 Bxg4 22. Qxg4 f6 23. gxf6 Bxf6 24. a4 Nb6 25. axb5 axb5 26. Be3 Ra8 27.
+Red1 Kh8 28. b3 Bg7 29. Qh4 Bf6 30. Bg5 Bxg5 31. Qxg5 Rxa1 32. Rxa1 Nd7 33. Bd1
+Nf6 34. Ra7 Qd6 35. Be2 Re7 36. Rxe7 Qxe7 37. Bxb5 Kg7 38. Be2 Qc7 39. Qe3 Qa5
+40. g3 Qa3 41. Kg2 Qa5 42. Qd3 Qb6 43. Qc4 Qc6 44. Bd3 Qb6 45. b4 cxb4 46. cxb4
+Ng4 47. Qc5 Qxc5 48. bxc5 Kf7 49. f4 Ke7 50. Kf3 Nf6 51. Bb5 Ke6 52. Bc4+ Ke7
+53. c6 Ne8 54. fxe5 h6 55. Ke3 Nc7 56. Kd4 h5 57. Ke3 g5 58. Be2 h4 59. gxh4
+gxh4 60. Bc4 Ne8 61. Kf4 Kd8 62. Kg4 Kc7 63. Bf7 Ng7 64. Kxh4 Kxc6 65. Kg5 1-0
+
+[Event "Zurich"]
+[Site "Zurich, Switzerland"]
+[Date "1959.06.??"]
+[Round "12"]
+[White "Robert J. Fischer"]
+[Black "Paul Keres"]
+[Result "1-0"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8. c3
+d6 9. h3 Na5 10. Bc2 c5 11. d4 Qc7 12. Nbd2 cxd4 13. cxd4 Bb7 14. Nf1 Rac8 15.
+Bd3 Nc6 16. Ne3 Rfe8 17. Nf5 Bf8 18. Bg5 Nd7 19. Rc1 Qb8 20. Bb1 Nxd4 21. N3xd4
+Rxc1 22. Bxc1 exd4 23. Nh6+ gxh6 24. Qg4+ Kh8 25. Qxd7 Bd5 26. Qf5 Re5 27. Qf3
+f5 28. Bf4 Re8 29. Qh5 Bxe4 30. f3 Bc6 31. Rc1 Bd7 32. Bxh6 Re6 33. Bxf8 Qxf8
+34. Qh4 Qf6 35. Qxf6+ Rxf6 36. Kf2 Kg7 37. Rc7 Rf7 38. Ke2 f4 39. Ra7 Kf6 40.
+Rxa6 Re7+ 41. Kf2 Be6 42. Rxd6 Ke5 43. Rc6 Bd5 44. Rh6 Rc7 45. Rh5+ Kd6 46.
+Rh6+ Ke5 47. Rh5+ Kd6 48. Rf5 Rc1 49. Bd3 Rd1 50. Ke2 Rg1 51. Kf2 Rd1 52. Ke2
+Rg1 53. Rg5 Bxa2 54. Bxb5 Rb1 55. Kd3 h6 56. Rh5 Rxb2 57. Kxd4 Rxg2 58. Rxh6+
+Ke7 59. Ke4 Rg5 60. Ba6 Bf7 61. Bc8 Rg6 62. Rh7 Kf8 63. Bg4 Rg7 64. Rh6 Rg6 65.
+Rxg6 Bxg6+ 66. Kxf4 Kg7 67. Kg5 Bd3 68. f4 Be4 69. h4 Bd3 70. h5 Be4 71. h6+
+Kh8 72. Bf5 Bd5 73. Bg6 Be6 74. Kf6 Bc4 75. Kg5 Be6 76. Bh5 Kh7 77. Bg4 Bc4 78.
+f5 Bf7 79. Bh5 Bc4 80. Bg6+ Kg8 81. f6 1-0
+
+[Event "Yugoslavia Candidates Tournament"]
+[Site "Yugoslavia"]
+[Date "1959.09.07"]
+[Round "1"]
+[White "Paul Keres"]
+[Black "Robert J. Fischer"]
+[Result "0-1"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 Be7 8. Qf3
+Qc7 9. O-O-O Nbd7 10. Be2 b5 11. Bxf6 Nxf6 12. e5 Bb7 13. exf6 Bxf3 14. Bxf3
+Bxf6 15. Bxa8 d5 16. Bxd5 Bxd4 17. Rxd4 exd5 18. Nxd5 Qc5 19. Re1+ Kf8 20. c3
+h5 21. f5 Rh6 22. f6 gxf6 23. Nf4 h4 24. Rd8+ Kg7 25. Ree8 Qg1+ 26. Kd2 Qf2+
+27. Ne2 Rg6 28. g3 f5 29. Rg8+ Kf6 30. Rxg6+ fxg6 31. gxh4 Qxh2 32. Rd4 Qh1 33.
+Kc2 Ke5 34. a4 Qf1 35. Nc1 Qf2+ 36. Kb3 bxa4+ 37. Ka3 Qc2 38. Nd3+ Kf6 39. Nc5
+Qc1 40. Rxa4 Qe3 41. Nxa6 f4 42. Rd4 Kf5 43. Nb4 Qe7 44. Kb3 Qxh4 45. Nd3 g5
+46. c4 Qg3 47. c5 f3 48. Kc4 f2 49. Nxf2 Qxf2 50. c6 Qxb2 51. Kc5 Qc3+ 52. Kd5
+g4 53. Rc4 Qe5# 0-1
+
+[Event "Yugoslavia Candidates Tournament"]
+[Site "Yugoslavia"]
+[Date "1959.09.11"]
+[Round "4"]
+[White "Robert J. Fischer"]
+[Black "Svetozar Gligoric"]
+[Result "1-0"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 d6 6. Bc4 Bd7 7. Bb3 g6 8. f3
+Na5 9. Bg5 Bg7 10. Qd2 h6 11. Be3 Rc8 12. O-O-O Nc4 13. Qe2 Nxe3 14. Qxe3 O-O
+15. g4 Qa5 16. h4 e6 17. Nde2 Rc6 18. g5 hxg5 19. hxg5 Nh5 20. f4 Rfc8 21. Kb1
+Qb6 22. Qf3 Rc5 23. Qd3 Bxc3 24. Nxc3 Nxf4 25. Qf3 Nh5 26. Rxh5 gxh5 27. Qxh5
+Be8 28. Qh6 Rxc3 29. bxc3 Rxc3 30. g6 fxg6 31. Rh1 Qd4 32. Qh7+ 1-0
+
+[Event "Yugoslavia Candidates Tournament"]
+[Site "Yugoslavia"]
+[Date "1959.09.22"]
+[Round "10"]
+[White "Robert J. Fischer"]
+[Black "Pal Benko"]
+[Result "1-0"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 d6 6. Bc4 Qb6 7. Nde2 e6 8.
+O-O Be7 9. Bb3 O-O 10. Kh1 Na5 11. Bg5 Qc5 12. f4 b5 13. Ng3 b4 14. e5 dxe5 15.
+Bxf6 gxf6 16. Nce4 Qd4 17. Qh5 Nxb3 18. Qh6 exf4 19. Nh5 f5 20. Rad1 Qe5 21.
+Nef6+ Bxf6 22. Nxf6+ Qxf6 23. Qxf6 Nc5 24. Qg5+ Kh8 25. Qe7 Ba6 26. Qxc5 Bxf1
+27. Rxf1 1-0
+
+[Event "Yugoslavia Candidates Tournament"]
+[Site "Yugoslavia"]
+[Date "1959.10.04"]
+[Round "16"]
+[White "Robert J. Fischer"]
+[Black "Tigran V. Petrosian"]
+[Result "1/2-1/2"]
+
+1. e4 c6 2. Nc3 d5 3. Nf3 Bg4 4. h3 Bxf3 5. Qxf3 Nf6 6. d3 e6 7. g3 Bb4 8. Bd2
+d4 9. Nb1 Bxd2+ 10. Nxd2 e5 11. Bg2 c5 12. O-O Nc6 13. Qe2 Qe7 14. f4 O-O-O 15.
+a3 Ne8 16. b4 cxb4 17. Nc4 f6 18. fxe5 fxe5 19. axb4 Nc7 20. Na5 Nb5 21. Nxc6
+bxc6 22. Rf2 g6 23. h4 Kb7 24. h5 Qxb4 25. Rf7+ Kb6 26. Qf2 a5 27. c4 Nc3 28.
+Rf1 a4 29. Qf6 Qc5 30. Rxh7 Rdf8 31. Qxg6 Rxf1+ 32. Bxf1 Rxh7 33. Qxh7 a3 34.
+h6 a2 35. Qg8 a1=Q 36. h7 Qd6 37. h8=Q Qa7 38. g4 Kc5 39. Qf8 Qae7 40. Qa8 Kb4
+41. Qh2 Kb3 42. Qa1 Qa3 43. Qxa3+ Kxa3 44. Qh6 Qf7 45. Kg2 Kb3 46. Qd2 Qh7 47.
+Kg3 Qxe4 48. Qf2 Qh1 1/2-1/2
+
+[Event "Yugoslavia Candidates Tournament"]
+[Site "Yugoslavia"]
+[Date "1959.10.22"]
+[Round "25"]
+[White "Svetozar Gligoric"]
+[Black "Robert J. Fischer"]
+[Result "1/2-1/2"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 Be7 8. Qf3
+Qc7 9. O-O-O Nbd7 10. g4 b5 11. Bxf6 gxf6 12. f5 Ne5 13. Qh3 O-O 14. Nce2 Kh8
+15. Nf4 Rg8 16. Rg1 d5 17. fxe6 dxe4 18. Nd5 Qc5 19. Nxe7 Qxe7 20. Nf5 Qxe6 21.
+Qh6 Bd7 22. Rd6 Nxg4 23. Rxg4 Qxf5 24. Rxg8+ Rxg8 25. Rxf6 Qd5 26. Rd6 Qf5 27.
+Rf6 Qg5+ 28. Qxg5 Rxg5 29. Rxf7 Bg4 30. Kd2 Bf3 31. Ke3 Rg1 32. Bh3 Re1+ 33.
+Kf4 Bd1 34. Ke5 e3 35. Bf5 Rg1 36. Rxh7+ Kg8 37. Rc7 Bg4 38. Bxg4 Rxg4 39. Rc3
+e2 40. Re3 Rg2 41. Kd4 e1=Q 42. Rxe1 Rxc2 43. Rb1 Kf7 44. a3 Ke6 45. b3 Rxh2
+46. Kc5 Kd7 47. Kb6 Ra2 48. Kxa6 Rxa3+ 49. Kb7 Kd6 50. Kb6 Kd7 51. b4 Rh3 52.
+Rc1 Rh8 53. Kxb5 Rb8+ 54. Ka4 Ra8+ 55. Kb3 Rc8 56. Rxc8 Kxc8 57. Kc4 Kb8
+1/2-1/2
+
+[Event "Yugoslavia Candidates Tournament"]
+[Site "Yugoslavia"]
+[Date "1959.10.26"]
+[Round "27"]
+[White "Robert J. Fischer"]
+[Black "Mikhail N. Tal"]
+[Result "0-1"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bc4 e6 7. Bb3 b5 8. f4
+b4 9. Na4 Nxe4 10. O-O g6 11. f5 gxf5 12. Nxf5 Rg8 13. Bd5 Ra7 14. Bxe4 exf5
+15. Bxf5 Re7 16. Bxc8 Qxc8 17. Bf4 Qc6 18. Qf3 Qxa4 19. Bxd6 Qc6 20. Bxb8 Qb6+
+21. Kh1 Qxb8 22. Qc6+ Rd7 23. Rae1+ Be7 24. Rxf7 Kxf7 25. Qe6+ Kf8 26. Qxd7 Qd6
+27. Qb7 Rg6 28. c3 a5 29. Qc8+ Kg7 30. Qc4 Bd8 31. cxb4 axb4 32. g3 Qc6+ 33.
+Re4 Qxc4 34. Rxc4 Rb6 35. Kg2 Kf6 36. Kf3 Ke5 37. Ke3 Bg5+ 38. Ke2 Kd5 39. Kd3
+Bf6 40. Rc2 Be5 41. Re2 Rf6 42. Rc2 Rf3+ 43. Ke2 Rf7 44. Kd3 Bd4 45. a3 b3 46.
+Rc8 Bxb2 47. Rd8+ Kc6 48. Rb8 Rf3+ 49. Kc4 Rc3+ 50. Kb4 Ba1 51. a4 b2 0-1
+
+[Event "Yugoslavia Candidates Tournament"]
+[Site "Yugoslavia"]
+[Date "1959.10.29"]
+[Round "28"]
+[White "Vasily V. Smyslov"]
+[Black "Robert J. Fischer"]
+[Result "0-1"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 Be7 8. Qf3
+Qc7 9. O-O-O Nbd7 10. g4 b5 11. Bxf6 Nxf6 12. g5 Nd7 13. Bh3 b4 14. Nce2 Bb7
+15. Kb1 Nc5 16. Ng3 d5 17. f5 dxe4 18. Qg4 exf5 19. Ndxf5 g6 20. Nxe7 Qxe7 21.
+Qf4 O-O 22. Rd6 Rad8 23. Rf6 Rd5 24. Bg4 Nd7 25. Rf1 e3 26. b3 Rd2 27. Bxd7
+Rxd7 28. Re1 Re8 29. h4 Qc5 30. Qc4 Qxc4 31. bxc4 Rd4 32. c5 Rxh4 33. c6 Bc8
+34. Rd6 Rc4 35. Kb2 Kg7 36. Kb3 Rg4 37. Ne2 Re6 38. Red1 Rg2 39. Nf4 Rxd6 40.
+Rxd6 Rd2 41. Rd3 Rf2 42. Rd4 e2 43. Nd3 Bf5 44. c7 Rf3 45. c8=Q Bxc8 46. Re4
+Bf5 47. Rxe2 Bxd3 48. cxd3 Rxd3+ 49. Kxb4 Rd5 50. Rg2 h6 51. gxh6+ Kxh6 52. a4
+g5 53. Rc2 Rd6 54. Kc5 Re6 0-1
+
+[Event "Mar del Plata"]
+[Site "Mar del Plata, Argentina"]
+[Date "1960.03.30"]
+[Round "2"]
+[White "Boris V. Spassky"]
+[Black "Robert J. Fischer"]
+[Result "1-0"]
+
+1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 Nf6 6. d4 d6 7. Nd3 Nxe4 8. Bxf4
+Bg7 9. Nc3 Nxc3 10. bxc3 c5 11. Be2 cxd4 12. O-O Nc6 13. Bxg4 O-O 14. Bxc8 Rxc8
+15. Qg4 f5 16. Qg3 dxc3 17. Rae1 Kh8 18. Kh1 Rg8 19. Bxd6 Bf8 20. Be5+ Nxe5 21.
+Qxe5+ Rg7 22. Rxf5 Qxh4+ 23. Kg1 Qg4 24. Rf2 Be7 25. Re4 Qg5 26. Qd4 Rf8 27.
+Re5 Rd8 28. Qe4 Qh4 29. Rf4 1-0
+
+[Event "Reykjavik"]
+[Site "Reykjavik, Iceland"]
+[Date "1960.10.06"]
+[Round "2"]
+[White "Arinbjorn Gudmundsson"]
+[Black "Robert J. Fischer"]
+[Result "0-1"]
+
+1. d4 Nf6 2. Nf3 d5 3. e3 g6 4. c4 Bg7 5. Nc3 O-O 6. Qb3 e6 7. Be2 Nc6 8. Qc2
+dxc4 9. Bxc4 e5 10. dxe5 Ng4 11. O-O Ncxe5 12. Nxe5 Nxe5 13. Be2 c6 14. f4 Ng4
+15. h3 Bf5 16. e4 Qd4+ 17. Kh1 Nf2+ 18. Rxf2 Qxf2 19. exf5 Bxc3 20. bxc3 Rae8
+21. Bd3 Re1+ 22. Kh2 Qg1+ 23. Kg3 Rfe8 24. Rb1 gxf5 25. Bd2 Rxb1 26. Qxb1 Qxb1
+27. Bxb1 Re2 0-1
+
+[Event "14th Olympiad (Preliminary)"]
+[Site "Leipzig, Germany"]
+[Date "1960.10.24"]
+[Round "8"]
+[White "Rene Letelier"]
+[Black "Robert J. Fischer"]
+[Result "0-1"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 O-O 5. e5 Ne8 6. f4 d6 7. Be3 c5 8. dxc5
+Nc6 9. cxd6 exd6 10. Ne4 Bf5 11. Ng3 Be6 12. Nf3 Qc7 13. Qb1 dxe5 14. f5 e4 15.
+fxe6 exf3 16. gxf3 f5 17. f4 Nf6 18. Be2 Rfe8 19. Kf2 Rxe6 20. Re1 Rae8 21. Bf3
+Rxe3 22. Rxe3 Rxe3 23. Kxe3 Qxf4+ 0-1
+
+[Event "Exhibition Game"]
+[Site "Berlin, Germany"]
+[Date "1960.10.??"]
+[Round "nil"]
+[White "Robert J. Fischer"]
+[Black "Klaus Darga"]
+[Result "1-0"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 c5 5. a3 Bxc3+ 6. bxc3 Ne7 7. a4 Qc7 8. Nf3
+b6 9. Bb5+ Bd7 10. Bd3 Nbc6 11. O-O c4 12. Be2 f6 13. Ba3 fxe5 14. dxe5 Nxe5
+15. Re1 N7c6 16. Nxe5 Nxe5 17. f4 Nc6 18. Bg4 O-O-O 19. Bxe6 Bxe6 20. Rxe6 Rd7
+21. f5 Nd8 22. Re3 Qf4 23. Rf3 Qe4 24. a5 Nc6 25. axb6 axb6 26. Qb1 Kc7 27. Bc1
+Qe1+ 28. Rf1 Qxc3 29. Bf4+ Kb7 30. Qb5 1-0
+
+[Event "14th Olympiad (Final)"]
+[Site "Leipzig, Germany"]
+[Date "1960.11.01"]
+[Round "5"]
+[White "Robert J. Fischer"]
+[Black "Mikhail N. Tal"]
+[Result "1/2-1/2"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 c5 5. a3 Ba5 6. b4 cxd4 7. Qg4 Ne7 8. bxa5
+dxc3 9. Qxg7 Rg8 10. Qxh7 Nbc6 11. Nf3 Qc7 12. Bb5 Bd7 13. O-O O-O-O 14. Bg5
+Nxe5 15. Nxe5 Bxb5 16. Nxf7 Bxf1 17. Nxd8 Rxg5 18. Nxe6 Rxg2+ 19. Kh1 Qe5 20.
+Rxf1 Qxe6 21. Kxg2 Qg4+ 1/2-1/2
+
+[Event "14th Olympiad (Final)"]
+[Site "Leipzig, Germany"]
+[Date "1960.11.02"]
+[Round "6"]
+[White "Laszlo Szabo"]
+[Black "Robert J. Fischer"]
+[Result "0-1"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 O-O 5. Bg5 d6 6. Qd2 c5 7. d5 e6 8. Bd3
+exd5 9. Nxd5 Be6 10. Ne2 Bxd5 11. exd5 Nbd7 12. O-O Ne5 13. f4 Nxd3 14. Qxd3 h6
+15. Bh4 Re8 16. Rae1 Qb6 17. Bxf6 Bxf6 18. f5 g5 19. b3 Qa5 20. Rc1 Qxa2 21.
+Rc2 Re3 22. Qxe3 Qxc2 23. Kh1 a5 24. h4 a4 0-1
+
+[Event "14th Olympiad (Final)"]
+[Site "Leipzig, Germany"]
+[Date "1960.11.03"]
+[Round "7"]
+[White "Robert J. Fischer"]
+[Black "Max Euwe"]
+[Result "1-0"]
+
+1. e4 c6 2. d4 d5 3. exd5 cxd5 4. c4 Nf6 5. Nc3 Nc6 6. Nf3 Bg4 7. cxd5 Nxd5 8.
+Qb3 Bxf3 9. gxf3 e6 10. Qxb7 Nxd4 11. Bb5+ Nxb5 12. Qc6+ Ke7 13. Qxb5 Nxc3 14.
+bxc3 Qd7 15. Rb1 Rd8 16. Be3 Qxb5 17. Rxb5 Rd7 18. Ke2 f6 19. Rd1 Rxd1 20. Kxd1
+Kd7 21. Rb8 Kc6 22. Bxa7 g5 23. a4 Bg7 24. Rb6+ Kd5 25. Rb7 Bf8 26. Rb8 Bg7 27.
+Rb5+ Kc6 28. Rb6+ Kd5 29. a5 f5 30. Bb8 Rc8 31. a6 Rxc3 32. Rb5+ Kc4 33. Rb7
+Bd4 34. Rc7+ Kd3 35. Rxc3+ Kxc3 36. Be5 1-0
+
+[Event "US Championship"]
+[Site "New York City, NY USA"]
+[Date "1960.12.19"]
+[Round "2"]
+[White "William Lombardy"]
+[Black "Robert J. Fischer"]
+[Result "0-1"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. f3 Nc6 6. c4 e6 7. Nc3 Be7 8. Be3
+O-O 9. Nc2 d5 10. cxd5 exd5 11. Nxd5 Nxd5 12. Qxd5 Qc7 13. Qb5 Bd7 14. Rc1 Nb4
+15. Nxb4 Qxc1+ 16. Bxc1 Bxb5 17. Nd5 Bh4+ 18. g3 Bxf1 19. Kxf1 Bd8 20. Bd2 Rc8
+21. Bc3 f5 22. e5 Rc5 23. Nb4 Ba5 24. a3 Bxb4 25. axb4 Rd5 26. Ke2 Kf7 27. h4
+Ke6 28. Ke3 Rc8 29. Rg1 Rc4 30. Re1 Rxc3+ 31. bxc3 Rxe5+ 32. Kd2 Rxe1 33. Kxe1
+Kd5 34. Kd2 Kc4 35. h5 b6 36. Kc2 g5 37. h6 f4 38. g4 a5 39. bxa5 bxa5 40. Kb2
+a4 41. Ka3 Kxc3 42. Kxa4 Kd4 43. Kb4 Ke3 0-1
+
+[Event "Match"]
+[Site "Los Angeles, CA USA"]
+[Date "1961.07.27"]
+[Round "5"]
+[White "Samuel Reshevsky"]
+[Black "Robert J. Fischer"]
+[Result "0-1"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 d5 4. cxd5 Nxd5 5. Nf3 c5 6. e3 Nc6 7. Bd3 Be7 8. O-O
+O-O 9. a3 cxd4 10. exd4 Nf6 11. Bc2 b6 12. Qd3 Bb7 13. Bg5 g6 14. Rfe1 Re8 15.
+h4 Rc8 16. Rac1 Nd5 17. Ne4 f5 18. Nc3 Bxg5 19. Nxg5 Nf4 20. Qe3 Qxd4 21. Nb5
+Qxe3 22. fxe3 Nxg2 23. Kxg2 Nd4+ 24. Be4 Bxe4+ 25. Nxe4 Nxb5 26. Nf6+ Kf7 27.
+Nxe8 Rxe8 28. a4 Nd6 29. Rc7+ Kf6 30. Rec1 h6 31. Rxa7 Ne4 32. Ra6 Rd8 33. Rc2
+Rd3 34. Rxb6 Rxe3 35. a5 f4 36. Rf2 Nxf2 37. Kxf2 Re5 38. b4 Re3 39. a6 Ra3 40.
+Rc6 g5 41. hxg5+ hxg5 42. b5 g4 43. Rc8 Kf5 44. b6 g3+ 45. Ke1 Ra1+ 46. Ke2 g2
+47. Rf8+ Ke4 48. Rxf4+ Kxf4 49. b7 g1=Q 50. b8=Q+ Kf5 51. Qf8+ Ke4 52. Qa8+ Kd4
+53. Qd8+ Kc4 54. Qd3+ Kc5 55. Qc3+ Kd6 56. Qd2+ Ke5 57. Qb2+ Kf5 0-1
+
+[Event "Match"]
+[Site "New York City, NY USA"]
+[Date "1961.07.??"]
+[Round "2"]
+[White "Robert J. Fischer"]
+[Black "Samuel Reshevsky"]
+[Result "1-0"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 g6 5. Nc3 Bg7 6. Be3 Nf6 7. Be2 O-O 8.
+f4 d6 9. Nb3 Be6 10. g4 d5 11. f5 Bc8 12. exd5 Nb4 13. Bf3 gxf5 14. a3 fxg4 15.
+Bg2 Na6 16. Qd3 e6 17. O-O-O Nxd5 18. h3 g3 19. Rhg1 Qd6 20. Bxd5 exd5 21. Nxd5
+Kh8 22. Bf4 Qg6 23. Qd2 Bxh3 24. Rxg3 Bg4 25. Rh1 Rfe8 26. Ne3 Qe4 27. Qh2 Be6
+28. Rxg7 Kxg7 29. Qh6+ Kg8 30. Rg1+ Qg6 31. Rxg6+ fxg6 32. Nd4 Rad8 33. Be5 Rd7
+34. Nxe6 Rxe6 35. Ng4 Rf7 36. Qg5 Rf1+ 37. Kd2 h5 38. Qd8+ 1-0
+
+[Event "Match"]
+[Site "Los Angeles, CA USA"]
+[Date "1961.08.10"]
+[Round "11"]
+[White "Samuel Reshevsky"]
+[Black "Robert J. Fischer"]
+[Result "1/2-1/2"]
+
+1. c4 Nf6 2. d4 g6 3. Nc3 Bg7 4. e4 O-O 5. Be2 d6 6. Nf3 e5 7. O-O Nc6 8. d5
+Ne7 9. Ne1 Nd7 10. Nd3 f5 11. exf5 Nxf5 12. f3 Nd4 13. Ne4 b6 14. Bg5 Qe8 15.
+Bd2 a5 16. Re1 Nxe2+ 17. Qxe2 h6 18. b3 g5 19. a3 Qg6 20. b4 Nf6 21. bxa5 g4
+22. Ndf2 gxf3 23. Qxf3 Nh5 24. Qe3 bxa5 25. Rac1 Bf5 26. c5 Nf4 27. Qg3 Bxe4
+28. Rxe4 Qxe4 29. Nxe4 Ne2+ 30. Kh1 Nxg3+ 31. hxg3 Ra6 32. cxd6 cxd6 33. a4 Rf7
+34. g4 Bf8 35. Kh2 Kh7 36. Rc8 Rb6 37. Ra8 Rb3 38. Bxa5 Rf4 39. Bc7 Rxe4 40.
+Rxf8 Rd3 41. Rf6 Rxg4 42. Rxd6 Rg7 43. Rc6 Rxd5 44. Rc2 e4 45. a5 Rd3 46. Bf4
+Rf7 47. g3 e3 48. Rc1 Re7 49. Re1 Ra3 50. Re2 Kg6 51. Kg2 Rxa5 52. Rxe3 Ra2+
+53. Kf3 Rb7 54. Re6+ Kf5 55. Re5+ Kf6 56. Rd5 Rb3+ 57. Kg4 1/2-1/2
+
+[Event "Bled Tournament"]
+[Site "Bled, Yugoslavia"]
+[Date "1961.09.03"]
+[Round "1"]
+[White "Svetozar Gligoric"]
+[Black "Robert J. Fischer"]
+[Result "1/2-1/2"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 O-O 6. Be2 e5 7. O-O Nc6 8. d5
+Ne7 9. Ne1 Nd7 10. Nd3 f5 11. exf5 Nxf5 12. f3 Nf6 13. Nf2 Nd4 14. Nfe4 Nh5 15.
+Bg5 Qd7 16. g3 h6 17. Be3 c5 18. Bxd4 exd4 19. Nb5 a6 20. Nbxd6 d3 21. Qxd3
+Bd4+ 22. Kg2 Nxg3 23. Nxc8 Nxf1 24. Nb6 Qc7 25. Rxf1 Qxb6 26. b4 Qxb4 27. Rb1
+Qa5 28. Nxc5 Qxc5 29. Qxg6+ Bg7 30. Rxb7 Qd4 31. Bd3 Rf4 32. Qe6+ Kh8 33. Qg6
+1/2-1/2
+
+[Event "Bled Tournament"]
+[Site "Bled, Yugoslavia"]
+[Date "1961.09.04"]
+[Round "2"]
+[White "Robert J. Fischer"]
+[Black "Mikhail N. Tal"]
+[Result "1-0"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 e6 5. Nc3 Qc7 6. g3 Nf6 7. Ndb5 Qb8 8.
+Bf4 Ne5 9. Be2 Bc5 10. Bxe5 Qxe5 11. f4 Qb8 12. e5 a6 13. exf6 axb5 14. fxg7
+Rg8 15. Ne4 Be7 16. Qd4 Ra4 17. Nf6+ Bxf6 18. Qxf6 Qc7 19. O-O-O Rxa2 20. Kb1
+Ra6 21. Bxb5 Rb6 22. Bd3 e5 23. fxe5 Rxf6 24. exf6 Qc5 25. Bxh7 Qg5 26. Bxg8
+Qxf6 27. Rhf1 Qxg7 28. Bxf7+ Kd8 29. Be6 Qh6 30. Bxd7 Bxd7 31. Rf7 Qxh2 32.
+Rdxd7+ Ke8 33. Rde7+ Kd8 34. Rd7+ Kc8 35. Rc7+ Kd8 36. Rfd7+ Ke8 37. Rd1 b5 38.
+Rb7 Qh5 39. g4 Qh3 40. g5 Qf3 41. Re1+ Kf8 42. Rxb5 Kg7 43. Rb6 Qg3 44. Rd1 Qc7
+45. Rdd6 Qc8 46. b3 Kf7 47. Ra6 1-0
+
+[Event "Bled Tournament"]
+[Site "Bled, Yugoslavia"]
+[Date "1961.09.10"]
+[Round "6"]
+[White "Robert J. Fischer"]
+[Black "Efim P. Geller"]
+[Result "1-0"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 d6 5. O-O Bg4 6. h3 Bh5 7. c3 Qf6 8. g4
+Bg6 9. d4 Bxe4 10. Nbd2 Bg6 11. Bxc6+ bxc6 12. dxe5 dxe5 13. Nxe5 Bd6 14. Nxg6
+Qxg6 15. Re1+ Kf8 16. Nc4 h5 17. Nxd6 cxd6 18. Bf4 d5 19. Qb3 hxg4 20. Qb7
+gxh3+ 21. Bg3 Rd8 22. Qb4+ 1-0
+
+[Event "Bled Tournament"]
+[Site "Bled, Yugoslavia"]
+[Date "1961.09.20"]
+[Round "12"]
+[White "Robert J. Fischer"]
+[Black "Petar Trifunovic"]
+[Result "1-0"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 exd4 8.
+Re1 d5 9. Nc3 Be6 10. Nxe4 dxe4 11. Rxe4 Be7 12. Bxe6 fxe6 13. Nxd4 O-O 14. Qg4
+Nxd4 15. Rxd4 Qc8 16. Re4 Rf6 17. Be3 Qd7 18. Rd1 Qc6 19. Bd4 Rg6 20. Qe2 Rd8
+21. g3 Qd5 22. Re1 c5 23. Bc3 Rd6 24. Be5 Rd8 25. Bf4 c4 26. Rxe6 Rxe6 27.
+Qxe6+ Qxe6 28. Rxe6 Bf6 29. Rxa6 Rd1+ 30. Kg2 Bxb2 31. Rb6 Ra1 32. Rxb5 Rxa2
+33. Rc5 Ra4 34. Be5 Bxe5 35. Rxe5 Ra2 36. Re2 Kf7 37. Kf3 Kf6 38. Ke4 g5 39.
+Kd4 Kf5 40. f3 c3 41. Rf2 Ra3 42. Kc4 h5 43. Kb4 Ra8 44. f4 Ke4 45. fxg5 Ke3
+46. Rg2 Kd4 47. Re2 Rb8+ 48. Ka4 Rg8 49. h4 Rf8 50. Re7 Rf3 51. Rd7+ Kc4 52.
+Rc7+ Kd4 53. Rd7+ Kc4 54. Rc7+ Kd4 55. Kb3 Rxg3 56. Rd7+ Ke4 57. Rh7 Kd4 58.
+Rxh5 Rg1 59. Rh8 Rb1+ 60. Ka4 Ra1+ 61. Kb5 Rb1+ 62. Kc6 Rg1 63. Rd8+ Kc4 64.
+Re8 Kb4 65. Kd5 Rd1+ 66. Ke6 Re1+ 67. Kf7 Rf1+ 68. Kg6 Rf2 69. h5 Rxc2 70. h6
+Rh2 71. h7 c2 72. Rc8 Kb3 73. Kg7 1-0
+
+[Event "Bled Tournament"]
+[Site "Bled, Yugoslavia"]
+[Date "1961.09.30"]
+[Round "18"]
+[White "Robert J. Fischer"]
+[Black "Tigran V. Petrosian"]
+[Result "1-0"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Nd7 5. Nf3 Ngf6 6. Nxf6+ Nxf6 7. Bc4 Bf5
+8. Qe2 e6 9. Bg5 Bg4 10. O-O-O Be7 11. h3 Bxf3 12. Qxf3 Nd5 13. Bxe7 Qxe7 14.
+Kb1 Rd8 15. Qe4 b5 16. Bd3 a5 17. c3 Qd6 18. g3 b4 19. c4 Nf6 20. Qe5 c5 21.
+Qg5 h6 22. Qxc5 Qxc5 23. dxc5 Ke7 24. c6 Rd6 25. Rhe1 Rxc6 26. Re5 Ra8 27. Be4
+Rd6 28. Bxa8 Rxd1+ 29. Kc2 Rf1 30. Rxa5 Rxf2+ 31. Kb3 Rh2 32. c5 Kd8 33. Rb5
+Rxh3 34. Rb8+ Kc7 35. Rb7+ Kc6 36. Kc4 1-0
+
+[Event "Stockholm Interzonal"]
+[Site "Stockholm, Sweden"]
+[Date "1962.02.27"]
+[Round "19"]
+[White "Robert J. Fischer"]
+[Black "Viktor L. Kortchnoi"]
+[Result "1-0"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8. c3
+d6 9. d4 Bg4 10. Be3 exd4 11. cxd4 Na5 12. Bc2 Nc4 13. Bc1 c5 14. b3 Na5 15. d5
+Nd7 16. Nbd2 Bf6 17. Rb1 c4 18. h3 Bxf3 19. Nxf3 cxb3 20. axb3 Qc7 21. Be3 Bc3
+22. Re2 b4 23. Nd4 Rfe8 24. Nf5 Nb7 25. Bd4 g6 26. Nh6+ Kf8 27. Rc1 Rac8 28.
+Bd3 Qa5 29. Rec2 Ne5 30. Bf1 Nc5 31. Bxc3 bxc3 32. Rxc3 Kg7 33. Ng4 Nxg4 34.
+Qxg4 Rb8 35. Rf3 Nxe4 36. Qf4 f5 37. Re3 Re5 38. Rc6 Rbe8 39. Rxd6 Qa1 40. Rxa6
+Qd4 41. Rd3 Qb2 42. d6 g5 43. Qe3 f4 44. Qa7+ 1-0
+
+[Event "Stockholm Interzonal"]
+[Site "Stockholm, Sweden"]
+[Date "1962.03.03"]
+[Round "21"]
+[White "Robert J. Fischer"]
+[Black "Julio Bolbochan"]
+[Result "1-0"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. h3 Nc6 7. g4 Nxd4 8.
+Qxd4 e5 9. Qd3 Be7 10. g5 Nd7 11. Be3 Nc5 12. Qd2 Be6 13. O-O-O O-O 14. f3 Rc8
+15. Kb1 Nd7 16. h4 b5 17. Bh3 Bxh3 18. Rxh3 Nb6 19. Bxb6 Qxb6 20. Nd5 Qd8 21.
+f4 exf4 22. Qxf4 Qd7 23. Qf5 Rcd8 24. Ra3 Qa7 25. Rc3 g6 26. Qg4 Qd7 27. Qf3
+Qe6 28. Rc7 Rde8 29. Nf4 Qe5 30. Rd5 Qh8 31. a3 h6 32. gxh6 Qxh6 33. h5 Bg5 34.
+hxg6 fxg6 35. Qb3 Rxf4 36. Re5+ Kf8 37. Rxe8+ 1-0
+
+[Event "Stockholm Interzonal"]
+[Site "Stockholm, Sweden"]
+[Date "1962.03.04"]
+[Round "22"]
+[White "Mario Bertok"]
+[Black "Robert J. Fischer"]
+[Result "0-1"]
+
+1. d4 d5 2. c4 e6 3. Nc3 Be7 4. Nf3 Nf6 5. Bg5 O-O 6. e3 h6 7. Bh4 b6 8. cxd5
+Nxd5 9. Bxe7 Qxe7 10. Nxd5 exd5 11. Be2 Be6 12. O-O c5 13. dxc5 bxc5 14. Qa4
+Qb7 15. Qa3 Nd7 16. Ne1 a5 17. Nd3 c4 18. Nf4 Rfb8 19. Rab1 Bf5 20. Rbd1 Nf6
+21. Rd2 g5 22. Nxd5 Nxd5 23. Bxc4 Be6 24. Rfd1 Nxe3 25. Qxe3 Bxc4 26. h4 Re8
+27. Qg3 Qe7 28. b3 Be6 29. f4 g4 30. h5 Qc5+ 31. Rf2 Bf5 0-1
+
+[Event "Curacao Candidates Tournament"]
+[Site "Curacao, Netherlands Antilles"]
+[Date "1962.05.12"]
+[Round "7"]
+[White "Robert J. Fischer"]
+[Black "Paul Keres"]
+[Result "1-0"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 d6 8. c3
+O-O 9. h3 Na5 10. Bc2 c5 11. d4 Nd7 12. dxc5 dxc5 13. Nbd2 Qc7 14. Nf1 Nb6 15.
+Ne3 Rd8 16. Qe2 Be6 17. Nd5 Nxd5 18. exd5 Bxd5 19. Nxe5 Ra7 20. Bf4 Qb6 21.
+Rad1 g6 22. Ng4 Nc4 23. Bh6 Be6 24. Bb3 Qb8 25. Rxd8+ Bxd8 26. Bxc4 bxc4 27.
+Qxc4 Qd6 28. Qa4 Qe7 29. Nf6+ Kh8 30. Nd5 Qd7 31. Qe4 Qd6 32. Nf4 Re7 33. Bg5
+Re8 34. Bxd8 Rxd8 35. Nxe6 Qxe6 36. Qxe6 fxe6 37. Rxe6 Rd1+ 38. Kh2 Rd2 39. Rb6
+Rxf2 40. Rb7 Rf6 41. Kg3 1-0
+
+[Event "Curacao Candidates Tournament"]
+[Site "Curacao, Netherlands Antilles"]
+[Date "1962.05.24"]
+[Round "14"]
+[White "Paul Keres"]
+[Black "Robert J. Fischer"]
+[Result "1/2-1/2"]
+
+1. e4 c5 2. Ne2 d6 3. g3 g6 4. Bg2 Bg7 5. O-O Nc6 6. c3 e5 7. d3 Nge7 8. a3 O-O
+9. b4 b6 10. f4 exf4 11. gxf4 d5 12. e5 Bg4 13. h3 Bxe2 14. Qxe2 f6 15. b5 Na5
+16. Nd2 fxe5 17. fxe5 Rxf1+ 18. Nxf1 Nb3 19. Rb1 Nxc1 20. Rxc1 Qc7 21. Re1 Rd8
+22. Nh2 d4 23. cxd4 cxd4 24. Nf3 Bh6 25. Qa2+ Kh8 26. Qe6 Nd5 27. Nh2 Ne3 28.
+Bc6 Rf8 29. Nf3 Bf4 30. Nxd4 Bxe5 31. Nf3 Bd4 32. Rxe3 Bxe3+ 33. Qxe3 Qg3+ 34.
+Kf1 Qxh3+ 35. Ke1 Qf5 36. d4 Kg7 37. Kf2 h5 38. Kg3 Qg4+ 39. Kh2 Rf4 40. Qe7+
+Kh6 41. Qe2 Qf5 42. Qe3 g5 43. Kg2 Rg4+ 44. Kf2 Rf4 45. Kg2 Qc2+ 46. Kh1 Qb1+
+47. Kh2 Qa2+ 48. Kh3 Qf7 49. Kh2 Qf6 50. Kg2 Kg7 51. Kg3 h4+ 52. Kg2 Rg4+ 53.
+Kh1 Rg3 54. Qe4 g4 55. Nh2 Qg5 56. Nf1 Rh3+ 57. Kg1 Rxa3 58. d5 g3 59. Bd7 Ra1
+60. Bf5 Qf6 61. Qf4 Re1 62. d6 Re5 63. Qg4+ Kf8 64. d7 Rd5 65. Kg2 Rxd7 66.
+Bxd7 Qf2+ 67. Kh3 Qxf1+ 68. Kxh4 g2 69. Qb4+ Kf7 70. Qb3+ Kg7 71. Qg3+ Kh7 72.
+Qe5 Qh1+ 73. Bh3 Qxh3+ 74. Kxh3 g1=Q 75. Qe7+ Kh8 76. Qf8+ Kh7 77. Qf7+ 1/2-1/2
+
+[Event "15th Olympiad (Final)"]
+[Site "Varna, Bulgaria"]
+[Date "1962.09.28"]
+[Round "2"]
+[White "Robert J. Fischer"]
+[Black "Miguel Najdorf"]
+[Result "1-0"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. h3 b5 7. Nd5 Bb7 8.
+Nxf6+ gxf6 9. c4 bxc4 10. Bxc4 Bxe4 11. O-O d5 12. Re1 e5 13. Qa4+ Nd7 14. Rxe4
+dxe4 15. Nf5 Bc5 16. Ng7+ Ke7 17. Nf5+ Ke8 18. Be3 Bxe3 19. fxe3 Qb6 20. Rd1
+Ra7 21. Rd6 Qd8 22. Qb3 Qc7 23. Bxf7+ Kd8 24. Be6 1-0
+
+[Event "15th Olympiad (Final)"]
+[Site "Varna, Bulgaria"]
+[Date "1962.09.30"]
+[Round "4"]
+[White "Robert J. Fischer"]
+[Black "Kark Robatsch"]
+[Result "1-0"]
+
+1. e4 d5 2. exd5 Qxd5 3. Nc3 Qd8 4. d4 g6 5. Bf4 Bg7 6. Qd2 Nf6 7. O-O-O c6 8.
+Bh6 O-O 9. h4 Qa5 10. h5 gxh5 11. Bd3 Nbd7 12. Nge2 Rd8 13. g4 Nf8 14. gxh5 Ne6
+15. Rdg1 Kh8 16. Bxg7+ Nxg7 17. Qh6 Rg8 18. Rg5 Qd8 19. Rhg1 Nf5 20. Bxf5 1-0
+
+[Event "15th Olympiad (Final)"]
+[Site "Varna, Bulgaria"]
+[Date "1962.10.04"]
+[Round "7"]
+[White "Wolfgang Unzicker"]
+[Black "Robert J. Fischer"]
+[Result "0-1"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Be2 e5 7. Nb3 Be6 8. O-O
+Nbd7 9. f4 Qc7 10. f5 Bc4 11. a4 Be7 12. Be3 O-O 13. a5 b5 14. axb6 Nxb6 15.
+Bxb6 Qxb6+ 16. Kh1 Bb5 17. Bxb5 axb5 18. Nd5 Nxd5 19. Qxd5 Ra4 20. c3 Qa6 21.
+h3 Rc8 22. Rfe1 h6 23. Kh2 Bg5 24. g3 Qa7 25. Kg2 Ra2 26. Kf1 Rxc3 0-1
+
+[Event "15th Olympiad (Final)"]
+[Site "Varna, Bulgaria"]
+[Date "1962.10.07"]
+[Round "10"]
+[White "Mikhail M. Botvinnik"]
+[Black "Robert J. Fischer"]
+[Result "1/2-1/2"]
+
+1. c4 g6 2. d4 Nf6 3. Nc3 d5 4. Nf3 Bg7 5. Qb3 dxc4 6. Qxc4 O-O 7. e4 Bg4 8.
+Be3 Nfd7 9. Be2 Nc6 10. Rd1 Nb6 11. Qc5 Qd6 12. h3 Bxf3 13. gxf3 Rfd8 14. d5
+Ne5 15. Nb5 Qf6 16. f4 Ned7 17. e5 Qxf4 18. Bxf4 Nxc5 19. Nxc7 Rac8 20. d6 exd6
+21. exd6 Bxb2 22. O-O Nbd7 23. Rd5 b6 24. Bf3 Ne6 25. Nxe6 fxe6 26. Rd3 Nc5 27.
+Re3 e5 28. Bxe5 Bxe5 29. Rxe5 Rxd6 30. Re7 Rd7 31. Rxd7 Nxd7 32. Bg4 Rc7 33.
+Re1 Kf7 34. Kg2 Nc5 35. Re3 Re7 36. Rf3+ Kg7 37. Rc3 Re4 38. Bd1 Rd4 39. Bc2
+Kf6 40. Kf3 Kg5 41. Kg3 Ne4+ 42. Bxe4 Rxe4 43. Ra3 Re7 44. Rf3 Rc7 45. a4 Rc5
+46. Rf7 Ra5 47. Rxh7 Rxa4 48. h4+ Kf5 49. Rf7+ Ke5 50. Rg7 Ra1 51. Kf3 b5 52.
+h5 Ra3+ 53. Kg2 gxh5 54. Rg5+ Kd6 55. Rxb5 h4 56. f4 Kc6 57. Rb8 h3+ 58. Kh2 a5
+59. f5 Kc7 60. Rb5 Kd6 61. f6 Ke6 62. Rb6+ Kf7 63. Ra6 Kg6 64. Rc6 a4 65. Ra6
+Kf7 66. Rc6 Rd3 67. Ra6 a3 68. Kg1 1/2-1/2
+
+[Event "US Championship"]
+[Site "New York City, NY USA"]
+[Date "1962.12.22"]
+[Round "5"]
+[White "Robert J. Fischer"]
+[Black "Samuel Reshevsky"]
+[Result "1-0"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. h3 g6 7. g4 Bg7 8. g5
+Nh5 9. Be2 e5 10. Nb3 Nf4 11. Nd5 Nxd5 12. Qxd5 Nc6 13. Bg4 Bxg4 14. hxg4 Qc8
+15. Qd1 Nd4 16. c3 Nxb3 17. axb3 Qe6 18. Ra5 f6 19. Qd5 Qxd5 20. Rxd5 Kd7 21.
+gxf6 Bxf6 22. g5 Be7 23. Ke2 Raf8 24. Be3 Rc8 25. b4 b5 26. Rdd1 Ke6 27. Ra1
+Rc6 28. Rh3 Bf8 29. Rah1 Rc7 30. Rh4 d5 31. Ra1 Rc6 32. exd5+ Kxd5 33. Rd1+ Ke6
+34. Rd8 Kf5 35. Ra8 Re6 36. Rh3 Bg7 37. Rxh8 Bxh8 38. Rxh7 Re8 39. Rf7+ Kg4 40.
+f3+ Kg3 41. Kd3 e4+ 42. fxe4 Rd8+ 43. Bd4 Kg4 44. Rf1 Be5 45. Ke3 Bc7 46. Rg1+
+Kh5 47. Kf3 Rd7 48. e5 Rf7+ 49. Ke4 Rf5 50. e6 Bd8 51. Bf6 Bxf6 52. gxf6 Rxf6
+53. Ke5 Rf2 54. Re1 1-0
+
+[Event "New York State Open"]
+[Site "Poughkeepsie, NY USA"]
+[Date "1963.09.01"]
+[Round "5"]
+[White "Robert J. Fischer"]
+[Black "Arthur B. Bisguier"]
+[Result "1-0"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Na5 6. Bb5+ c6 7. dxc6 bxc6 8.
+Be2 h6 9. Nh3 Bc5 10. O-O O-O 11. d3 Bxh3 12. gxh3 Qd7 13. Bf3 Qxh3 14. Nd2
+Rad8 15. Bg2 Qf5 16. Qe1 Rfe8 17. Ne4 Bb6 18. Nxf6+ Qxf6 19. Kh1 c5 20. Qc3 Nc6
+21. f4 Nd4 22. Qc4 Qg6 23. c3 Nf5 24. fxe5 Rxe5 25. Bf4 Re2 26. Be4 Rxb2 27.
+Be5 Re8 28. Rxf5 Rxe5 29. Rxe5 1-0
+
+[Event "US Championship"]
+[Site "NY USA"]
+[Date "1963.12.18"]
+[Round "3"]
+[White "Robert Byrne"]
+[Black "Robert J. Fischer"]
+[Result "0-1"]
+
+1. d4 Nf6 2. c4 g6 3. g3 c6 4. Bg2 d5 5. cxd5 cxd5 6. Nc3 Bg7 7. e3 O-O 8. Nge2
+Nc6 9. O-O b6 10. b3 Ba6 11. Ba3 Re8 12. Qd2 e5 13. dxe5 Nxe5 14. Rfd1 Nd3 15.
+Qc2 Nxf2 16. Kxf2 Ng4+ 17. Kg1 Nxe3 18. Qd2 Nxg2 19. Kxg2 d4 20. Nxd4 Bb7+ 21.
+Kf1 Qd7 0-1
+
+[Event "US Championship"]
+[Site "NY USA"]
+[Date "1963.12.19"]
+[Round "4"]
+[White "Robert J. Fischer"]
+[Black "Arthur B. Bisguier"]
+[Result "1-0"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8. c3
+d6 9. h3 Na5 10. Bc2 c5 11. d4 Qc7 12. Nbd2 Nc6 13. dxc5 dxc5 14. Nf1 Rd8 15.
+Qe2 Nh5 16. g3 g6 17. h4 Be6 18. Ne3 f6 19. Nd5 Qb7 20. Nxe7+ Qxe7 21. Nh2 Ng7
+22. Ng4 c4 23. Qf3 Bxg4 24. Qxg4 Ne6 25. h5 Kh8 26. Kg2 g5 27. Be3 Nf4+ 28. Kh2
+Nd3 29. Bxd3 cxd3 30. Red1 Rd7 31. Rd2 Na5 32. b3 Qd6 33. Rad1 Re8 34. Rxd3
+Qxd3 35. Qxd7 1-0
+
+[Event "US Championship"]
+[Site "NY USA"]
+[Date "1963.12.22"]
+[Round "6"]
+[White "Robert J. Fischer"]
+[Black "Robert H. Steinmeyer"]
+[Result "1-0"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Bf5 5. Ng3 Bg6 6. Nf3 Nf6 7. h4 h6 8. Bd3
+Bxd3 9. Qxd3 e6 10. Bd2 Nbd7 11. O-O-O Qc7 12. c4 O-O-O 13. Bc3 Qf4+ 14. Kb1
+Nc5 15. Qc2 Nce4 16. Ne5 Nxf2 17. Rdf1 1-0
+
+[Event "US Championship"]
+[Site "NY USA"]
+[Date "1963.12.30"]
+[Round "10"]
+[White "Robert J. Fischer"]
+[Black "Pal Benko"]
+[Result "1-0"]
+
+1. e4 g6 2. d4 Bg7 3. Nc3 d6 4. f4 Nf6 5. Nf3 O-O 6. Bd3 Bg4 7. h3 Bxf3 8. Qxf3
+Nc6 9. Be3 e5 10. dxe5 dxe5 11. f5 gxf5 12. Qxf5 Nd4 13. Qf2 Ne8 14. O-O Nd6
+15. Qg3 Kh8 16. Qg4 c6 17. Qh5 Qe8 18. Bxd4 exd4 19. Rf6 Kg8 20. e5 h6 21. Ne2
+1-0
+
+[Event "Casual Game"]
+[Site "New York City, NY USA"]
+[Date "1963.??.??"]
+[Round "nil"]
+[White "Robert J. Fischer"]
+[Black "Reuben Fine"]
+[Result "1-0"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Ba5 6. d4 exd4 7. O-O dxc3 8.
+Qb3 Qe7 9. Nxc3 Nf6 10. Nd5 Nxd5 11. exd5 Ne5 12. Nxe5 Qxe5 13. Bb2 Qg5 14. h4
+Qxh4 15. Bxg7 Rg8 16. Rfe1+ Kd8 17. Qg3 1-0
+
+[Event "Davis Clock Simultaneous"]
+[Site "CA USA"]
+[Date "1964.??.??"]
+[Round "nil"]
+[White "Robert J. Fischer"]
+[Black "O. Celle"]
+[Result "1-0"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4 5. c3 Be7 6. d4 d6 7. dxe5 Nxe5 8.
+Nxe5 dxe5 9. Qh5 g6 10. Qxe5 Nf6 11. Ba3 Rf8 12. O-O Ng4 13. Qg3 Bxa3 14. Nxa3
+Qe7 15. Bb5+ c6 16. Nc4 Qe6 17. Rad1 cxb5 18. Qc7 Bd7 19. Nd6+ Ke7 20. Nf5+
+gxf5 21. exf5 Rac8 22. Rxd7+ Qxd7 23. f6+ Nxf6 24. Re1+ Ne4 25. Rxe4+ Kf6 26.
+Qxd7 Rfd8 27. Qg4 1-0
+
+[Event "Capablanca Memorial"]
+[Site "Havana, Cuba"]
+[Date "1965.08.26"]
+[Round "2"]
+[White "Robert J. Fischer"]
+[Black "Vasily V. Smyslov"]
+[Result "1-0"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. d3 d6 6. c3 Be7 7. Nbd2 O-O 8. Nf1
+b5 9. Bb3 d5 10. Qe2 dxe4 11. dxe4 Be6 12. Bxe6 fxe6 13. Ng3 Qd7 14. O-O Rad8
+15. a4 Qd3 16. Qxd3 Rxd3 17. axb5 axb5 18. Ra6 Rd6 19. Kh1 Nd7 20. Be3 Rd8 21.
+h3 h6 22. Rfa1 Ndb8 23. Ra8 Rd1+ 24. Kh2 Rxa1 25. Rxa1 Nd7 26. b4 Kf7 27. Nf1
+Bd6 28. g3 Nf6 29. N1d2 Ke7 30. Ra6 Nb8 31. Ra5 c6 32. Kg2 Nbd7 33. Kf1 Rc8 34.
+Ne1 Ne8 35. Nd3 Nc7 36. c4 bxc4 37. Nxc4 Nb5 38. Ra6 Kf6 39. Bc1 Bb8 40. Bb2 c5
+41. Nb6 Nxb6 42. Rxb6 c4 43. Nc5 1-0
+
+[Event "US Championship"]
+[Site "NY USA"]
+[Date "1965.12.??"]
+[Round "10"]
+[White "Robert J. Fischer"]
+[Black "Nicholas Rossolimo"]
+[Result "1-0"]
+
+1. e4 e6 2. d4 d5 3. Nc3 Nf6 4. Bg5 Bb4 5. e5 h6 6. Bd2 Bxc3 7. bxc3 Ne4 8. Qg4
+g6 9. Bd3 Nxd2 10. Kxd2 c5 11. Nf3 Nc6 12. Qf4 Qc7 13. h4 f5 14. g4 cxd4 15.
+cxd4 Ne7 16. gxf5 exf5 17. Bb5+ Kf8 18. Bd3 Be6 19. Ng1 Kf7 20. Nh3 Rac8 21.
+Rhg1 b6 22. h5 Qc3+ 23. Ke2 Nc6 24. hxg6+ Kg7 25. Rad1 Nxd4+ 26. Kf1 Rhe8 27.
+Rg3 Nc6 28. Qh4 Nxe5 29. Nf4 Ng4 30. Nxe6+ Rxe6 31. Bxf5 Qc4+ 32. Kg1 1-0
+
+[Event "Piatigorsky Cup"]
+[Site "Santa Monica, CA USA"]
+[Date "1966.08.03"]
+[Round "11"]
+[White "Lajos Portisch"]
+[Black "Robert J. Fischer"]
+[Result "0-1"]
+
+1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. e3 b6 5. Ne2 Ba6 6. Ng3 Bxc3+ 7. bxc3 d5 8.
+Qf3 O-O 9. e4 dxe4 10. Nxe4 Nxe4 11. Qxe4 Qd7 12. Ba3 Re8 13. Bd3 f5 14. Qxa8
+Nc6 15. Qxe8+ Qxe8 16. O-O Na5 17. Rae1 Bxc4 18. Bxc4 Nxc4 19. Bc1 c5 20. dxc5
+bxc5 21. Bf4 h6 22. Re2 g5 23. Be5 Qd8 24. Rfe1 Kf7 25. h3 f4 26. Kh2 a6 27.
+Re4 Qd5 28. h4 Ne3 29. R1xe3 fxe3 30. Rxe3 Qxa2 31. Rf3+ Ke8 32. Bg7 Qc4 33.
+hxg5 hxg5 34. Rf8+ Kd7 35. Ra8 Kc6 0-1
+
+[Event "Piatigorsky Cup"]
+[Site "Santa Monica, CA USA"]
+[Date "1966.08.11"]
+[Round "16"]
+[White "Robert J. Fischer"]
+[Black "Miguel Najdorf"]
+[Result "1-0"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 e6 5. Nb5 d6 6. Bf4 e5 7. Be3 Nf6 8. Bg5
+Be6 9. N1c3 a6 10. Bxf6 gxf6 11. Na3 Nd4 12. Bc4 b5 13. Bxe6 fxe6 14. Ne2 Nc6
+15. Ng3 Qd7 16. c4 Nd4 17. O-O b4 18. Nc2 Nxc2 19. Qxc2 h5 20. Rfd1 h4 21. Nf1
+Rg8 22. a3 h3 23. g3 bxa3 24. Rxa3 Qc6 25. Qe2 f5 26. c5 Qxe4 27. Qxe4 fxe4 28.
+cxd6 Bh6 29. Ra5 Kd7 30. Rxe5 Bg7 31. Rxe4 Bxb2 32. Ne3 a5 33. Nc4 Rgb8 34. Rh4
+Kc6 35. Rh7 Bd4 36. Rc7+ Kd5 37. d7 a4 38. Nb6+ Rxb6 39. Rc8 Rd6 40. Rxa8 Rxd7
+41. Rxa4 e5 42. Kf1 Rb7 43. f4 Ke6 44. fxe5 Rf7+ 45. Ke2 Rf2+ 46. Kd3 Bxe5 47.
+Re1 1-0
+
+[Event "17th Olympiad (Preliminary)"]
+[Site "Havana, Cuba"]
+[Date "1966.10.30"]
+[Round "5"]
+[White "Robert J. Fischer"]
+[Black "Jacek Bednarsky"]
+[Result "1-0"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bc4 e6 7. Bb3 Nbd7 8. f4
+Nc5 9. f5 Nfxe4 10. fxe6 Qh4+ 11. g3 Nxg3 12. Nf3 Qh5 13. exf7+ Kd8 14. Rg1 Nf5
+15. Nd5 Qxf7 16. Bg5+ Ke8 17. Qe2+ Be6 18. Nf4 Kd7 19. O-O-O Qe8 20. Bxe6+ Nxe6
+21. Qe4 g6 22. Nxe6 1-0
+
+[Event "17th Olympiad (Final)"]
+[Site "Havana, Cuba"]
+[Date "1966.11.12"]
+[Round "8"]
+[White "Robert J. Fischer"]
+[Black "Svetozar Gligoric"]
+[Result "1-0"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Bxc6 dxc6 5. O-O f6 6. d4 Bg4 7. c3 exd4 8.
+cxd4 Qd7 9. h3 Be6 10. Nc3 O-O-O 11. Bf4 Ne7 12. Rc1 Ng6 13. Bg3 Bd6 14. Na4
+Bxg3 15. fxg3 Kb8 16. Nc5 Qd6 17. Qa4 Ka7 18. Nxa6 Bxh3 19. e5 Nxe5 20. dxe5
+fxe5 21. Nc5+ Kb8 22. gxh3 e4 23. Nxe4 Qe7 24. Rc3 b5 25. Qc2 1-0
+
+[Event "Monaco"]
+[Site "Monaco"]
+[Date "1967.03.28"]
+[Round "5"]
+[White "Bent Larsen"]
+[Black "Robert J. Fischer"]
+[Result "0-1"]
+
+1. d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Be2 O-O 6. Nf3 e5 7. O-O Nc6 8. Be3
+Re8 9. dxe5 dxe5 10. Qxd8 Nxd8 11. Nb5 Ne6 12. Ng5 Re7 13. Rfd1 b6 14. c5 Nxc5
+15. Rd8+ Bf8 16. Nxa7 Rxa7 17. Rxc8 Kg7 18. f3 Ne8 19. a3 Nd6 20. Rd8 h6 21.
+Nh3 Ne6 22. Rb8 Re8 23. Rxe8 Nxe8 24. Bb5 Nd6 25. Bf1 Nb7 26. Nf2 Bc5 27. Bxc5
+Nbxc5 28. Rd1 h5 29. Rd5 Kf6 30. h4 Ke7 31. Bc4 c6 32. Rd2 Nd4 33. Kf1 f5 34.
+b4 b5 35. Bg8 fxe4 36. fxe4 Nd7 37. Rd3 Ra6 38. Rc3 c5 39. g4 c4 40. gxh5 gxh5
+41. Bd5 Nf6 42. Rg3 Nxd5 43. exd5 Rf6 44. Kg2 Nf5 45. Rh3 Rg6+ 46. Kf3 Nd4+ 47.
+Ke3 Rg2 48. Rh1 Kd6 49. Ne4+ Kxd5 50. Nc3+ Ke6 51. Rc1 Rh2 52. a4 Rh3+ 53. Kf2
+Nb3 54. Kg2 Nxc1 55. Kxh3 bxa4 56. Nxa4 Ne2 57. b5 c3 58. b6 c2 59. Nc5+ Kd5
+60. Nb3 Kc6 61. Kg2 Kxb6 0-1
+
+[Event "Skopje"]
+[Site "Skopje, Yugoslavia"]
+[Date "1967.08.??"]
+[Round "2"]
+[White "Robert J. Fischer"]
+[Black "Efim P. Geller"]
+[Result "0-1"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bc4 e6 7. Be3 Be7 8.
+Bb3 O-O 9. Qe2 Qa5 10. O-O-O Nxd4 11. Bxd4 Bd7 12. Kb1 Bc6 13. f4 Rad8 14. Rhf1
+b5 15. f5 b4 16. fxe6 bxc3 17. exf7+ Kh8 18. Rf5 Qb4 19. Qf1 Nxe4 20. a3 Qb7
+21. Qf4 Ba4 22. Qg4 Bf6 23. Rxf6 Bxb3 0-1
+
+[Event "Skopje"]
+[Site "Skopje, Yugoslavia"]
+[Date "1967.08.??"]
+[Round "16"]
+[White "Ratmit D. Kholmov"]
+[Black "Robert J. Fischer"]
+[Result "0-1"]
+
+1. d4 Nf6 2. Nf3 g6 3. g3 Bg7 4. Bg2 O-O 5. O-O d6 6. Nc3 Nbd7 7. b3 e5 8. dxe5
+dxe5 9. e4 Re8 10. Ba3 c6 11. Bd6 Qa5 12. Qd3 Re6 13. b4 Qa3 14. Bc7 Qxb4 15.
+Rab1 Qe7 16. Rfd1 Ne8 17. Ba5 Rd6 18. Qe2 Rxd1+ 19. Qxd1 Bf8 20. Nd2 Qa3 21.
+Nc4 Qc5 22. Bf1 b5 23. Nd2 Qa3 24. Nb3 Nc5 25. Bxb5 cxb5 26. Nxb5 Qa4 27. Nxc5
+Qxa5 28. Qd5 Rb8 29. a4 Bh3 30. Qxe5 Rc8 31. Nd3 Qxa4 32. Ne1 a6 0-1
+
+[Event "Sousse Interzonal"]
+[Site "Sousse, Tunisia"]
+[Date "1967.10.24"]
+[Round "7"]
+[White "Robert J. Fischer"]
+[Black "Leonid Z. Stein"]
+[Result "1-0"]
+
+1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 d6 8. c3
+O-O 9. h3 Bb7 10. d4 Na5 11. Bc2 Nc4 12. b3 Nb6 13. Nbd2 Nbd7 14. b4 exd4 15.
+cxd4 a5 16. bxa5 c5 17. e5 dxe5 18. dxe5 Nd5 19. Ne4 Nb4 20. Bb1 Rxa5 21. Qe2
+Nb6 22. Nfg5 Bxe4 23. Qxe4 g6 24. Qh4 h5 25. Qg3 Nc4 26. Nf3 Kg7 27. Qf4 Rh8
+28. e6 f5 29. Bxf5 Qf8 30. Be4 Qxf4 31. Bxf4 Re8 32. Rad1 Ra6 33. Rd7 Rxe6 34.
+Ng5 Rf6 35. Bf3 Rxf4 36. Ne6+ Kf6 37. Nxf4 Ne5 38. Rb7 Bd6 39. Kf1 Nc2 40. Re4
+Nd4 41. Rb6 Rd8 42. Nd5+ Kf5 43. Ne3+ Ke6 44. Be2 Kd7 45. Bxb5+ Nxb5 46. Rxb5
+Kc6 47. a4 Bc7 48. Ke2 g5 49. g3 Ra8 50. Rb2 Rf8 51. f4 gxf4 52. gxf4 Nf7 53.
+Re6+ Nd6 54. f5 Ra8 55. Rd2 Rxa4 56. f6 1-0
+
diff --git a/installer/WinBoard-4.2.7/RePackage/FA.ini b/installer/WinBoard-4.2.7/RePackage/FA.ini
new file mode 100644 (file)
index 0000000..c86b3f4
--- /dev/null
@@ -0,0 +1,28 @@
+[Settings]
+NumFields=3
+
+[Field 1]
+Type=label
+Text=Associate WinBoard with the following file extensions:
+Left=0
+Right=-1
+Top=0
+Bottom=10
+
+[Field 2]
+Type=checkbox
+Text=" .PGN - Portable Game Notation (Games)"
+Left=0
+Right=-1
+Top=30
+Bottom=40
+State=1
+
+[Field 3]
+Type=checkbox
+Text=" .FEN - Forsyth-Edwards Notation (Positions)"
+Left=0
+Right=-1
+Top=50
+Bottom=60
+State=1
\ No newline at end of file
diff --git a/installer/WinBoard-4.2.7/RePackage/WinBoard-4.2.7_full.nsi b/installer/WinBoard-4.2.7/RePackage/WinBoard-4.2.7_full.nsi
new file mode 100644 (file)
index 0000000..c151275
--- /dev/null
@@ -0,0 +1,378 @@
+; WinBoard-4.2.7 MUI
+;
+;
+
+;--------------------------------
+;Include Modern UI
+
+  !include "MUI.nsh"
+
+;--------------------------------
+
+!define InstName "WinBoard"
+!define InstVersion "4.2.7"
+!define InstBaseDir "WinBoard-4.2.7"
+
+;--------------------------------
+; General
+;
+
+Name "${InstName} ${InstVersion}"
+Caption "WinBoard - Chessboard For Windows"
+OutFile "WinBoard-4.2.7_full.exe"
+InstallDir $PROGRAMFILES\${InstBaseDir}
+
+SetCompressor lzma
+SetDateSave on
+SetDatablockOptimize on
+CRCCheck on
+SilentInstall normal
+BGGradient 000000 4682b4 FFFFFF
+;XPStyle on
+
+;--------------------------------
+;Variables
+
+  Var INI_VALUE
+  Var START_MENU_FOLDER
+  Var MUI_TEMP
+
+;--------------------------------
+
+
+;!define MUI_ICON "knight.ico"
+;!define MUI_UNICON "wc_uninst.ico"
+!define MUI_WELCOMEFINISHPAGE_BITMAP "welcome_chess.bmp"
+
+;--------------------------------
+;Interface Settings
+
+       !define MUI_ABORTWARNING
+       ;!define MUI_COMPONENTSPAGE_NODESC
+       !define MUI_COMPONENTSPAGE_SMALLDESC
+       !define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of ${InstName} ${InstVersion}.\n\n\n\n\nClick Next to continue."
+       !define MUI_LICENSEPAGE_TEXT_BOTTOM "$\nPress Continue to proceed with the installation."
+       !define MUI_LICENSEPAGE_BUTTON "Continue"
+
+;--------------------------------
+
+;--------------------------------
+; Pages
+
+       ; Install Section
+       ;--------------------------------------------------------------------
+       !insertmacro MUI_PAGE_WELCOME
+       !insertmacro MUI_PAGE_LICENSE "..\READ_ME.txt"
+       !insertmacro MUI_PAGE_COMPONENTS
+       Page custom FileAssoc
+       !insertmacro MUI_PAGE_DIRECTORY
+       
+       ;Start Menu Folder Page Configuration
+        !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
+        !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\WinBoard"
+        !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
+       !insertmacro MUI_PAGE_STARTMENU Application $START_MENU_FOLDER
+       
+       !insertmacro MUI_PAGE_INSTFILES
+       !insertmacro MUI_PAGE_FINISH
+       ;--------------------------------------------------------------------
+       
+       ; Uninstall Section
+       ;
+       ;!define MUI_WELCOMEPAGE_TEXT "WARNING! THIS UNINSTALLER WILL COMPLETELY DELETE THE INSTALLATION DIRECTORY\n\n$INSTDIR !!!\n\nIF THERE ARE ANY FILES YOU WISH TO SAVE, MOVE THEM FROM THE INSTALLATION DIRECTORY FIRST!\n\n\n\nPress Next to Continue."
+       !define MUI_WELCOMEPAGE_TEXT "This will uninstall WinBoard from directory:\n\n$INSTDIR\n\n\n\nPress Next to Continue."
+       !insertmacro MUI_UNPAGE_WELCOME
+       !insertmacro MUI_UNPAGE_CONFIRM
+       !insertmacro MUI_UNPAGE_INSTFILES
+       !insertmacro MUI_UNPAGE_FINISH
+
+;--------------------------------
+;Languages
+  !insertmacro MUI_LANGUAGE "English"
+
+;--------------------------------
+
+;--------------------------------
+;Reserve Files
+  
+  ;These files should be inserted before other files in the data block
+  ;Keep these lines before any File command
+  ;Only for solid compression (by default, solid compression is enabled for BZIP2 and LZMA)
+  
+  ReserveFile "FA.ini"
+  !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
+
+;--------------------------------
+
+Section "WinBoard Core Components" Core
+
+SectionIn 1 RO
+
+       SetOutPath $INSTDIR
+
+       File ..\bughouse.bat
+       File ..\ChangeLog
+       File ..\COPYING
+       File ..\COPYRIGHT
+       File ..\cygncurses7.dll
+       File ..\cygreadline5.dll
+       File ..\cygwin1.dll
+       File ..\FAQ.html
+       File ..\kk13.pgn
+       File ..\NEWS
+       File ..\READ_ME.txt
+       File ..\RJF60.pgn
+       File ..\timeseal.exe
+       File ..\timestamp.exe
+       File ..\winboard.exe
+       File ..\winboard.hlp
+       File ..\zippy.lines
+       File ..\zippy.README
+       
+       ;Create uninstaller
+       WriteUninstaller "$INSTDIR\UnInstall.exe"
+       
+       !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+
+       CreateDirectory "$SMPROGRAMS\$START_MENU_FOLDER"
+       CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Game Viewer.lnk" "$INSTDIR\winboard.exe" "-ncp" "$INSTDIR\winboard.exe" 1
+       CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Game Viewer - Bobby Fischer.lnk" "$INSTDIR\winboard.exe" "-ncp -lgf RJF60.pgn" "$INSTDIR\winboard.exe" 1
+       CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Game Viewer - Karpov vs Kasparov.lnk" "$INSTDIR\winboard.exe" "-ncp -lgf kk13.pgn" "$INSTDIR\winboard.exe" 1
+        CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\WinBoard Help.lnk" "$INSTDIR\winboard.hlp"
+        CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Frequently Asked Questions.lnk" "$INSTDIR\FAQ.html"
+        CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\WinBoard READ_ME.lnk" "$INSTDIR\READ_ME.txt"
+       CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\WinBoard UnInstall.lnk" "$INSTDIR\UnInstall.exe"
+       CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Server - chessclub.com.lnk" "$INSTDIR\winboard.exe"  "-ics -icshost chessclub.com -icshelper timestamp" "$INSTDIR\winboard.exe" 0
+       CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Server - freechess.org.lnk" "$INSTDIR\winboard.exe"  "-ics -icshost freechess.org -icshelper timeseal" "$INSTDIR\winboard.exe" 0
+       CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Server - Other.lnk" "$INSTDIR\winboard.exe" "-ics" "$INSTDIR\winboard.exe" 0
+       CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\WinBoard Startup Dialog.lnk" "$INSTDIR\winboard.exe" "" "$INSTDIR\winboard.exe" 2
+       
+        !insertmacro MUI_STARTMENU_WRITE_END
+
+SectionEnd
+
+SubSection /e "Chess Engines" Engines
+
+       Section "GNU Chess 5.0" GNUChess5
+
+               SetOutPath "$INSTDIR"
+
+               File ..\book.dat
+               File ..\GNUChes5.exe
+               File ..\gnuches5.txt
+               File ..\gnuchess.dat
+               File ..\gnuchess.lan
+               File ..\gnuchess.README
+               
+               CreateDirectory "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines"
+
+                !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+
+               CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines\GNU Chess 5.0 Documentation.lnk" "$INSTDIR\gnuches5.txt"
+               CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines\GNU Chess 5.0.lnk" "$INSTDIR\winboard.exe" "-cp -fcp 'GNUChes5 xboard' -scp 'GNUChes5 xboard'" "$INSTDIR\winboard.exe" 2
+               
+               !insertmacro MUI_STARTMENU_WRITE_END
+
+       SectionEnd
+       
+       Section "GNU Chess 4.0" GNUChess4
+       
+                SetOutPath "$INSTDIR"
+                
+                File ..\gnuchesr.exe
+               File ..\GNUChess.exe
+               File ..\gnuchess.txt
+
+               CreateDirectory "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines"
+
+               !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+
+               CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines\GNU Chess 4.0 Documentation.lnk" "$INSTDIR\gnuchess.txt"
+               CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines\GNU Chess 4.0.lnk" "$INSTDIR\winboard.exe" "-cp -fcp GNUChess -scp GNUChess" "$INSTDIR\winboard.exe" 2
+               
+               !insertmacro MUI_STARTMENU_WRITE_END
+               
+         SectionEnd
+
+       Section "Crafty 19.3" Crafty
+
+               SetOutPath "$INSTDIR\Crafty"
+
+               File ..\Crafty-WinBoard\wcrafty.exe
+               File ..\Crafty-WinBoard\book.bin
+               File ..\Crafty-WinBoard\books.bin
+               File ..\Crafty-WinBoard\Crafty.rc
+               File ..\Crafty-WinBoard\crafty.doc.txt
+               
+               CreateDirectory "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines"
+               
+                !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+
+               CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines\Crafty Documentation.lnk" "$INSTDIR\Crafty\crafty.doc.txt"
+               CreateShortCut "$SMPROGRAMS\$START_MENU_FOLDER\Chess Engines\Crafty 19.3.lnk" "$INSTDIR\winboard.exe" "-cp -fcp Crafty\wcrafty.exe -fd Crafty -scp Crafty\wcrafty.exe -sd Crafty" "$INSTDIR\winboard.exe" 2
+
+               !insertmacro MUI_STARTMENU_WRITE_END
+
+
+       SectionEnd
+
+SubSectionEnd
+
+
+;--------------------------------
+;Installer Functions
+Function .onInit
+
+  ;Extract InstallOptions INI files
+  !insertmacro MUI_INSTALLOPTIONS_EXTRACT "FA.ini"
+  
+FunctionEnd
+
+Function FileAssoc
+
+       !insertmacro MUI_HEADER_TEXT "Windows File Associations" "Do you want to use Winboard as your viewer for the following file types?"
+       !insertmacro MUI_INSTALLOPTIONS_DISPLAY "FA.ini"
+
+       
+       ;Read a value from an InstallOptions INI file
+
+       !insertmacro MUI_INSTALLOPTIONS_READ $INI_VALUE "FA.ini" "Field 2" "State"
+  
+       ;Display a messagebox if check box was checked
+       StrCmp $INI_VALUE "1" "" CheckFEN
+       WriteRegStr HKCR ".pgn" "" "WinBoard.PGN"
+       WriteRegStr HKCR ".pgn" "Content Type" "application/x-chess-pgn"
+       WriteRegStr HKCR "WinBoard.PGN" "" "Chess Game"
+       WriteRegStr HKCR "WinBoard.PGN\DefaultIcon" "" "$INSTDIR\WinBoard.exe,1"
+       WriteRegStr HKCR "WinBoard.PGN\Shell\Open" "" "Open"
+       WriteRegStr HKCR "WinBoard.PGN\Shell\Open\command" "" '"$INSTDIR\WinBoard.exe" -ini "$INSTDIR\WinBoard.ini" -ncp -lgf "%1"'
+       
+       CheckFEN:
+       !insertmacro MUI_INSTALLOPTIONS_READ $INI_VALUE "FA.ini" "Field 3" "State"
+  
+       ;Display a messagebox if check box was checked
+       StrCmp $INI_VALUE "1" "" Continue
+       WriteRegStr HKCR ".fen" "" "WinBoard.FEN"
+       WriteRegStr HKCR ".fen" "Content Type" "application/x-chess-fen"
+       WriteRegStr HKCR "WinBoard.FEN" "" "Chess Position"
+       WriteRegStr HKCR "WinBoard.FEN\DefaultIcon" "" "$INSTDIR\WinBoard.exe,1"
+       WriteRegStr HKCR "WinBoard.FEN\Shell\Open" "" "Open"
+       WriteRegStr HKCR "WinBoard.FEN\Shell\Open\command" "" '"$INSTDIR\WinBoard.exe" -ini "$INSTDIR\WinBoard.ini" -ncp -lpf "%1"'
+       
+       Continue:
+
+FunctionEnd
+
+;--------------------------------
+;Descriptions
+
+  ;Language strings
+
+       LangString DESC_Core ${LANG_ENGLISH} "Winboard Core Components - Executable and Help Files"
+       LangString DESC_Engines ${LANG_ENGLISH} "Chess Engines to play against using the WinBoard Interface"
+       LangString DESC_GNUChess5 ${LANG_ENGLISH} "GNU Chess 5.0 Engine"
+       LangString DESC_GNUChess4 ${LANG_ENGLISH} "GNU Chess 4.0 Engine"
+       LangString DESC_Crafty ${LANG_ENGLISH} "Crafty 19.3 Chess Engine, by Robert Hyatt"
+
+
+  ;Assign language strings to sections
+
+  !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+       !insertmacro MUI_DESCRIPTION_TEXT ${Core} $(DESC_Core)
+       !insertmacro MUI_DESCRIPTION_TEXT ${Engines} $(DESC_Engines)
+       !insertmacro MUI_DESCRIPTION_TEXT ${GNUChess5} $(DESC_GNUChess5)
+       !insertmacro MUI_DESCRIPTION_TEXT ${GNUChess4} $(DESC_GNUChess4)
+       !insertmacro MUI_DESCRIPTION_TEXT ${Crafty} $(DESC_Crafty)
+  !insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+;--------------------------------
+
+;--------------------------------
+;Uninstaller Section
+
+; Function to delete install directory if non-empty on user request
+Function un.ForceDirectoryDelete
+
+         MessageBox MB_YESNO "The uninstaller was unable to delete the directory '$INSTDIR'. This is usually$\r$\ndue to user-created files such as WinBoard.ini, or other configuration files. If$\r$\nyou wish to keep your old configuration files, select No.$\r$\n$\r$\nForce deletion of install directory and all files in it?" IDNO End
+         
+         RMDir /r "$INSTDIR"
+         
+         End:
+
+FunctionEnd
+
+
+Section "Uninstall"
+
+        Delete "$INSTDIR\bughouse.bat"
+       Delete "$INSTDIR\ChangeLog"
+       Delete "$INSTDIR\COPYING"
+       Delete "$INSTDIR\COPYRIGHT"
+       Delete "$INSTDIR\cygncurses7.dll"
+       Delete "$INSTDIR\cygreadline5.dll"
+       Delete "$INSTDIR\cygwin1.dll"
+       Delete "$INSTDIR\FAQ.html"
+       Delete "$INSTDIR\kk13.pgn"
+       Delete "$INSTDIR\NEWS"
+       Delete "$INSTDIR\READ_ME.txt"
+       Delete "$INSTDIR\RJF60.pgn"
+       Delete "$INSTDIR\timeseal.exe"
+       Delete "$INSTDIR\timestamp.exe"
+       Delete "$INSTDIR\winboard.exe"
+       Delete "$INSTDIR\winboard.hlp"
+       Delete "$INSTDIR\zippy.lines"
+       Delete "$INSTDIR\zippy.README"
+        Delete "$INSTDIR\book.dat"
+       Delete "$INSTDIR\GNUChes5.exe"
+       Delete "$INSTDIR\gnuches5.txt"
+       Delete "$INSTDIR\gnuchess.dat"
+       Delete "$INSTDIR\gnuchess.lan"
+       Delete "$INSTDIR\gnuchess.README"
+        Delete "$INSTDIR\gnuchesr.exe"
+       Delete "$INSTDIR\GNUChess.exe"
+       Delete "$INSTDIR\gnuchess.txt"
+       Delete "$INSTDIR\UnInstall.exe"
+       Delete "$INSTDIR\Crafty\wcrafty.exe"
+       Delete "$INSTDIR\Crafty\book.bin"
+       Delete "$INSTDIR\Crafty\books.bin"
+       Delete "$INSTDIR\Crafty\Crafty.rc"
+       Delete "$INSTDIR\Crafty\crafty.doc.txt"
+       RMDir "$INSTDIR\Crafty"
+       RMDir "$INSTDIR"
+
+       
+       !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
+       
+       RMDir /r "$SMPROGRAMS\$MUI_TEMP"
+       
+       ReadRegStr $1 HKCR ".pgn" ""
+       StrCmp $1 "WinBoard.PGN" "" DelFEN
+       ReadRegStr $1 HKCR "WinBoard.PGN\Shell\Open\command" ""
+       StrCmp $1 '"$INSTDIR\WinBoard.exe" -ini "$INSTDIR\WinBoard.ini" -ncp -lgf "%1"' "" DelFEN
+       DeleteRegKey HKCR ".pgn"
+       DeleteRegKey HKCR "WinBoard.PGN"
+       
+       DelFEN:
+       
+       ReadRegStr $1 HKCR ".fen" ""
+       StrCmp $1 "WinBoard.FEN" "" ContDelFEN
+       ReadRegStr $1 HKCR "WinBoard.FEN\Shell\Open\command" ""
+       StrCmp $1 '"$INSTDIR\WinBoard.exe" -ini "$INSTDIR\WinBoard.ini" -ncp -lpf "%1"' "" ContDelFEN
+       DeleteRegKey HKCR ".fen"
+       DeleteRegKey HKCR "WinBoard.FEN"
+       
+       ContDelFEN:
+       
+       DeleteRegKey HKCU "Software\WinBoard"
+       
+       
+       IfFileExists "$INSTDIR\*.*" GoDirDel Continue
+
+       GoDirDel:
+       Call un.ForceDirectoryDelete
+
+       Continue:
+
+
+SectionEnd
diff --git a/installer/WinBoard-4.2.7/RePackage/knight.ico b/installer/WinBoard-4.2.7/RePackage/knight.ico
new file mode 100644 (file)
index 0000000..104eb73
Binary files /dev/null and b/installer/WinBoard-4.2.7/RePackage/knight.ico differ
diff --git a/installer/WinBoard-4.2.7/RePackage/modern-uninstall.ico b/installer/WinBoard-4.2.7/RePackage/modern-uninstall.ico
new file mode 100644 (file)
index 0000000..6c7410c
Binary files /dev/null and b/installer/WinBoard-4.2.7/RePackage/modern-uninstall.ico differ
diff --git a/installer/WinBoard-4.2.7/RePackage/wc_uninst.ico b/installer/WinBoard-4.2.7/RePackage/wc_uninst.ico
new file mode 100644 (file)
index 0000000..1be63d2
Binary files /dev/null and b/installer/WinBoard-4.2.7/RePackage/wc_uninst.ico differ
diff --git a/installer/WinBoard-4.2.7/RePackage/welcome_chess.bmp b/installer/WinBoard-4.2.7/RePackage/welcome_chess.bmp
new file mode 100644 (file)
index 0000000..da71667
Binary files /dev/null and b/installer/WinBoard-4.2.7/RePackage/welcome_chess.bmp differ
diff --git a/installer/WinBoard-4.2.7/book.dat b/installer/WinBoard-4.2.7/book.dat
new file mode 100644 (file)
index 0000000..e570ad9
Binary files /dev/null and b/installer/WinBoard-4.2.7/book.dat differ
diff --git a/installer/WinBoard-4.2.7/bughouse.bat b/installer/WinBoard-4.2.7/bughouse.bat
new file mode 100644 (file)
index 0000000..23ec04a
--- /dev/null
@@ -0,0 +1,14 @@
+@echo off
+REM  Usage: bughouse -icshost chessclub.com -icshelper timestamp
+REM  or:    bughouse -icshost freechess.org -icshelper timeseal
+REM
+REM  This batch file starts up two copies of WinBoard for use in playing
+REM  bughouse.  Each one has its own settings file and ICS logon file.
+REM  Arrange the windows on the screen to your taste, then do Save
+REM  Settings Now in both windows.  You can create the logon files
+REM  bh1ics.ini and bh2ics.ini if you like; have one of them log in
+REM  as you and the other as a guest.
+REM
+winboard -ics -x 0 -y 0 -icsX 30 -icsY 30 -settingsFile bh1stg.ini -icslogon bh1ics.ini %1 %2 %3 %4 %5 %6 %7 %8 %9
+winboard -ics -x 120 -y 120 -icsX 150 -icsY 150 -settingsFile bh2stg.ini -icslogon bh2ics.ini %1 %2 %3 %4 %5 %6 %7 %8 %9
+
diff --git a/installer/WinBoard-4.2.7/cygncurses7.dll b/installer/WinBoard-4.2.7/cygncurses7.dll
new file mode 100644 (file)
index 0000000..62b8070
Binary files /dev/null and b/installer/WinBoard-4.2.7/cygncurses7.dll differ
diff --git a/installer/WinBoard-4.2.7/cygreadline5.dll b/installer/WinBoard-4.2.7/cygreadline5.dll
new file mode 100644 (file)
index 0000000..8f55b1e
Binary files /dev/null and b/installer/WinBoard-4.2.7/cygreadline5.dll differ
diff --git a/installer/WinBoard-4.2.7/cygwin1.dll b/installer/WinBoard-4.2.7/cygwin1.dll
new file mode 100644 (file)
index 0000000..78210c9
Binary files /dev/null and b/installer/WinBoard-4.2.7/cygwin1.dll differ
diff --git a/installer/WinBoard-4.2.7/gnuches5.txt b/installer/WinBoard-4.2.7/gnuches5.txt
new file mode 100644 (file)
index 0000000..c2f39f7
--- /dev/null
@@ -0,0 +1,512 @@
+README
+GNU CHESS 5
+by Stuart Cracraft <cracraft@gnu.org>
+copyright (c) 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993
+1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Modified Simon Waters <simon@wretched.demon.co.uk> 2001
+Modified Simon Waters <simon@wretched.demon.co.uk> 2003
+
+IMPORTANT: Please send all updates to Simon at the above address.
+
+Table of Contents
+
+  Introduction
+  Who We Are
+  Data Structures
+  Move Generator
+  Search
+  Evaluation
+  Book
+  Hash Table
+  Auxillary File Formats (PGN, EPD)
+  Universal Board
+  Caveats
+  Compilers
+  Internet
+  Xboard/Winboard
+  Command List
+
+
+INTRODUCTION
+
+Welcome to the GNU CHESS 5 README. This is somewhat different than 
+a normal readme. You might consider this a manual. We've always found
+multiple documents confusing, overlapping and sometimes contradictory
+as far as software documentation goes. By putting it all together in
+one place we hope to avoid these traditional inadequacies and be able
+to maintain a single document. If you add documentation, add it to
+this document only.
+
+GNU Chess 5 is the new version of GNU Chess. The goal of creating this
+new version was to eliminate perceived problems with past versions, the
+major one being spaghetti-code that was extremely poorly documented, but
+another being antiquated data structures and especially the ignominous
+linked list. Another good reason was to have more standard file formats
+for game positions and game listings.
+
+
+WHO WE ARE
+
+We are the GNU Chess developers and you may reach us at 
+
+       bug-gnu-chess@gnu.org
+
+We are indebted to our sponsor, the Free Software Foundation
+whose web page is:
+
+       http://www.gnu.org
+
+and which also serves as our software depository for new versions of
+GNU and GNU Chess.
+
+We also have a Usenet bulletin board, gnu.chess. Feel free to post and
+support. Please become a developer and contribute your time and coding skill
+to GNU Chess. Make a donation of your time and money.
+
+But, as developers we like to develop our own ideas. Thus, if you have
+an idea check to see that no one else is working on it (posting on the
+above bulletin board or sending an email should be sufficient to find
+if someone is working on the idea and if you can collaborate with
+them.)
+
+We don't like messages asking us to implement features. Everybody
+has a list a mile long. Instead, contribute by writing code or pointing
+out very clearly a bug. To report a bug, tell us the version number
+of the program ("./gnuchess --version").
+
+The code is provided for the purpose of encouraging you to do the
+programming.  If you lack the programming skills to do so, try
+dabbling in it. You might surprise yourself.
+
+
+DATA STRUCTURES
+
+The primary data structure of GNU Chess is the bitboard. A bitboard
+is a 64-bit GNU C long long. It represents characteristics of a position.
+For example, 12 bitboards are sufficient to describe the whereabouts
+of all the pieces for both sides, i.e.
+
+       BitBoard board.b[2][6];
+
+So for example with a knight equal to 2 and white equal to 0 all the
+knights are located by the reference
+
+       #define white 0
+       #define knight 2
+
+       ... board.b[white][knight] ...
+
+Testing whether a particular square has a knight on it could be done
+with 
+
+       if (BitBoard[B1] & board.b[white][knight]) { ... }
+
+Another set of move arrays is helpful for calculating the simple moves
+of a knight or a king
+