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.research.compaq.com/SRC/personal/Tim_Mann/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 to play a game of chess with another
          human?
        * [B.9] Will WinBoard run on Windows 3.1?
        * [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.15] How can I scroll back in the WinBoard console?
        * [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?
   * [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 4.0.x 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".
   * [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?
_______________________________________________________________________

[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, including Windows 95, Windows 98, and Windows NT. It should
also work on the forthcoming Windows 2000 system. 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.research.digital.com/SRC/personal/Tim_Mann/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.

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.0.5.tar.gz
ftp> get xboard-4.0.5.tar.gz
150 BINARY connection for xboard-4.0.5.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.0.5
   * WinBoard 4.0.5
_______________________________________________________________________

[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, so there are no
major improvements in the works at this time. Evan Welsh, the author of
cmail, is not actively working on it but does fix bugs when they are
reported. Many others have contributed suggestions and snippets of code.
_______________________________________________________________________

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

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.

There is currently no mailing list for the XBoard/WinBoard project. You
can send mail directly to mann@pa.dec.com (Tim Mann).
_______________________________________________________________________

[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
Microsoft Win32 (that is, Windows NT or Windows 95) 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 true Microsoft Win32 systems, such as
Windows NT and Windows 95. 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 Win32. All the other XBoard
functions are included in WinBoard.

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?

No. But porting XBoard to the Mac should not be much harder than porting
it to Win32 or the Amiga was. I can't do it because I don't have a Mac,
I don't know how to program Macs, and I don't have time. If you do, feel
free to give it a try! Send mail to me, mann@pa.dec.com (Tim Mann), if
you're working on this.
_______________________________________________________________________

[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, mann@pa.dec.com (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.
_______________________________________________________________________

[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, and your C compiler doesn't
have to be ANSI-compliant.
_______________________________________________________________________

[B.8] Can I use XBoard 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 is to use an Internet Chess Server as an intermediary.
That is, each player runs his own copy of XBoard, both of them log into
an ICS, and they play a game there. Two copies of XBoard cannot
communicate with each other directly.

Instructions on how to get started with Internet chess are included with
the XBoard distribution. The network addresses included in the XBoard
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). Some current FICS sites are freechess.org (the
most active) and eics.daimi.aau.dk. On all these machines, the port
number to use is 5000.

Note: If you don't have network connectivity to any ICS site, you can
run your own server using the FICS code. You can get a copy by anonymous
ftp from the Internet Chess Library (topic [A.2] ). The code is changing
rapidly, so send mail to chess@freechess.org and/or log into the FICS
server at freechess.org and ask the administrators there for current
information.

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

WinBoard does not run on Windows 3.1 or Windows for Workgroups 3.11, 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 runs well on both Windows 95 and Windows NT.
_______________________________________________________________________

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

In Netscape 3.x, go to Options / General Preferences / Helpers, click
the button to make a new MIME type, and fill in the boxes:

  Mime type: application
  Mime subtype: x-chess-pgn
  Extension: pgn
  Application command line: "C:\Program Files\WinBoard\WinBoard" -ncp -lgf "%1"

Change the pathname for WinBoard if you installed it in a different
directory.

3) To confirm that your external viewer configuration is working, open
the following URL and click on any of the game names shown:
http://www.research.digital.com/SRC/personal/Tim_Mann/chess.html#PGN
_______________________________________________________________________

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

On Windows 95 and Windows NT 4.0, WinBoard does this automatically when
you install it. For the File Manager on Windows NT 3.51, etc., select
Associate from the File menu, 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, be sure that you can connect using XBoard without
timestamp/timeseal. Second, 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 207.99.5.190 -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.15] How can I scroll back in the WinBoard console?

The current WinBoard release has consoles with scrollback! Get it.
_______________________________________________________________________

[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.research.digital.com/SRC/personal/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.research.digital.com/SRC/personal/Tim_Mann/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.research.digital.com/SRC/personal/Tim_Mann/chess.html .

WinBoard is currently developed using Microsoft Visual C++ 5.0. By far
the easiest way to recompile it, and the only way that the author has
personally tried, is to use MSVC++ 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 Borland C++ 4.5, see the Web page noted above for
a user-submitted patch. Perhaps the patch will also work with other
versions of the Borland compiler.

To build WinBoard with the free Cygwin32 tools (see
http://www.cygnus.com/ ), see the Web page noted above for a
user-submitted patch and replacement Makefile.

WinBoard is a Win32 application, so you definitely need a compiler and
tool set that supports Win32. In particular, DJGPP can't be used to
build WinBoard. 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. It can't build Win32 programs.

WinBoard executables for the DEC Alpha running Windows NT will be
provided in the future, along with instructions for compiling your own.
For now, contact me if you want to do this.

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.

If you are using a 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"

_______________________________________________________________________

[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. 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, which is called "AOL for
Windows 95."

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". Starting Windows programs from an MS-DOS Prompt box works
     only on Windows 95 or Windows NT, but then, WinBoard itself works
     only on those systems.
   * Make a Windows 95 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 4.0.x 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 Cygwin32 kit from www.cygnus.com. 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 color depth and/or disabling some of the acceleration features
on your display card. You can do this from the Display applet on the
Windows control panel.

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 / ControlPanel / 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 / ControlPanel /
AddNewHardware 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.

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

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

_______________________________________________________________________

** End of XBoard/WinBoard FAQ **
