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