Hi Matthias,
I have a version now supports ChessGUI and without bugs in the normal variant and FRC.
I've done the following:
1. Correcting the loss of time in the last move of time control. Now I can play fast as 40 moves in 15 seconds.
2. In the 0135 version of ChessGUI I see that DanaSah send Illegal a8a8 move.
In reality this is not an illegal move, this is by the "result" command xboard.
Code: Select all
=========================================================================================================================
Eng1 (danasah416) <- 4 120 0 2780 a2a8 b8d8 c3d4 d8e8 d4b6 d3b3
Eng1 (danasah416) <- 5 129 1 7248 a2a8 d3d8 a8b8 d8b8 a1b1 e4c5
Eng1 (danasah416) <- 6 119 3 17111 a2a8 b8a8 a1a8 f8f7 c3d4 g7h7 f1e1 d3b3 a8b7
Eng1 (danasah416) <- 7 106 3 24169 a2a8 b8a8 a1a8 f8f7 c3f6 e7f6 a8h8 d3b3
Eng1 (danasah416) <- 8 116 6 47308 a2a8 b8a8 a1a8 f8f7 a8c8 g7g8 c8f5 g8g5 f5h7 h8g7
Eng1 (danasah416) <- 9 136 26 185564 a2a8 d3d8 a8b8 d8b8 a1a4 e4d6 a4d4 b8c7 d4d5 e7e5
Eng1 (danasah416) <- Pipe01Time 0000000015143546
Exact move time for danasah416
Eng1 (danasah416) <- move a2a8
Cancelling GameMoveTimerEvent() for danasah416 at 0000000015143546.
==========================================================================================================================
So far everything is correct. But now DanaSah inexplicably sends a result of stalemate when it is the turn of the another engine.
Code: Select all
==========================================================================================================================
Eng1 (danasah416) <- 1/2-1/2 {Stalemate}
Eng2 (Hermann 2.4) <- info depth 1 seldepth 2 time 0 nodes 8 pv d3d8 a8b8 d8b8 a1a4 e4c5 score cp -25 hashfull 0 nps 8000
Eng2 (Hermann 2.4) <- Pipe02Time 0000000015143875
Exact move time for Hermann 2.4
Eng2 (Hermann 2.4) <- info depth 8 seldepth 25 time 281 nodes 114380 hashfull 13 nps 407046 score cp -28
Eng2 (Hermann 2.4) <- bestmove d3d8 ponder a8b8
Cancelling GameMoveTimerEvent() for Hermann 2.4 at 0000000015143875.
==========================================================================================================================
This is very strange because she was giving the correct PV, impossible to understand why the engine sends the command.
I know that ChessGUI ignores the command result, but when DanaSah sends this command stops playing.
Code: Select all
==========================================================================================================================
Eng1 (danasah416) <- Pipe01Time 0000000015143921
Exact move time for danasah416
Eng1 (danasah416) <- Illegal move: d3d8
Eng1 (danasah416) <- 1/2-1/2 {Stalemate}
Eng1 (danasah416) <- move a8a8
Cancelling GameMoveTimerEvent() for danasah416 at 0000000015143937.
==========================================================================================================================
The solution is not send the command result when DanaSah is playing in ChessGUI and then everything is OK, but I think that maybe you can have an problem in ChessGUI (FRC), the engines with problems are always xboard/ winboard not UCI.
3. I also found because the program crash when playing in FRC ChessGUI, I have a problem with the key hash and castling in FRC.
Here is a difference between Arena and ChessGUI, if the problem occurs in the Arena GUI the engine simply does not crash and lost in time. If the problem occurs in ChessGUI the engine crash.
I have changed the way to calculate the key (a bit slower) and now the problem does not occur.
If you or Ray would like to try the program is:
http://danasah.googlepages.com/danasah397c.zip
Best,
Pedro