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