Let move-history window scroll to bottom after adding move
[xboard.git] / NEWS
1 ** Version 4.5.0 (not yet released)**
2
3  *
4
5 ** Version 4.4.4 **
6
7  * Repair exit-popup deadlock patch
8  * Fix bug in sending "usermove" when forcing book moves
9  * Let move parser return ImpossibleMove for off-board moves
10  * Prevent engine stall on perpetual-chase evasion
11  * Pop down old tags on loadng new game in WinBoard
12  * Fix game end during dragging
13  * Repair animate dragging
14  * Fix bug in sending cores command to engine
15  * Fix parsing of SAN shogi promotions
16  * Fix variant switch on PGN loading
17  * Allow -flipBlack to work with font-based piece rendering
18  * Allow font-based piece rendering in board sizes below petite
19  * Fix WinBoard game-list title
20  * Fix deadlock in match-result display
21  * Fix regression in colorization of zippy-matched commands
22  * Fix zippy handling of draw offers from ICS
23  * Make some more zippy code obey the --disable-zippy flag
24  * Remove unnecessary double equals from configure.ac.
25  * Cut board squares out of texture bitmap more cleverly
26
27 ** Version 4.4.3 **
28
29  * Add variant Makruk
30  * Implement castling for variant CRC
31  * Extensive bugfix of -autoKibitz
32  * Accept <Enter> for changing chat partner
33  * Change opening array -variant fairy
34  * Send continuation lines to chat box they belong to
35  * Use -keepAlive option to determine connection health
36  * Fix of ancient WinBoard bug: check value of int options
37  * Fix bug for incommensurate time odds
38  * Fix piece-to-char table -variant fairy
39  * Fix TwoKings ICS castling-rights bug
40  * Fix reading castling rights FEN in knightmate and twokings
41  * Fix OO-castling in FRC after pasting FEN
42  * Fix bug in display of logos
43  * Fix highlighting bug in XBoard
44  * Match handles with multiple titles for channel Chat Boxes
45  * Make WinBoard makefiles use parser.c in XBoard directory
46  * Added missing sounds files to be able to compile on windows
47  * Added logo files for xboard
48  * Bugfix stale first-click
49  * Fix copying of WB Chat Window contents
50  * Fix XB crash on giving keyboard focus to non-text widget
51  * Bugfix copying from Chat Box, own lines
52  * Fix 'mamer bug' in Chat Boxes
53  * Fix copying of kibitzed lines from WB Engine-Output window
54  * Do not recognize non-ICS variants from PGN event tag
55  * Remake programVersion string after receiving engine features
56  * Set keyboard focus at startup to board window
57  * Fix window-position upset on failing engine start in WinBoard
58  * Allow lower-case promochar in moves of type h8=Q
59  * Small bugfixed for JAWS version
60  * Small bugfixes
61
62 ** Version 4.4.2 **
63
64  * add Winboard source files into tar-ball
65  * remove trailing \r in xboard output
66  * double buffer size to prevent overflow
67  * fix problem with empty string in -firstNeedsNoncompliantFEN
68  * updates makefiles to include dependency on config.h
69  * correctly apply some check boxes from the option menu
70  * score sign in analysis mode
71  * fix for bug #28077: xboard needs to link against x11
72  * fix castling rights when copying FEN to clipboard (again)
73  * fixed some outstanding pixmaps
74  * fix the irritating wandering off of the MoveHistory window in XBoard on opening/closing.
75  * use xtell for talking to handles, but tell for talking into a channel.
76  * fix bug in bughouse drop menu
77  * removing some rather verbose debug messages that seem no longer needed.
78  * fix engine-sync on move-number type-in bug
79  * fix declaration of engineOutputDialogUp
80  * fix double start of zippy engine after switch to gothic
81  * the last move before the time control now gets its time listed in the PGN
82  * fix casting rights after FEN pasting
83  * fix crash on engine crash
84  * fixed build on openbsd
85  * cleaned up some debug messages and typos
86  * removed files that should only be in the windboard directory
87  * added missing library for build on OS X
88
89 ** Version 4.4.1 **
90
91  * added chat windows to keep track of multiple conversations (WinBoard only)
92  * allow the result comment as a display item in the game list
93  * added a "Mute All Sounds" item in the WinBoard Options menu
94  * new -forceIllegalMoves option
95  * new -keepAlive option (for ICS play)
96  * ported -autoDisplayComment and -autoDisplayTags to xboard, controling popups
97  * replaces analysispopup with engineoutputpopup in xboard
98  * allow copy/paste position and game to use clipboard (xboard)
99  * updated several bitmaps (xboard)
100  * Made the beep sounds for JAWS board navigation configurable
101    through command-line options
102  * added the result comment to the game-list tags when the game
103    list is exported to the clipboard
104  * updated RTF docs
105  * fixed premove problem
106  * fixed engine did not start playing when out of GUI book on second
107    move with white
108  * fix bug using opening books (file were not closed)
109  * fixed crash when opening Engine #1 Settings when there were no
110    text-edit options in the dialog
111  * fixed loading of games from command lines, fixes cmail bug
112  * fix joining lines split by ICS and resizing terminal window when using ICS
113    (new option -keepLineBreaksICS, -wrapContinuationSequence, -useInternalWrap)
114  * fixed -autoDisplayComment
115  * fixed wrong default value for engineDebugOutput in xboard
116  * swapped 'tell' and 'message' parsing order for correct colorization.
117  * fixed parse bug for pgn files
118  * fix for edit-position "moves" being sent by XBoard to the engine
119  * bugfix for protocol extensions: egtbpath -> egtpath
120  * fix bug in parser
121  * further bugfixes:  #8847, #10990, #27427, #27642,
122    #27666, #27667, #27668, #27715, #27751, #27760,
123    #27772, #27799, #27826 and several small ones
124  * use "make distcheck" to generate tar-balls
125  * prepared a system to internationalize winboard menus
126  * improved mouse handler
127  * rewrote wevalgraph for better frontend/backend separation
128  * code cleanup
129
130 ** Version 4.4.0 **
131
132 A new release of both XBoard and WinBoard is now available.  Version
133 4.4.0 includes many changes. It is the first major release of
134 xboard/winboard after a fork of the project after version 4.2.7. It
135 includes small changes made in the main line and changes made by a
136 fork of Alessandro Scotti and lots of changes made afterwards by
137 H.G. Muller (released as versions 4.3.x). This release represents a
138 unified version of all changes made after the fork. It includes many
139 new features and bugfixes.
140
141 You can get both XBoard and WinBoard from the Savannah
142 project pages:
143
144 https://savannah.gnu.org/projects/xboard/
145
146 If you find a bug, please report it in the bug tracker at
147 https://savannah.gnu.org/projects/xboard/ or by email to bug-xboard
148 (AT) gnu.org.
149
150
151 ** Version 4.3.16 **
152
153 New command-line options
154 /niceEngines=N       for adjusting the priority of engine processes so they don't soak up all your system resources
155 /firstOptions="..."   Allows the setting of options that engines define through the feature option="..." commands
156 /secondOptions="..."
157 /firstLogo=filename.bmp  Displays the mentioned bitmap next to the clock (with H:W =1:2 aspect ratio) (WB only)
158 /secondLogo=filename.bmp
159 /autoLogo=false          get logo files automatically from engineDirectory\logo.bmp
160
161 General enhancements:
162 * New WB-protocol command: 'feature option="NAME -TYPE VALUE OTHER"', which engines can use to define options
163 * New WB-protocol command: 'option NAME VALUE' used to set value of engine-defned options.
164 * implements /delayAfterQuit and /delayBeforeQuit in XBoard, and uses SIGKILL to terminate rogue engine processes
165
166
167 ** Version 4.3.15 **
168
169 New command-line options
170 /rewindIndex=N (for the new auto-increment mode of the loadGameIndex or loadPositionIndex in match mode)
171 /sameColorGames=N (for playing a match where the same player has white all the time)
172 /egtFormats="..." (for specifying where various end-game tables are installed on the computer)
173
174 New menu items
175 + Time-odds factors can be set in the time-control dialog
176 + Nr of CPUs for SMP engines can be set in the Options -> UCI dialog
177 + Own-Book options can be switched from the Options -> UCI dialog
178 + The ScoreIsAbs options can be set from the Options -> Engine dialog
179 + New-Variant menu adds Superchess
180
181 General Enhancements:
182 * WinBoard engines can now also use the Polyglot opening book (implemented as general GUI book)
183 * New WB-protocol commands memory, cores and egtpath make interactive setting of these parameters
184   possible on WB engines
185 * New Polyglot is available that relays the interactive setting of these parameters to UCI engines
186 * Match mode suports an auto-increment mode, so that all games or positions from a file can be played
187 * Draw claims with Kings and an arbitrary number of like Bishops (e.g. KBBKB) are accepted
188
189 The source tree in original xboard 4.2.7 format can now be compiled under Cygwin with the aid
190 of the cygwin.mak file in the ~/winboard/ subdirectory of the source releasy, after you put
191 the hep-file from an executabl distribution there. Maefiles for other compilers are not updated
192 since 4.2.7, as I do not have those compilers.
193
194
195 ** Version 4.3.14 **
196
197 This relaese was not made by the GNU xboard team, but by H.G.Muller.
198 It mainly contains developments on WinBoard. Nevertheless, an attempt
199 has been started to back-port the enormous number of improvements that
200 have been made to WinBoard since the Linux and Windows developments branched
201 to xboard. This is reflected by the source tree now having the same format
202 as that of xboard 4.2.7, including all the xboard sources.
203
204 An enormous amount of work still has to be done to make the xboard version
205 fully equivalent to WinBoard, especially on user-interface side. As a modest
206 beginning, the xboard source files have been patched to allow their compilation
207 with the newer back-end files from WinBoard. To this end, the number of piece
208 types in xboard has been increased from 6 to 22, and the WinBoard bitmaps
209 have been converted to xboard source format (.bm) and are included in the
210 xboard bitmaps directory. Other quick patches include the coloring of the
211 board squares (for xiangqi and holdings), and some code in the user-move
212 handling to suppress all moves into or out of the area between board and
213 holdings in crazyhouse, and the treatment of king-captures-own-piece
214 as a possibly valid move (for FRC castling). This should make it possible
215 to run xboard with the new back-end files without too much inconvenience.
216
217 New xboard command-line options have been added to make the added back-end
218 features available. The include the new variants (as argument of the old
219 -variant option), -boardWidth, -boardHeight and -holdingsSize. Be sure
220 to call xboard with "-boardSize middling" or "-boardSize bulky" if you
221 want to play with fairy pieces, or xboard might crash due to unavailability
222 of bitmaps. Other added xboard options are:
223
224 ADJUDICATION OPTIONS:
225 -checkMates
226 -testClaims
227 -materialDraws
228 -trivialDraws
229 -ruleMoves
230 -repeatsToDraw
231 -adjudicateLossThreshold
232 -firstScoreAbsolute
233 -secondScoreAbsolute
234
235 TIME-CONTROL OPTIONS
236 -firstTimeOdds
237 -secondTimeOdds
238 -timeOddsMode
239 -firstNPS
240 -secondNPS
241
242 GENERAL OPTIONS
243 -matchPause
244 -engineDebugOutput
245 -userName
246 -pgnExtendedInfo
247 -pgnEventHeader
248 -hideThinkingFromHuman
249
250 This is all completely untested, but as the options merely switch on well-tested
251 code in the back-end, there should not be too many problems with them.
252 Bugs can be reported in the WinBoard forum.
253
254
255 ** Version 4.3.14k **
256
257 Compared to version 4.3.13 described below, this version features
258
259 New command-line options:
260 /autoKibitz (for relaying the PV info of the engine to the ICS)
261 /userName="..." (for setting the name of the Human player, also as menu)
262 /engineDebugOutput=N (controlling the writing of engine output to debug file)
263 /firstNPS=N (for time management by node count or CPU time)
264 /secondNPS=N (likewise for the other engine)
265
266 New Menu items
267 + Enter Username (same as /userName command-line option)
268 + Save Diagram (for saving the Chessboard display as bitmap file)
269 + Machine Both (not implemented yet, but menu item already provided)
270 + New-Variant menu adds CRC, Janus and Berolina (the latter only with legality testing off!)
271 + Any variant can be played from a shuffled opening setup
272
273 Bugfixes:
274 * Problems with switching the variant in ICS zippy mode solved
275 * In ICS observing mode game history is now fully accessible
276 * Moves are not fed to engine in zippy mode, when observing a game from a variant unknown to the engine
277 * a problem with loading PGN of FRC games with move disambiguation and initial castling rights was fixed.
278 * A bug in the clock display that made previous versions of WinBoard crash for tiny displays is fixed
279
280 General enhancements:
281 * variant name displayed in title bar in ICS mode, when not 'normal'
282 * when receiving a challenge in ICS zippy mode, it is checked if the engine supports the variant (/zippyVariants="..." can still be used to limit the allowed variants, and for protocol-1 engines is still the only thing to go on)
283 * when loading a game from a PGN file, WB automatically switches to the variant specified in the PGN tags
284 * when starting from a loaded position (using /loadPositionFile), this position will be used on subsequent 'New Game' commands as well (until we switch variant)
285
286 New is also that the source tree is now brought back in the original WinBoard 4.2.7 format, including
287 xboard source files. Note, however, that the xboard sources are from an older date, and I did not test
288 if they still compile together with the much newer backend sources. I did add code in xboard.c to recognize
289 the new command-line options I added since then, and in so far they are back-end options that should be enough
290 to make them work. This is completely untested, though; I did not even try to compile it. Last time anyone
291 built a working xboard.exe from this was at a stage where WinBoard did have adjustable board size, allowing
292 it to play Xiangqi. But no crazyhouse holdings yet.
293
294
295 ** Version 4.3.13a **
296
297 This version of WinBoard_F fixes several bugs in 4.3.12, and also addse a few new features.
298 The new features include:
299 - some more fairy pieces, so that each side now has 22 piece types in stead of 17,
300 making most fairy pieces available in board size "petite" (next to "bulky" and "middling"),
301 making the ArchBishop and Chancellor, as well as one wildcard piece (the Lance) available in all
302 sizes from "petite" to "bulky".
303 - The FRC support is fully fixed, both in local and ICS mode.
304 - A mechanism is provided for safe draw claiming in cases where a 3-fold repetition woud occur only
305   after your own move. In this case a draw will be awarded by WinBoard if the engine sends "offer draw"
306   before making its move.
307 - Genuine draw offers are not passed on immediately to the opponent but held up to when the offerer announces
308   its move.
309 - Variants FRC, Cylinder and Falcon are added to the "New Variant..." menu.
310 - Support for playing time-odds games is added. (Options /firstTimeOdds, /secondTimeOdds, /timeOddsMode)
311 - A mechanism is provided for attaching WinBoard options to the engine command, to create options that
312 follow the engine (e.g. time odds) in a tournament run under a tournament manager.
313 Bugfixes include:
314 - Shatranj in ICS mode (did not work at all before)
315 - Some draw adjudications (QRKR was mistaken for KRKR, and KBKB with like Bishops is now recognized)
316 - time info in the PGN is now correct
317
318 ** Winboard_F.4.3.12 release notes
319
320 This WinBoard (beta-)version is derived from Allessandro Scotti's
321 Winboard_x, and supports the following new options, mainly in the area
322 of adjudication of engine-engine games, improved Crazyhouse support,
323 and allowing variants with non-conventional pieces and or board
324 sizes. (All option are shown here with their default values):
325
326 /variant=normal
327 This (already existing) option has been expanded with
328 several new variants, involving non-conventional pieces and deviating
329 board sizes. The board size is automatically adapted to the selected
330 variant, unless explicitly overruled (see below). The new variants are
331 (with default board size, files x ranks, in parentheses):
332
333 variant name    Game           board     description
334 knightmate    Knightmate        (8x8)  Variant where the King moves as a Knight, and vice versa
335 capablanca    Capablanca Chess (10x8)  Variant featuring Archbishop and Chancellor as new pieces
336 gothic        Gothic Chess     (10x8)  Same as Capablanca, with a more interesting opening position
337 courier       Courier Chess    (12x8)  a Medieval form that combines elements of Shatranj and modern Chess
338 shogi         Shogi             (9x9)  Japanese Chess
339 xiangqi       Xiangqi          (9x10)  Chinese Chess
340 fairy         Fairy Chess       (8x8)  Variant were you can use all pieces of other variants together
341
342 The variant can be set from the newly added "File -> New Variant..."
343 sub-menu.  Extra board files are indicated by the letters i, j, k, l,
344 ... For boards with more than 9 ranks, the counting starts at zero!
345 More than 10 ranks is not tested and unlikely to work in the area of
346 PGN saving / reading. Non-FIDE pieces will be referred to in FENs and
347 PGN by letters that depend on the variant, and might collide with
348 piece designators in other variants. E.g. in Xiangqi 'C' is a Cannon,
349 in Capablanca Chess it is a Chancellor. Pieces that do not belong in a
350 variant cannot be addressed in FEN and PGN either, for as long as that
351 variant is selected, unless the letter assignment is overruled with
352 the aid of the /pieceToCharTable option. The variant is not saved in
353 the winboard.ini file; on start-up we always get variant "normal"
354 unless we use the command-line option, or have added the option to the
355 winboard.ini file manually (in which case it will disappear when this
356 file is overwritten by WinBoard saving its options).  WinBoard_F knows
357 the movement of all pieces occurring in Capablanca Chess (of which
358 FIDE Chess is a subset), Shatranj, Courier, Xiangqi and 9x9 Shogi, so
359 that these games can be played with legality testing enabled.
360
361 /pieceToCharTable="PNBRQFWEMOUHACGSKpnbrqfwemouhacgsk"
362 Each piece that WinBoard knows (in its legality test) has a letter
363 associated with it, by which it will be referred to in FEN or PGN. The
364 default assignment can be overruled with this option. The value has to
365 be a string of even length, with at least 12 characters. The first
366 half of the string designates the white pieces, the second half the
367 black.  The last letter for each color will be assigned to the
368 King. (This is the piece that moves as an orthodox King; note that
369 Nightmate and Xiangqi have a different royal piece.) All letters
370 before it will be assigned to the other pieces in the order:
371
372 P Pawn                 (move often depends on variant)
373 N Knight               (move subtly different in Xiangqi (where it is written as H) or Shogi)
374 B Bishop
375 R Rook
376 Q Queen                (Lance L in Shogi)
377 F Ferz/General         (The Shatranj 'Queen' and Xiangqi 'Adviser', used for Silver General S in Shogi.)
378 W Wazir/GrandVizer     (Gold General G in Shogi, in Xiangqi it is royal and denoted by K)
379 E Alfil/Elephant       (Moves subtly different in Xiangqi vs Shatranj/Courier)
380 M Commoner/Man
381 O Cannon/Pao
382 U Unicorn              (representation of Royal Knight in Knightmate, used as promoted Pawn in Shogi)
383 H Nightrider           (Promoted Knight in Shogi and CrazyHouse)
384 A Archbishop/Cardinal  (Promoted Bishop in Shogi and CrazyHouse)
385 C Chancellor/Marshall  (Promoted Rook   in Shogi and CrazyHouse)
386 G Grasshopper          (Promoted Queen in Crazyhouse, promoted Lance in Shogi)
387 S                      (Promoted Silver in Shogi)
388 K King
389
390 Pieces that are not mentioned (because the argument has less than 34
391 characters) will remain disabled. Mentioned pieces can be disabled by
392 assigning them a '.' (period). They are then not recognized in FEN or
393 PGN input. Non-FIDE pieces that are not assigned a letter will also
394 not appear on the promotion menu. It is not advisable to disable a
395 piece that is present in the opening position of the selected variant,
396 though.
397 Promoted pieces that need to be distinguished from original pieces of
398 the same type (because of demotion on capture and transfer to the
399 holdings) will be indicated by the letter for the unpromoted piece
400 with a '+' in front of it (Shogi), or by the letter of the promoted
401 piece with a '~' after it (Crazyhouse, Bughouse, in general everything
402 with holdings that is not Shogi). To achieve this, they should be
403 assigned the characters '+' or '~', respectively.
404 All the new pieces have a native bitmap representation in the board
405 sizes 'bulky' and 'middling'. For all window sizes that do not support
406 such fairy bitmaps, promoted NBRQ are represented as a 2-sizes-smaller
407 normal piece symbol, so that Crazyhouse can be played at any
408 size. People disliking the fairy representations might even prefer
409 this.
410 There is an enhanced 'Edit Position' menu popup (right-clicking on the
411 squares after selecting this mode in the main menu), featuring some
412 common non-FIDE pieces, and 'promote' and 'demote' options to make
413 those not directly in the menu. The promotion popup shows ArchBishop
414 and Chancellor in Capablanca and Gothic, (or in fact in any game where
415 this piece is not disabled or a promoted version of a normal piece),
416 and leaves only the options YES / NO in Shogi. In Xiangqi there are no
417 promotions.
418
419 /fontPieceToCharTable="PNBRQFWEMOUHACGSKpnbrqfwemouhacgsk"
420 This option is similar to /pieceToCharTable, but sets the font
421 character that is used to display the piece on the screen (when
422 font-based rendering is in use), rather than in the FEN or PGN. The
423 default setting should work with George Tsavdaris' WinboardF font,
424 which uses the 'intuitive' mapping of font characters to symbols. With
425 font-based rendering the fairy pieces can be used at any board size.
426 Note that UHACGS are also used to represent the promoted versions of
427 PNBRQF, in games like Crazyhouse and Shogi, where the promotion has to
428 be undone on capture. In such games you are likely to prefer a
429 different representation of those pieces then when they represent true
430 fairy pieces.
431
432 /flipBlack=FALSE
433 Traditional Shogi bitmaps are only included for size "moderate". For
434 other sizes you must depend on font-based rendering.
435
436 /detectMate=TRUE
437 /testClaim=TRUE
438 /materialDraws=TRUE
439 /trivialDraws=FALSE
440 /ruleMoves=51
441 /repeatsToDraw=6
442 The option /materialDraws=TRUE causes games with insufficient mating
443 material to be adjudicated immediately as draws, in case the engines
444 would not claim these draws. This applies to KK, KNK and KBK.  The
445 option /trivialDraws adjudicates KNNK, KBKB, KNKN, KBKN, KRKR and KQKQ
446 to draws after 3 moves (to allow for a quick tactical win). Note that
447 in KQKQ this might not be sound, but that problem would disappear once
448 bitbase probing is implemented.
449
450 Clocks
451 The flag-fell condition is now indicated as '(!)' behind the displayed
452 time, to eliminate the necessity for overwriting the message in the
453 title bar (which might contain indispensible information in match
454 mode).
455
456 Other improvements / changes
457 Castling rights and e.p. rights are now fully maintained, and
458 considered in legality testing. They are imported from and written to
459 FEN, as is the 50-move counter. (When reading an incomplete FEN they
460 are still guessed, though.)  The time (in sec, or min:sec) is now
461 always stored together with the PV information to the PGN, if storing
462 the latter was requested (through ticking "extended PGN info" in
463 "Options -> General..."). The saved time is the WinBoard clock time
464 (as opposed to the time reported by the engine).
465
466 ** Winboard_F.4.3.8 release notes
467
468 This Winboard supports the following new options (shown here with their default values):
469
470 /variant=normal
471 This (already existing) option has been expanded with several new
472 variants, involving non-conventional pieces and deviating board
473 sizes. The board size is automatically adapted to the selected
474 variant, unless explicitly overruled (see below). The new variants are
475 (with default board size, files x ranks, in parentheses):
476
477 variant name    Game           board     description
478 knightmate    Knightmate        (8x8)  Variant where the King moves as a Knight, and vice versa
479 capablanca    Capablanca Chess (10x8)  Variant featuring Archbishop and Chancellor as new pieces
480 gothic        Gothic Chess     (10x8)  Same as Capablanca, with a more interesting opening position
481 courier       Courier Chess    (12x8)  a Medieval form that combines elements of Shatranj and modern Chess
482 shogi         Shogi             (9x9)  Japanese Chess
483 xiangqi       Xiangqi          (9x10)  Chinese Chess
484 fairy         Fairy Chess       (8x8)  Variant were you can use all pieces of other variants together
485
486 The variant can be set from the newly added "File -> New Variant..." sub-menu.
487 Extra board files are indicated by the letters i, j, k, l, ... For
488 boards with more than 9 ranks, the counting starts at zero! Non-FIDE
489 pieces will be referred to in FENs and PGN by letters that depend on
490 the variant, and might collide with piece designators in other
491 variants. E.g. in Xiangqi 'C' is a Cannon, in Capablanca Chess it is a
492 Chancellor. Pieces that do not belong in a variant cannot be addressed
493 in FEN and PGN either as long as that variant is selected, unless the
494 letter assignment is overruled by the /pieceToCharTable option. The
495 variant is not saved in the winboard.ini file; on start-up we always
496 get variant "normal" unless we use the command-line opton, or have
497 added the option to the winboard.ini file manually (in which case it
498 will disappear when this file is overwritten).  WinBoard_F knows the
499 movement of all pieces occurring in Capablanca Chess (of which FIDE
500 Chess is a subset), Shatranj, Courier, Xiangqi and 9x9 Shogi, so that
501 these games can be played with legality testing enabled.
502
503 /pieceToCharTable="PNBRQFWEMOUHACGSKpnbrqfwemouhacgsk"
504 Each piece that WinBoard knows (in its legality test) has a letter
505 associated with it, by which it will be referred to in FEN or PGN. The
506 default assignment can be overruled with this option. The value has to
507 be a string of even length, with at least 12 characters. The first
508 half of the string designates the white pieces, the second half the
509 black.  The last letter for each color will be assigned to the
510 King. (This is the piece that moves as an orthodox King; note that
511 Nightmate and Xiangqi have a different royal piece.) All letters
512 before it will be assigned to the other pieces in the order:
513
514 P Pawn                 (move often depends on variant)
515 N Knight               (move subtly different in Xiangqi (where it is written as H) or Shogi)
516 B Bishop
517 R Rook
518 Q Queen                (Lance L in Shogi)
519 F Ferz/General         (Silver General S in Shogi)
520 W Wazir/GrandVizer     (Gold General G in Shogi, in Xiangqi it is royal and denoted by K)
521 E Alfil/Elephant       (Moves subtly different in Xiangqi vs Shatranj/Courier)
522 M Commoner/Man
523 O Cannon/Pao
524 U Unicorn              (representation of Royal Knight in Knightmate, used as promoted Pawn in Shogi)
525 H Nightrider           (Promoted Knight in Shogi and CrazyHouse)
526 A Archbishop/Cardinal  (Promoted Bishop in Shogi and CrazyHouse)
527 C Chancellor/Marshall  (Promoted Rook   in Shogi and CrazyHouse)
528 G Grasshopper          (Promoted Queen in Crazyhouse, promoted Lance in Shogi)
529 S                      (Promoted Silver in Shogi)
530 K King
531
532 Pieces that are not mentioned (because the argument has less than 34
533 characters) will remain disabled. Mentioned pieces can be disabled by
534 assigning them a '.' (period). They are then not recognized in FEN or
535 PGN input. It is not advisable to disable a piece that is present in
536 the opening position of the selected variant, though.
537 Promoted pieces that need to be distinguished from original pieces of
538 the same type (because of demotion on capture and transfer to the
539 holdings) will be indicated by the letter for the unpromoted piece
540 with a '+' in front of it (Shogi), or by the letter of the promoted
541 piece with a '~' after it (Crazyhouse, Bughouse, in general everything
542 with holdings that is not Shogi).
543 All the new pieces have a native biytmap representation in the board
544 sizes 'bulky' and 'middling'. For all window sizes that do not support
545 such fairy bitmaps, promoted NBRQ are represented as a 2-sizes-smaller
546 normal piece symbol, so that Crazyhouse can be played at any
547 size. People disliking the fairy representations might even prefer
548 that.
549 There is an enhanced 'Edit Position' menu popup (right-clicking on the
550 squares after selecting this mode in the main menu), featuring some
551 common non-FIDE pieces, and 'promote' and 'demote' options to make
552 those not directly in the menu. The promotion popup shows ArchBishop
553 and Chancellor in Capablanca and Gothic, (or in fact in any game where
554 this piece is not disabled), and leaves only the options YES / NO in
555 Shogi. In Xiangqi there are no promotions.
556
557 /alphaRank=FALSE
558 This option does not seem to work for reading PGN files. Saving works
559 fine. For now, using it is not recommended. In the future it might be
560 redefined as only affecting engine-engine communication, .
561
562 /flipBlack=FALSE
563 Setting this option will cause upside-down display of the native piece
564 bitmaps used to represent the pieces of the side that plays black, as
565 would be needed for a traditional representation of Shogi pieces. It
566 can be set from the "Options -> Board..." sub-menu, and it is saved in
567 the winboard.ini file. For now, traditional Shogi bitmaps are not
568 included, though.
569
570 Other improvements / changes
571 Castling rights and e.p. rights are now fully maintained, and
572 considered in legality testing. They are imported from and written to
573 FEN, as is the 50-move counter. The time (in sec, or min:sec) is now
574 always stored together with the PV information to the PGN, if storing
575 the latter was requested (through ticking 'extended PGN info' in
576 "Options -> General..."). The saved time is the Winboard clock time
577 (as opposed to the time reported by the engine).
578
579 ** Winboard_F.4.3.7 release notes
580
581 This Winboard supports the following new options (shown here with
582 their default values):
583
584 /variant=normal
585 This (already existing) option has been expanded with several new
586 variants, involving non-conventional pieces and deviating board
587 sizes. The board size is automatically adapted to the selected
588 variant, unless explicitly overruled (see below). The new variants are
589 (with default board size, files x ranks, in parentheses):
590
591 variant name    Game           board     description
592 knightmate    Knightmate        (8x8)  Variant where the King moves as a Knight, and vice versa
593 capablanca    Capablanca Chess (10x8)  Variant featuring Archbishop and Chancellor as new pieces
594 gothic        Gothic Chess     (10x8)  Same as Capablanca, with a more interesting opening position
595 courier       Courier Chess    (12x8)  a Medieval form that combines elements of Shatranj and modern Chess
596 shogi         Shogi             (9x9)  Japanese Chess
597 xiangqi       Xiangqi          (9x10)  Chinese Chess
598 fairy         Fairy Chess       (8x8)  Variant were you can use all pieces of other variants together
599
600 The variant can be set from the newly added "File -> New Variant..." sub-menu.
601 Extra board files are indicated by the letters i, j, k, l, ... For
602 boards with more than 9 ranks, the counting starts at zero! Non-FIDE
603 pieces will be referred to in FENs and PGN by letters that depend on
604 the variant, and might collide with piece designators in other
605 variants. E.g. in Xiangqi 'C' is a Cannon, in Capablanca Chess it is a
606 Chancellor. Pieces that do not belong in a variant cannot be addressed
607 in FEN and PGN either as long as that variant is selected, unless the
608 letter assignment is overruled by the /pieceToCharTable option. The
609 variant is not saved in the winboard.ini file; on start-up we always
610 get variant "normal" unless we use the command-line opton, or have
611 added the option to the winboard.ini file manually (in which case it
612 will disappear when this file is overwritten).  WinBoard_F knows the
613 movement of all pieces occurring in Capablanca Chess (of which FIDE
614 Chess is a subset), Shatranj, Courier, Xiangqi and 9x9 Shogi, so that
615 these games can be played with legality testing enabled.
616
617 /pieceToCharTable="PNBRQFWEMOUHACGSKpnbrqfwemouhacgsk"
618 Each piece that WinBoard knows (in its legality test) has a letter
619 associated with it, by which it will be referred to in FEN or PGN. The
620 default assignment can be overruled with this option. The value has to
621 be a string of even length, with at least 12 characters. The first
622 half of the string designates the white pieces, the second half the
623 black.  The last letter for each color will be assigned to the
624 King. (This is the piece that moves as an orthodox King; note that
625 Nightmate and Xiangqi have a different royal piece.) All letters
626 before it will be assigned to the other pieces in the order:
627
628 P Pawn                 (move often depends on variant)
629 N Knight               (move subtly different in Xiangqi (where it is written as H) or Shogi)
630 B Bishop
631 R Rook
632 Q Queen                (Lance L in Shogi)
633 F Ferz/General         (Silver General S in Shogi)
634 W Wazir/GrandVizer     (Gold General G in Shogi, in Xiangqi it is royal and denoted by K)
635 E Alfil/Elephant       (Moves subtly different in Xiangqi vs Shatranj/Courier)
636 M Commoner/Man
637 O Cannon/Pao
638 U Unicorn              (representation of Royal Knight in Knightmate, used as promoted Pawn in Shogi)
639 H Nightrider           (Promoted Knight in Shogi and CrazyHouse)
640 A Archbishop/Cardinal  (Promoted Bishop in Shogi and CrazyHouse)
641 C Chancellor/Marshall  (Promoted Rook   in Shogi and CrazyHouse)
642 G Grasshopper          (Promoted Queen in Crazyhouse, promoted Lance in Shogi)
643 S                      (Promoted Silver in Shogi)
644 K King
645
646 Pieces that are not mentioned (because the argument has less than 34
647 characters) will remain disabled. Mentioned pieces can be disabled by
648 assigning them a '.' (period). They are then not recognized in FEN or
649 PGN input. It is not advisable to disable a piece that is present in
650 the opening position of the selected variant, though.
651 Promoted pieces that need to be distinguished from original pieces of
652 the same type (because of demotion on capture and transfer to the
653 holdings) will be indicated by the letter for the unpromoted piece
654 with a '+' in front of it (Shogi), or by the letter of the promoted
655 piece with a '~' after it (Crazyhouse, Bughouse, in general everything
656 with holdings that is not Shogi).
657 All the new pieces have a native biytmap representation in the board
658 sizes 'bulky' and 'middling'. For all window sizes that do not support
659 such fairy bitmaps, promoted NBRQ are represented as a 2-sizes-smaller
660 normal piece symbol, so that Crazyhouse can be played at any
661 size. People disliking the fairy representations might even prefer
662 that.
663 There is an enhanced 'Edit Position' menu popup (right-clicking on the
664 squares after selecting this mode in the main menu), featuring some
665 common non-FIDE pieces, and 'promote' and 'demote' options to make
666 those not directly in the menu. The promotion popup shows ArchBishop
667 and Chancellor in Capablanca and Gothic, (or in fact in any game where
668 this piece is not disabled), and leaves only the options YES / NO in
669 Shogi. In Xiangqi there are no promotions.
670
671 /fontPieceToCharTable="PNBRQFWEMOUHACGSKpnbrqfwemouhacgsk"
672 This option is similar to /pieceToCharTable, but sets the font
673 character that is used to display the piece on the screen (when
674 font-based rendering is in use), rather than in the FEN or PGN. The
675 default setting should work with the WinboardF font, which uses the
676 'intuitive' mapping of font characters to symbols.  Note that UHACGS
677 are also used to represent the promoted versions of PNBRQF, in games
678 like Crazyhouse and Shogi, where the promotion has to be undone on
679 capture.
680
681 /boardWidth=-1 /boardHeight=-1
682 Set a number of files and ranks of the playing board to a value that
683 will override the defaults for the variant that is selected. A value
684 of -1 means the variant default board size will be used for the
685 corresponding parameter (and is itself the default value of these
686 options). These parameters can be set in the "Files -> New Variant..."
687 sub-menu, where they are reset to the default -1 is you OK the chosen
688 variant without typing something to overrule it. These parameters are
689 saved in the winboard.ini file. (But unless you saved while a variant
690 with board-size override was selected, they will always be saved as
691 -1.)
692 A variant with a non-standard board size will be communicated to the
693 engine(s) with the board size prefixed to the variant name,
694 e.g. "variant 12x8_capablanca". In protocol 2 the engine must first
695 enable this feature by sending "boardsizeFxR" amongst the accepted
696 variants, where F is the maximum number of files, and R the maximum
697 number of ranks, as decimal numbers.
698
699 /holdingsSize=-1
700 Set the size of the holdings for dropable pieces to a value that will
701 override the default for the variant that is selected. A value of -1
702 means the variant default holdings size will be used for that
703 parameter (and is itself the default value of this options). This
704 parameter can be set in the Files -> New Variant... sub-menu, where it
705 is reset to the default -1 is you OK the chosen variant without typing
706 something to overrule it. This parameters is saved in the winboard.ini
707 file.  To disable holdings, set their size to 0. They will then not be
708 displayed. For non-zero holding size N, the holdings are displayed
709 left and right of the board, and piece drops can be effected by
710 dragging pieces from the holdings to the drop square. In bughouse, the
711 holdings will be filled by the ICS. In all other variants, captured
712 pieces will go into the holdings (after reversing their color). Only
713 the first N pieces of the /pieceToCharTable argument will go into the
714 holdings. All other pieces will be converted to Pawns. (In Shogi,
715 however they will be demoted in the regular way before determining if
716 they fit.) Pieces that are disabled (per default and per
717 /pieceToCharTable option) might not be counted when determining what
718 are the first N pieces.  Non-standard holdingsize will be communicated
719 to the engine by prefixing it (together with the board size, even if
720 this is standard) to the variant name, e.g. "variant 7x7+5_shogi". In
721 protocol 2 the engine should enable this feature by sending
722 "holdingsH" amongst the variant names, where H is the maximum
723 acceptable holdings size as a decimal number.
724
725 /alphaRank=FALSE
726 When this parameter is true, a-h are converted to 1-9, and vice versa,
727 in all move output and input (to PGN files or SAN move display as well
728 as in communication with the engine). This might be useful for Shogi,
729 where conventionally one uses letters to designate ranks, and digits
730 to designate files. Engines that want to use this option must make
731 sure pieces are never represented by lower case! This option can be
732 set from the Files -> New Variant... menu, where it defaults to FALSE
733 unless you explicitly set it. It is not saved in the winboard.ini
734 file.  Note that the PGN format in Shogi also leaves out the trailing
735 '+' as check indicator: In Shogi such a trailing '+' means promotion,
736 while a trailing '=' means defer promotion. Prefix '+' signs are used
737 on moves with promoted pieces, disambiguation is done western SAN
738 style.
739
740 /allWhite=FALSE
741 Causes the outline of the 'white' pieces to be superimposed onto the
742 'black' piece symbols as well (as a black outline) when native bitmaps
743 are used (as opposed to font-based rendering). This is useful if we
744 choose a very light color to represent the 'black' pieces. It might be
745 particularly useful in Shogi, where the conventional representation of
746 the 'black' pieces is as upside-down white pieces, so that both colors
747 would be white. This option is saved in the winboard.ini file, and can
748 be set in the "Options -> Board..." sub-menu.
749
750 /flipBlack=FALSE
751 This option is reserved for future use. It will cause upside-down
752 display of the 'black' native piece bitmaps, as would be needed for
753 Shogi. For now it can be set from the "Options -> Board..." sub-menu,
754 and it is saved in the winboard.ini file, but it is ignored.
755
756 /detectMate=TRUE
757 /testClaim=TRUE
758 /materialDraws=TRUE
759 /trivialDraws=FALSE
760 /ruleMoves=51
761 /repeatsToDraw=6
762 These are all options that only affect engine-engine play, and can be
763 set from the "Options -> Engine..." sub-menu. They are all related to
764 adjudication of games by the GUI. Legality checking must be switched
765 on for them to work.  If /detectMate is TRUE, the GUI recognizes
766 checkmate and stalemate (but not in games with holdings!), and ends
767 the game accordingly before the engines can claim. This is convenient
768 for play with engines that fail to claim, and just exit.  With
769 /testClaim set, all result and illegal-move claims by engines that
770 claim more than their own loss are scrutinized for validity, and false
771 claims result in forfeit of the game. Useful with buggy engines.  The
772 option /materialDraws=TRUE causes games with insufficient mating
773 material to be adjudicated immediately as draws, in case the engines
774 would not claim them.  The option /trivialDraws adjudicates KNNK,
775 KBKB, KNKN, KBKN, KRKR and KQKQ to draws after 3 moves (to allow for a
776 quick tactical win. Note that in KQKQ this might not be sound, but
777 that problem would disappear once bitbase probing is added).  The
778 /ruleMoves determine after how many reversible moves the game is
779 adjudicated as a draw. Setting this to 0 turns this option off. Draw
780 claims by the engine are still accepted (by /testClaim) after 50
781 reversible moves, even if /ruleMoves species a larger number. Note
782 that it is perfectly legal according to FIDE rules to play on after 50
783 reversible moves, but in tournaments having two engines that want to
784 play on forever is a nuisance in endings like KBNKR, where one of the
785 engines thinks it is ahead and can avoids repeats virtually forever.
786 The option /repeatsToDraw makes the GUI adjudicate a game as draw
787 after the same position has occurred the specified number of times. If
788 it is set to a value > 3, engines can still claim the draw after
789 3-fold repeat.  All these options are saved in the winboard.ini file.
790
791 Clocks
792 There is an "Options -> flip Clocks" command, that swaps the position
793 of white and black clocks (convenient in over-the-board matches, where
794 the screen is next to the board, and you want your own time to be
795 displayed on your side of the screen). The clocks can be adjusted in
796 "edit game" mode: right-clicking them adds one minute, left-clicking
797 subtracts one minute. (Also for OTB matches, to keep them synchronized
798 with the official match clock.) The flag-fell condition is now
799 indicated as (!) behind the time.
800
801 Other improvements
802 Castling rights and e.p. rights are now fully maintained, and
803 considered in legality testing. They are imported from and written to
804 FEN, as is the 50-move counter.
805
806 ** Winboard_F 4.3.2
807
808 These are the release notes of Winboard_F 4.3.2, which is released
809 under the GPL.  This version was derived from Allessandro Scotti's
810 Winboard_x 4.2.7 source files.  It only includes the files that were
811 changed:
812
813 config.h
814 common.h
815 parser.h
816 moves.h
817 resource.h
818
819 winboard.c
820 backend.c
821 moves.c
822
823 parser.l
824 winboard.rc
825
826 and some bitmaps for piece symbols
827
828 I made modifications in the following areas:
829
830 1) Adjudication and claim verification
831 2) Fairy pieces and board sizes other than 8x8
832 3) Miscellaneous
833
834 Miscellaneous
835
836 /matchPause=10000
837 is an option to set the length of the pause between two games of a
838 match. The value is in msec, default value is 10000 (I will present
839 all newly implemented options with their default value as example). Be
840 aware that some engines might not be stopped yet if you make the pause
841 too small, but might still be puking output, which then will interfere
842 with the next game. But the fixed value of 10 sec of the old Winboard
843 seemed like overdoing it.
844
845 Time info in PGN
846 When you ask for the PV-info to be stored in the PGN (a Winboard_x
847 option), it now also stores the time spent on the move with it.
848
849 Flag fell
850 In engine-engine games the messge "white/black/both" flag(s) fell" no
851 longer appears in the window caption, but as an exclamation point
852 behind the clock time. (To prevent the annoying overwriting of the
853 normal header line).
854
855 Adjudications and Claim verification.
856
857 These functions are only present in engine-engine games, and only if
858 legality-testing is switched on. (The latter will be typically
859 switched off in games with bizarre rules, which the GUI doesn't know,
860 and in that case the GUI can never have an opinion on the outcome of a
861 game.)
862
863 Illegal-move forfeit
864 As soon as one of the engines plays an illegal move, it forfeits the
865 game. This feature was already present, but it should be 100% reliable
866 now, as it also takes e.p. and castling rights into account, rather
867 than erring on the safe side.
868
869 Illegal-move claim
870 From the above, it follows that any illegal-move claims by an engine
871 must be false, and will result in forfeiting the game. (In Winboard_x
872 this message is ignored, causing the game or match to hang.)
873
874 Checkmate adjudication
875 As soon as one of the engines does a move that results in checkmate,
876 the GUI declares the game won, without waiting for the engine to claim
877 it.
878
879 Insufficient mating material
880 As soon as the material on the board has shrunk to KK, KNK or KBK, the
881 game is declared draw.
882
883 /adjudicateLossThreshold=0
884 This option was already present in Winboard_x, (to declare a game lost
885 for which both engines agree for 3 moves that the score is below the
886 given threshold), but a non-zero value is now also used to enable the
887 following adjudications. If you only want the latter, just make the
888 threshold impossibly low (-40000 will usually do the trick).
889
890 Trivial draws
891 If we are 3 moves into a KQKQ, KRKR, KBKB KBKN or KNKN end-game, the
892 game is adjudicated as draw.
893
894 /repeatsToDraw=6
895 When the specified number of repeats occurs, the game is adjudicated
896 draw. Should keep track of e.p. and castling rights. This does not
897 require legality-testing to be switched on. The engines retain the
898 legal right to claim after a 3-fold repetition, though. If you set
899 this parameter to 3 or less, they will never get the chance. Better
900 not set it to 1 or less.
901
902 /ruleMoves=51
903 After the given number of full moves without capture or Pawn move, the
904 game is adjudicated draw. Even without legality testing. The engines
905 retain the legal right to claim after 50 moves.
906
907 /testClaims=FALSE
908 When enabled, this option verifies all result claims made by the
909 engines, and overrules the claim if it is false (forfeiting the game
910 for the claimer). An engine can still safely claim a win for its
911 opponent on a nonsense reason, though; this is taken to be the
912 equivalent of 'resign'. Draw claims (made before a draw adjudication)
913 are checked against the 50-move, 3-fold-repetition or
914 insufficient-material rules. Win claims are always considered false,
915 as the GUI adjudicates checkmates (and stalemates) before any engine
916 can claim them.
917
918 Fairy-Chess support
919
920 /boardWidth=8
921 Sets the number of files on the board. The additional files are named
922 i, j, k, l... in PGN, and should be indicated this way in
923 communicating moves to and from the engine. Currently works upto
924 12. No guarantees on how the rest of the display (clocks, etc.) looks
925 if you make this number < 8.
926
927 /boardHeight=8
928 Sets the number of ranks. Extra ranks are numbered 9, 10, 11... in
929 PGN. This is so far largely untested, and unlikely to work for
930 double-digit ranks. Displaying boards with upto 12 ranks seems to
931 work, though, but double-digit ranks might cause all kind of unforseen
932 problems in PGN file and move parser, or in communication with the
933 engine. To avoid such problems as much as possible, in boards with
934 more than 9 ranks the counting of ranks will start at zero rather than
935 one!
936
937 /fontPieceToCharTable="......."
938 This paramater, controlling the mapping of font symbols to piece
939 types, was already present in Winboard_x. The default is dependent on
940 the font selected with the /renderPiecesWithFont option. It can now
941 accept upto 32 pieces, but the length should always be even. The first
942 half designates the white pieces, the second half the black, both in
943 the order PNBRACHFEWDOGMQK. (The letters mentioned here are the
944 letters by which the pieces will be indicated in PGN and FEN notation,
945 what you have to give as argument depends on the font you use. A black
946 king might be 'l', for instance).  If you give fewer then 32 pieces,
947 this will go at the expense of what is just before Queen. So the last
948 two symbols you give for each color are always Queen and King, the
949 others are assigned in the order Pawn, Knight, ... Pieces that do not
950 get a symbol assigned will remain invisible.
951
952 fairy-FEN support
953 The letters ACDEFGHMOW are accepted in FENs in addition to the regular
954 PNBRQK,(and of course the lower case versions for black), and are
955 passed to the engine in a setboard or edit menu.  Double-digit skips
956 are acceptable in FENs. 'x' is interpreted as a skip of 10.  Castling
957 rights should no longer be ignored. (Doesn't work for FRC yet,
958 though.)  The 50-move-plies field should also be meaningful now.
959
960 Legality testing for Fairy pieces
961 There is a build in notion of what some of the new pieces can do, according to
962 A = Archbishop (aka Cardinal) = N+B
963 C = Chancellor (aka Marshall) = N+R
964 F = Ferz (aka General), moves 1 step diagonal
965 W = Wazir (aka Grand Vizer), moves 1 step orthogonal
966 E = Elephant (aka Alfil), jumps 2 steps diagonal
967 D = Dabbabah (aka War Machine), jumps 2 steps orthogonal
968 M = Man (aka Commoner), moves as King, but is not a royal piece
969 O = Cannon, moves along Rook lines, but cannot capture unless it jumps over
970             exactly one piece (friend or foe), and captures the first piece
971             it encounters thereafter. It can only jump if it captures something.
972             The piece jumped over (the 'platform') is not affected.
973 The other pieces have not yet any moves implemented:
974 H = Nightrider
975 G = Grasshopper
976 In games that use the mentioned pieces as described (Shatranj,
977 Courier, Capablanca Chess) you can leave legality testing on. If you
978 use them to represent pieces that move differently, you should switch
979 legality testing off.
980
981 Pawn moves
982 Pawn motion is made dependent on the variant played: in Shatranj and
983 Courier the double move is forbidden. In those games promotions are
984 always to Ferz. In Capablanca Chess the ArchBishop and Chancellor also
985 appear as choices in the promotion popup box.
986
987
988 /variant="normal"
989 Several new variants names are added (replacing "variant31" upto
990 "variant36"). They affect the initial position. (Board size has to be
991 set separately.) They are: courier (a Medieval predecessor of modern
992 Chess, played on a 12x8 board) capablanca (on a 10x8 board, featuring
993 Archbishop and Chancellor) gothic (as Capablanca, but with a more
994 exciting initial setup) xiangqi (Chinese Chess) shogi (Japanese Chess,
995 no support yet) fairy (This variant plays on 8x8 with HEW in stead of
996 NBR on the Queen side, so that all back-rank pieces are (potentially)
997 different) Make sure the selected board size matches the variant; this
998 is not automatic
999
1000 Xiangqi and Shogi support (or lack thereof)
1001 Xiangqi is only partially supported. The board display is
1002 western-style (the pieces play on squares, rather than grid
1003 intersections). The legality testing uses the Shatranj Knight and
1004 Elephant, that cannot be blocked, and thus allows some moves that
1005 should be illegal in Xiangqi. The Palace region is indicated on the
1006 board, but there is no testing if the King or Mandarins (implemented
1007 as ordinary Ferzes) leave the Palace. SAN might be non-standard, as it
1008 uses O to indicate Cannon. Most of this will be fixed in a future
1009 version.  Shogi is not yet supported at all, first the shaky
1010 implementation of Crazyhouse will have to be beefed up.