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