
                XBoard and WinBoard: Frequently Asked Questions

   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
   http://www.tim-mann.org/chess.html.
     _________________________________________________________________

Outline

     * [A] Introduction and hot topics
     * [B] XBoard and WinBoard
     * [C] XBoard and WinBoard, bugs and problems
     * [D] Crafty and other topics
     _________________________________________________________________

Detailed contents

     * [A] Introduction and hot topics

     * [A.1] What are XBoard and WinBoard?
     * [A.2] Where can I get chess information and chess software?
     * [A.3]  What  are  the  current  version  numbers  for  XBoard  and
       WinBoard?
     * [A.4] Who is working on this project?
     * [A.5] How do I report bugs, offer help, etc.?

     [B] XBoard and WinBoard
     * [B.1] What is XBoard?
     * [B.2]  Is there an XBoard for Microsoft Windows? What is WinBoard?
       How do I install WinBoard?
     * [B.3] Is there an XBoard for the Amiga? What is AmyBoard?
     * [B.4] Is there an XBoard for the Macintosh?
     * [B.5] Does XBoard run on VMS?
     * [B.6] What is cmail?
     * [B.7] How do I build XBoard? Do I have to have gcc?
     * [B.8]  Can  I  use XBoard or WinBoard to play a game of chess with
       another human?
     * [B.9] Will WinBoard run on Windows 3.1? How about Windows CE (also
       known as Pocket PC)?
     * [B.10]  How  do I use XBoard or WinBoard as an external viewer for
       PGN files with my Web browser?
     * [B.11]  How  do I use WinBoard as an external viewer for PGN files
       with the MS Windows File Manager or Explorer?
     * [B.12] How do I use ICC timestamp or FICS timeseal with XBoard?
     * [B.13] How do I use ICC timestamp or FICS timeseal with WinBoard?
     * [B.14] How do I play bughouse with XBoard or WinBoard? 
     * [B.16]  What  is Zippy? How can I interface a chess program to the
       Internet Chess Servers?
     * [B.17]  How  can  I  interface  my  own chess program to XBoard or
       WinBoard?
     * [B.18] How can I recompile WinBoard from source?
     * [B.19]  How  can  I  use XBoard or WinBoard to talk to an Internet
       Chess Server through a firewall or proxy?
     * [B.20]  How  can  I  use  XBoard  or  WinBoard  on  chess.net with
       accuclock?
     * [B.21]   Can   I  get  Zippy  to  do  one  or  more  ICS  commands
       automatically at the start or end of each game?
     * [B.22] How do I print from WinBoard?
     * [B.23]  Can I get Zippy to automatically reconnect to ICS when its
       connection breaks?
     * [B.24]  The  chess  engines are too strong and always beat me. How
       can I adjust the difficulty level to make them weaker?

     [C] XBoard and WinBoard, bugs and problems
     * [C.1]  I  can't build XBoard because the X11/Xaw/... include files
       are not found.
     * [C.2]  Configuring  or building XBoard fails due to missing header
       files, missing libraries, or undefined symbols.
     * [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").
     * [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). 
     * [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)".
     * [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.
     * [C.7] How do I give command-line options to a Windows program like
       WinBoard?
     * [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. 
     * [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? 
     * [C.13]  I can't run WinBoard unless I delete the WinBoard.ini file
       each time! 
     * [C.15] I get errors compiling XBoard's parser.c. 
     * [C.16] I get an error building WinBoard from source because "flex"
       is not found. 
     * [C.17]  XBoard  hangs shortly after connecting to an ICS when used
       with dxterm, cmdtool, dtterm, kterm, konsole, or other substitutes
       for xterm. 
     * [C.18]  The  WinBoard  pieces  show up in the wrong colors, appear
       distorted, or are not visible at all. 
     * [C.19]  XBoard  or  WinBoard  tells me "Error: first chess program
       (...) exited unexpectedly".
     * [C.20] XBoard tells me "Warning: Cannot allocate colormap entry". 
     * [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. 
     * [C.22] XBoard says, "Failed to start first chess program gnuchessx
       on localhost: gnuchessx: No such file or directory." 

     [D] Crafty and other topics
     * [D.1] What is XChess?
     * [D.2] What is Winsock Chess?
     * [D.3] What is Crafty?
     * [D.4] How do I use Crafty with XBoard?
     * [D.5] How do I use Crafty with WinBoard?
     * [D.6] How do I use GNU Chess 5 with XBoard?
     _________________________________________________________________

[A] Introduction and hot topics
     _________________________________________________________________

  [A.1] What are XBoard and WinBoard?

   XBoard  and  WinBoard  are graphical user interfaces for chess. XBoard
   runs  with  the X Window System on Unix systems (including GNU/Linux);
   see  topic  [B.1].  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 [B.2].
     _________________________________________________________________

  [A.2] Where can I get chess information and chess software?

   As  a  shortcut to most things mentioned in this FAQ, try my Chess Web
   page,  http://www.tim-mann.org/chess.html.  My  Web  page  is the best
   place  to  get the latest versions of XBoard and WinBoard and the most
   up-to-date version of this FAQ.

   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 http://www.chesskit.com/aarontay/Winboard/Winboard.html.

   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
   http://www.clark.net/pub/pribut/chess.html.

   Like other GNU software, you can get XBoard, and WinBoard by anonymous
   FTP from ftp://ftp.gnu.org/pub/gnu/ 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.

   For  other  chess  software,  try  the  Internet  Chess  Library.  Use
   anonymous  FTP  to connect to ftp.freechess.org, or go to the Web page
   http://www.freechess.org/.   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.

   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.

    % ftp ftp.gnu.org
    Connected to ftp.gnu.org
    Name: anonymous
    Password: your-email-address@your-site
    ftp> binary
    200 Type set to I.
    ftp> cd /pub/gnu/xboard
    ftp> dir
    -rw-r--r-- 1 14910 wheel  393119 May 20 00:25 xboard-4.2.6.tar.gz
    ftp> get xboard-4.2.6.tar.gz
    150 BINARY connection for xboard-4.2.6.tar.gz (393119 bytes).
    226 Transfer complete.
    ftp> quit
     _________________________________________________________________

  [A.3] What are the current version numbers for XBoard and WinBoard?

   At this writing, the current version numbers are:
     * XBoard 4.2.6
     * WinBoard 4.2.6
     _________________________________________________________________

  [A.4] Who is working on this project?

   Tim  Mann  maintains  this FAQ and is the lead developer on XBoard and
   WinBoard,  but  he has little time to work on the project. Many others
   occasionally contribute suggestions and snippets of code, for which we
   are grateful.
     _________________________________________________________________

  [A.5] How do I report bugs, offer help, etc.?

   At  present, bug reports, suggestions, and offers to help on XBoard or
   WinBoard  should  be  sent  directly  to  tim@tim-mann.org (Tim Mann).
   Beginner  questions  and  discussion  about the program may get faster
   answers on the WinBoard Forum at http://f11.parsimony.net/forum16635/.
   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
   http://groups.yahoo.com/group/chess-engines.

   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.

   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.

   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.

   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.
     _________________________________________________________________

[B] XBoard and WinBoard
     _________________________________________________________________

  [B.1] What is XBoard?

   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:

   Chess  engines  that  will run on your machine and play a game against
   you  or  help  you  analyze, such as GNU Chess and Crafty (topic [D.3]
   below).

   Chess  servers  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.

   Correspondence  chess  played  by  electronic  mail. The cmail program
   (topic  [B.6]  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.

   The  Web  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.

   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 [B.2] and
   [B.3] respectively.
     _________________________________________________________________

  [B.2] Is there an XBoard for Microsoft Windows? What is WinBoard? How do I
  install WinBoard?

   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.

   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.

   The  WinBoard  distribution  also  includes the ICC timestamp and FICS
   timeseal programs (topic [B.12]).

   cmail  (topic  [B.6])  has  not  been ported to Windows. All the other
   XBoard  functions  are  included  in WinBoard. The International Email
   Chess   Group  web  site  at  http://www.iecg.org/  recommends  ECTool
   (http://www.ectool.nu/)   for   playing   correspondence  chess  under
   Windows.

   You install WinBoard as follows. Download the WinBoard package to your
   PC   (see   topic  [A.2]).  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.
     _________________________________________________________________

  [B.3] Is there an XBoard for the Amiga? What is AmyBoard?

   AmyBoard  is  a  port  of XBoard to the Amiga, by Jochen Wiedmann. The
   distribution includes a port of GNU Chess. AmyBoard is free software.

   The  current  version of AmyBoard is 330.5 (based on XBoard 3.3.0). No
   one is currently maintaining it.

   System requirements:
     * An  Amiga  (obviously  :-),  running  OS 2.04 or later, 2Mb RAM or
       more.
     * MUI 2.0 or later.
     * 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.

   If  you  would like to use an ICS, you need an Internet connection via
   either
     * a telnet-like program, or
     * a terminal program reading from stdin and writing to stdout.

   AmyBoard is available in the Internet Chess Library (topic [A.2]).
     _________________________________________________________________

  [B.4] Is there an XBoard for the Macintosh?

   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.  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.
     _________________________________________________________________

  [B.5] Does XBoard run on VMS?

   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@tim-mann.org (Tim Mann), if you're
   working on this.
     _________________________________________________________________

  [B.6] What is cmail?

   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.
     _________________________________________________________________

  [B.7] How do I build XBoard? Do I need gcc?

   The first step to building XBoard is to get the distribution file. See
   topic [A.2] for places you can ftp the software from.

   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:

    gzip -cd xboard-*.tar.gz | tar -xvf -
    cd xboard-*/
    configure
    make
    su
    make install

   If  you  want  to  install  xboard  in  your  personal  home directory
   ($HOME/bin), type this:

    gzip -cd xboard-*.tar.gz | tar -xvf -
    cd xboard-*/
    configure --prefix=$HOME
    make
    make install

   If  the  first step above fails because you don't have gzip, see topic
   [A.2],  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.

   You don't need to have gcc to build XBoard. Almost any Unix C compiler
   should do.
     _________________________________________________________________

  [B.8] Can I use XBoard or WinBoard to play a game of chess with another
  human?

   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.

   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.

   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  http://www.tim-mann.org/ics.html#ownics  for  advice  and
   pointers.

   The  cmail  program  included  with  XBoard lets you play email postal
   games with another human; see topic [B.6].

   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.

   See also topic [D.2], Winsock Chess.
     _________________________________________________________________

  [B.9] Will WinBoard run on Windows 3.1? How about Windows CE (also known as
  Pocket PC)?

   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.

   WinBoard does not run on Windows CE (also known as Pocket PC). I don't
   know what would be required to port it.

   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.
     _________________________________________________________________

  [B.10] How do I use XBoard or WinBoard as an external viewer for PGN files
  with my Web browser?

   1) On Unix systems:

   -  Add  the  following  line  to  the  file  .mime.types  in your home
   directory. (Create the file if it doesn't exist already.)
    application/x-chess-pgn    pgn

   -  Add the following line to the file .mailcap in your home directory.
   (Create the file if it doesn't exist already.)
    application/x-chess-pgn; xboard -ncp -lgf %s

   - Exit from your Web browser and restart it.

   2) On MS Windows systems:

   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.
     _________________________________________________________________

  [B.11] How do I use WinBoard as an external viewer for PGN files with the MS
  Windows File Manager or Explorer?

   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.
     _________________________________________________________________

  [B.12] How do I use ICC timestamp or FICS timeseal with XBoard?

   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 without 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.

   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:

    xboard -ics -icshost 204.178.125.65 -icshelper timestamp

    xboard -ics -icshost 164.58.253.13 -icshelper timeseal

   If  you  have  a  firewall between your machine and the ICS, see topic
   [B.19].

   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.

   For  further information on timestamp and timeseal, see the help files
   on ICC and FICS.
     _________________________________________________________________

  [B.13] How do I use ICC timestamp or FICS timeseal with WinBoard?

   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.

   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.

   If  you  have  a  firewall between your machine and the ICS, see topic
   [B.19].

   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.

   For  further information on timestamp and timeseal, see the help files
   on ICC and FICS.
     _________________________________________________________________

  [B.14] How do I play bughouse with XBoard or WinBoard?

   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.

   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.
     _________________________________________________________________

  [B.16] What is Zippy? How can I interface a chess program to the Internet
  Chess Servers?

   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,
   http://www.tim-mann/chess.html.  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.

   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.
     _________________________________________________________________

  [B.17] How can I interface my own chess program to XBoard or WinBoard?

   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.

   For  documentation,  see  the  file engine-intf.html, included in both
   distributions    or    available    from    my    chess    Web   page,
   http://www.tim-mann.org/chess.html. The version of engine-intf.html on
   my Web page is often more up-to-date than those in the XBoard/WinBoard
   distributions.
     _________________________________________________________________

  [B.18] How can I recompile WinBoard from source?

   The  source code for WinBoard is available from the author's Web page,
   http://www.tim-mann.org/chess.html.

   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++.

   To   build  WinBoard  with  the  free  Cygwin  tools,  available  from
   http://www.cygwin.com/),   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.

   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.

   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.

   See also topic [C.16].
     _________________________________________________________________

  [B.19] How can I use XBoard or WinBoard to talk to an Internet Chess Server
  through a firewall or proxy?

   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.

   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.

   A  helpful  user  mailed  me  the  following explanation of how to use
   WinBoard with WinGate:

     "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."

   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.

   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.

   If  you have a SOCKS firewall and are using XBoard, you should be able
   to  SOCKSify  xboard  and  use  it.  See http://www.socks.nec.com/ 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 http://www.socks.nec.com/.
   For  others,  you  might be able to get a pre-built socksified version
   from  the  chess  server  administrators.  For  timeseal versions, see
   ftp://ftp.freechess.org/pub/chess/timeseal/.  For  timestamp versions,
   the directory would be ftp://ftp.chessclub.com/pub/icc/timestamp/, 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.

   If  you  have a SOCKS firewall and you are using WinBoard, we now know
   how  to  make  this  configuration  work,  complete  with timestamp or
   timeseal!

   Start  by  getting  SocksCap32. This software is freely available from
   http://www.socks.nec.com/.  Install  it  on  your  machine,  read  the
   documentation,  and  learn to use it. You may find it useful with many
   other programs besides WinBoard.

   Next, don't 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.

   Instead,   use  the  following  workaround.  Follow  the  instructions
   exactly; don't try to skip steps or simplify things.

   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".

    "c:\program files\winboard\timestamp.exe" chessclub.com 5000 -p 5000
    "c:\program files\winboard\timeseal.exe" freechess.org 5000 -p 5000

   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.

   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.

    "c:\program files\winboard.exe" /ics /icshost=localhost /icsport=5000

   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:

    "c:\program files\sockscap32\sc32.exe" timestamp

   Then  select  "Run:  Minimized"  on  the  same  page.  Do the same for
   timeseal.

   Another  method  that  can  work  is  to use a .bat file to start both
   timestamp and WinBoard. It would look something like this:

    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

   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 a different
   port  number  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.
     _________________________________________________________________

  [B.20] How can I use XBoard or WinBoard on chess.net with accuclock?

   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.

   I don't know whether chess.net provides versions of accuclock for Unix
   at this time. Ask them.
     _________________________________________________________________

  [B.21] Can I get Zippy to do one or more ICS commands automatically at the
  start or end of each game?

   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.

   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.

    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'
     _________________________________________________________________

  [B.22] How do I print from WinBoard?

   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.
     _________________________________________________________________

  [B.23] Can I get Zippy to automatically reconnect to ICS when its connection
  breaks?

   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.

   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.
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 >NUL
goto loop

   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 > zippy.fifo".
#! /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 ) > $out 2>&1 &
     _________________________________________________________________

  [B.24] The chess engines are too strong and always beat me. How can I adjust
  the difficulty level to make them weaker?

   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.

   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.

   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 [C.7]
   for instructions.

   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.
     _________________________________________________________________

[C] XBoard and WinBoard, bugs and problems
     _________________________________________________________________

  [C.1] I can't build XBoard because the X11/Xaw/... include files are not
  found.

   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.

   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.

   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.

   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:

    rm config.cache
    (setenv CFLAGS -I/foo/bar ; configure)

   Also see topic [C.2].
     _________________________________________________________________

  [C.2] Configuring or building XBoard fails due to missing header files,
  missing libraries, or undefined symbols.

   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.

   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:

    configure --x-includes=/odd/place/include \
              --x-libraries=/odd/place/lib

   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.

   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.

   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.

   Also see topic [C.1].
     _________________________________________________________________

  [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").

   Here are solutions to some common problems in this area.

   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).

   Run  WinBoard  with  a  command line like this (adding more options if
   desired):

    WinBoard /ics /icscom com1

   Use com2, com3, or com4 in place of com1 if your modem is connected to
   one of those ports.

   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.

   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.
     _________________________________________________________________

  [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).

   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."

   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 http://walden.mo.net/~rymabry/95winfaq.html
   (the Win95-L FAQ).

   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
   http://www.trumpet.com.au/wsk/winsock.htm for more information.

   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.

   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.
     _________________________________________________________________

  [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)".

   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.
     _________________________________________________________________

  [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.

   XBoard  and WinBoard have three major modes that can't be changed from
   the menus: local chess engine mode, ICS mode, and standalone mode.

   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.

   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 [C.7].
     _________________________________________________________________

  [C.7] How do I give command-line options to a Windows program like WinBoard?

   There are many ways; pick your favorite:

     * Type  the  command  line  into  an  MS-DOS  Prompt  box.  Example:
       "WinBoard -ics".
     * 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.
     * 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.
     * 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.
     _________________________________________________________________

  [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.

   If  you  are  using Crafty, be certain to get the version compiled for
   Win32 (wcrafty.exe), not the version compiled for MS-DOS (crafty.exe).
   Also, be sure you have the current version of WinBoard. WinBoard 3.4.1
   and earlier had a bug that caused this problem to occur with all chess
   engines.

   This  problem  is  reported  to still happen occasionally, for unknown
   reasons.   You  can  generally  stop  the  rogue  Crafty  by  pressing
   Ctrl+Alt+Del, selecting the Crafty process from the menu, and pressing
   the End Task button.
     _________________________________________________________________

  [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?

   If  you  are playing with the ICS incremental clock, both you and your
   opponent get a set amount of extra time after each move.

   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.

   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.

   See "help lag" and "help timestamp" or "help timeseal" on your ICS for
   more detailed information.
     _________________________________________________________________

  [C.13] I can't run WinBoard unless I delete the WinBoard.ini file each time!

   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.
     _________________________________________________________________

  [C.15] I get errors compiling XBoard's parser.c.

   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.
     _________________________________________________________________

  [C.16] I get an error building WinBoard from source because "flex" is not
  found.

   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.

   If  you  do  want to change parser.l and rebuild parser.c, you can get
   flex as part of the free Cygwin kit from
   http://sourceware.cygnus.com/cygwin/.  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.
     _________________________________________________________________

  [C.17] XBoard hangs shortly after connecting to an ICS when used with dxterm,
  cmdtool, dtterm, kterm, konsole, or other substitutes for xterm.

   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.

   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.

   Alternatively, you can disable this feature by commenting out the body
   of DisplayIcsInteractionTitle in xboard.c and recompling xboard.
     _________________________________________________________________

  [C.18] The WinBoard pieces show up in the wrong colors, appear distorted, or
  are not visible at all.

   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.

   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.

   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.

   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.
     _________________________________________________________________

  [C.19] XBoard or WinBoard tells me "Error: first chess program (...) exited
  unexpectedly".

   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.)

   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.
     _________________________________________________________________

  [C.20] XBoard tells me "Warning: Cannot allocate colormap entry".

   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.

   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
   "startx  --  -bpp  24"  (or 16, or 32). Further details on configuring
   your X server are beyond the scope of this FAQ.

   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 -install command-line option; this gives Netscape its
   own  private  colormap  that  X  will  switch to when Netscape has the
   keyboard  focus. If all else fails, another option is to run xboard in
   monochrome  (black and white) mode by giving it the -mono command-line
   option.
     _________________________________________________________________

  [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.

   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.

   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.

   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 < and
   > surround the names of keys.

    <Ctrl+S><Ctrl+]>mode line<Enter>
     _________________________________________________________________

  [C.22] XBoard says, "Failed to start first chess program gnuchessx on
  localhost: gnuchessx: No such file or directory."

   XBoard  is looking for GNU Chess 4.0. If you didn't want to use XBoard
   with  GNU  Chess,  please  see topic [C.6]. 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 [D.6].
     _________________________________________________________________

[D] Crafty and other topics
     _________________________________________________________________

  [D.1] What is XChess?

   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.

   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.

   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.
     _________________________________________________________________

  [D.2] What is Winsock Chess?

   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.2]. For more information, contact its author,
   Donald Munro, ccahdm@beluga.upe.ac.za.
     _________________________________________________________________

  [D.3] What is Crafty?

   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.

   You  can  download Crafty from ftp://ftp.cis.uab.edu/pub/hyatt/. Start
   by  getting  the read.me file and reading it. Among other things, this
   file  contains instructions on how to install Crafty as a command-line
   application on your machine.

   There   is  a  Crafty  mailing  list.  To  subscribe,  send  email  to
   majordomo@cis.uab.edu, with "subscribe crafty-list" in the body.
     _________________________________________________________________

  [D.4] How do I use Crafty with XBoard?

   First,  you  need  to  get  Crafty  and  install  it as a command-line
   application on your machine. See topic [D.3].

   To use Crafty with XBoard, give the -fcp parameter like this:

    xboard -fcp "./crafty" -fd crafty_directory

   Here crafty_directory is the directory where you installed Crafty. You
   can add more xboard options at the end of the command line.

   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.
     _________________________________________________________________

  [D.5] How do I use Crafty with WinBoard?

   First,  you  need  to  get  Crafty  and  install  it as a command-line
   application on your machine. See topic [D.3]. You must use the version
   of  Crafty compiled for Win32 (wcrafty*.exe), not the version compiled
   for  MS-DOS (crafty*.exe), and 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.

   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.

   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.

   If  you  want  to have Crafty act as an automated computer player on a
   chess server, see topic [B.16]. 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!
     _________________________________________________________________

  [D.6] How do I use GNU Chess 5 with XBoard?

   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."

   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:

    xboard -fd gnuchess_directory -fcp "./gnuchess xboard"

   Here gnuchess_directory 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.
     _________________________________________________________________

   $Id: FAQ.html,v 1.158 2002/02/02 07:55:33 mann Exp $
   ** End of XBoard/WinBoard FAQ **
