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