XBoard interactive help

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: XBoard interactive help

Post by hgm »

OK, I see that too. In fact XBoard is completely dead after closing the help dialog through the window-close button.

Well, I asked Arun to do a development releaseon the current version, so this is something I could still fix before the 4.9.0 release.
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: XBoard interactive help

Post by MikeB »

hgm wrote:Does XBoard adjudicate that, or does the engine claim it? XBoard has no way to prevent an engine from claiming a draw. If the engine does not want to play, it does not want to play. We could forfeit it for that, but that is probably also not what you want. (And a bit unfair to the engine.)

In other words, the ruleMoves option is an option that controls adjudication by XBoard. The engine doesn't know anything about it. For that, you would need an engine option to set the rule moves. (Fairy-Max actually does have such an option!)
polyglot log near the end:

Code: Select all

1457831512.937 Adapter->Engine: position fen 6k1/5n2/8/8/8/5n2/1RK5/1N6 w - - 0 1 moves c2d3 f3g5 d3d4 g5e6 d4d5 e6c7 d5c6 c7e6 c6d7 f7g5 d7d6 g8g7 d6e5 e6c5 e5f5 g5e4 b2a2 e4d6 f5e5 d6f7 e5d5 c5d3 d5d4 d3b4 a2a4 f7d8 d4c4 b4c6 c4d5 c6e7 d5d6 e7g6 a4a8 d8f7 d6e6 g6f8 e6d5 f8g6 a8a6 g6f4 d5d4 f7d8 b1c3 d8e6 d4e3 f4g2 e3f2 g2f4 f2f3 g7f7 a6a7 f7g6 f3e4 g6g5 e4e5 e6c5 a7a5 g5g4 c3d1 f4g6 e5d5 c5b3 a5a2 g6f4 d5e5 b3c5 d1e3 g4f3 a2a3 f4g6 e5d5 c5d3 d5d4 d3e5 a3a6 g6f4 e3f1 e5f7 a6f6 f7g5 d4e5 g5h3 f6f7 f3e2 f1g3 e2e3 g3f5 e3f3 f5d6 f3e3 d6c4 e3d3 c4b2 d3c2 b2a4 f4d3 e5d4 h3g5 f7d7
1457831512.937 Adapter->Engine: go wtime 13930 btime 14300
1457831512.938 Engine->Adapter: info depth 1 seldepth 2 multipv 1 score cp -12353 nodes 197 nps 98500 tbhits 1 time 2 pv g5e6
1457831512.938 Adapter->GUI: 1 -12353 0 197 Ne6+
1457831512.938 Engine->Adapter: bestmove g5e6
1457831512.938 Adapter->GUI: 1 -12353 0 197 Ne6+
1457831512.938 Adapter->GUI: move g5e6
1457831512.938 POLYGLOT MOVE Ne6+
1457831512.938 Adapter->GUI: 1/2-1/2 {Draw by fifty-move rule}
1457831512.938 POLYGLOT WAIT
1457831513.004 GUI->Adapter: time 1393
1457831513.004 GUI->Adapter: otim 1440
1457831513.004 GUI->Adapter: usermove g5e6
1457831513.004 POLYGLOT MOVE Ne6+
1457831513.004 Adapter->GUI: 1/2-1/2 {Draw by fifty-move rule}
1457831513.004 POLYGLOT WAIT
1457831513.120 GUI->Adapter: result 1/2-1/2 {Draw by fifty-move rule}
1457831513.120 GUI->Adapter: result 1/2-1/2 {Draw by fifty-move rule}
1457831513.120 POLYGLOT GAME END
1457831513.120 POLYGLOT GAME END
to me it loose like the adapter sent the draw - even though I have the ignore Syzygt50MoveRule unchecked for both engines ( SF vs SF). stockfish log shows no claim of draw. Here is the log snippet for the losing side that would claim draw if it made sense:

Code: Select all

>> setoption name Syzygy50MoveRule value false
>> setoption name Hash value 96
>> setoption name SyzygyPath value /Volumes/RAMDisk/tablebases:/Applications/Tablebases:/Applications/Tablebases/tb
>> isready
<< readyok
>> ucinewgame
>> position fen 6k1/5n2/8/8/8/5n2/1RK5/1N6 w - - 0 1 moves c2d3
>> go wtime 10160 btime 10000
<< info depth 1 seldepth 1 multipv 1 score cp -12353 nodes 378 nps 126000 tbhits 1 time 3 pv f3g5
...
>> position fen 6k1/5n2/8/8/8/5n2/1RK5/1N6 w - - 0 1 moves c2d3 f3g5 d3d4 g5e6 d4d5 e6c7 d5c6 c7e6 c6d7 f7g5 d7d6 g8g7 d6e5 e6c5 e5f5 g5e4 b2a2 e4d6 f5e5 d6f7 e5d5 c5d3 d5d4 d3b4 a2a4 f7d8 d4c4 b4c6 c4d5 c6e7 d5d6 e7g6 a4a8 d8f7 d6e6 g6f8 e6d5 f8g6 a8a6 g6f4 d5d4 f7d8 b1c3 d8e6 d4e3 f4g2 e3f2 g2f4 f2f3 g7f7 a6a7 f7g6 f3e4 g6g5 e4e5 e6c5 a7a5 g5g4 c3d1 f4g6 e5d5 c5b3 a5a2 g6f4 d5e5 b3c5 d1e3 g4f3 a2a3 f4g6 e5d5 c5d3 d5d4 d3e5 a3a6 g6f4 e3f1 e5f7 a6f6 f7g5 d4e5 g5h3 f6f7 f3e2 f1g3 e2e3 g3f5 e3f3 f5d6 f3e3 d6c4 e3d3 c4b2 d3c2 b2a4 f4d3 e5d4
>> go wtime 13760 btime 14080
<< info depth 1 seldepth 1 multipv 1 score cp -12353 nodes 317 nps 158500 tbhits 1 time 2 pv h3g5
<< bestmove h3g5
>> position fen 6k1/5n2/8/8/8/5n2/1RK5/1N6 w - - 0 1 moves c2d3 f3g5 d3d4 g5e6 d4d5 e6c7 d5c6 c7e6 c6d7 f7g5 d7d6 g8g7 d6e5 e6c5 e5f5 g5e4 b2a2 e4d6 f5e5 d6f7 e5d5 c5d3 d5d4 d3b4 a2a4 f7d8 d4c4 b4c6 c4d5 c6e7 d5d6 e7g6 a4a8 d8f7 d6e6 g6f8 e6d5 f8g6 a8a6 g6f4 d5d4 f7d8 b1c3 d8e6 d4e3 f4g2 e3f2 g2f4 f2f3 g7f7 a6a7 f7g6 f3e4 g6g5 e4e5 e6c5 a7a5 g5g4 c3d1 f4g6 e5d5 c5b3 a5a2 g6f4 d5e5 b3c5 d1e3 g4f3 a2a3 f4g6 e5d5 c5d3 d5d4 d3e5 a3a6 g6f4 e3f1 e5f7 a6f6 f7g5 d4e5 g5h3 f6f7 f3e2 f1g3 e2e3 g3f5 e3f3 f5d6 f3e3 d6c4 e3d3 c4b2 d3c2 b2a4 f4d3 e5d4 h3g5 f7d7
>> go wtime 13820 btime 14160
<< info depth 1 seldepth 2 multipv 1 score cp -12353 nodes 197 nps 98500 tbhits 1 time 2 pv g5e6
<< bestmove g5e6
>> quit
Is polyglot claiming the draw ?
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: XBoard interactive help

Post by MikeB »

from the readme in polyglot:

Code: Select all

PolyGlot tries to solve known problems with other adapters.  For
instance, it detects and reports draws by fifty-move rule, repetition,
etc ...
s/b fairly simple to edit this out or just make it an option...
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: XBoard interactive help

Post by MikeB »

yes , polyglot was the culprit...

unfortunately , I must have fat-fingered something in my xboard setup and now I cannot get the uci options to appear or even load, I had to do it the old fashioned way using polyglot with polyglot.ini as the engine...let me know if you you any tips for fixing xboard in the Mac so I can load ici engines through the GUI

in any event, this was the cursed win I wanted to see played out , without the 50 man rule.. mate in 259.

[d]6k1/5n2/8/8/8/5n2/1RK5/1N6 w - - 0 1

[pgn][Event "Computer Chess Game"]
[Site "Mac-Pro.local"]
[Date "2016.03.12"]
[Round "-"]
[White "Stockfish 031216"]
[Black "Stockfish 031216"]
[Result "1-0"]
[TimeControl "10+0"]
[FEN "6k1/5n2/8/8/8/5n2/1RK5/1N6 w - - 0 1"]
[SetUp "1"]

1. Kd3 {+123.53/1} N3g5 {-123.53/1 0.1} 2. Kd4 {+123.53/1 0.1} Ne6+
{-123.53/1 0.1} 3. Kd5 {+123.53/1 0.1} Nc7+ {-123.53/1 0.1} 4. Kc6
{+123.53/1 0.1} Ne6 {-123.53/1 0.1} 5. Kd7 {+123.53/1 0.1} Nfg5
{-123.53/1 0.1} 6. Kd6 {+123.53/1 0.1} Kg7 {-123.53/1 0.1} 7. Ke5
{+123.53/1 0.1} Nc5 {-123.53/1 0.1} 8. Kf5 {+123.53/1 0.1} Nge4
{-123.53/1 0.1} 9. Ra2 {+123.53/1 0.1} Nd6+ {-123.53/1 0.1} 10. Ke5
{+123.53/1 0.1} Nf7+ {-123.53/1 0.1} 11. Kd5 {+123.53/1 0.1} Nd3
{-123.53/1 0.1} 12. Kd4 {+123.53/1 0.1} Nb4 {-123.53/1 0.1} 13. Ra4
{+123.53/1 0.1} Nd8 {-123.53/1 0.1} 14. Kc4 {+123.53/1 0.1} Nbc6
{-123.53/1 0.1} 15. Kd5 {+123.53/14 0.2} Ne7+ {-123.53/1 0.1} 16. Kd6
{+123.53/1 0.1} Ng6 {-123.53/1 0.1} 17. Ra8 {+123.53/1 0.1} Nf7+
{-123.53/1 0.1} 18. Ke6 {+123.53/1 0.1} Nf8+ {-123.53/1 0.1} 19. Kd5
{+123.53/1 0.1} Ng6 {-123.53/1 0.1} 20. Ra6 {+123.53/1 0.1} Nf4+
{-123.53/1 0.1} 21. Kd4 {+123.53/1 0.1} Nd8 {-123.53/1 0.1} 22. Nc3
{+123.53/1 0.1} Nde6+ {-123.53/1 0.1} 23. Ke3 {+123.53/1 0.1} Ng2+
{-123.53/1 0.1} 24. Kf2 {+123.53/1 0.1} Ngf4 {-123.53/1 0.1} 25. Kf3
{+123.53/1 0.1} Kf7 {-123.53/1 0.1} 26. Ra7+ {+123.53/1 0.1} Kg6
{-123.53/16 0.2} 27. Ke4 {+123.53/1 0.1} Kg5 {-123.53/1 0.1} 28. Ke5
{+123.53/15 0.5} Nc5 {-123.53/1 0.1} 29. Ra5 {+123.53/1 0.1} Kg4
{-123.53/1 0.1} 30. Nd1 {+123.53/1 0.1} Ng6+ {-123.53/1 0.1} 31. Kd5
{+123.53/1 0.1} Nb3 {-123.53/1 0.1} 32. Ra2 {+123.53/1 0.1} Nf4+
{-123.53/1 0.1} 33. Ke5 {+123.53/1 0.1} Nc5 {-123.53/1 0.1} 34. Ne3+
{+123.53/1 0.1} Kf3 {-123.53/1 0.1} 35. Ra3 {+123.53/1 0.1} Ng6+
{-123.53/1 0.1} 36. Kd5 {+123.53/1 0.1} Nd3 {-123.53/1 0.1} 37. Kd4
{+123.53/1 0.1} Nde5 {-123.53/1 0.1} 38. Ra6 {+123.53/1 0.1} Nf4
{-123.53/1 0.1} 39. Nf1 {+123.53/1 0.1} Nf7 {-123.53/1 0.1} 40. Rf6
{+123.53/1 0.1} Ng5 {-123.53/1 0.1} 41. Ke5 {+123.53/1 0.1} Nh3
{-123.53/1 0.1} 42. Rf7 {+123.53/1 0.1} Ke2 {-123.53/1 0.1} 43. Ng3+
{+123.53/1 0.1} Ke3 {-123.53/1 0.1} 44. Nf5+ {+123.53/1 0.1} Kf3
{-123.53/1 0.1} 45. Nd6 {+123.53/1 0.1} Ke3 {-123.53/1 0.1} 46. Nc4+
{+123.53/1 0.1} Kd3 {-123.53/1 0.1} 47. Nb2+ {+123.53/1 0.1} Kc2
{-123.53/1 0.1} 48. Na4 {+123.53/1 0.1} Nd3+ {-123.53/1 0.1} 49. Kd4
{+123.53/1 0.1} Ng5 {-123.53/1 0.1} 50. Rd7 {+123.53/1 0.1} Ne6+
{-123.53/1 0.1} 51. Kd5 {+123.53/1 0.1} Ng5 {-123.53/1 0.1} 52. Rg7
{+123.53/1 0.1} Kb3 {-123.53/1 0.1} 53. Nb6 {+123.53/1 0.1} Nb4+
{-123.53/1 0.1} 54. Ke5 {+123.53/1 0.1} Nd3+ {-123.53/1 0.1} 55. Kf5
{+123.53/1 0.1} Nh3 {-123.53/1 0.1} 56. Rc7 {+123.53/1 0.1} Nb4
{-123.53/1 0.1} 57. Rc8 {+123.53/1 0.1} Nf2 {-123.53/1 0.1} 58. Nd7
{+123.53/1 0.1} Nc2 {-123.53/1 0.1} 59. Nc5+ {+123.53/1 0.1} Kb4
{-123.53/1 0.1} 60. Ke5 {+123.53/1 0.1} Ng4+ {-123.53/1 0.1} 61. Kf4
{+123.53/1 0.1} Nge3 {-123.53/1 0.1} 62. Nd3+ {+123.53/1 0.1} Kb3
{-123.53/1 0.1} 63. Nc1+ {+123.53/1 0.1} Kb4 {-123.53/1 0.1} 64. Ke4
{+123.53/1 0.1} Nc4 {-123.53/1 0.1} 65. Rg8 {+123.53/127 0.1} Nb6
{-123.53/1 0.1} 66. Rg2 {+123.53/1 0.1} Na3 {-123.53/1 0.1} 67. Rb2+
{+123.53/1 0.1} Kc5 {-123.53/1 0.1} 68. Nd3+ {+123.53/1 0.1} Kc6
{-123.53/1 0.1} 69. Rg2 {+123.53/1 0.1} Na4 {-123.53/1 0.1} 70. Rg5
{+123.53/1 0.1} Nc3+ {-123.53/1 0.1} 71. Ke5 {+123.53/1 0.1} Na4
{-123.53/1 0.1} 72. Ke6 {+123.53/1 0.1} Nb5 {-123.53/1 0.1} 73. Nb4+
{+123.53/1 0.1} Kb6 {-123.53/1 0.1} 74. Nd5+ {+123.53/1 0.1} Ka5
{-123.53/1 0.1} 75. Rh5 {+123.53/1 0.1} Nc5+ {-123.53/1 0.1} 76. Ke5
{+123.53/1 0.1} Nd3+ {-123.53/127 0.1} 77. Ke4 {+123.53/1 0.1} Nc5+
{-123.53/1 0.1} 78. Ke3 {+123.53/1 0.1} Na6 {-123.53/1 0.1} 79. Rh1
{+123.53/1 0.1} Nbc7 {-123.53/1 0.1} 80. Nf4 {+123.53/1 0.1} Kb4
{-123.53/1 0.1} 81. Kd4 {+123.53/1 0.1} Nb5+ {-123.53/1 0.1} 82. Ke5
{+123.53/1 0.1} Nc5 {-123.53/1 0.1} 83. Nd5+ {+123.53/1 0.1} Kb3
{-123.53/1 0.1} 84. Rh3+ {+123.53/1 0.1} Kc4 {-123.53/1 0.1} 85. Rh4+
{+123.53/1 0.1} Kd3 {-123.53/1 0.1} 86. Nf4+ {+123.53/1 0.1} Kd2
{-123.53/1 0.1} 87. Rh2+ {+123.53/1 0.1} Kc3 {-123.53/1 0.1} 88. Kd5
{+123.53/1 0.1} Kb4 {-123.53/1 0.1} 89. Rh4 {+123.53/1 0.1} Na4
{-123.53/1 0.1} 90. Nd3+ {+123.53/1 0.1} Kb3 {-123.53/1 0.1} 91. Rg4
{+123.53/1 0.1} Kc2 {-123.53/1 0.1} 92. Nf4 {+123.53/1 0.1} Kd2
{-123.53/1 0.1} 93. Rg7 {+123.53/1 0.1} Ke3 {-123.53/1 0.1} 94. Ng2+
{+123.53/1 0.1} Kd2 {-123.53/1 0.1} 95. Rh7 {+123.53/1 0.1} Nb2
{-123.53/1 0.1} 96. Rd7 {+123.53/1 0.1} Ke2 {-123.53/1 0.1} 97. Rb7
{+123.53/1 0.1} Nd1 {-123.53/1 0.1} 98. Kc5 {+123.53/1 0.1} Nbc3
{-123.53/1 0.1} 99. Kd4 {+123.53/1 0.1} Kd2 {-123.53/1 0.1} 100. Rd7
{+123.53/1 0.1} Ke2 {-123.53/1 0.1} 101. Nh4 {+123.53/1 0.1} Nb5+
{-123.53/1 0.1} 102. Kc4 {+123.53/1 0.1} Na3+ {-123.53/1 0.1} 103. Kb3
{+123.53/1 0.1} Nb1 {-123.53/1 0.1} 104. Nf5 {+123.53/1 0.1} Nf2
{-123.53/1 0.1} 105. Kc2 {+123.53/1 0.1} Na3+ {-123.53/1 0.1} 106. Kc3
{+123.53/1 0.1} Nb1+ {-123.53/1 0.1} 107. Kd4 {+123.53/1 0.1} Nd2
{-123.53/1 0.1} 108. Re7+ {+123.53/1 0.1} Kf3 {-123.53/1 0.1} 109. Rf7
{+123.53/1 0.1} Nh3 {-123.53/127 0.1} 110. Nd6+ {+123.53/1 0.1} Ke2
{-123.53/1 0.1} 111. Re7+ {+123.53/1 0.1} Kf3 {-123.53/1 0.1} 112. Re3+
{+123.53/1 0.1} Kg4 {-123.53/1 0.1} 113. Ra3 {+123.53/1 0.1} Nf1
{-123.53/1 0.1} 114. Ra4 {+123.53/127 0.1} Ng5 {-123.53/1 0.1} 115. Ke5+
{+123.53/1 0.1} Kf3 {-123.53/1 0.1} 116. Nf5 {+123.53/1 0.1} Nd2
{-123.53/1 0.1} 117. Ra3+ {+123.53/1 0.1} Kf2 {-123.53/1 0.1} 118. Ra2
{+123.53/1 0.1} Ke2 {-123.53/1 0.1} 119. Kd4 {+123.53/1 0.1} Ne4
{-123.53/1 0.1} 120. Ne3 {+123.53/127 0.1} Kf3 {-123.53/1 0.1} 121. Nd5
{+123.53/1 0.1} Nb3+ {-123.53/1 0.1} 122. Kc4 {+123.53/1 0.1} Nc1
{-123.53/1 0.1} 123. Ra3+ {+123.53/1 0.1} Kf2 {-123.53/1 0.1} 124. Ra8
{+123.53/1 0.1} Ne2 {-123.53/1 0.1} 125. Rg8 {+123.53/1 0.1} Ng1
{-123.53/1 0.1} 126. Kd4 {+123.53/1 0.1} Nd6 {-123.53/1 0.1} 127. Ke5
{+123.53/1 0.1} Nc4+ {-123.53/1 0.1} 128. Ke4 {+123.53/1 0.1} Nd6+
{-123.53/1 0.1} 129. Kf4 {+123.53/1 0.1} Ne2+ {-123.53/1 0.1} 130. Ke5
{+123.53/1 0.1} Nb5 {-123.53/1 0.1} 131. Rf8+ {+123.53/1 0.1} Ke1
{-123.53/1 0.1} 132. Rd8 {+123.53/1 0.1} Nbc3 {-123.53/1 0.1} 133. Ne3
{+123.53/127 0.1} Kf2 {-123.53/1 0.1} 134. Nc2 {+123.53/1 0.1} Nc1
{-123.53/1 0.1} 135. Rc8 {+123.53/1 0.1} Nb5 {-123.53/1 0.1} 136. Rb8
{+123.53/1 0.1} Nc3 {-123.53/1 0.1} 137. Rd8 {+123.53/1 0.1} Ke2
{-123.53/1 0.1} 138. Kd4 {+123.53/1 0.1} Nd1 {-123.53/1 0.1} 139. Na1
{+123.53/1 0.1} Kd2 {-123.53/1 0.1} 140. Ke4+ {+123.53/1 0.1} Ke2
{-123.53/1 0.1} 141. Rc8 {+123.53/1 0.1} Nf2+ {-123.53/1 0.1} 142. Kd4
{+123.53/1 0.1} Ncd3 {-123.53/1 0.1} 143. Nb3 {+123.53/1 0.1} Nf4
{-123.53/1 0.1} 144. Rg8 {+123.53/1 0.1} Kf3 {-123.53/1 0.1} 145. Nd2+
{+123.53/1 0.1} Ke2 {-123.53/1 0.1} 146. Nc4 {+123.53/1 0.1} Kf3
{-123.53/1 0.1} 147. Ne5+ {+123.53/1 0.1} Ke2 {-123.53/1 0.1} 148. Re8
{+123.53/1 0.1} N2h3 {-123.53/1 0.1} 149. Nc4+ {+123.53/1 0.1} Kf3
{-123.53/1 0.1} 150. Ra8 {+123.53/1 0.1} Ng5 {-123.53/1 0.1} 151. Ra3+
{+123.53/1 0.1} Ke2 {-123.53/1 0.1} 152. Ke5 {+123.53/1 0.1} Nd3+
{-123.53/1 0.1} 153. Kf5 {+123.53/1 0.1} Nh3 {-123.53/1 0.1} 154. Ra2+
{+123.53/1 0.1} Kf3 {-123.53/1 0.1} 155. Ra8 {+123.53/1 0.1} Nhf2
{-123.53/1 0.1} 156. Re8 {+123.53/1 0.1} Nd1 {-123.53/1 0.1} 157. Nd2+
{+123.53/1 0.1} Kf2 {-123.53/1 0.1} 158. Ke4 {+123.53/1 0.1} Nc1
{-123.53/1 0.1} 159. Nb1 {+123.53/1 0.1} Ke2 {-123.53/1 0.1} 160. Kf4+
{+123.53/1 0.1} Kf2 {-123.53/127 0.1} 161. Rd8 {+123.53/1 0.1} Ne2+
{-123.53/127 0.1} 162. Ke4 {+123.53/1 0.1} Ng3+ {-123.53/1 0.1} 163. Kd3
{+123.53/1 0.1} Ne3 {-123.53/1 0.1} 164. Nd2 {+123.53/1 0.1} Nef5
{-123.53/1 0.1} 165. Rh8 {+123.53/1 0.1} Ne3 {-123.53/1 0.1} 166. Rf8+
{+123.53/1 0.1} Nef5 {-123.53/1 0.1} 167. Rf7 {+123.53/1 0.1} Kg1
{-123.53/1 0.1} 168. Nf3+ {+123.53/127 0.1} Kg2 {-123.53/1 0.1} 169. Ne5
{+123.53/1 0.1} Nd6 {-123.53/127 0.1} 170. Ra7 {+123.53/127 0.1} Nh5
{-123.53/1 0.1} 171. Rd7 {+123.53/1 0.1} Nf5 {-123.53/1 0.1} 172. Rf7
{+123.53/1 0.1} Nhg3 {-123.53/127 0.1} 173. Rh7 {+123.53/1 0.1} Nf1
{-123.53/1 0.1} 174. Ra7 {+123.53/1 0.1} N1g3 {-123.53/1 0.1} 175. Ra2+
{+123.53/127 0.1} Kh3 {-123.53/1 0.1} 176. Ra4 {+123.53/1 0.1} Kh2
{-123.53/1 0.1} 177. Nf3+ {+123.53/127 0.1} Kg2 {-123.53/1 0.1} 178. Ng5
{+123.53/1 0.1} Nh5 {-123.53/1 0.1} 179. Ke4 {+123.53/1 0.1} Nfg3+
{-123.53/1 0.1} 180. Kd4 {+123.53/1 0.1} Nf4 {-123.53/1 0.1} 181. Ra3
{+123.53/1 0.1} Kf2 {-123.53/1 0.1} 182. Rb3 {+123.53/1 0.1} Nfe2+
{-123.53/1 0.1} 183. Kc4 {+123.53/1 0.1} Nf1 {-123.53/1 0.1} 184. Rf3+
{+123.53/1 0.1} Kg2 {-123.53/1 0.1} 185. Rf7 {+123.53/1 0.1} Neg3
{-123.53/1 0.1} 186. Kd3 {+123.53/1 0.1} Nh1 {-123.53/1 0.1} 187. Ne4
{+123.53/1 0.1} Nhg3 {-123.53/1 0.1} 188. Rg7 {+123.53/1 0.1} Kh3
{-123.53/127 0.1} 189. Ng5+ {+123.53/127 0.1} Kg4 {-123.53/1 0.1} 190. Ne6+
{+123.53/1 0.1} Kf5 {-123.53/1 0.1} 191. Nd4+ {+123.53/1 0.1} Kf6
{-123.53/1 0.1} 192. Rg4 {+123.53/127 0.1} Ke5 {-123.53/1 0.1} 193. Rg6
{+123.53/127 0.1} Kf4 {+123.53/1 0.1} 194. Rf6+ {-123.53/1 0.1} Kg5
{+123.53/127 0.1} 195. Rf2 {-123.53/1 0.1} Kh6 {+123.53/127 0.1} 196. Nf3
{-123.53/127 0.1} Kg6 {+123.53/1 0.1} 197. Ng1 {-123.53/1 0.1} Kg5
{+123.53/127 0.1} 198. Kd4 {-123.53/1 0.1} Kg6 {+123.53/1 0.1} 199. Rf4
{-123.53/1 0.1} Nh2 {+123.53/1 0.1} 200. Ke5 {-123.53/1 0.1} Kg5
{+123.53/1 0.1} 201. Nh3+ {-123.53/1 0.1} Kh5 {+123.53/1 0.1} 202. Nf2
{-123.53/1 0.1} Kg5 {+123.53/1 0.1} 203. Rb4 {-123.53/1 0.1} Nf3+
{+123.53/1 0.1} 204. Ke6 {-123.53/1 0.1} Nh2 {+123.53/1 0.1} 205. Nh3+
{-123.53/1 0.1} Kh5 {+123.53/1 0.1} 206. Ng1 {-123.53/1 0.1} Kg5
{+123.53/1 0.1} 207. Ra4 {-123.53/127 0.1} Nh5 {+123.53/1 0.1} 208. Nh3+
{-123.53/1 0.1} Kg6 {+123.53/1 0.1} 209. Rb4 {-123.53/1 0.1} Ng7+
{+123.53/1 0.1} 210. Ke5 {-123.53/1 0.1} Nf3+ {+123.53/1 0.1} 211. Kf4
{-123.53/1 0.1} Nd4 {+123.53/1 0.1} 212. Rb6+ {-123.53/1 0.1} Nge6+
{+123.53/1 0.1} 213. Ke5 {-123.53/1 0.1} Kf7 {+123.53/1 0.1} 214. Rb7+
{-123.53/1 0.1} Ke8 {+123.53/1 0.1} 215. Rh7 {-123.53/1 0.1} Nf8
{+123.53/1 0.1} 216. Rh8 {-123.53/1 0.1} Nc6+ {+123.53/127 0.1} 217. Kf6
{-123.53/1 0.1} Nb8 {+123.53/1 0.1} 218. Nf4 {-123.53/127 0.1} Nd7+
{+123.53/1 0.1} 219. Kg7 {-123.53/1 0.1} Ke7 {+123.53/1 0.1} 220. Rh6
{-123.53/1 0.1} Nc5 {+123.53/1 0.1} 221. Nd5+ {-123.53/1 0.1} Ke8
{+123.53/1 0.1} 222. Rh8 {-123.53/1 0.1} Ne6+ {+123.53/1 0.1} 223. Kf6
{-123.53/1 0.1} Nc5 {+123.53/127 0.1} 224. Nb6 {-123.53/1 0.1} Ne6
{+123.53/1 0.1} 225. Na4 {-123.53/1 0.1} Kd7 {+123.53/1 0.1} 226. Nc3
{-123.53/1 0.1} Ke8 {+123.53/1 0.1} 227. Ne4 {-123.53/1 0.1} Nf4
{+123.53/1 0.1} 228. Nc5 {-123.53/1 0.1} Ng6 {+123.53/1 0.1} 229. Rh5
{-123.53/1 0.1} Ne7 {+123.53/1 0.1} 230. Kg7 {-123.53/1 0.1} Nfg6
{+123.53/1 0.1} 231. Nd3 {-123.53/1 0.1} Nh4 {+123.53/1 0.1} 232. Ne5
{-123.53/1 0.1} Nhf5+ {+123.53/1 0.1} 233. Kf6 {-123.53/1 0.1} Nh6
{+123.53/1 0.1} 234. Ke6 {-123.53/1 0.1} Nef5 {+123.53/1 0.1} 235. Rh3
{-123.53/1 0.1} Kd8 {+123.53/1 0.1} 236. Kf6 {-123.53/1 0.1} Ne7
{+123.53/1 0.1} 237. Ra3 {-123.53/1 0.1} Nc8 {+123.53/127 0.1} 238. Ke6
{-123.53/1 0.1} Ne7 {+123.53/127 0.1} 239. Ra7 {-123.53/1 0.1} Nhf5
{+123.53/127 0.1} 240. Ra8+ {-123.53/1 0.1} Kc7 {+123.53/1 0.1} 241. Rf8
{-123.53/1 0.1} Kb6 {+123.53/127 0.1} 242. Ng6 {-123.53/1 0.1} Nd5
{+123.53/127 0.1} 243. Kxd5 {-123.53/29 1.9} Ne3+ {-123.53/28 1.9} 244. Ke4
{+99.13/29 0.6} Nd1 {-99.64/35 1.1} 245. Kd4 {+99.65/35 0.5} Kc7
{-99.70/38 1.4} 246. Rf7+ {+99.69/35 0.2} Kd6 {-99.72/41 1.1} 247. Rf1
{+99.73/38 0.6} Nb2 {-99.74/40 0.2} 248. Rb1 {+99.75/37 0.2} Na4
{-99.76/41 1.2} 249. Rb4 {+99.77/37 0.5} Nc3 {-99.78/39 0.2} 250. Kxc3
{+99.79/36 0.2} Kd5 {-99.82/39 0.8} 251. Rf4 {+99.81/35 0.5} Kc5
{-99.84/38 0.2} 252. Rd4 {+99.85/36 0.6} Kb5 {-99.86/44 1.0} 253. Ne7
{+99.87/38 0.5} Kc5 {-99.88/48 0.8} 254. Rd7 {+99.89/39 0.2} Kb5
{-99.90/59 1.1} 255. Rd6 {+99.91/56 0.5} Kc5 {-99.92/61 0.2} 256. Ra6
{+99.93/84 0.2} Kb5 {-99.94/1 0.1} 257. Rc6 {+99.95/127 0.1} Ka4
{-99.96/127 0.1} 258. Rc5 {+99.97/127 0.1} Ka3 {-99.98/1 0.1} 259. Ra5#
{+99.99/127 0.1}
{White mates} 1-0[/pgn]

at move 242. Ng6 , if you play it out with 242 ...Nxg6 it is very instructive on how to trap a knight that is too close to the edge

[d]5R2/4n3/1k2K1N1/5n2/8/8/8/8 b - - 0 1

edit as far this ending being a practical teaching tool - I doubt it. most of the moves were way beyond my comprehension - could not really follow the logic, except i know SF was on a mission to capture the knights and with 6 man EGTB's, it does that quite quickly. The settings here were 10 sec/.17 sec increment
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: XBoard interactive help

Post by hgm »

Note that if you want to use a less intrusive adapter (that does not meddle with the game), you could have used UCI2WB instead of Polyglot. That would claim draws only if the engine itself claimed a draw. That would also rid you of rep-draws, illegal-move claims etc.
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: XBoard interactive help

Post by hgm »

hgm wrote:OK, I see that too. In fact XBoard is completely dead after closing the help dialog through the window-close button.

Well, I asked Arun to do a development releaseon the current version, so this is something I could still fix before the 4.9.0 release.
It seems that bug has always been with us: when you open the Tournament Options dialog and generate an error there (e.g. pressing OK after selecting only a single engine), and then close the Error Popup through its window-close button, you cannot close Tournament Options either. (Help / Note / Error all use the same dialog.) We just never noticed it, because there aren't too many dialogs where you can generate Error Popups.

The culprit is that the handler for the GTK popdown signal (be it the Cancel button or window close) contains an explicit test for whether there is an Error Popup open, and ignores the signal when it is. It tests this based on errorDialog global variable, which is set when the Error dialog pops up, and cleared when you hit the OK button. (In XBoard's dialog system every dialog can define such an 'OK function', which takes care of any post-processing needed by the altered values in the dialog. But we hve no corresponding dialog-dependent 'Cancel functions'; it isassumed that Cancel always is a simple popdown.)

The logical solution would be to forbid popdown of the Error dialog through the window-close button altogether. (For this reason the Error dialog also has no Cancel button.) In the case of Help this seems very undesirable, though, as the help text could be so long that the OK button is off-screen.

I guess I could hard-code in the GenericPopDown handler of the GTK signal that in the case of ErrorDlg it should not call the normal PopDown function, but the specific ErrorPopDown (which then calls the normal PopDown after clearing the errorDialog flag, and is also used by other events, such as board clicks, that should pop down the Error dialog). This makes task-specific code leak into the generic dialog handling, but I guess we can live with that for now.
JoshPettus
Posts: 730
Joined: Fri Oct 19, 2012 2:23 am

Re: XBoard interactive help

Post by JoshPettus »

Great that works! Nice to find old bugs :)

Unfortunately it still looks like MANDIR is still hard coded. Once I move the app, it can't find the man page. I'm still trying to figure out why.
{EDIT}
I just did a test using manDir variable to locate the man file in the applescript line for manProc. It found the man file no matter where the app was. So manDir variable works. Did we use the manDir variable when executing help clicks? I don't see that in DisplayHelp() (not that it's defined in dialog.c anyway) But somehow assigning manDir to MANDIR isn't working out. Is it because we did that before manDir got a value?
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: XBoard interactive help

Post by hgm »

Oh, ^@$*^%^(&%. I guess that the redefinition of MANDIR is only valid in xoptions.c, not in dialogs.c.
JoshPettus
Posts: 730
Joined: Fri Oct 19, 2012 2:23 am

Re: XBoard interactive help

Post by JoshPettus »

I was afraid you'd say that...
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: XBoard interactive help

Post by hgm »

Searching for DATADIR revealed that it is also used in usystem.c, for expanding the ~~/ in filename options. So the same problem should exist there.

I guess I should just move the declaration variables dataDir and manDir to dialogs.h, and statically initialize them to DATADIR or MANDIR, (and overwrite that in the OSX-specific startup code), and then use the variables everywhere, even in the non-OSX version.