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