updated the FAQ
[xboard.git] / FAQ.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
5 <head>
6 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
7 <link rev="made" href="mailto:webmasters@gnu.org" />
8 <link rel="icon" type="image/png" href="/graphics/gnu-head-mini.png" />
9 <meta name="ICBM" content="42.256233,-71.006581" />
10 <meta name="DC.title" content="gnu.org" />
11
12 <title>XBoard and WinBoard: Frequently Asked Questions</title>
13 <style type="text/css" media="all">
14 @import url('/style.css');
15 </style>
16
17 <style type="text/css" media="print">
18 @import url('/print.css');
19 </style>
20
21 </head>
22
23 <body>
24 <h1>XBoard and WinBoard: Frequently Asked Questions</h1>
25
26 <p>This document answers some frequently asked questions about the
27 graphical chess interfaces XBoard and WinBoard.
28 A hyperlinked version of this FAQ is available on
29 the Web through the page
30 <a href="http://www.gnu.org/software/xboard/FAQ.html">
31 http://www.gnu.org/software/xboard/FAQ.html</a>.</p>
32
33 <p><i>This FAQ is in need of revision.  Please contact us if you'd like
34 to help update it.</i></p>
35
36 <hr />
37 <h2>Outline</h2>
38
39 <ul>
40 <li><a href="#tag-A0">[A] Introduction and hot topics</a></li>
41 <li><a href="#tag-B0">[B] XBoard and WinBoard</a></li>
42 <li><a href="#tag-C0">[C] XBoard and WinBoard, bugs and problems</a></li>
43 <li><a href="#tag-D0">[D] Crafty and other topics</a></li>
44 </ul>
45
46 <hr />
47 <h2>Detailed contents</h2>
48
49 <ul>
50   <li><a name="tag-A0" href="#tag[A">[A] Introduction and hot topics</a>
51     <ul>
52       <li><a href="#tag-A.1">[A.1] What are XBoard and WinBoard?</a></li>
53       <li><a href="#tag-A.2">[A.2] Where can I get chess information and chess software?</a></li> 
54       <li><a href="#tag-A.3">[A.3] What are the current version numbers for XBoard and WinBoard?</a></li> 
55       <li><a href="#tag-A.4">[A.4] Who is working on this project?</a></li>
56       <li><a href="#tag-A.5">[A.5] How do I report bugs, offer help, etc.?</a></li>
57       <li><a href="#tag-A.6">[A.6] What are the future plans for XBoard and WinBoard?</a></li>
58   </ul></li> 
59   
60   <li><a name="tag-B0" href="#tag[B">[B] XBoard and WinBoard</a>
61     <ul>
62       <li><a href="#tag-B.1">[B.1] What is XBoard?</a></li>
63       <li><a href="#tag-B.2">[B.2] Is there an XBoard for Microsoft Windows?  What is WinBoard?  How do I install WinBoard?</a></li>
64       <li><a href="#tag-B.3">[B.3] Is there an XBoard for the Amiga?  What is AmyBoard?</a></li>
65       <li><a href="#tag-B.4">[B.4] Is there an XBoard for the Macintosh?</a></li>
66       <li><a href="#tag-B.5">[B.5] Does XBoard run on VMS?</a></li>
67       <li><a href="#tag-B.6">[B.6] What is cmail?</a></li>
68       <li><a href="#tag-B.7">[B.7] How do I build XBoard?  Do I have to have gcc?</a></li>
69       <li><a href="#tag-B.8">[B.8] Can I use XBoard or WinBoard to play a game of chess with another human?</a></li>
70       <li><a href="#tag-B.9">[B.9] Will WinBoard run on Windows 3.1?  How about Windows CE (also known as Pocket PC)?</a></li>
71       <li><a href="#tag-B.10">[B.10] How do I use XBoard or WinBoard as an external viewer for PGN files with my Web browser?</a></li>
72       <li><a href="#tag-B.11">[B.11] How do I use WinBoard as an external viewer for PGN files with the MS Windows File Manager or Explorer?</a></li>
73       <li><a href="#tag-B.12">[B.12] How do I use ICC timestamp or FICS timeseal with XBoard?</a></li>
74       <li><a href="#tag-B.13">[B.13] How do I use ICC timestamp or FICS timeseal with WinBoard?</a></li>
75       <li><a href="#tag-B.14">[B.14] How do I play bughouse with XBoard or WinBoard?</a></li>
76       <li><a href="#tag-B.16">[B.16] What is Zippy?  How can I interface a chess program to the Internet Chess Servers?</a></li> 
77       <li><a href="#tag-B.17">[B.17] How can I interface my own chess program to XBoard or WinBoard?</a></li>
78       <li><a href="#tag-B.18">[B.18] How can I recompile WinBoard from source?</a></li>
79       <li><a href="#tag-B.19">[B.19] How can I use XBoard or WinBoard to talk to an Internet Chess Server through a firewall or proxy?</a></li>
80       <li><a href="#tag-B.20">[B.20] How can I use XBoard or WinBoard on chess.net with accuclock?</a></li>
81       <li><a href="#tag-B.21">[B.21] Can I get Zippy to do one or more ICS commands automatically at the start or end of each game?</a></li>
82       <li><a href="#tag-B.22">[B.22] How do I print from WinBoard?</a></li>
83       <li><a href="#tag-B.23">[B.23] Can I get Zippy to automatically reconnect to ICS when its connection breaks?</a></li>
84       <li><a href="#tag-B.24">[B.24] The chess engines are too strong and always beat me.  How can I adjust the difficulty level to make them weaker?</a></li>
85       <li><a href="#tag-B.25">[B.25] May I use the piece bitmaps from XBoard/WinBoard in my own program?</a></li>
86   </ul></li>
87   
88   <li><a name="tag-C0" href="#tag-C">[C] XBoard and WinBoard, bugs and problems</a>
89     <ul>
90       <li><a href="#tag-C.1">[C.1] I can't build XBoard because the X11/Xaw/... include files are not found.</a></li>
91       <li><a href="#tag-C.2">[C.2] Configuring or building XBoard fails due to missing header files, missing libraries, or undefined symbols.</a></li>
92       <li><a href="#tag-C.3">[C.3] I have problems using WinBoard on ICS with a modem. I'm not running SLIP or PPP, but just dialing in to an ordinary login account("shell account").</a></li>
93       <li><a href="#tag-C.4">[C.4] I have problems using WinBoard on ICS with Windows 95 and SLIP or PPP.  When trying to start up, it gets the error "Address family not supported by protocol family" (or some equally strange message).</a></li> 
94       <li><a href="#tag-C.5">[C.5] When I try to run WinBoard, I get the message "Failed to start chess program gnuchess on localhost: NO LANGFILE (file gnuchess.lan not found)".</a></li>
95       <li><a href="#tag-C.6">[C.6] I want to use XBoard or WinBoard as an Internet Chess Server interface, but the ICS Client option is grayed out on the menu.</a></li> 
96       <li><a href="#tag-C.7">[C.7] How do I give command-line options to a Windows program like WinBoard?</a></li>
97       <li><a href="#tag-C.9">[C.9] When I exit from WinBoard after using it to play against a chess program on my machine, the chess program keeps running in the background.</a></li>
98       <li><a href="#tag-C.12">[C.12] Why do my ICS opponents often get extra time after they make their moves? Why do I sometimes lose time off my clock after I make my move?</a></li>
99       <li><a href="#tag-C.13">[C.13] I can't run WinBoard unless I delete the WinBoard.ini file each time!</a></li>
100       <li><a href="#tag-C.15">[C.15] I get errors compiling XBoard's parser.c.</a></li>
101       <li><a href="#tag-C.16">[C.16] I get an error building WinBoard from source because "flex" is not found.</a></li>
102       <li><a href="#tag-C.17">[C.17] XBoard hangs shortly after connecting to an ICS when used with dxterm, cmdtool, dtterm, kterm, konsole, or other substitutes for xterm.</a></li>
103       <li><a href="#tag-C.18">[C.18] The WinBoard pieces show up in the wrong colors, appear distorted, or are not visible at all.</a></li>
104       <li><a href="#tag-C.19">[C.19] XBoard or WinBoard tells me "Error: first chess program (...) exited unexpectedly".</a></li> 
105       <li><a href="#tag-C.20">[C.20] XBoard tells me "Warning: Cannot allocate colormap entry", or "too few colors available; trying monochrome mode", or "XPM pieces cannot be used in monochrome mode".</a></li>
106       <li><a href="#tag-C.21">[C.21] When I log in to freechess.org, the Enter key doesn't work, and I  have to use Ctrl+J instead.  But when I use WinBoard, Ctrl+J doesn't work either, so I'm stuck.</a></li>
107       <li><a href="#tag-C.22">[C.22] XBoard says, "Failed to start first chess program fairymax on localhost: fairymax: No such file or directory."</a></li>
108   </ul></li>
109   
110   <li><a name="tag-D0" href="#tag-D">[D] Crafty and other topics</a>
111     <ul>
112       <li><a href="#tag-D.1">[D.1] What is XChess?</a></li>
113       <li><a href="#tag-D.2">[D.2] What is Winsock Chess?</a></li>
114       <li><a href="#tag-D.3">[D.3] What is Crafty?</a></li>
115       <li><a href="#tag-D.4">[D.4] How do I use Crafty with XBoard?</a></li>
116       <li><a href="#tag-D.5">[D.5] How do I use Crafty with WinBoard?</a></li>
117       <li><a href="#tag-D.6">[D.6] How do I use GNU Chess with XBoard?</a></li>
118       <li><a href="#tag-D.7">[D.7] How do I use GNU Chess with WinBoard?</a></li>
119       <li><a href="#tag-D.8">[D.8] What is Fairy-Max?</a></li>
120       <li><a href="#tag-D.9">[D.9] What is UCI? What is Polyglot?</a></li>
121       <li><a href="#tag-D.10">[D.10] How do I use an UCI engine with XBoard / WinBoard?</a></li>
122   </ul></li>
123 </ul>
124
125 <hr />
126 <h2><a name="tag-A">[A] Introduction and hot topics</a></h2>
127
128 <hr />
129 <h3><a name="tag-A.1">[A.1] What are XBoard and WinBoard?</a></h3>
130
131 <p>XBoard and WinBoard are graphical user interfaces for chess.
132   XBoard runs with the X Window System on Unix systems (including
133   GNU/Linux); see topic <a href="#tag-B.1">[B.1]</a>.  WinBoard runs
134   on true 32-bit Microsoft Windows operating systems, such as Windows
135   95, 98, NT, 2000, ME, XP, Vista, and should continue to work on future
136   32-bit Windows systems.  It does not work on Windows CE (also known
137   as Pocket PC), nor does it work on 16-bit Windows systems such as
138   Windows 3.1.  See topic <a href="#tag-B.2">[B.2]</a>.</p>
139   
140 <hr />
141 <h3><a name="tag-A.2">[A.2] Where can I get chess information and chess 
142     software?</a></h3>
143
144 <p>As a shortcut to most things mentioned in this FAQ, try Tim Mann's
145   Chess Web page, <a href= "http://www.tim-mann.org/chess.html"
146   >http://www.tim-mann.org/chess.html</a>.
147   This page page is currently a very bad place to get the latest released 
148   versions of XBoard and WinBoard and the most up-to-date version of this 
149   FAQ, though.   A better place is the 
150   <a href=
151   "http://www.open-aurec.com/wbforum">WinBoard forum</a>.
152   Also see our Savannah
153   project pages at <a href="https://savannah.gnu.org/projects/xboard/"
154   >https://savannah.gnu.org/projects/xboard/</a>.</p>
155
156 <p>If you have other questions about XBoard/WinBoard that aren't
157   answered in this FAQ, you can try Aaron Tay's WinBoard and Chess
158   Engines FAQ,
159   at<a href="http://www.aarontay.per.sg/Winboard/">defunct
160   URL</a>.</p>
161
162 <p>For general news and information about chess, try the 
163 <a href="http://www.talkchess.com/forum">CCC forum</a>
164 or the 
165   <a href=
166   "http://www.open-aurec.com/wbforum">WinBoard forum</a>.
167 Anothe possibility is the newsgroup hierarchy
168 rec.games.chess.*, especially the groups rec.games.chess.misc and
169 rec.games.chess.computer.  Both of the latter groups have very informative
170 FAQs maintained by Steve Pribut; look for them on the newsgroups or at
171 <a href="http://www.clark.net/pub/pribut/chess.html">defunct URL</a>.</p>
172
173 <p>Like other GNU software, you can get XBoard, and WinBoard by anonymous FTP from 
174 <a href="ftp://ftp.gnu.org/pub/gnu/">ftp://ftp.gnu.org/pub/gnu/</a>
175 and its many mirror sites.  Look in the subdirectories xboard, and winboard.
176 The .tar.gz suffix on the files there indicates they were packed with tar
177 and compressed with gzip.  The .exe or .zip suffixes indicate files that
178 were packed and compressed with zip.</p>
179
180 <p>For other chess software, try the Internet Chess Library.  Use
181 anonymous FTP to connect to ftp.freechess.org, or go to the Web page
182 <a href="http://www.freechess.org/">http://www.freechess.org/</a>.
183 You can get chess software, game
184 collections, the FAQ file for rec.games.chess, and other chess-related
185 material there, in the directory pub/chess.  The FTP server can
186 automatically decompress files for you as you download them, useful if you
187 don't have gzip.</p>
188
189 <p>Here is a sample anonymous ftp session.  Some of the ftp server's responses
190 are abbreviated, but all the commands you must type are included.</p>
191
192 <pre>
193     % ftp ftp.gnu.org
194     Connected to ftp.gnu.org
195     Name: anonymous
196     Password: your-email-address@your-site
197     ftp&gt; binary
198     200 Type set to I.
199     ftp&gt; cd /pub/gnu/xboard
200     ftp&gt; dir
201     -rw-r--r-- 1 14910 wheel  1057625 May 20 00:25 xboard-4.2.7.tar.gz
202     ftp&gt; get xboard-4.2.7.tar.gz
203     150 BINARY connection for xboard-4.2.7.tar.gz (1057625 bytes).
204     226 Transfer complete.
205     ftp&gt; quit
206 </pre>
207
208 <hr />
209 <h3><a name="tag-A.3">[A.3] What are the current version numbers for 
210 XBoard and WinBoard?</a></h3>
211
212 <p>At this writing, the current version numbers are:</p>
213
214 <ul>
215 <li>XBoard 4.4.0</li>
216 <li>WinBoard 4.4.0</li>
217 </ul>
218
219 <hr />
220 <h3><a name="tag-A.4">[A.4] Who is working on this project?</a></h3>
221
222 Please see our Savannah project pages
223 at <a href="https://savannah.gnu.org/projects/xboard/">https://savannah.gnu.org/projects/xboard/</a>
224 for a list of active developers.  Many others occasionally contribute
225 suggestions and snippets of code, for which we are grateful.
226
227 <hr />
228 <h3><a name="tag-A.5">[A.5] How do I report bugs, offer help, etc.?</a></h3>
229
230 <p>Bug reports, suggestions, and offers to help on XBoard
231 or WinBoard should be sent to bug-xboard<a name="nospam01">&#x40;</a>gnu.org.</p>
232
233 <p>Beginner questions and discussion about the program may get faster
234 answers on the WinBoard Forum at <a
235 href="http://www.open-aurec.com/wbforum/"
236 >http://www.open-aurec.com/wbforum/</a>.
237 This forum also constains a section dedicated to propose and discuss
238 new features for WinBoard / XBoard or WinBoard protocol,
239 and reposrt bugs,
240 and offers downloads of pre-installed packages of WinBoard
241 bundled with other software,
242 useful for conducting computer-computer tournaments.</p>
243
244 <p>If you are developing a
245 chess engine that works with XBoard or WinBoard (or an alternative
246 GUI that works with such engines), see the Chess Engines mailing
247 list, hosted at
248 <a href="http://groups.yahoo.com/group/chess-engines"
249 >http://groups.yahoo.com/group/chess-engines</a>.
250 For better response, join the above-mentioned WinBoard forum,
251 or the <a href="http://www.talkchess.com/forum">CCC forum</a>.</p>
252
253
254 <p>Any time you want to report a possible bug in XBoard or WinBoard,
255 we need to know exactly what you did, and exactly what error (or
256 other) messages you got.</p>
257
258 <p>If you are using Unix, run the "script" program, run XBoard with
259 the -debug flag (if you get as far as running it), do whatever is
260 necessary to reproduce the problem, type "exit" to the shell, and mail
261 us the resulting typescript file.  We also need to know what
262 hardware/operating system combination you are using.  The command
263 "uname -a" will usually tell you this; include its output in your
264 typescript.</p>
265
266 <p>If you are using MS Windows, run WinBoard with the -debug flag, and
267 send us a copy of the WinBoard.debug file.  If you aren't sure how to
268 add command-line flags to WinBoard, you can hit Ctrl+Alt+F12 to create
269 a WinBoard.debug file after WinBoard starts, but that is not as good,
270 because a few messages that would have been printed at the start are
271 lost.</p>
272
273 <p>Either way, please send us the exact text of the commands you typed
274 and the output you got, not just your recollection of approximately
275 what they were.  The messages may seem meaningless to you, but they
276 are very meaningful to us and essential for diagnosing problems.</p>
277
278 <hr />
279 <h3><a name="tag-A.6">[A.6] What are the future plans for XBoard and
280   WinBoard?</a></h3>
281
282 <p>Our plans are always in flux.  As with most free software projects,
283 the next release will happen when it happens -- or it may never
284 happen.  This has always been the policy for XBoard/WinBoard.
285 Releases have never been promised in specific time frames.</p>
286
287 <p>Starting in November 2003, several new developers have joined the
288 project, and work is now hosted at <a
289 href="https://savannah.gnu.org/projects/xboard/"
290 >https://savannah.gnu.org/projects/xboard/</a>.  Lots of work is just
291 getting underway, but nothing is far along yet.</p>
292
293 <p>Here is a partial list of items that have a nonzero probability of
294 happening in finite time.</p>
295
296 <ul>
297 <li>Small bug fixes.  Occasionally someone sends us a fix, or reports
298 a small bug very clearly so that we're able to fix it in a few minutes
299 work.</li>
300
301 <li>Protocol version 3.  The members of the chess engine authors'
302 mailing list discussed a set of proposed features for the next version
303 of the XBoard/WinBoard chess engine communication protocol.
304 The WinBoard 4.3 fork has taken the protocol in a different direction,
305 though, extending version 2 with new features as they were needed,
306 rather than upgrading to a new protocol in a single sweep.
307 It does not seem likely that there will be a v3 protocol in the
308 foreseeable future.
309 </li>
310
311 <li>Contributed features.  Several people have mailed me code to add
312 various features.  Most of this code is available on the
313 XBoard/WinBoard extensions page
314 at <a href="http://www.tim-mann.org/extensions.html">
315 http://www.tim-mann.org/extensions.html</a>,
316 but it is not in any official releases yet.  We are in the process of
317 getting folks to formally assign the copyrights on their contributions
318 to the Free Software Foundation so that we can include it in official
319 releases in the future.</li>
320
321 <li>Internationalization.  Several people have expressed interest in
322 internationalizing XBoard/WinBoard. Version 4.4 implements
323 internationalization in its XBoard branch, and includes (partial)
324 Turkish and German translations.  For WinBoard a suitable way for
325 internationalization still has to be found, as all menu strings there
326 are not in the C code, but in a Windows resource file. In any case, we
327 will need more translators, to update the existing translations (for
328 version 4.2.7) to the current version, and to provide translaions for
329 oter languages.  Watch for news on the xboard-devel mailing list on
330 our Savannah pages.</li>
331
332 </ul>
333
334 <hr />
335 <H2><a name="tag-B">[B] XBoard and WinBoard</a></H2>
336 <hr />
337 <h3><a name="tag-B.1">[B.1] What is XBoard?</a></h3>
338
339 <p>XBoard is a graphical user interface for chess.  It displays a
340 chessboard on the screen, accepts moves made with the mouse, and loads
341 and saves games in Portable Game Notation (PGN).  XBoard is free software.
342 It serves as a front-end for many different chess services, including:</p>
343
344 <p><strong>Chess engines</strong> that will run on your machine and
345 play a game against you or help you analyze, such as GNU Chess and
346 Crafty (topic <a href="#tag-D.3">[D.3]</a> below).</p>
347
348 <p><strong>Chess servers</strong> on the Internet, where you can
349 connect to play chess with people from all over the world, watch other
350 users play, or just hang out and chat.</p>
351
352 <p><strong>Correspondence chess</strong> played by electronic
353 mail. The cmail program (topic <a href="#tag-B.6">[B.6]</a> below)
354 automates the tasks of parsing email from your opponent, playing his
355 moves out on your board, and mailing your reply move after you've
356 chosen it.</p>
357
358 <p><strong>The Web</strong> and your own saved games. You can use
359 XBoard as a helper application to view PGN games in your
360 Web browser, or to load and save your own PGN files.</p>
361
362 <p>XBoard runs under Unix or Unix-compatible systems.  It requires the
363 X Window System, version X11R4 or later.  There are also ports of
364 XBoard to 32-bit Microsoft Windows and to
365 the Amiga.  See topics <a href="#tag-B.2">[B.2]</a> and <a
366 HREF="#tag-B.3">[B.3]</a> respectively.</p>
367
368 <hr />
369 <h3><a name="tag-B.2">[B.2] Is there an XBoard for Microsoft Windows?  What is WinBoard?  How do I install WinBoard?</a></h3>
370
371 <p>WinBoard is a port of XBoard to 32-bit Microsoft Windows systems, such
372 as Windows 95, 98, NT, 2000, ME, and XP.  It uses the same back end
373 chess code as XBoard, but the front end graphics code is a complete
374 rewrite.  WinBoard is free software.</p>
375
376 <p>The WinBoard distribution includes a sample Chess engine.</p>
377
378 <p>The WinBoard distribution also includes the ICC timestamp and FICS
379 timeseal programs (topic <a href="#tag-B.12">[B.12]</a>).</p>
380
381 <p>cmail (topic <a href="#tag-B.6">[B.6]</a>) has not been ported to
382 Windows.  All the other XBoard functions are included in WinBoard.
383 The International Email Chess Group web site at <a
384 href="http://www.iecg.org/" >http://www.iecg.org/</a> recommends
385 ECTool (<a href="http://www.ectool.nu/" >http://www.ectool.nu/</a>)
386 for playing correspondence chess under Windows.</p>
387
388 <p>You install WinBoard as follows. Download the WinBoard package to
389 your PC (see topic <a href="#tag-A.2">[A.2]</a>).  It will be a file
390 with a name like winboard-4_0_0.exe.  Double-click on this file
391 in the Explorer or File Manager to run it. Follow the on-screen
392 prompts.</p>
393
394 <hr />
395 <h3><a name="tag-B.3">[B.3] Is there an XBoard for the Amiga?  What is AmyBoard?</a></h3>
396
397 <p>AmyBoard is a port of XBoard to the Amiga, by Jochen Wiedmann.
398 The distribution includes a port of GNU Chess.
399 AmyBoard is free software.</p>
400
401 <p>The current version of AmyBoard is 330.5 (based on XBoard 3.3.0).
402 No one is currently maintaining it.</p>
403
404 <p>System requirements:</p>
405
406 <ul>
407 <li>An Amiga (obviously :-), running OS 2.04 or later, 2Mb RAM or more.</li>
408 <li>MUI 2.0 or later.</li>
409 <li>Workbench or another screen with no less than 640x400 pixels (adjustable
410   with the MUI-Prefs); this restriction is just because we don't have
411   bitmaps with less than 40x40 pixels per square. If someone contributes
412   bitmaps with 20x20 or 20x25, they will work with any Hires mode.</li>
413 </ul>
414
415 <p>If you would like to use an ICS, you need an Internet connection via either</p>
416
417 <ul>
418 <li>a telnet-like program, or</li>
419 <li>a terminal program reading from stdin and writing to stdout.</li>
420 </ul>
421
422 <p>AmyBoard is available in the Internet Chess Library (topic <a href="#tag-A.2">[A.2]</a>).</p>
423
424 <hr />
425 <h3><a name="tag-B.4">[B.4] Is there an XBoard for the Macintosh?</a></h3>
426
427 <p>Note: I am not a Mac user and have not tried this myself, so I cannot 
428 answer questions about it. </p>
429  
430 <p>Because MacOS X has a Unix base, XBoard will compile and run on it. 
431 You do need an X11 (X Window System) server and client libraries. I'm 
432 told that these come standard with MacOS X 10.3 and later. Once you 
433 install the X11 package, XBoard is reported to compile and run without 
434 changes.</p>
435  
436 <p>You can avoid having to compile XBoard (and GNU Chess) yourself by 
437 using the Fink sofware packaging system. See 
438 http://fink.sourceforge.net/ and 
439 http://finkcommander.sourceforge.net/ for more info on Fink.</p>
440  
441 <p>There is no version of XBoard or WinBoard that runs with the native
442 (non-X11) Mac graphical interface, and none that runs on MacOS 9 or
443 earlier.</p>
444
445
446 <hr />
447 <h3><a name="tag-B.5">[B.5] Does XBoard run on VMS?</a></h3>
448
449 <p>No.  This port would probably be a lot easier than the Win32 and Amiga
450 ports were, because VMS has the X Window system (under the name
451 DECwindows) and is now POSIX compliant. If you are working on this, 
452 send mail to bug-xboard<a name="nospam02">&#x40;</a>gnu.org to let us know.</p>
453
454
455 <hr />
456 <h3><a name="tag-B.6">[B.6] What is cmail?</a></h3>
457
458 <p>cmail is a program that helps you play and keep track of electronic mail
459 correspondence chess games using XBoard.  It is distributed with XBoard and
460 has its own manual page.  cmail is free software.  It was written by
461 Even Welsh.  cmail has not been ported to Windows; sorry.</p>
462
463 <hr />
464 <h3><a name="tag-B.7">[B.7] How do I build XBoard?  Do I need gcc?</a></h3>
465
466 <p>The first step to building XBoard is to get the distribution file.  See topic
467 <a href="#tag-A.2">[A.2]</a> for places you can ftp the software from.</p>
468
469 <p>Next, decide what directory tree you are going to install XBoard
470 in.  The default is /usr/local, but you probably don't have write
471 access to that directory unless you are a system administrator.  If
472 you do, type the following to install it there:</p>
473
474 <pre>
475     gzip -cd xboard-*.tar.gz | tar -xvf -
476     cd xboard-*/
477     ./configure
478     make
479     su
480     make install
481 </pre>
482
483 <p>If you want to install xboard in your personal home directory ($HOME/bin),
484 type this:</p>
485
486 <pre>
487     gzip -cd xboard-*.tar.gz | tar -xvf -
488     cd xboard-*/
489     ./configure --prefix=$HOME
490     make
491     make install
492 </pre>
493
494 <p>If the first step above fails because you don't have gzip, see
495 topic <a href="#tag-A.2">[A.2]</a>, and ask a local Unix expert if you
496 need more help.  If you have any problems with the last two steps,
497 read the READ_ME and INSTALL files in the xboard-*/ directory.  You
498 will also find this FAQ there.</p>
499
500 <p>You don't need to have gcc to build XBoard.  Almost any Unix C
501 compiler should do.</p>
502
503 <hr />
504 <h3><a name="tag-B.8">[B.8] Can I use XBoard or WinBoard to play a game
505   of chess with another human?</a></h3>
506
507 <p>The only way for two humans on different machines to play chess in
508 real time using XBoard/WinBoard is to use an Internet Chess Server
509 as an intermediary.  That is, each player runs his own copy of XBoard
510 or WinBoard, both of them log into an ICS, and they play a game there.
511 Two copies of XBoard/WinBoard cannot communicate with each other
512 directly.</p>
513
514 <p>Instructions on how to get started with Internet chess are included
515 with the XBoard and WinBoard distributions.  The network addresses
516 included in the distribution may not always be current.  The oldest
517 and largest ICS is the Internet Chess Club at chessclub.com, which now
518 has a fee for registered use, but still allows free unregistered use.
519 There are also many newer sites with no fees, using the Free Internet
520 Chess Server implementation (FICS).  The most active FICS site is
521 freechess.org.  On these and most other chess servers,
522 the port number to use is 5000.</p>
523
524 <p>If you don't have network connectivity to any ICS site, you
525 can run your own server using a version of the FICS code, but this
526 is not easy.  See <a href="http://www.tim-mann.org/ics.html#ownics"
527 >http://www.tim-mann.org/ics.html#ownics</a> for advice and pointers.</p>
528
529 <p>The cmail program included with XBoard lets you play email postal games with
530 another human; see topic <a href="#tag-B.6">[B.6]</a>.</p>
531
532 <p>Two humans can play chess on the same machine using one copy of
533 XBoard/WinBoard in
534 Edit Game mode, but the clocks don't run in this mode, so it's of limited
535 usefulness.</p>
536
537 <p>See also topic <a href="#tag-D.2">[D.2]</a>, Winsock Chess.</p>
538
539 <hr />
540 <h3><a name="tag-B.9">[B.9] Will WinBoard run on Windows 3.1?
541   How about Windows CE (also known as Pocket PC)?
542 </a></h3>
543
544 <p>WinBoard does not run on Windows 3.1, Windows for Workgroups 3.11, etc.,
545 not even with the Win32s compatibility package.  The main problem is
546 that Win32s does not have threads or real concurrent processes.  A
547 port of WinBoard to Windows 3.1 is possible in theory, but it would be
548 difficult and messy, and no one is going to do it.</p>
549
550 <p>WinBoard does not run on Windows CE (also
551 known as Pocket PC).  I don't know what would be required to port it.</p>
552
553 <p>WinBoard does run well on full 32-bit versions of Windows, such as
554 Windows 95, 98, NT, 2000, ME, XP, and Vista, and should continue to work
555 on future 32-bit Windows systems.
556 To use the help files in Vista, you will need to install the WinHlp32.exe
557 from MicroSoft on your Vista system.
558 </p>
559
560 <hr />
561 <h3><a name="tag-B.10">[B.10] How do I use XBoard or WinBoard as an external viewer for PGN files
562   with my Web browser?</a></h3>
563
564 <ol>
565 <li> On Unix systems:
566 <ul>
567 <li> Add the following line to the file .mime.types in your home directory.
568 (Create the file if it doesn't exist already.)
569 <pre>
570     application/x-chess-pgn    pgn
571 </pre>
572 </li>
573 <li>
574 Add the following line to the file .mailcap in your home directory.
575 (Create the file if it doesn't exist already.)
576 <pre>
577     application/x-chess-pgn; xboard -ncp -lgf %s
578 </pre>
579 </li>
580 <li>
581  Exit from your Web browser and restart it.
582 </li>
583 </ul>
584 </li>
585 <li> On MS Windows systems:
586 <p>The exact procedure depends on which Web browser you are using.
587 The current version of WinBoard automatically configures itself as
588 your PGN viewer for local files, Netscape 4.x and later, and Internet
589 Explorer.  This automatic setup probably works for all other current Web
590 browsers, too.</p>
591 </li>
592 </ol>
593
594 <hr />
595 <h3><a name="tag-B.11">[B.11] How do I use WinBoard as an external viewer
596   for PGN files with the MS Windows File Manager or Explorer?</a></h3>
597
598 <p>WinBoard sets this up automatically when you install it, except on old
599 versions of Windows NT (prior to 4.0).  On Windows NT 3.51 or earlier,
600 go to the File Manager, click on the File menu, select Associate,
601 enter "pgn" as the extension, and use the Browse button to find your
602 copy of WinBoard and set up the association.</p>
603
604 <hr />
605 <h3><a name="tag-B.12">[B.12] How do I use ICC timestamp or FICS timeseal
606 with XBoard?</a></h3>
607
608 <p>First, get the appropriate version of timestamp or timeseal for your
609 machine from ftp.chessclub.com or ftp.freechess.org.
610 Second, be sure that you can connect using XBoard <I>without</I>
611 timestamp/timeseal.  Third, be sure that you can connect using
612 timestamp/timeseal without XBoard.  See the help files on ICC and FICS
613 or ask people online if you have problems.</p>
614
615 <p>If you are in a completely ordinary situation, where your machine
616 is directly on the Internet and you can connect to ICC or FICS 
617 without timestamp/timeseal using
618 just the command "xboard -ics" or "xboard -ics -icshost freechess.org",
619 change that command to one of the following:</p>
620
621 <pre>
622     xboard -ics -icshost chessclub.com -icshelper timestamp
623
624     xboard -ics -icshost freechess.org -icshelper timeseal
625 </pre>
626
627 <p>If you have a firewall between your machine and the ICS, see topic
628 <a href="#tag-B.19">[B.19]</a>.</p>
629
630 <p>If you normally have to use the "/icscomm" command line option on
631 xboard to log into a second machine, and then telnet to ICC or FICS
632 from there, you are going to have to run the Unix version of timestamp
633 or timeseal on the second machine.  (If the second machine is not
634 running Unix, you are out of luck.)  Get the appropriate version of
635 timestamp or timeseal onto the shell machine via FTP; see the help
636 files on ICC and FICS for instructions.  Then simply run it when you
637 would normally run telnet.  In this configuration you are not
638 protected against lag between your PC and the shell machine, or for
639 lag caused by heavy load on the shell machine itself from other users.</p>
640
641 <p>For further information on timestamp and timeseal, see the help
642 files on ICC and FICS.</p>
643
644 <hr />
645 <h3><a name="tag-B.13">[B.13] How do I use ICC timestamp or FICS timeseal
646 with WinBoard?</a></h3>
647
648 <p>If you select an ICS from either the WinBoard Startup dialog or the
649 Windows Start submenu that WinBoard installs, WinBoard automatically
650 runs timestamp or timeseal if the ICS you chose is known to support it.</p>
651
652 <p>If you are constructing a WinBoard command line by hand, add the
653 option "/icshelper timestamp" or "/icshelper timeseal" to the WinBoard
654 command line to use timestamp or timeseal.  Both timestamp.exe and
655 timeseal.exe are included in the WinBoard distribution.  They both
656 function identically to the Unix versions, as documented in "help
657 timestamp" on ICC and "help timeseal" on FICS.</p>
658
659 <p>If you have a firewall between your machine and the ICS, see topic
660 <a href="#tag-B.19">[B.19]</a>.</p>
661
662 <p>If you normally have to use the "/icscomm" command line option on
663 WinBoard to log into a shell account, and then telnet to ICC or FICS
664 from there, you are going to have to run the Unix version of timestamp
665 or timeseal on the shell machine.  (If the shell account is not on a
666 Unix machine, you are out of luck.)  Get the appropriate version of
667 timestamp or timeseal onto the shell machine via FTP; see the help
668 files on ICC and FICS for instructions.  Then simply run it when you
669 would normally run telnet.  In this configuration you are not protected
670 against lag between your PC and the shell machine, or for lag caused by
671 heavy load on the shell machine itself from other users.</p>
672
673 <p>For further information on timestamp and timeseal, see the help
674 files on ICC and FICS.</p>
675
676 <hr />
677 <h3><a name="tag-B.14">[B.14] How do I play bughouse with XBoard or WinBoard?
678 </a></h3>
679
680 <p>XBoard and WinBoard have full bughouse support.
681 Offboard piece holdings are shown next to the board, and
682 you drop offboard pieces by dragging them with the mouse 
683 (holding the left button down) to their drop square,
684 or left-click the piece and the drop square, just like when you enter
685 any ordinary move.</p>
686
687 <p>XBoard and WinBoard can display only one board at a time, but you
688 can observe your partner's game by running a second copy of the
689 program and logging in as a guest.  (Unfortunately, this is not
690 possible if you are using the /icscomm option.)  To observe your
691 partner's games automatically, use the "follow" or "pfollow" ICS
692 command; see the ICS online help for details.</p>
693
694 <hr />
695 <h3><a name="tag-B.16">[B.16] What is Zippy?  How can I interface a 
696 chess program to the Internet Chess Servers?</a></h3>
697
698 <p>Zippy is an interface that lets a compatible chess engine (such as GNU
699 Chess or Crafty) act as a computer
700 player on an Internet Chess Server.  Zippy is included in both the
701 XBoard and WinBoard distributions.  It is implemented as a small
702 amount of additional code within XBoard or WinBoard.  
703 For documentation, see the file
704 zippy.README, included in both distributions or available
705 from my chess Web page,
706 <a href=
707 "http://www.tim-mann.org/chess.html"
708 >http://www.tim-mann/chess.html</a>.
709 The version of zippy.README on my Web page is often more up-to-date
710 than those in the XBoard/WinBoard distributions.
711 You'll also find a "biography" of Zippy and pointers to the original
712 Zippy the Pinhead comic strips on my Web page.
713 Please read zippy.README carefully before you ask me any questions about Zippy.</p>
714
715 <p>Using a computer to choose your moves on a chess server is
716 considered cheating unless your account is on the computer (C) list.
717 Read "help computer" on your favorite server for details on their
718 policy.  Most of the servers have plenty of computers running now, so they
719 will not be excited about having you run a new one unless you have
720 written your own chess engine.  They don't really need yet another 
721 Crafty or GNU Chess clone.</p>
722
723 <hr />
724 <h3><a name="tag-B.17">[B.17] How can I interface my own chess program
725 to XBoard or WinBoard?</a></h3>
726
727 <p>This is a non-trivial task.  XBoard and WinBoard were not designed
728 with a clean interface for talking to chess programs; they were
729 written to work with an existing version of GNU Chess that expects to
730 be talking to a person.  Your program has to emulate GNU Chess's
731 rather idiosyncratic command structure to work with XBoard and
732 WinBoard.  We are gradually cleaning up, improving, and documenting
733 the interface as newer versions of XBoard and WinBoard come out,
734 however.</p>
735
736 <p>For documentation, see the file engine-intf.html, included in both
737 distributions or available from Tim Mann's chess Web page, <a href=
738 "http://www.tim-mann.org/chess.html"
739 >http://www.tim-mann.org/chess.html</a>.
740 The version of engine-intf.html on Tim's Web page might totally obsolete,
741 though.
742 To know how the current WinBoard or XBoard version communicate with their
743 engines, use the documentation in the XBoard/WinBoard distributions,
744 or on the <a href=
745 "http://www.open-aurec.com/wbforum/WinBoard/engine-intf.html"
746 >WinBoard forum</a>.</p>
747
748 <hr />
749 <h3><a name="tag-B.18">[B.18] How can I recompile WinBoard from source?</a></h3>
750
751 <p>The source code for WinBoard is available from the author's Web page,
752 <a href=
753 "http://www.tim-mann.org/chess.html"
754 >http://www.tim-mann.org/chess.html</a>.</p>
755
756 <p>WinBoard is currently developed using gcc under Cygwin.
757 To build WinBoard with the free Cygwin tools, available from <a
758 href= "http://www.cygwin.com/" >http://www.cygwin.com/</a>), use the
759 command "make -f makefile.gcc" from the winboard directory of the
760 source distribution.</p>
761 <p>You can build the program from the MSVC++ GUI by opening the project
762 file (winboard.dsp) and telling MSVC++ to build the project.  You can
763 also build it from the the command line by using the nmake program
764 supplied with MSVC++.
765 The makefile for MSVC is makefile.ms in the winboard directory.</p>
766
767 <p>WinBoard 4.2.5 was successfully
768 compiled with the net release of Cygwin as downloaded on 20-March-2001
769 (cygwin1.dll 1.1.8, gcc 2.95.2-6, binutils 20001221-1, flex 2.5.4-1),
770 but exhibits a command-line parsing bug; see item 511 in the ToDo file
771 that comes with WinBoard.  WinBoard 4.1.0 does not compile with
772 Cygwin.  WinBoard 4.0.7 is known to compile with Cygwin BL20.1.</p>
773
774 <p>To build WinBoard with Borland C++ 4.5, use "borland.mak", supplied
775 with the WinBoard sources, as the Makefile.  Support for Borland C++
776 was contributed by Don Fong and has not been tested by the author of WinBoard.</p>
777
778 <p>WinBoard is a Win32 application, so you definitely need a compiler
779 and tool set that supports Win32.  In particular, older versions of
780 DJGPP can build only 32-bit MSDOS programs; that is, programs that use
781 a DOS extender to get a 32-bit address space and do not make any
782 Windows calls.  The latest versions of DJGPP are said to be able to 
783 build Win32 programs when used with the proper extension package(s),
784 but this is not known to work with WinBoard.  Use Cygwin instead.</p>
785
786 <p>See also topic <a href="#tag-C.16">[C.16]</a>.</p>
787
788 <hr />
789 <h3><a name="tag-B.19">[B.19] 
790 How can I use XBoard or WinBoard to talk
791 to an Internet Chess Server through a firewall or proxy?
792 </a></h3>
793
794 <p>There is no single answer to this question, because there are many
795 different kinds of firewalls in use.  They work in various different
796 ways and have various different security policies.  This answer can
797 only provide hints.</p>
798
799 <p>Note that you can't access Internet Chess Servers through a Web proxy,
800 because they are not a Web service.  You talk to them through a raw
801 TCP connection, not an HTTP connection.  If you can only access the
802 Web through a proxy, there may be a firewall that stops you from
803 making direct TCP connections, but there may also be a way through it.
804 Read on for hints, and contact your local system administrator if you
805 need more information about your local configuration.</p>
806
807 <p>A helpful user mailed me the following explanation of how to use
808 WinBoard with WinGate:</p>
809 <blockquote>
810 "I have managed to setup WinBoard though my WinGate proxy.  I have the
811 Office version.  What I needed to do was to setup the TCP/IP
812 connection to add the User/Host name and my provider service name for
813 the DNS, but I had to leave the HOST IP address blank.  I have not
814 played with all the variations, so it may be just that I have the DNS
815 lookup enabled."
816 </blockquote>
817 <p>I hope this helps, though I don't find it very clear.  I don't have
818 a copy of WinGate myself and can't help if you have questions about it.</p>
819
820 <p>If you are using some other non-SOCKS firewall, read the FIREWALLS section
821 in your XBoard or WinBoard documentation (man page, info document, or
822 Help file).  If you can telnet to a chess server in some way, then you
823 can almost certainly connect to it with xboard/WinBoard, though in
824 some cases you may not be able to run timestamp or timeseal.  The
825 timestamp and timeseal protocols require a clean, 8-bit wide TCP
826 connection from your machine to the ICS, which some firewalls do not
827 provide.</p>
828
829 <p>If you have a SOCKS firewall and are using <strong>XBoard</strong>,
830 you should be able to SOCKSify xboard and use it.  See <a
831 href="http://www.socks.nec.com/">http://www.socks.nec.com/</a> for
832 information about SOCKS and socksification.  However, if you do this,
833 you can't use timestamp or timeseal; what you really need is a
834 socksified version of timestamp or timeseal.  This is hard because the
835 source code for timestamp and timeseal is proprietary; the folks
836 running the chess servers don't give it out because that would make it
837 too easy to cheat.  On some versions of Unix, you may be able to
838 socksify a program that you don't have the source code to by running
839 it with an appropriate dynamic library; see <a
840 href="http://www.socks.nec.com/">http://www.socks.nec.com/</a>.  For
841 others, you might be able to get a pre-built socksified version from
842 the chess server administrators.  For timeseal versions, see <a
843 href="ftp://ftp.freechess.org/pub/chess/timeseal/"
844 >ftp://ftp.freechess.org/pub/chess/timeseal/</a>.  For timestamp
845 versions, the directory would be <a
846 href="ftp://ftp.chessclub.com/pub/icc/timestamp/"
847 >ftp://ftp.chessclub.com/pub/icc/timestamp/</a>, but at this writing
848 there don't seem to be any socksified timestamps there.  Once you have
849 a socksified timestamp or timeseal, simply run it with a normal,
850 non-socksified xboard in place of the standard timestamp or timeseal.</p>
851
852 <p>If you have a SOCKS firewall and you are using
853 <strong>WinBoard</strong>, we now know how to make this configuration
854 work, complete with timestamp or timeseal!</p>
855
856 <p>Start by getting SocksCap32.  This software is freely available
857 from <a href="http://www.socks.nec.com/">http://www.socks.nec.com/</a>.
858 Install it on your machine, read the documentation, and learn to use
859 it.  You may find it useful with many other programs besides WinBoard.</p>
860
861 <p>Next, <strong>don't</strong> socksify WinBoard.  Socksifying
862 WinBoard itself doesn't let you use it with timestamp or timeseal.
863 For some reason I don't understand -- something strange that
864 SocksCap32 does -- the socksified WinBoard runs but does nothing, and
865 timestamp/timeseal runs all by itself in its own window.</p>
866
867 <p>Instead, use the following workaround.  Follow the instructions
868 exactly; don't try to skip steps or simplify things.</p>
869
870 <p>First, make SocksCap32 application profiles for timestamp and
871 timeseal.  Use the following command lines in the SocksCap32
872 profiles. Name the first profile "timestamp" and the second
873 "timeseal".</p>
874
875 <pre>
876     "c:\program files\winboard\timestamp.exe" chessclub.com 5000 -p 5000
877     "c:\program files\winboard\timeseal.exe" freechess.org 5000 -p 5000
878 </pre>
879
880 <p>Second, run timestamp or timeseal by itself, socksified, using its
881 profile.  This will open an unneeded, black window that will not
882 respond to typing.  Minimize it to the task bar and ignore it. It will
883 go away when you exit from WinBoard.</p>
884   
885 <p>Next, run WinBoard using the following command line.  Make a shortcut
886 or type this command into an MS-DOS Prompt box.  Don't run WinBoard
887 itself socksified, just run it directly.</p>
888
889 <pre>
890     "c:\program files\winboard.exe" /ics /icshost=localhost /icsport=5000
891 </pre>
892
893 <p>After you get this working, you can try getting the timestamp window to
894 auto-minimize by starting it from a shortcut instead of from the
895 SocksCap32 control window. As it says in the SocksCap32 help file, put
896 the following in the Target field of a shortcut's Properties page:</p>
897
898 <pre>
899     "c:\program files\sockscap32\sc32.exe" timestamp
900 </pre>
901
902 <p>Then select "Run: Minimized" on the same page.  Do the same for timeseal.</p>
903
904 <p>Another method that can work is to use a .bat file to start both
905 timestamp and WinBoard.  It would look something like this:</p>
906
907 <pre>
908     REM --
909     REM -- icc.bat
910     REM -- Start timestamp under SocksCap32 and use WinBoard to connect to it.
911     REM -- The string "timestamp" refers to a SocksCap32 profile for timestamp.
912     REM --  Do not change it to the filename of the timestamp program!
913     REM --
914     start /minimized "c:\program files\sockscap32\sc32.exe" timestamp
915     cd "c:\program files\winboard"
916     winboard /ics /icshost=localhost /icsport=5000
917 </pre>
918
919 <p>This workaround has a problem if you want to run two copies of
920 WinBoard at once, talking to the same chess server twice (for
921 bughouse) or to two different chess servers. If you need to do that,
922 you will need to run a separate copy of timestamp with <i>a different
923 port number</i> for each connection.  You'll need to make a second set of
924 profile entries with a different value after the -p flag (say, 5001)
925 and you'll need to change the WinBoard command line /icsport=5000 for
926 the second WinBoard to match.</p>
927
928 <hr />
929 <h3><a name="tag-B.20">[B.20] 
930 How can I use XBoard or WinBoard on chess.net with accuclock?
931 </a></h3>
932
933 <p>I believe chess.net provides a Win32 command-line version of
934 accuclock that will work with WinBoard.  Please see the documentation
935 on the chess.net server itself; don't ask the author of WinBoard.</p>
936
937 <p>I don't know whether chess.net provides versions of accuclock for
938 Unix at this time.  Ask them.</p>
939
940 <hr />
941 <h3><a name="tag-B.21">[B.21]
942   Can I get Zippy to do one or more ICS commands automatically at the 
943   start or end of each game?</a></h3>
944
945 <p>By default, Zippy automatically sends the command "gameend" to ICS
946 at the end of each game.  You can alias this command (using the ICS
947 "alias" feature) to anything you want.  On ICC, you can use the
948 "multi" feature to alias gameend to several commands, but other
949 servers don't have that feature.  Zippy doesn't send anything at the
950 start of the game by default.</p>
951
952 <p>You can get Zippy to send one or more commands of your choosing, at
953 the start and/or end of each game, by using the -zippyGameStart and
954 -zippyGameEnd command line options, newly added in version 4.0.3.
955 Both xboard and WinBoard have (somewhat obscure) ways of getting
956 newlines into this option to send several commands.  Here is an
957 example of one way to do it for each.</p>
958
959 <pre>
960     xboard -ics -zp -xrm '*zippyGameStart: say hi\nsay prepare to die\n'
961
962     WinBoard /ics /zp /zippyGameEnd='say thanks\nseek 5 0\nseek 2 12\n'
963 </pre>
964
965 <hr />
966 <h3><a name="tag-B.22">[B.22]
967   How do I print from WinBoard?
968 </a></h3>
969
970 <p>WinBoard does not have built-in printing functionality.
971 If you want to print a picture of the board, press Alt+PrintScrn, run the
972 standard Windows application Paintbrush, select Paste, and print from there.
973 If you want to print a list of moves, save your game as a PGN file,
974 then open the PGN file with Notepad or any other plain text editor and
975 print it from there.</p>
976
977 <p>WinBoard 4.4 has a menu item "Save Diagram..." in the file menu,
978 which saves the board part of the display as a Windows .bmp file,
979 but only if the board size is not too big.</p>
980
981 <hr />
982 <h3><a name="tag-B.23">[B.23]
983   Can I get Zippy to automatically reconnect to ICS when its connection 
984   breaks?</a></h3>
985
986 <p>There isn't a perfect solution to this problem yet, but a pretty
987 good one is to write a shell script (for xboard) or .bat script (for
988 WinBoard) that automatically restarts the program whenever it exits.
989 Use the -xexit flag so that you don't get a popup dialog that must be
990 dismissed with the OK button before the program will exit.  The gap in
991 this solution is that your connection to ICS can sometimes get into a
992 state where the program does not notice that the connection is broken
993 until the next time it tries to send a command.  Perhaps some future
994 version of xboard/WinBoard will have an option to send a harmless
995 command every five minutes or so.</p>
996
997 <p>Anyway, here is a sample Windows .bat file that restarts WinBoard each
998 time it exits.  Thanks to Jason Williamson.  It assumes that you have put
999 your computer account's name and password in a file named logon.ini.</p>
1000
1001 <pre>
1002 REM --
1003 REM -- wbrecon.bat
1004 REM -- Start WinBoard in Zippy mode, and restart it each time it exits.
1005 REM -- Add or change parameters as needed for your application.
1006 REM --
1007 :loop
1008 start /w winboard /zp /ics /icslogon logon.ini /xexit /xautoraise
1009 REM -- The next line is to have a short delay setup for 139 seconds.
1010 REM -- Leave it out if it doesn't work on the version of Windows you use.
1011 TYPE NUL | CHOICE.COM /N /CY /TY,99 &gt;NUL
1012 goto loop
1013 </pre>
1014
1015 <p>Here is a Unix shell script to do the same thing for xboard.
1016 It's a bit more elaborate.  It is based on the script I use for the
1017 original Zippy.  It logs all ICS output to a file named zippy.out,
1018 and it lets you type commands to Zippy by running "cat &gt; zippy.fifo".</p>
1019
1020 <pre>
1021 #! /bin/sh
1022 host="204.178.125.65 -icsport 5000 -telnet -telnetProgram timestamp"
1023 #host="164.58.253.13 -icsport 5000 -telnet -telnetProgram timeseal"
1024 out=zippy.out
1025 fifo=zippy.fifo
1026 ZIPPYPASSWORD='something'
1027 export ZIPPYPASSWORD
1028 ZIPPYPASSWORD2='orother'
1029 export ZIPPYPASSWORD2
1030 ZIPPYLINES=`pwd`/all.lines
1031 export ZIPPYLINES
1032 ZIPPYGAMEEND='say Yow, that was FUN!
1033 gameend'
1034 export ZIPPYGAMEEND
1035 zippylogon=`pwd`/logon.ini
1036 DISPLAY=`hostname`:0.0
1037 export DISPLAY
1038 mv -f $out ${out}.old
1039 rm -f $fifo
1040 mkfifo $fifo
1041 pid=$$
1042 ( while [ true ] ; do cat -u $fifo ; done ) | \
1043       ( while [ true ] ; do
1044           xboard -iconic -ics -icshost $host \
1045                  -zt -zp -xbell -xanimate \
1046                  -xautosave -xquiet -fcp "gnuchessx -h" \
1047                  -icslogon $zippylogon -xexit -autoflag -xautoraise $*
1048           sleep 600
1049         done ) &gt; $out 2&gt;&amp;1 &amp;
1050 </pre>
1051
1052 <hr />
1053 <h3><a name="tag-B.24">[B.24]
1054   The chess engines are too strong and always beat me.  How can I adjust
1055   the difficulty level to make them weaker?</a></h3>
1056
1057 <p>The best way is to get a weaker chess engine.
1058 On the <a href="http://www.open-aurec.com/chesswar">ChessWar</a> website
1059 you will find a rating list of virtually all engines that are able to
1060 play under XBoard/WinBoard, from super-humanly strong to ridculously weak.
1061 Most of them can be downloaded for free from the internet.</p>
1062
1063 <p>A way to get that effect is to limit the time the engine can use for
1064 deciding on its move. The time-odds options or menu items in the 
1065 time-control dialog) can be used to this end. This is only of limited 
1066 help, as engines do not weeken that much at faster time-control,
1067 and there is a practical limit to how fast you can order the engine
1068 to go. Also feel free to use Retract Move if
1069 you make a blunder. </p>
1070
1071 <p>Many chess coaches will let you switch sides after
1072 they get a stronger position so that you can get experience playing
1073 positions where you are winning.  You can try this with XBoard/WinBoard
1074 by using the Machine White or Machine Black menu command to make the
1075 machine take over your position.</p>
1076
1077 <p>The -depth command-line option to XBoard/WinBoard can also be used to
1078 weaken the engine (see the man page or Help file).  It's a bit of a
1079 nuisance to set command line options in Windows, but see topic <a
1080 href="#tag-C.7">[C.7]</a> for instructions.</p>
1081
1082 <p>Other ways of weakening engines are engine-specific.  Many of them
1083 let you adjust various parameters, and if you choose bad settings, the
1084 engine will play more poorly.  Consult whatever documentation came with
1085 the engine you are using.</p>
1086
1087 <hr />
1088 <h3><a name="tag-B.25">[B.25]
1089   May I use the piece bitmaps from XBoard/WinBoard in my own program?</a></h3>
1090
1091 <p>The piece bitmaps used in XBoard and WinBoard were designed by
1092 Elmar Bartel.  He released them under the <a
1093 href="http://www.gnu.org/copyleft/gpl.html">GNU General Public
1094 License</a>.  This means that if your program is also free software
1095 distributed under the GPL, you can use them freely.  If your program
1096 is distributed under some other license, including commercial,
1097 shareware, or non-GPL freeware, then you cannot use the bitmaps unless
1098 you obtain special permission from Elmar.  See the file README.bitmaps
1099 that comes with the XBoard and WinBoard source code for more
1100 information and an email address you can write to.</p>
1101
1102 <hr /><h2><a name="tag-C">[C] XBoard and WinBoard, bugs and problems</a></h2>
1103
1104 <hr /><h3><a name="tag-C.1">[C.1] I can't build XBoard
1105 because the X11/Xaw/...  include files are not found.</a></h3>
1106
1107 <p>These are the header files for the Athena Widgets library, which XBoard uses
1108 heavily.  Some versions of Unix don't supply these files, but they are part of
1109 the standard X distribution, freely available from MIT.  </p>
1110
1111 <p>For general information on getting missing X sources, see the FAQ on
1112 comp.windows.x.  Note that you may be missing only the header files, or you
1113 may be missing the libraries themselves too.</p>
1114
1115 <p>HP-UX users are missing only the header files.  You can get them by
1116 anonymous FTP as follows.  (But first check with your system
1117 administrator to see if someone else at your site has already done
1118 this.)  Get the archive file /hpux9/X11R5/Core/Xaw-5.00.tar.gz (Xaw
1119 header files) via anonymous FTP from the site hpux.csc.liv.ac.uk
1120 (138.253.42.172), or one of the other official sites---Germany:
1121 hpux.ask.uni-karlsruhe.de (129.13.200.57), US: hpux.cae.wisc.edu
1122 (144.92.4.15), France: hpux.cict.fr (192.70.79.53) or Netherlands:
1123 hpux.ced.tudelft.nl (130.161.140.100). Unpack the archive using gzip
1124 and follow the instructions in its README and/or HPUX.Install files.
1125 Thanks to Richard Lloyd for this information.</p>
1126
1127 <p>If you have the Xaw header files installed in a different place
1128 than the other X11 headers, you may need to configure XBoard with an
1129 extra flag to help it find them.  For example, if yours are in
1130 /foo/bar/X11/Xaw, try this:</p>
1131
1132 <pre>
1133     rm config.cache
1134     (setenv CFLAGS -I/foo/bar ; configure)
1135 </pre>
1136
1137 <p>Also see topic <a href="#tag-C.2">[C.2]</a>.</p>
1138
1139 <hr />
1140 <h3><a name="tag-C.2">[C.2] Configuring or building XBoard fails due to
1141 missing header files, missing libraries, or undefined symbols.
1142 </a></h3>
1143
1144 <p>Perhaps you have the X server and client programs installed on your
1145 machine, but not the X header files and link-time libraries.  If so,
1146 you can run existing X programs, but you cannot compile a new X
1147 program from source code.  In this case the XBoard configure script
1148 will fail and will tell you to look at this question in the FAQ.  Many
1149 GNU/Linux distributions put the headers and libraries in a separate
1150 package, which you might not have installed.  If you are using RedHat,
1151 install the XFree86-devel package.  If you are using some other
1152 kind of Unix, ask your system administrator where to find the X header
1153 files and link-time libraries.  If this is not your problem, read on.</p>
1154
1155 <p>The configure script for XBoard looks for X libraries and header
1156 files in some common places.  Sometimes it fails: If yours are
1157 installed in an odd place, it may not find them at all.  If you have
1158 more than one version of X installed on your system, it may find the
1159 "wrong" one, or occasionally it may find libraries from one version
1160 and incompatible header files from another.  You can work around these
1161 problems by telling the configure script where the files are.  For
1162 example:</p>
1163
1164 <pre>
1165     configure --x-includes=/odd/place/include \
1166               --x-libraries=/odd/place/lib
1167 </pre>
1168
1169 <p>The directory named in the argument to --x-includes must have a
1170 subdirectory "X11" that contains the actual .h files.  That is, if
1171 your X.h file has full pathname /odd/place/X11R6/include/X11/X.h, then
1172 you must give the argument --x-includes=/odd/place/X11R6/include.</p>
1173
1174 <p>Some linkers have bugs that cause bogus error messages when you try
1175 to link X programs.  The configure script includes a workaround for a
1176 bug of this kind that exists in some SunOS 4.x.x installations.  See
1177 the FAQ on comp.windows.x for more information about problems of this
1178 kind.</p>
1179
1180 <p>If all else fails, check whether anyone else at your site has been able to
1181 compile any X programs on your system.  Your X installation might be buggy.
1182 If so, the system administrator at your site might know how to fix or work
1183 around the problem.</p>
1184
1185 <p>Also see topic <a href="#tag-C.1">[C.1]</a>.</p>
1186
1187 <hr /><h3><a name="tag-C.3">[C.3] I have problems using WinBoard on ICS
1188 with a modem.  I'm not running SLIP or PPP, but just dialing in to an
1189 ordinary login account ("shell account").</a></h3>
1190
1191 <p>Here are solutions to some common problems in this area.</p>
1192
1193 <p>Some people want to connect to ICS through HyperTerminal or some other
1194 terminal program first, then run WinBoard.  This is not how it works.
1195 WinBoard wants to talk directly with your modem, acting as a terminal program
1196 itself.  Start out with the modem "on hook" (not making a call).</p>
1197
1198 <p>Run WinBoard with a command line like this (adding more options if desired):</p>
1199
1200 <pre>
1201     WinBoard /ics /icscom com1
1202 </pre>
1203
1204 <p>Use com2, com3, or com4 in place of com1 if your modem is connected to one of those ports.</p>
1205
1206 <p>After you start WinBoard, you may need to change some of the options in the
1207 Communications dialog (on the Options menu).  The dialog has the usual options
1208 for talking to modems: bits per second, bits per byte, parity, number of stop
1209 bits.  You will probably want to use Save Settings Now when you're done.</p>
1210
1211 <p>Next, type dialing commands to your modem in the text window that WinBoard
1212 creates.  You may need to turn off Local Line Editing on the Options menu
1213 while you are typing commands to your modem.  Turn it back on when you're
1214 done.  See the WinBoard Help file for instructions if you see your typing
1215 echoed an extra time after you hit Enter.</p>
1216
1217 <hr />
1218 <h3><a name="tag-C.4">[C.4]
1219 I have problems using WinBoard on ICS with Windows 95 and SLIP
1220 or PPP.  When trying to start up, it gets the error "Address family
1221 not supported by protocol family" (or some equally strange message).
1222 </a></h3>
1223
1224 <p>WinBoard is a 32-bit application, but some Winsock (TCP/IP) implementations
1225 support only 16-bit applications.  You get a strange looking error message
1226 if you try to use a 32-bit application because
1227 there is no standard Winsock error code number
1228 for "32-bit application not supported."</p>
1229
1230 <p>Microsoft TCP/IP works with both 16-bit and
1231 32-bit applications, supports SLIP, PPP, Ethernet, etc., and is included
1232 with Windows 95 and later Windows systems.
1233 If possible, I recommend that you uninstall
1234 whatever Winsock you are using and install Microsoft TCP/IP instead.
1235 For more information, see
1236 <a href=
1237 "http://walden.mo.net/~rymabry/95winfaq.html"
1238 >http://walden.mo.net/~rymabry/95winfaq.html (the Win95-L FAQ)</a>.</p>
1239
1240 <p>Trumpet Winsock 2.1 (and earlier) supports only 16-bit
1241 applications, and hence does not work with WinBoard.  But there is a
1242 beta-test release available that does support 32-bit applications.  
1243 I have not tried it with WinBoard, but it 
1244 should work.  See Trumpet's Web page
1245 <a href=
1246 "http://www.trumpet.com.au/wsk/winsock.htm"
1247 >http://www.trumpet.com.au/wsk/winsock.htm</a>
1248 for more information.</p>
1249
1250 <p>The 16-bit versions of America On-Line's software do not support
1251 32-bit Winsock applications.  Get the 32-bit version.  At one time the
1252 32-bit version was called "AOL for Windows 95," but I imagine that has
1253 changed.  Hopefully the current versions are all 32-bit.</p>
1254
1255 <p>A few versions of Winsock may have bugs that prevent
1256 Windows timestamp/timeseal from working with them.  I'm not sure if
1257 such bugs exist in any versions that actually have 32-bit support,
1258 so this point might be moot.  Again, Microsoft TCP/IP is known to work.</p>
1259
1260 <hr />
1261 <h3><a name="tag-C.5">[C.5] When I try to run WinBoard, I get the
1262 message "Failed to start chess program gnuchess on localhost: NO
1263 LANGFILE (file gnuchess.lan not found)".</a></h3>
1264
1265 <p>This message means that WinBoard is trying to run GNU Chess, but
1266 GNU Chess cannot find a file that it needs, named gnuchess.lan.
1267 If you see it, you've probably customized WinBoard's /fcp, /fd, /scp,
1268 and/or /sd options and made a mistake in the process.  Review what
1269 you did, and see the WinBoard help file.</p>
1270
1271 <hr />
1272 <h3><a name="tag-C.6">[C.6] I want to use XBoard or WinBoard as an Internet
1273 Chess Server interface, but the ICS Client option is grayed out on the
1274 menu.</a></h3> 
1275
1276 <p>XBoard and WinBoard have three major modes that can't be changed from the
1277 menus: local chess engine mode,
1278 ICS mode, and standalone mode.</p>
1279
1280 <p>With XBoard, you have to set the mode using command-line options.
1281 Local chess engine mode is the default, -ics selects ICS mode, and
1282 -ncp ("no chess program") selects standalone mode.</p>
1283
1284 <p>With WinBoard, if you don't set the mode using command-line
1285 options, you get a dialog box asking which mode you want.  To bypass
1286 the dialog box, use -cp ("chess program") for local chess engine mode,
1287 or -ics or -ncp as with XBoard.  Also see topic <a href="#tag-C.7">[C.7]</a>.</p>
1288
1289 <hr />
1290 <h3><a name="tag-C.7">[C.7] How do I give command-line options to
1291 a Windows program like WinBoard?</a></h3>
1292
1293 <p>There are many ways; pick your favorite:</p>
1294
1295 <ul>
1296 <li>Type the command line into an MS-DOS Prompt box.  Example:
1297 "WinBoard -ics".</li>
1298
1299 <li>Make a Windows shortcut for WinBoard.  You can do this by
1300 right-dragging WinBoard.exe to the desktop and selecting "Create
1301 Shortcut(s) Here" from the menu that appears.  Right-click on the
1302 shortcut, select Properties, and click the Shortcut tab.  The
1303 command-line text box is labelled "Target" instead of "Command line"
1304 just to confuse you.  Edit the text in this box, adding the command
1305 line options to the end.</li>
1306
1307 <li>Choose Run from the Start menu, or File / Run from the Program
1308 Manager or File Manager, and type the command line into the dialog you
1309 get.  You may have to give WinBoard's full drivespec and filename if
1310 it is not in a directory on your search path.</li>
1311
1312 <li>Make a Program Manager icon for WinBoard.  You can do this by
1313 dragging WinBoard.exe from the File Manager into the Program Manager,
1314 or by using File / New in the Program Manager.  Select the icon and
1315 choose File / Properties.  Edit the Command Line text box to add the
1316 command-line options to the end.</li>
1317 </ul>
1318
1319 <hr />
1320 <h3><a name="tag-C.9">[C.9]
1321 When I exit from WinBoard after using it to play against a chess
1322 program on my machine, the chess program keeps running in the background.
1323 </a></h3>
1324
1325 <p>Be sure you have the current versions of WinBoard and the chess
1326 engine you are using.  WinBoard 3.4.1 and earlier had a bug that
1327 caused this problem to occur with all chess engines.  A buggy chess
1328 engine that does not respond to the "quit" command will also cause
1329 this.</p>
1330
1331 <p>If you still see this problem, you can stop the rogue chess engine
1332 by pressing Ctrl+Alt+Del, selecting the chess engine process from the
1333 menu, and pressing the End Task button.</p>
1334
1335 <hr />
1336 <h3><a name="tag-C.12">[C.12]
1337 Why do my ICS 
1338 opponents often get extra time after they make their moves?
1339 Why do I sometimes lose time off my clock after I make my move?
1340 </a></h3>
1341
1342 <p>If you are playing with the ICS incremental clock, both you and your
1343 opponent get a set amount of extra time after each move.</p>
1344
1345 <p>If your or your opponent has netlag, your opponent might appear to
1346 get extra time, especially if your opponent is using timestamp or
1347 timeseal.  The ICS charges each player who is using timestamp or
1348 timeseal only for the time between when the player received his
1349 opponent's move and the time he sent his own move.  Thus delays in
1350 network transmission do not count against either player.  But WinBoard
1351 counts down the display of your opponent's clock on your screen under
1352 the assumption that there is no netlag.  When his move comes in, if
1353 there was netlag, the ICS may not have really charged him for that
1354 much time, and WinBoard corrects the clock to what the ICS says it
1355 should read.</p>
1356
1357 <p>If you are not using timestamp or timeseal, you may appear to lose
1358 time off your clock at some point after you make your move.  In this
1359 case, the ICS charges you for the time between when it sent you your
1360 opponent's move and the time it received your move.  Thus delays in
1361 network transmission count against you.  WinBoard stops counting down
1362 the display of your clock on your screen (and starts your opponent's)
1363 when you make your move.  When the ICS echoes your move back to you, it
1364 may have charged you for more time than that, and WinBoard corrects
1365 the clocks to what the ICS says they should read.</p>
1366
1367 <p>See "help lag" and "help timestamp" or "help timeseal" on your ICS for
1368 more detailed information.</p>
1369
1370 <hr />
1371 <h3><a name="tag-C.13">[C.13]
1372 I can't run WinBoard unless I delete the WinBoard.ini file each time!
1373 </a></h3>
1374
1375 <p>Most people don't have this problem, but two or three people using
1376 Windows NT 4.0 with Service Pack 3 or 4 have reported it.  I have no
1377 idea what causes this problem.  Contrary to what was reported in a
1378 previous version of this FAQ, reinstalling the service pack after
1379 installing WinBoard does not seem to solve the problem.</p>
1380
1381 <hr />
1382 <h3><a name="tag-C.15">[C.15]
1383 I get errors compiling XBoard's parser.c.
1384 </a></h3>
1385
1386 <p>The file parser.c is automatically generated from parser.l.  The
1387 copy included with XBoard 4.0.2 was generated by lex on Tru64 Unix and
1388 has problems compiling and linking on current GNU/Linux versions.  The
1389 copy included with XBoard 4.0.3 was generated by flex on a GNU/Linux
1390 machine, but it too won't necessarily work on other versions of Unix.
1391 If you have this problem, you can fix it by deleting parser.c and
1392 letting the Makefile re-create it from parser.l.  This will work if
1393 you have either lex or flex on your system.  Flex is available in all
1394 GNU/Linux distributions and can be obtained at no charge from the Free
1395 Software Foundation, www.fsf.org.</p>
1396
1397 <hr />
1398 <h3><a name="tag-C.16">[C.16]
1399 I get an error building WinBoard from source because "flex" is not found.
1400 </a></h3>
1401
1402 <p>The file parser.c is automatically generated from parser.l.  The
1403 Makefile included with the WinBoard source kit has a rule for
1404 generating parser.c using the program "flex", which will fail if you
1405 don't have flex.  However, the source kit also includes a ready-made
1406 copy of parser.c, so you don't really need flex unless you have made
1407 changes to parser.l.  Check that you still have a copy of parser.c; if
1408 you don't, unpack the WinBoard source zip file again to get one.
1409 Either set the last-modified time of parser.c to be later than that of
1410 parser.l, delete parser.l, or comment out the Makefile rule for
1411 building parser.c from parser.l, and then try building WinBoard again.</p>
1412
1413 <p>If you do want to change parser.l and rebuild parser.c, you can get
1414 flex as part of the free Cygwin kit from 
1415 <a href="http://sourceware.cygnus.com/cygwin/"
1416 >http://sourceware.cygnus.com/cygwin/</a>.  You can
1417 probably also get flex for Windows by itself from various other places
1418 around the Internet.  It is free software distributed by the Free
1419 Software Foundation, www.fsf.org.</p>
1420
1421 <hr />
1422 <h3><a name="tag-C.17">[C.17]
1423   XBoard hangs shortly after connecting to an ICS when used with dxterm,
1424  cmdtool, dtterm, kterm, konsole, or other substitutes for xterm.
1425 </a></h3>
1426
1427 <p>After connecting to a chess server, XBoard 4.0.2 and later sends an
1428 escape sequence to its terminal that is meant to display your handle
1429 and the ICS host name (for example, 
1430 "user<a name="nospam03">&#x40;</a>chessclub.com") in the
1431 terminal's banner and icon.  It seems that several of the alternative
1432 X terminal programs have a bug that makes them hang when sent this
1433 escape sequence.</p>
1434
1435 <p>You can work
1436 around the problem by using xterm, nxterm, rxvt, aterm, xiterm, or
1437 gnome-terminal, all of which seem to work fine.  In fact, current
1438 versions of kterm and konsole seem to work fine too, so if you are
1439 having problems with one of them, be sure you are not running an
1440 outdated version.  </p>
1441
1442 <p>Alternatively, you can disable this feature by commenting out the
1443 body of DisplayIcsInteractionTitle in xboard.c and recompling xboard.</p>
1444
1445 <hr />
1446 <h3><a name="tag-C.18">[C.18]
1447   The WinBoard pieces show up in the wrong colors, appear distorted,
1448   or are not visible at all.
1449 </a></h3>
1450
1451 <p>This can happen if you have a bug in your Windows display driver.
1452 Check with the manufacturer of your display card, the manufacturer of
1453 your computer, or Microsoft to see if there is an updated driver
1454 available.  You can usually download updated drivers from the Web.</p>
1455
1456 <p>If you can't find an updated driver, you can try running Windows
1457 using a different number of colors and/or disabling some of the
1458 hardware acceleration features on your display card.  To change the
1459 number of colors, go to Windows Start / Settings / Control Panel /
1460 Display / Settings / Color Palette.  To disable hardware acceleration
1461 features, go to Windows Start / Settings / Control Panel / Display /
1462 Settings / Advanced Properties / Performance / Hardware Acceleration.</p>
1463
1464 <p>It's also possible that Windows has the right driver for your
1465 hardware already but you are not using it.  It may help to reinstall
1466 your driver.  Go to Windows Start / Settings / Control Panel / System
1467 and delete your display card (maybe even your monitor too), then
1468 reboot.  Windows should automatically re-detect your card and monitor
1469 and re-install the drivers; if it doesn't, run Start / Settings /
1470 Control Panel / Add New Hardware to force it to.</p>
1471
1472 <p>If all else fails, try Monochrome mode.  On WinBoard's menus, go
1473 to Options / Color and check Monochrome.  WinBoard will display in black
1474 and white.</p>
1475
1476 <hr />
1477 <h3><a name="tag-C.19">[C.19] XBoard or WinBoard tells me "Error: first chess
1478   program (...) exited unexpectedly".</a></h3>
1479
1480 <p>This message means that your chess engine crashed, probably due to
1481 a bug in the engine, or because you have it configured incorrectly.
1482 You can try running XBoard or WinBoard again with the "-debug" flag on
1483 the command line.  This will print out all the messages received from
1484 the chess engine.  (With WinBoard, the messages go into a file called
1485 WinBoard.debug; with XBoard, they go to the xterm that you started
1486 XBoard from.)</p>
1487
1488 <p>If you are using GNU Chess and you see this problem as soon as it
1489 starts up, most likely GNU Chess is exiting with an error message.  If
1490 you see the message "NO LANGFILE", it means that you did not install
1491 GNU Chess correctly, and it is unable to find the file gnuchess.lang.
1492 Make sure that you defined LIBDIR in the gnuchess Makefile, and that
1493 gnuchess.lang is in that directory.  If gnuchess.lang is not there,
1494 you probably didn't type "make install" in the gnuchess src directory;
1495 you must do this to install gnuchess.lang (and the gnuchess book).  If
1496 you defined LIBDIR to something that is not an absolute pathname (that
1497 is, to something that does not start with a "/"), GNU Chess will work
1498 only if you run it from the GNU Chess "src" directory where you built
1499 it.</p>
1500
1501 <hr /><h3><a name="tag-C.20">[C.20]
1502   XBoard tells me "Warning: Cannot allocate colormap entry", or
1503   "too few colors available; trying monochrome mode", or
1504   "XPM pieces cannot be used in monochrome mode".
1505 </a></h3>
1506
1507 <p>You are running your X server with 8-bit color depth, and you are running
1508 some program that has used up all 256 of your colors.  Netscape tends
1509 to do this, or maybe you have a background image that uses up all of
1510 your colors.</p>
1511
1512 <p>If you have a modern machine, you probably have enough display
1513 memory to run your X server with 16-, 24-, or 32-bit color depth.  If
1514 you're using "startx" to start the X server, try giving the command as
1515 "<tt>startx -- -bpp 24</tt>" (or 16, or 32).  On newer X servers you
1516 may have to use -depth instead of -bpp.  Further details on
1517 configuring your X server are beyond the scope of this FAQ.</p>
1518
1519 <p>If you must run in 8-bit mode, try the following:
1520 Avoid background images that use up all your colors.  If you
1521 run Netscape, try starting it up with the <tt>-install</tt> command-line
1522 option; this gives Netscape its own private colormap that X will
1523 switch to when Netscape has the keyboard focus.  </p>
1524
1525 <p>If all else fails, another possibility is to run xboard in
1526 monochrome (black and white) mode by giving it the <tt>-mono</tt>
1527 command-line option.  XBoard will try this by itself in some cases.
1528 Monochrome mode works only with bitmap pieces, not pixmap pieces, so
1529 trying to use it may give you the error "XPM pieces cannot be used in
1530 monochrome mode".  To get around this, either use the -bitmapDirectory
1531 command line option to point XBoard to the directory containing the
1532 bitmap pieces included with the XBoard source code, or rebuild XBoard
1533 with pixmap support disabled, using "./configure --disable-xpm ; make
1534 clean ; make".</p>
1535
1536 <hr /><h3><a name="tag-C.21">[C.21]
1537   When I log in to freechess.org, the Enter key doesn't work, and I 
1538   have to use Ctrl+J instead.  But when I use WinBoard, Ctrl+J doesn't
1539   work either, so I'm stuck.
1540 </a></h3>
1541
1542 <p>This is a pretty rare problem.  It should only arise if you have to
1543 reach freechess.org by telnetting (or connecting with WinBoard
1544 /icsport=23) from a Windows PC to a Unix box, and then telnetting from
1545 there to freechess.org.  The Enter key should always work when
1546 connecting directly from your PC to freechess.org.</p>
1547
1548 <p>The best way to get around the problem is to run timeseal on the
1549 intermediate Unix box instead of telnet.  Get the appropriate version
1550 of timeseal for your box from ftp.freechess.org and follow the
1551 directions in the help files on FICS.</p>
1552
1553 <p>If you can't run timeseal for some reason, there are some things
1554 you can do to make telnet stay in line mode instead of going to
1555 character mode.  Then the Enter key will work.  First, try "telnet
1556 freechess.org 5000" instead of "telnet freechess.org."
1557 If that still doesn't work, then when the Enter key stops working,
1558 type the following.  Here <tt>&lt;</tt> and <tt>&gt;</tt> surround the
1559 names of keys.</p>
1560
1561 <pre>
1562     &lt;Ctrl+S&gt;&lt;Ctrl+]&gt;mode line&lt;Enter&gt;
1563 </pre>
1564
1565 <hr /><h3><a name="tag-C.22">[C.22]
1566   XBoard says, "Failed to start first chess program fairymax
1567   on localhost: fairymax: No such file or directory."
1568 </a></h3>
1569
1570 <p>XBoard is looking for the Fairy-Max chess engine.  
1571 If you didn't want to use XBoard with Fairy-Max, please see topic 
1572 <a href="#tag-C.6">[C.6]</a>.
1573 If you did want to use Fairy-Max, be sure you have it installed and
1574 that it is on your $PATH.  If you wanted to use GNU Chess instead,
1575 see topic <a href="#tag-D.6">[D.6]</a>.</p>
1576
1577 <hr />
1578 <h2><a name="tag-D">[D] Crafty and other topics</a></h2>
1579 <hr />
1580 <h3><a name="tag-D.1">[D.1] What is XChess?</a></h3>
1581
1582 <p>XChess is an older chessboard program that is no longer supported.  XChess was
1583 written for X version 10, and you may or may not be able to build and run it
1584 on an X11 system.</p>
1585
1586 <p>XChess has only one significant feature that is not present in XBoard: Two
1587 humans can play chess using XChess on different machines, without using the
1588 Internet Chess Server as an intermediary.  This feature is of interest only if
1589 you don't have network connectivity to the Internet Chess Server.</p>
1590
1591 <p>Note: There actually have been several different programs called "XChess" in
1592 circulation at various times.  The above describes one that was associated
1593 with GNU Chess.</p>
1594
1595 <hr />
1596 <h3><a name="tag-D.2">[D.2] What is Winsock Chess?</a></h3>
1597
1598 <p>Winsock Chess is a program that lets two people play chess across a
1599 network.  It runs only under Microsoft Windows.  Some of the code in
1600 Winsock Chess is derived from GNU Chess, but it is not maintained by
1601 the GNU Chess team.  You can get a copy from the Internet Chess
1602 Library; see topic <a href="#tag-A.2">[A.2]</a>.  For more information,
1603 contact its author, Donald Munro, 
1604 ccahdm<a name="nospam04">&#x40;</a>beluga.upe.ac.za.</p>
1605
1606 <hr />
1607 <h3><a name="tag-D.3">[D.3] What is Crafty?</a></h3>
1608
1609 <p>Crafty is a freely-available chess program written by Bob Hyatt.  
1610 Bob is the main author of the well-known chess program Cray
1611 Blitz.  Crafty is a very strong program, its code is available, commented
1612 and fairly readable, and its author is actively working on improvements.</p>
1613
1614 <p>You can download Crafty from <a
1615 href="ftp://ftp.cis.uab.edu/pub/hyatt/"
1616 >ftp://ftp.cis.uab.edu/pub/hyatt/</a>.  Start by getting the <a
1617 href="ftp://ftp.cis.uab.edu/pub/hyatt/read.me" >read.me</a> file and
1618 reading it.  Among other things, this file contains instructions on
1619 how to install Crafty as a command-line application on your machine.</p>
1620
1621 <p>There is a Crafty mailing list.
1622 To subscribe, send email to 
1623 majordomo<a name="nospam05">&#x40;</a>cis.uab.edu, with 
1624 "subscribe crafty-list" in the body.</p>
1625
1626 <hr />
1627 <h3><a name="tag-D.4">[D.4] How do I use Crafty with XBoard?</a></h3>
1628
1629 <p>First, you need to get Crafty and install it as a command-line
1630 application on your machine.  See topic <a href="#tag-D.3">[D.3]</a>.</p>
1631
1632 <p>To use Crafty with XBoard, give the -fcp
1633 parameter like this:</p>
1634
1635 <pre>
1636     xboard -fcp "./crafty" -fd <I>crafty_directory</I>
1637 </pre>
1638
1639 <p>Here <I>crafty_directory</I> is the directory where you installed Crafty.
1640 You can add more xboard options at the end of the command line.</p>
1641
1642 <p>Crafty 15.14 or later is required to work properly with XBoard
1643 4.0.0 or later.  We generally recommend using the latest versions of
1644 both XBoard and Crafty.</p>
1645
1646 <hr />
1647 <h3><a name="tag-D.5">[D.5] How do I use Crafty with WinBoard?</a></h3>
1648
1649 <p>First, you need to get Crafty and install it as a command-line
1650 application on your machine.  See topic <a href="#tag-D.3">[D.3]</a>.
1651 It is best to use the latest version of Crafty with the latest version
1652 of WinBoard to make sure all features are compatible and function
1653 correctly.  You can install Crafty in any directory you like.</p>
1654
1655 <p>You also need to get WinBoard and install it in the normal way
1656 using its built-in installer.  You can do that either before or after
1657 you install Crafty.</p>
1658
1659 <p>After both Crafty and WinBoard are installed separately, follow the
1660 directions in the WinBoard Help file (included with WinBoard) for
1661 connecting new chess engines to WinBoard.</p>
1662
1663 <p>If you want to have Crafty act as an automated computer player on a
1664 chess server, see topic <a href="#tag-B.16">[B.16]</a>.  Before you try
1665 to get that working, be sure you can play against Crafty locally,
1666 first without WinBoard, then with it.  Also be sure you can use
1667 WinBoard to play on the chess server yourself, without having Crafty
1668 connected to it.  You have to crawl before you can walk!</p>
1669
1670 <hr />
1671 <h3><a name="tag-D.6">[D.6] How do I use GNU Chess with XBoard?</a></h3>
1672
1673 <p>By default, XBoard tries to use Fairy-Max by running the
1674 command "fairymax".  That's why if you don't have Fairy-Max, you
1675 get the error message "Failed to start first chess program fairymax
1676 on localhost: fairymax: No such file or directory."</p>
1677
1678 <p>If you have GNU Chess 5, the command should be "gnuchess xboard"
1679 instead.  To make XBoard use this command, give the -fcp parameter
1680 like this:</p>
1681
1682 <pre>
1683     xboard -fcp "gnuchess xboard" 
1684 </pre>
1685
1686 If you instaled GNU Chess as a package, the operating system usually 
1687 knows where to find it, and GNU Chess knwos where to find its data
1688 files, such as the opening book.
1689 If GNU Chess is installed in a non-compliant way, e.g. together
1690 with its book file in a user directory, you must use:
1691
1692 <pre>
1693     xboard -fd <I>gnuchess_directory</I> -fcp "./gnuchess xboard" 
1694 </pre>
1695
1696 <p>Here <I>gnuchess_directory</I> is the directory where you installed
1697 GNU Chess 5 and its book. 
1698 In all cases you can add more xboard options at the end of the command 
1699 line.</p>
1700
1701 <p>If you want to use GNU Chess 4, the command should be "gnuchessx"
1702 instead.  To make XBoard use this command, give the -fcp parameter
1703 like this:</p>
1704
1705 <pre>
1706     xboard -fcp "gnuchessx" 
1707 </pre>
1708
1709 <p>The same applies for non-compliant installs as for GNU Chess 5:
1710 the install directory has to be given with the -fd argument. </p>
1711
1712 <hr />
1713 <h3><a name="tag-D.7">[D.7] How do I use GNU Chess with WinBoard?</a></h3>
1714
1715 <p>Well, why would you want to? If you want a strong free engine,
1716 use Crafty, Glaurung, Fruit or Toga.
1717 If you wnt an engine that plays many variants, use Fairy-Max,
1718 Pulsar or Sjeng.
1719 But the procedure to install and run those is not any different than
1720 for GNU Chess.
1721 </p>
1722 <p>If you want to use a WinBoard-compatible chess engine that is not
1723 automatically installed with the download,
1724 you will have to download it yourself.
1725 Most chess engines are downloaded as a compressed archive (e.g. a .zip file),
1726 and on downloadig it, the decompression software on your Windows system
1727 is automatically invoked when you seected "Open" in the download dialog.
1728 You can then click "extract all files", and you are prompted for a place
1729 to put the unpacked stuff.
1730 The place it proposes is usually no good, so browse to the folder
1731 in which you installed the winBoard download
1732 (where you see the Fairy-Max and WinBoard folders).
1733 </p><p>
1734 When the archiv contained a single folder, (with files in it), 
1735 unpack it there.
1736 If the archive contained a lot of small files, first create a folder,
1737 and browse there, before you unpack.
1738 (To get all the files in a single place, not mixed with others,
1739 so you can easily delete it again.)
1740 Say you unpacked in a folder named "NewEngine", which now sits
1741 next to your "WinBoard" folder amongst the chess files on your system.
1742 Say there is a file "Engine.exe" in this "NewEngine" folder.
1743 </p><p>
1744 Then to run the engine with WinBoard,
1745 you have to enter the command:
1746 </p>
1747 <pre>
1748         winboard /fcp="Engine.exe" /fd="..\NewEngine"
1749 </pre>
1750 <p>
1751 Sometimes engines need parameters on their command line,
1752 e.g. to set the hash-table size, or tell them they have to
1753 deal with WinBoard.
1754 These should then go within the quotes around the Engine.exe file name, 
1755 directly behind it, and separated from it (and each other) by spaces.
1756 See any README files that come with the engine to learn how
1757 exactly the engine has to be invoked.
1758 </p>
1759 <hr />
1760 <h3><a name="tag-D.8">[D.8] What is Fairy-Max?</a></h3>
1761
1762 <p>Fairy-Max is a chess engine that plays chess at a level where
1763 you don't need to be a super GM to still have a chance to beat it.
1764 Apart from normal chess it plays many variants as well,
1765 such as Capablanca or Gothic Chess, Knightmate, etc.
1766 Dedicated versions of it are available to play Shatranj and Xiangqi
1767 (Chinese Chess).
1768 </p>
1769
1770 <hr />
1771 <h3><a name="tag-D.9">[D.9] What is UCI? What is Polyglot?</a></h3>
1772
1773 <p>UCI, or Universal Chess Interface, is a standard for communication
1774 between chess engines and its Graphical User Interface, that was
1775 created as an alternative to the way XBoard / WinBoard does it.
1776 (The latter way having become known as 
1777 "<a href="#tag-B.17">WinBoard protocol</a>").
1778 XBoard / WinBoard do not understand a word of UCI,
1779 so UCI engines cannnot be run directly as engine under them.
1780 </p><p>
1781 Polyglot is an adapter that translates WB protocol to UCI.
1782 It bhaves like it is a WB engine, but, without XBoard / WinBoard
1783 knowing about this, it consults an UCI engine for getting the moves.
1784 With the aid of Polyglot, any UCI engine can be run under WinBoard.
1785 Polyglot is available as a Debian package for Linux, and is included
1786 in the WinBoard installation.
1787 Polyglot is open source software released under the GPL.
1788 </p>
1789
1790 <hr />
1791 <h3><a name="tag-D.10">[D.10] How can I run a UCI engine under XBoard / WinBoard?</a></h3>
1792
1793 <p>First you have to download and install the UCI engine.
1794 This is similar to installing WinBoard engines, 
1795 see <a href="#tag-D.7">D.7</a>.
1796 Furthermore, you have to make sure that 
1797 <a href="#tag-D.9">Polyglot</a> is nstalled on
1798 your system, in a place where XBoard / WinBoard can find it.
1799 There are then two ways to run the UCI engine:
1800 </p><p>
1801 In the first method, the only thing you have to do is add an extra
1802 option to the command that invokes XBoard / WinBoard,
1803 to tell it that the engine is UCI:
1804 </p>
1805 <pre>
1806         xboard -fcp "fruit" -fUCI
1807
1808         winboard /fcp="Fruit_21.exe" /fd="..\Fruit" /fUCI
1809 </pre>
1810 <p>
1811 The second method is more complicated, but also more versatile.
1812 UCI engines accept many settings from their GUI than XBoard / WinBoard
1813 usually send to a WB engine.
1814 Polyglot can provide such settings from a file dedicated to that engine,
1815 usully referred to as a "polyglot.ini" file (although the actual name
1816 can be different.)
1817 If the engine you downloaded comes with a polyglot.ini file for it,
1818 you can force Polyglot to use this file with engine settings
1819 by invoking it explicitly from XBoard / WinBoard:
1820 </p>
1821 <pre>
1822         xboard -fcp "polyglot INIFILE"
1823
1824         winboard /fcp="polyglot INIFILE" /fd="POLYGLOTDIR"
1825 </pre>
1826 <p>
1827 INIFILE is the name of the polyglot.ini file (possibly a path name,
1828 such as "PG\fruit.ini", while POLYGLOTDIR should be the directory
1829 (path) name were the Polyglot executable is located.
1830 The directory and name of the actual engine are described in the
1831 polygot.ini file, and XBoard / WinBoard need not be aware of them.
1832 </p><p>
1833 If you don't have a polyglot.ini file for the engine, you would
1834 have to make one.
1835 How to do that is beyond the scope of this FAQ.
1836 Refer to the Polyglot documentation for this,
1837 or use method 1.
1838 </p>
1839 <hr />
1840 ** End of XBoard/WinBoard FAQ **
1841 </body></html>