WinBoard_F now has Chess960 support

Discussions about Winboard/Xboard. News about engines or programs to use with these GUIs (e.g. tournament managers or adapters) belong in this sub forum.

Moderator: Andres Valverde

Re: WinBoard_F now has Chess960 support

Postby H.G.Muller » 20 Jan 2008, 23:41

Ah, OK, now I understand as well. It seems we have been confusing the edit-position of the menu from user to GUI with the protocol-1 edit command from GUI to engine, in opposite ways... :D

Although the edit menu is a bit obsolete, and for setting up complete positions I would expect almost everyone to paste FENs, the edit menu can still be useful if you just want to displace one or two pieces in an existing position. But you are correct about the inability to enter castling rights. I think I should definitely add this; I considered the edit-position menu important enough to also add the fairy pieces on that menu. It should be easy enough to add a menu item that endows the piece with castling rights. I will put this in for the next version.

I am not sure about move number and 50-move counter: in practice this will almost never be a problem. People that care about them can use a FEN. The eedit-position menu is mainly meant as a quick and dirty way to change a position. In principle it always interrupts any game that was in progress, so there will never be any moves known from before editing the position. This means that internally, WinBoard will always consider the move to be move number 1, printing the position in the PGN file before the first move.

Currently, to set up a specific FRC opening position, you would have to know its number. You can then type this number in the "new FRC game ..." menu popup dialox box. It will then continue to use this opening position until you select a new one. (Youi can also type -1, or click 'random', and then it takes a different random position all the time.) I still am considering adding a button in this dialog box where you could make the current board position equal to the new FRC opening (of it is a valid opening), and compute the number for you. I will have to overhaul this menu anyway, to implement CRC and the various 10x8 variants.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: WinBoard_F now has Chess960 support

Postby PulsarMike » 23 Jan 2008, 19:36

i havent used winboard-f for fischer random yet but i've used winboard x which inherits the code. I"ve played over 100 unrated games with winboard x not consiering it stable enough for rated. Here is what i found.

There is a feature argument to send castle moves as O O and O O O. This feature defaults to true. I have tried to turn it on, i have sent the feature by itself and equal to 1, without the documentation i forget the name of the feature but its something like OOcastle=1. But it should be enough to send OOcastle i think since it defaults to true. no matter what i do winboard sends castle moves as odd regular chess notation like d1f1. There is 2 possible notations for each of a long castle white a long castle black a short castle white and a short castle black. what you have to do is check that that move is an illegal move, i.e. no piece can make a move when its one of those 8, then interpert it as a castle move. I am not certain that this notation will always be unambigous and that it cant be possible that a castle move is intended but its also a legal move.

winboard_x also seems to send castle moves to the ics in this format. A work around is a tellics ooo or oo to your engine has moved before any possible illegal moves are sent by winboard_x.

In home play against the engine it will send castle moves as O-O or O-O-O. Havent had to much of a problem here but this is a less strenous testing ground than icc as i'm likely to play 2 or 3 games were on icc it can be 100 a day.

And of course adjourned game support is broken in winboard_x, if it works at all i suppose its an accident. I"ve only done a little testing but my last test ( first in some weeks ) showed it could not parse the move list from ics and it popped up an error in a message box.

If winboard_f could get full icc fr support it would be able to play all wilds on icc that are in wild 29 since all others work right now.

by the way you would need access to a C account on icc to test on or at least 2 accounts because you can log a computer on icc as an anon and play it on your second account, but if you have such a setup i'd be happy to give a beta out of pulsar. While i limit general releases i'm more liberal with betas and several people have copies allready. This could possibly facilitate testing as long as i keep the engine caught up with the improvements in fr support that are made.

Mike
User avatar
PulsarMike
 
Posts: 83
Joined: 27 Nov 2007, 00:01
Location: California

Re: WinBoard_F now has Chess960 support

Postby H.G.Muller » 24 Jan 2008, 10:18

Well, don't use WinBoard_F for FRC on ICS yet, as it will probably not do much better than WinBoard_x. I am trying to fix the WinBoard_x problems that I inherited, now.

If I understood the code correctly, WinBoard_x should always send the castling moves O-O style, when in FRC. I don't know what it does when sending moves to an ICS, or even what the ICS would expect to receive. If things go wrong, it might be because WinBoard_x does not realize that it is playing FRC. (In ICS mode the variant is derived from what the ICS sends you, and the problems might occur because this is done wrong.)

AFAIK, there are two systems for sending FRC castling moves, the O-O system, and the King-captures-own-Rook system. The KxR is always an illegal move, and thus can be safely interpreted as a castling. This is also how the Human player would perform the castling: drag the King over the Rook you want to castle with on the display, and drop it there. This already works.

It seems, though, that currently I over-fixed things somewhat: originally WinBoard_x did not send the initial position of an FRC game to to engine in two-machines mode, but now it sends it twice. And what is bad, is that it seems only to send the correct castling rights the first time! Apparently I did activate something that was still hidden there, and not correct. (Probably by setting StartedFromSetUpPosition=1 to make sure the FEN is stored in the PGN.)

Let me first fix all engine-engine problems, before turning to ICS mode. I have to make a fundamental change there anyway, to solve the Shatranj problem, which will touch upon all ICS behavior, and it does not make sense to concentrate on problems with specific variants before I fixed the general thing.

I have currently two ICC accounts, one for Joker, one for micro-Max (the latter is only temporary, for CCT10), but I normally don't use them other than playing the CCT engine tournaments (and WCRCC). So my understanding of how things work on an ICS, and what I would actually be allowed to do with those accounts without infringing ICC rules, is very limited. I guess if I would play unrated wild games between the two, using other engines as for which the account is officially meant, just for the purpose of creating debug files, it would not be held against me.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: WinBoard_F now has Chess960 support

Postby Pedro Castro » 24 Jan 2008, 13:55

Hi H.G.,

I have discovered a small problem with Winboard at FRC.

Before that Interface sent the command "setboard" to engine, it also sends a command "force".

Code: Select all
Arena:

3939047>1:new
3939047>1:variant fischerandom
3939047>1:random
3939063>1:level 0 1 1
3939125>1:post
3939125>1:hard
3939125>1:easy
3939281>1:force
3939281>1:setboard bbrkqnrn/pppppppp/8/8/8/8/PPPPPPPP/BBRKQNRN w KQkq - 0 1


In this case the turn is white and when the engine move, the inteface will send the command "go" to engine to stop the state force. This serves to FRC or when we are setup a position in the normal variant. Arena is OK.

Now in the first case Winboard mode FRC not send command "force" before setboard (if that makes with the normal variants)

Code: Select all
Winboard:

1297 >first : new
random
1297 >first : variant fischerandom
1297 >first : setboard nbrkrnbq/pppppppp/8/8/8/8/PPPPPPPP/NBRKRNBQ w ECec - 0 1
1297 >first : level 0 5 0
1297 >first : post
1297 >first : hard
1297 >first : easy
24641 >first : time 30000
24641 >first : otim 30000
24641 >first : f1g3
GameEnds(0, (null), 2)
GameEnds(0, (null), 2) clock stopped
GameEnds(0, (null), 2) after test
27860 >first : force
27860 >first : quit


As Winboard has not sent the command "force", after the move of human (g1f3) engine does not receive the command "go" and not begin to think.

Now in the second case, I am going to make first "New Game FRC"

Code: Select all
Winboard:

1266 >first : new
random
1266 >first : variant fischerandom
1266 >first : setboard nbrkrnbq/pppppppp/8/8/8/8/PPPPPPPP/NBRKRNBQ w ECec - 0 1
1266 >first : level 0 5 0
1266 >first : post
1266 >first : hard
1266 >first : easy
Reset(1, 1) from gameMode 0
recognized 'fischerandom' (-1) as variant fischerandom
GameEnds(0, (null), 2)
GameEnds(0, (null), 2) clock stopped
GameEnds(0, (null), 2) after test
6437 >first : force
6453 >first : new
random
6453 >first : variant fischerandom
6453 >first : setboard rqknbnrb/pppppppp/8/8/8/8/PPPPPPPP/RQKNBNRB w GAga - 0 1
6453 >first : level 0 5 0
6453 >first : post
6453 >first : hard
6453 >first : easy
6609 <first : enroque: 15
9922 >first : time 30000
9922 >first : otim 30000
9922 >first : g2g4
GameEnds(0, (null), 2)
GameEnds(0, (null), 2) clock stopped
GameEnds(0, (null), 2) after test
13937 >first : force
13937 >first : quit


Now Winboard sends the command "force" before sending a second time the command "setboard." But if we make a move with white (g2g4) then Winboard not send the command "go" to the engine and this does not come out of their state of force.

This is a problem only when a human play against an engine, engine versus engine, Winboard if that always sends the command force and then go.

I can do differently code for Arena and Winboard, but I think it is better if Winboard always uses the same way to use force, setboard and go
Best wishes,

Pedro Castro
User avatar
Pedro Castro
 
Posts: 180
Joined: 28 Jan 2005, 01:09
Location: Pays Basque (Spain)

Re: WinBoard_F now has Chess960 support

Postby H.G.Muller » 24 Jan 2008, 14:17

Yes, it seems I fixed things the wrong way. People were complaining thatthe initial position was not sent to the engine, and so I added the sending of a 'setboard' command directly after 'variant fischerandom' was sent.

But this was wrong, as it still did not make th opening position occur in the PGN. What I should have done was simpy set startedFromSetUpPosition=TRUE; Then a FEN is automatically written to the PGN, and there are many places in WinBoard where if this variable is TRUE a 'setboard' is sent to the first or second engine. But always after putting it in 'force' mode.

So I think that, now that I fixed the SetUpPosition thing, I really should delete the 'setboard' directly after the variant, as it was not in the right place, and lead to the board sometimes being sent twice. I will fix it tonight. Can I still load DanaSah960 from that same link, to test?
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: WinBoard_F now has Chess960 support

Postby Pedro Castro » 24 Jan 2008, 18:38

Here,

http://danasah.googlepages.com/DanaSah960.zip

This version only recognizes Shredder-FEN when I receive setboard in FRC, so it is only prepared to Winboard (not Arena).

I played a game against AICE

Code: Select all
[Event "Computer Chess Game"]
[Site "AMD64"]
[Date "2008.01.24"]
[Round "-"]
[White "AICE 0.99.2 "]
[Black "DanaSah v.3.59 FRC"]
[Result "0-1"]
[TimeControl "300"]
[Variant "fischerandom"]
[FEN "rqknbnrb/pppppppp/8/8/8/8/PPPPPPPP/RQKNBNRB w GAga - 0 1"]
[SetUp "1"]

{--------------
r q k n b n r b
p p p p p p p p
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
P P P P P P P P
R Q K N B N R B
white to play
--------------}
1. g3 Nc6 2. e3 Ng6 3. d4 e6 4. Bxc6 dxc6 5. Bb4 a5 6. Ba3 Qa7 7. c4 O-O-O
8. Nc3 Bd7 9. Qd3 e5 10. O-O-O Bg4 11. Rd2 f5 12. b3 exd4 13. exd4 Ne5 14.
Qc2 Nf3 15. h3 Bxh3 16. Rh1 Bg4 17. Rxh7 Nxd2 18. Qxd2 Rxd4 19. Qe3 Kb8 20.
f3 f4 21. Qe5 fxg3 22. Nxg3 Rd3 23. Bc5 b6 24. fxg4 bxc5 25. Na4 Rdd8 26.
Qe6 Rge8 27. Qxc6 Re1+ 28. Kb2 g5+ 29. Ka3 Bd4 30. Qb5+ Qb7 31. Qxa5 Re6
32. Qb5 Be3 33. Qxb7+ Kxb7 34. Rh1 Bd4 35. Nf5 Ra8 36. Rh5 Bc3 37. Rh3 Bb4+
38. Kb2 Re2+ 39. Kb1 Rae8 40. Rh1 Rg2 41. Nh6 Ree2 42. Rc1 Rxa2 43. Rg1
Rab2+ 44. Nxb2 Rxg1+ 45. Kc2 Rg2+ 46. Kb1 Bc3 47. Na4 Bd4 48. Nf7 Rxg4 49.
Nd8+ Kc8 50. Ne6 Rg1+ 51. Kc2 g4 52. Kd3 g3 53. Nf4 g2 54. Nxg2 Rxg2 55.
Ke4 Kd7 56. Kf3 Ra2 57. Ke4 Ra3 58. Nxc5+ Bxc5 59. Kd5 Rxb3 60. Kxc5 Rd3
61. Kb4 Kc6 62. c5 Kd5 63. c6 Re3 64. Kb5 Re4 65. Ka6 Kxc6 66. Ka5 Rd4 67.
Ka6
{White resigns} 0-1


If your play white against DanaSah is then perhaps now when the engine no starts to miss the command "go"
Last edited by Pedro Castro on 24 Jan 2008, 18:43, edited 1 time in total.
Best wishes,

Pedro Castro
User avatar
Pedro Castro
 
Posts: 180
Joined: 28 Jan 2005, 01:09
Location: Pays Basque (Spain)

Re: WinBoard_F now has Chess960 support

Postby PulsarMike » 24 Jan 2008, 18:40

yea i think it would be fine if the games were unrated for interface testing. Also bear in mind the icc has an anon system of login. Any account can log in anonomously and get a login similar to the old guest system such as anon63. Its ok for members to log in anonomously and use a computer as well. This i believe is stated ( this policy ) in the icc welcome screen. Computers can be logged in anonomously too. for example if your screen name is tom9 you would log in by typing your screen name as !tom9 the explanation point before the handle initiates an anomomous login. Be sure to check teh finger to make sure you are really on as an anon, particulary if logging a human account in as human accounts can play computer games anonomously but not of course on their member account. If any interest in using pulsar betas for testing let me know.

Mike
User avatar
PulsarMike
 
Posts: 83
Joined: 27 Nov 2007, 00:01
Location: California

Re: WinBoard_F now has Chess960 support

Postby H.G.Muller » 24 Jan 2008, 23:09

OK, the alpha.tst I posted now does not send the extra setboard in FRC, and I now solely rely on the startedFromSetUpPosition=TRUE; that I added in the FRC shuffle code. I think this should work for engine-engine and Human-engine FRC now, and at least solve the 'force' problems.

I didn't have time to look at the ICS problems yet; had to resurrect my 6502 engine from the 80's to have it play in the ChessWar Promo in February. (And it seems to work now, as emulated code with a native C WB interface added.!) And this weekend is CCT10...
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: WinBoard_F now has Chess960 support

Postby Pedro Castro » 24 Jan 2008, 23:40

now, Winboard not send never setboard.

Good luck in CCT10, I too will be there.
Best wishes,

Pedro Castro
User avatar
Pedro Castro
 
Posts: 180
Joined: 28 Jan 2005, 01:09
Location: Pays Basque (Spain)

Re: WinBoard_F now has Chess960 support

Postby H.G.Muller » 25 Jan 2008, 22:57

This is really a very nasty problem. The logic in the old WinBoard versions is really completely wrong for handling FRC. It is based on the idea that setboard is only used when the user has been editing the position, so that you will natural be in Edit-Game mode (and the engine in forcing mode)afterwards.

But here the engine must become active after the setboard. But one of the engines has black, and WB protocol has no command to make the engine play black anymore! The command that did that was deprecated. Even if it was not, engines can refuse to receive it with "feature colors=0". It is replaced by 'playother', but you cannot send that if the engine does not explicitly enables it with a feature command.

The only way to get the engine to play black is first feed it the white move, and then give 'go'. Which means you must somehow remember that the engine is left in force mode while WinBoard is in a mode where it should play (and test for this condition everywhere you send a move, to send the 'go' after it...
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: WinBoard_F now has Chess960 support

Postby Guenther Simon » 30 Mar 2008, 13:08

H.G.Muller wrote:No, not yet. I want to overhaul the time-control code anyway, and I postpone ficing the bug till after that.

WinBoard_x already supported time-odds games, where you could write things like 5/2:30 in the time field to give white 5 minutes, and black 2:30. (The time was a string anyway, because of the colon.) I would like to extend that (and change the syntax a little) to allow things like:

40|20 (40 min vs 20 min time odds)
60+40/25 (60 min, andafter that, 40 moves per 25 min repeating)
60|30+40/25|12:30 (60 min followed by 40 moves per 25 min (W) vs 30' + 40m/12.5min (B))
60+40/25+0/5 (60 min followed by 40/25 min and then 5 min for the rest of the game)

The number of moves for the first time-control session already has a separate (numeric) input field (or command-line option), as does the increment (which will be only applied during a 'rest-of-the-game' session). How exactly I have to compensate the time for moves straddling sessions will depend on how I implement that.


Hello HG,

Did you find the time yet to fix the tc bug(writing to pgn) and implement
the new tc code? BTW do you also have a backtrace log or sth similar
where one can read what you have fixed and/or implemented during
the changes? I see that the exe had grown by around 23KB since
my last download of the alpha.tst here, but AFAIK you didn't change
the version number or didn't add a revision date or similar, right?

Regards,
Guenther
User avatar
Guenther Simon
 
Posts: 794
Joined: 26 Sep 2004, 19:49
Location: Regensburg, Germany

Re: WinBoard_F now has Chess960 support

Postby H.G.Muller » 30 Mar 2008, 16:59

I am afraid I am no good at version control. I did not really work much on WinBoard_F lately. The 23KB is probably just some extra bitmaps of A and C in other board sizes. I did fix a bug in trivial-draw adjudication, but this probably did not affect the size.

I switched to anothe system for putting time in the PGN: I now fill the pvInfo time field at the time the other info (score/depth) comes in, by reading the WinBoard clock, rather than deriving it from the timeRemaining info kept by WinBoard with each position in the history. I haven't tested, but that should make the problem go away.

I also made it such that a PGN with PV info can now be read in without causing a very ugly layout on writing it again (basically duplicating the PV info).

I upgraded the WinBoard clock management to be able to handle arbitrary numbers of different time controls (like 40/60+20/15+5+1). I haven't added a mechanism yet to communicate this to the engines, though.

In the future I will use letter suffixes to distinguish various pre-release versions, this should avoid such confusion in the future.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: WinBoard_F bug in writing time infos to pgn

Postby Guenther Simon » 31 Mar 2008, 19:07

H.G.Muller wrote:I am afraid I am no good at version control. I did not really work much on WinBoard_F lately. The 23KB is probably just some extra bitmaps of A and C in other board sizes. I did fix a bug in trivial-draw adjudication, but this probably did not affect the size.

I switched to anothe system for putting time in the PGN: I now fill the pvInfo time field at the time the other info (score/depth) comes in, by reading the WinBoard clock, rather than deriving it from the timeRemaining info kept by WinBoard with each position in the history. I haven't tested, but that should make the problem go away.


Hello HG,

It seems you have introduced a bug now in writing the correct
time infos into the pgn file. I see that the times now are practically
never correct.
I give you an example with a small debug excerpt and a correct
pgn file for comparison created with George Lyapkos LGDEBPGN tool
which inserts several infos from a debug file into a pgn file after
processing it.

Winboard_F 4.3.13 downloaded yesterday afternoon - first test game:

[Event "RWBC PSWBTM Swiss RT39"]
[Site "ESPRESSO"]
[Date "2008.03.30"]
[Round "1.3"]
[White "ColChess_80DC"]
[Black "TJChess_096R"]
[Result "0-1"]
[TimeControl "40/900"]
[Annotator "4. +0.36 5... +0.29"]
[Number "6"]

1. e4 d5 2. exd5 Qxd5 3. Nc3 Qd6 4. d4 {+0.36/7 5} Nf6 5. Bb5+ {+0.16/7 5}
Bd7 {+0.29/10 8} 6. Nf3 {-0.03/7 4} Bxb5 {+0.41/10 6} 7. Nxb5 {+3.03/8 6}
Qb4+ {+0.31/10 4} 8. Nc3 {+0.15/8 5} e6 {+0.12/9 3} 9. O-O {+0.13/7 5}
Bd6 {+0.18/10 4} 10. a3 {+0.02/7 7} Qb6 {+0.18/10 7} 11. d5 {-0.21/7 3}
O-O {+0.22/9 4} 12. dxe6 {+0.29/7 1} fxe6 {+0.18/9 9} 13. Qe2 {+0.36/7 3}
Re8 {+0.19/9 9} 14. Be3 {+0.05/6 5} Qa6 {+0.19/9 7} 15. Qxa6 {+0.05/8 1}
bxa6 {+0.31/10 3} 16. Rad1 {-0.44/7 8} Nc6 {+0.28/10 5} 17.
Rfe1 {-0.41/7 8} e5 {+0.24/10 1} 18. Bg5 {-0.07/7 4} Rab8 {+0.24/10 3} 19.
Bxf6 {+0.36/7 5} gxf6 {+0.21/11 3} 20. Ne4 {-0.50/8 7} Re6 {+0.03/11 4} 21.
Nxd6 {-0.39/8 7} Rxd6 {-0.03/13 5} 22. b3 {-0.42/9 9} Rbd8 {-0.03/13 4} 23.
Rxd6 {-0.22/9 7} cxd6 {+0.00/12 3} 24. Re4 {-0.19/9 8} d5 {-0.05/13 4} 25.
Rg4+ {+0.02/9 1} Kh8 {-0.02/12 3} 26. Ra4 {-0.15/9 6} a5 {-0.07/12 8} 27.
Kf1 {-0.25/9 2} Rd7 {-0.10/11 3} 28. h3 {-0.25/9 5} h6 {-0.13/11 3} 29.
Rh4 {-0.27/9 9} Kh7 {-0.11/12 1} 30. Ra4 {-0.60/9 5} f5 {-0.11/12 6} 31.
Nh4 {-0.30/9 4} f4 {-0.09/12 7} 32. Ke2 {-0.28/9 4} a6 {-0.16/12 6} 33.
Kd3 {-0.19/9 8} Rc7 {-0.32/11 0} 34. c4 {-0.16/9 9} e4+ {-0.25/13 7} 35.
Kc2 {-0.71/11 7} d4 {-0.38/13 7} 36. Nf5 {-0.32/9 1} Rd7 {-0.39/12 0} 37.
Kd1 {-0.81/9 4} e3 {-1.17/13 6} 38. Ke1 {-0.70/10 7} Rf7 {-1.30/14 4} 39.
Nd6 {-1.14/10 6} d3 {-2.75/14 9} 40. fxe3 {+0.46/9 2} fxe3 {-3.65/14 5} 41.
Nxf7 {-5.60/15 2} Nd4 {-5.66/16 4} 42. Kd1 {-11.14/15 0} Ne2 {-16.91/16 0}
43. c5 {-18.19/14 3} Nc3+ {-199.81/16 1} 44. Kc1 {-3.87/2 0}
d2+ {-199.83/16 6} 45. Kc2 {-499999.86/13 1} d1=Q+ {-199.85/15 6}
{White resigns} 0-1


The same game, but extracted by LGDEBPGN from the debug file:

[Event "?"]
[Site "?"]
[Date "2008.03.30"]
[Round "1"]
[White ""ColChess_80DC.exe" "]
[Black "TJchess 0.96R"]
[Result "0-1"]
[TimeControl "40/900"]
[PlyCount "90"]
[Annotator " 8.8-11.8"]

1. e4 {0s} d5 {0s} 2. exd5 {0s} Qxd5 {0s} 3. Nc3 {0s} Qd6 {0s} 4. d4
{+0.36/7 10s} Nf6 {0s} 5. Bb5+ {+0.16/7 18s} Bd7 {+0.29/10 25s} 6. Nf3
{-0.03/7 16s} Bxb5 {+0.41/10 32s} 7. Nxb5 {+3.03/8 18s} Qb4+ {+0.31/10 11s} 8.
Nc3 {+0.15/8 18s} e6 {+0.12/9 10s} 9. O-O {+0.13/7 16s} Bd6 {+0.18/10 14s} 10.
a3 {+0.02/7 13s} Qb6 {+0.18/10 17s} 11. d5 {-0.21/7 16s} O-O {+0.22/9 12s} 12.
dxe6 {+0.29/7 11s} fxe6 {+0.18/9 7s} 13. Qe2 {+0.36/7 18s} Re8 {+0.19/9 16s} 14.
Be3 {+0.05/6 10s} Qa6 {+0.19/9 10s} 15. Qxa6 {+0.05/8 19s} bxa6 {+0.31/10 13s}
16. Rad1 {-0.44/7 14s} Nc6 {+0.28/10 8s} 17. Rfe1 {-0.41/7 18s} e5
{+0.24/10 21s} 18. Bg5 {-0.07/7 19s} Rab8 {+0.24/10 13s} 19. Bxf6 {+0.36/7 16s}
gxf6 {+0.21/11 17s} 20. Ne4 {-0.50/8 18s} Re6 {+0.03/11 10s} 21. Nxd6
{-0.39/8 18s} Rxd6 {-0.03/13 20s} 22. b3 {-0.42/9 30s} Rbd8 {-0.03/13 17s} 23.
Rxd6 {-0.22/9 15s} cxd6 {+0.00/12 17s} 24. Re4 {-0.19/9 19s} d5 {-0.05/13 25s}
25. Rg4+ {+0.02/9 13s} Kh8 {-0.02/12 36s} 26. Ra4 {-0.15/9 16s} a5 {-0.07/12 7s}
27. Kf1 {-0.25/9 20s} Rd7 {-0.10/11 9s} 28. h3 {-0.25/9 19s} h6 {-0.13/11 19s}
29. Rh4 {-0.27/9 19s} Kh7 {-0.11/12 17s} 30. Ra4 {-0.60/9 36s} f5 {-0.11/12 22s}
31. Nh4 {-0.30/9 18s} f4 {-0.09/12 11s} 32. Ke2 {-0.28/9 17s} a6 {-0.16/12 14s}
33. Kd3 {-0.19/9 16s} Rc7 {-0.32/11 11s} 34. c4 {-0.16/9 12s} e4+ {-0.25/13 24s}
35. Kc2 {-0.71/11 31s} d4 {-0.38/13 28s} 36. Nf5 {-0.32/9 22s} Rd7
{-0.39/12 11s} 37. Kd1 {-0.81/9 19s} e3 {-1.17/13 14s} 38. Ke1 {-0.70/10 23s}
Rf7 {-1.30/14 31s} 39. Nd6 {-1.14/10 21s} d3 {-2.75/14 28s} 40. fxe3
{+0.46/9 7s} fxe3 {-3.65/14 6s} 41. Nxf7 {-5.60/15 234s} Nd4 {-5.66/16 76s} 42.
Kd1 {-11.14/15 253s} Ne2 {-16.91/16 63s} 43. c5 {-18.19/14 182s} Nc3+
{-199.81/16 95s} 44. Kc1 {-3.87/2 0s} d2+ {-199.83/16 135s} 45. Kc2
{-499999.86/13 35s} d1=Q+ {-199.85/15 167s}
0-1 {White resigns(claimed by white)}


Debug file excerpt:(I removed all legality test strings for readability)
It would be nice by the way if there would be an user option to
uncheck writing all the legality test infos into the pgn, if possible?

Code: Select all
TC string = '+40/15'
mps=40 tc=900000 inc=0
CoordsToAlgebraic, piece=21
move: d5d6
, parse: Qd6 (
)
time odds: 1 1
Interrupting first
11687 >first : time 89993
11687 >first : otim 89970
11687 >first : d5d6
11737 <first : Current Position=0.25
11737 <first : 2 9 0 2095 d2d4 b8c6 
11777 <first : 3 38 40 11141 g1f3 g8f6  d2d4 d6e6+ 
11947 <first : 4 13 210 66794 d2d4 g8f6  <HT> 
12268 <first : 5 31 541 177497 d2d4 g8f6  c1e3 b8c6  g1f3
14191 <first : 6 9 2452 948363 d2d4 g8f6  g1f3 c8e6  f1b5+ b8c6 
21201 <first : 7 36 9474 3401412 d2d4 e7e5  g1f3 e5d4  f3d4 g8f6  c1e3
21201 <first : move d2d4
move to parse: d2d4

TC string = '+40/15'
mps=40 tc=900000 inc=0
CoordsToAlgebraic, piece=0

move: d2d4
, parse: d4 (
)
time odds: 1 1
21201 >second: time 89970
21201 >second: otim 89041
21201 >second: d2d4
21221 <second: move g8f6
move to parse: g8f6

TC string = '+40/15'
mps=40 tc=900000 inc=0
CoordsToAlgebraic, piece=18
move: g8f6
, parse: Nf6 (
)
time odds: 1 1
Interrupting first
21221 >first : time 89041
21221 >first : otim 89968
21221 >first : g8f6
21261 <first : Current Position=0.42
21281 <first : 2 -4 9 2210 g1f3 b8c6 
21311 <first : 3 23 39 10157 g1f3 b8c6  f1c4
21501 <first : 4 -8 239 93143 g1f3 c8e6  f1b5+ b8c6 
22292 <first : 5 25 1021 286028 g1f3 b8d7  f1b5 f6d5  c3e4 d6b4+ 
26899 <first : 6 -4 5637 2286781 g1f3 c8e6  f1e2 b8d7  e1g1 e8c8 
39157 <first : 7 16 17895 6307347 f1b5+ c7c6  b5e2 f6d5  c3d5 c6d5  g1f3
39157 <first : move f1b5+
move to parse: f1b5+

TC string = '+40/15'
mps=40 tc=900000 inc=0
CoordsToAlgebraic, piece=2
move: f1b5
, parse: Bb5+ (
)
time odds: 1 1
39157 >second: time 89968
39157 >second: otim 87248
39157 >second: f1b5
39197 <second: 3 18 0 485 b8c6
39197 <second: 3 18 0 743 b8c6 g1f3 c8e6
39197 <second: 4 38 0 2298 b8c6
39197 <second: 4 38 0 3801 b8c6 b5c6 d6c6 g1f3
39207 <second: 5 33 0 10736 b8c6
39217 <second: 5 33 0 13209 b8d7
39237 <second: 5 19 3 23663 c7c6
39237 <second: 5 19 5 25727 c7c6 b5e2 c8e6 g1f3 b8d7
39277 <second: 6 39 9 58598 c7c6
39317 <second: 6 39 14 75201 c7c6 b5e2 c8e6 g1f3 b8d7 c1e3
39457 <second: 7 21 29 175154 c7c6
39497 <second: 7 21 36 218815 c7c6 b5e2 f6d5 g1f3 d5c3 b2c3 c8f5
39888 <second: 8 38 81 528131 c7c6
40268 <second: 8 38 129 754301 c7c6 b5e2 b8d7 g1f3 e7e5 c1e3 e5e4 f3g5
42431 <second: 9 21 384 2292072 c7c6
43022 <second: 9 21 456 2825784 c7c6 b5e2 c8f5 g1f3 f6d5 c1d2 d5b4 a1c1 b8d7
45706 <second: 10 37 777 5002506 c7c6
64613 <second: 10 29 3032 18964652 c8d7
64643 <second: 10 29 3038 18986643 c8d7 b5e2 c7c5 d4c5 d6c5 g1f3 b8c6 e1g1 e8c8 c1e3
64643 <second: move c8d7
move to parse: c8d7

TC string = '+40/15'
mps=40 tc=900000 inc=0
CoordsToAlgebraic, piece=19
move: c8d7
, parse: Bd7 (
)
time odds: 1 1
Interrupting first
64653 >first : time 87248
64653 >first : otim 87418
64653 >first : c8d7
64693 <first : Current Position=0.56
64703 <first : 2 -17 9 1950 g1f3 b8c6 
64753 <first : 3 -22 60 14237 g1e2 d7b5  c3b5
64914 <first : 4 -38 219 82108 g1f3 d7b5  c3b5 d6d7 
65545 <first : 5 -12 860 240584 g1f3 f6d5  c3d5 d7b5  d5c3 d6e6+ 
68158 <first : 6 -32 3465 1641048 g1f3 f6d5  c3d5 d7b5  d5c3 b5c4 
80566 <first : 7 -3 15882 5298540 g1f3 f6d5  c3d5 d7b5  d5c3 b5a6  c1e3
80566 <first : move g1f3
move to parse: g1f3

TC string = '+40/15'
mps=40 tc=900000 inc=0
CoordsToAlgebraic, piece=1
move: g1f3
, parse: Nf3 (
)
time odds: 1 1
80576 >second: time 87418
80576 >second: otim 85655
80576 >second: g1f3
80596 <second: 3 32 0 378 d7b5
80606 <second: 3 32 0 1590 d7b5 c3b5 d6b4
80606 <second: 4 46 0 1881 d7b5
80616 <second: 4 46 2 6820 d7b5 c3b5 d6b4 b5c3
80616 <second: 5 22 2 8533 d7b5
80636 <second: 5 22 4 21982 d7b5 c3b5 d6b4 b5c3 f6e4
80636 <second: 6 19 4 25746 d7b5
80636 <second: 6 19 4 25799 d7b5 c3b5 d6b4 b5c3 f6e4 d1d3
80656 <second: 7 19 4 35783 d7b5
80656 <second: 7 19 6 36073 d7b5 c3b5 d6b4 b5c3 f6e4 d1d3 e4c3
80796 <second: 8 19 22 153186 d7b5
80967 <second: 8 19 44 252686 d7b5 c3b5 d6b4 b5c3 f6e4 d1d3 e4c3 b2c3
81367 <second: 9 20 89 552658 d7b5
82950 <second: 9 20 281 1960381 d7b5 c3b5 d6b4 b5c3 f6e4 d1d3 e4c3 a2a3 b4a5
85073 <second: 10 41 533 3578397 d7b5
112392 <second: move d7b5
move to parse: d7b5

TC string = '+40/15'
mps=40 tc=900000 inc=0
CoordsToAlgebraic, piece=19
move: d7b5
, parse: Bxb5 (
)
time odds: 1 1
Interrupting first
112392 >first : time 85655
112392 >first : otim 84236
112392 >first : d7b5
112432 <first : Current Position=-2.72
112432 <first : 2 297 0 1878 c3b5 d6c6 
112462 <first : 3 298 19 6099 c3b5 d6c6  b5a3
112522 <first : 4 302 79 46139 c3b5 d6b4+  b5c3 b8d7 
112792 <first : 5 349 329 112946 c3b5 d6b4+  b5c3 f6d5  d1d2
113704 <first : 6 309 1262 799604 c3b5 d6b4+  b5c3 b8c6  e1g1 e8c8 
117870 <first : 7 328 5438 1970428 c3b5 d6b4+  b5c3 b8c6  a2a3 b4c4  d1e2 c4e2+  e1e2
130648 <first : 8 303 18216 10112169 c3b5 d6b4+  b5c3 b8d7  e1g1 e7e6  d1e2 e8c8 
130648 <first : move c3b5
move to parse: c3b5

TC string = '+40/15'
mps=40 tc=900000 inc=0
CoordsToAlgebraic, piece=1
move: c3b5
, parse: Nxb5 (
)
time odds: 1 1
130648 >second: time 84236
130648 >second: otim 83830
130648 >second: c3b5
130678 <second: 3 41 0 3 d6b6 a2a4 b8c6
130678 <second: 4 41 0 4 d6b6 a2a4 b8c6 e1g1
130678 <second: 5 41 0 5 d6b6 a2a4 b8c6 e1g1 a7a6
130678 <second: 6 41 0 6 d6b6 a2a4 b8c6 e1g1 a7a6 b5c3
130678 <second: 7 41 0 7 d6b6 a2a4 b8c6 e1g1 a7a6 b5c3 e7e6
130678 <second: 8 41 0 8 d6b6 a2a4 b8c6 e1g1 a7a6 b5c3 e7e6
133863 <second: 9 33 379 2117122 d6b6
134664 <second: 9 15 471 2717789 d6b4
135335 <second: 9 15 555 3287461 d6b4 b5c3 b8c6 d4d5 e8c8 c1d2 c6d4 f3d4 b4d4
137358 <second: 10 31 794 4734757 d6b4
141474 <second: 10 31 1289 7575924 d6b4 b5c3 b8c6 a2a3 b4a5 e1g1 e8c8 d1d3 f6d5
141474 <second: move d6b4
move to parse: d6b4

TC string = '+40/15'
mps=40 tc=900000 inc=0
CoordsToAlgebraic, piece=21
move: d6b4
, parse: Qb4+ (
)
time odds: 1 1
Interrupting first
141474 >first : time 83830
141474 >first : otim 83154
141474 >first : d6b4
141514 <first : Current Position=0.40
141514 <first : 2 -10 0 415 b5c3 b8d7 
141534 <first : 3 -101 10 2910 b5c3 f6e4  d1d3
141584 <first : 4 -3 60 18374 b5c3 b8c6  e1g1 e8c8 
141754 <first : 5 16 230 85578 b5c3 b8c6  a2a3 b4c4  d1e2
142675 <first : 6 -9 1151 418650 b5c3 b8d7  e1g1 e7e6  d1e2 e8c8 
145880 <first : 7 15 4356 1869137 b5c3 f6e4  a2a3 e4c3  a3b4 c3d1  e1d1
159329 <first : 8 15 17805 6487902
159329 <first : move b5c3
move to parse: b5c3

TC string = '+40/15'
mps=40 tc=900000 inc=0
CoordsToAlgebraic, piece=1
move: b5c3
, parse: Nc3 (
)
time odds: 1 1
159329 >second: time 83154
159329 >second: otim 82044
159329 >second: b5c3
159349 <second: 3 31 0 3 b8c6 a2a3 b4a5
159349 <second: 4 31 0 4 b8c6 a2a3 b4a5 e1g1
159349 <second: 5 31 0 5 b8c6 a2a3 b4a5 e1g1 e8c8
159359 <second: 6 31 0 6 b8c6 a2a3 b4a5 e1g1 e8c8 d1d3
159359 <second: 7 31 0 7 b8c6 a2a3 b4a5 e1g1 e8c8 d1d3 f6d5
159359 <second: 8 31 0 8 b8c6 a2a3 b4a5 e1g1 e8c8 d1d3 f6d5
160621 <second: 9 30 146 962510 b8c6
165218 <second: 9 28 698 4553648 c7c5
169003 <second: 9 12 1147 7224388 e7e6
169254 <second: 9 12 1182 7498565 e7e6 a2a3 b4b6 e1g1 f8d6 b2b4 e8g8 c1e3 b8c6
169254 <second: move e7e6
move to parse: e7e6

TC string = '+40/15'
mps=40 tc=900000 inc=0
CoordsToAlgebraic, piece=17

move: e7e6
, parse: e6 (
)
time odds: 1 1
Interrupting first
169254 >first : time 82044
169254 >first : otim 82161
169254 >first : e7e6
169294 <first : Current Position=0.32
169304 <first : 2 6 10 1682 e1g1 b8d7 
169334 <first : 3 42 30 7429 a2a3 b4a5  e1g1
169464 <first : 4 -1 170 59084 e1g1 b8d7  d1e2 e8c8 
169975 <first : 5 37 680 234850 a2a3 b4a5  e1g1 f8b4  c1d2
173600 <first : 6 -9 4306 1567005 e1g1 b8c6  a2a3 b4b6  f1e1 e8c8 
185227 <first : 7 13 15932 5931438 e1g1 b8c6  a2a3 b4b6  a1b1 e8c8  c1e3
185227 <first : move e1g1
move to parse: e1g1

TC string = '+40/15'
mps=40 tc=900000 inc=0
CoordsToAlgebraic, piece=16

move: e1g1
, parse: O-O (
)
time odds: 1 1
185237 >second: time 82161
185237 >second: otim 80447
185237 >second: e1g1
185257 <second: 3 19 0 199 f8d6
185267 <second: 3 19 0 1676 f8d6 d4d5 b8d7
185267 <second: 4 19 0 1679 f8d6
185267 <second: 4 19 0 2339 f8d6 d4d5 b8d7
185267 <second: 5 12 0 5894 f8d6
185277 <second: 5 12 2 11199 f8d6 a2a3 b4b6 b2b4 e8g8
185277 <second: 6 12 2 12186 f8d6
185287 <second: 6 12 3 16263 f8d6 a2a3 b4b6 b2b4 e8g8 c1e3
185307 <second: 7 12 3 31747 f8d6
185347 <second: 7 12 9 75793 f8d6 a2a3 b4b6 b2b4 e8g8 c1e3 b8c6
185797 <second: 8 21 63 478425 f8d6
185938 <second: 8 21 81 571643 f8d6 a2a3 b4b6 f3e5 b8d7 e5d7 f6d7 c3e4
187740 <second: 9 17 294 1763212 f8d6
191005 <second: 9 17 685 4514638 f8d6 a2a3 b4b6 b2b4 e8g8 c1e3 b6c6 d1e1 b8d7
198115 <second: 10 18 1531 10185688 f8d6
199267 <second: 10 18 1672 10955652 f8d6 a2a3 b4b6 b2b4 e8g8 c1e3 b8d7 d4d5 c7c5 f1e1
199267 <second: move f8d6
move to parse: f8d6

TC string = '+40/15'
mps=40 tc=900000 inc=0
CoordsToAlgebraic, piece=19
move: f8d6
, parse: Bd6 (
)
time odds: 1 1
Interrupting first
199277 >first : time 80447
199277 >first : otim 80756
199277 >first : f8d6
199307 <first : Current Position=0.58
199327 <first : 2 -13 9 2280 a2a3 b4a5 
199347 <first : 3 17 39 7878 a2a3 b4a5  d1e2
199507 <first : 4 -30 200 65193 a2a3 b4a5  d1e2 e8g8 
199978 <first : 5 8 661 202435 a2a3 b4b6  f1e1 e8g8  d1e2
203613 <first : 6 -41 4306 1515183 a2a3 b4a5  d1d2 e8g8  d2g5 b8c6 
212516 <first : 7 2 13209 4708746 a2a3 b4b6  d4d5 e8g8  d5e6 f7e6  d1e2
212526 <first : move a2a3
move to parse: a2a3

TC string = '+40/15'
mps=40 tc=900000 inc=0
CoordsToAlgebraic, piece=0

move: a2a3


H.G.Muller wrote:I also made it such that a PGN with PV info can now be read in without causing a very ugly layout on writing it again (basically duplicating the PV info).

I upgraded the WinBoard clock management to be able to handle arbitrary numbers of different time controls (like 40/60+20/15+5+1). I haven't added a mechanism yet to communicate this to the engines, though.

In the future I will use letter suffixes to distinguish various pre-release versions, this should avoid such confusion in the future.


Thanks that will be very helpful.
User avatar
Guenther Simon
 
Posts: 794
Joined: 26 Sep 2004, 19:49
Location: Regensburg, Germany

Re: WinBoard_F now has Chess960 support

Postby PulsarMike » 09 Apr 2008, 23:43

what is the current status of winboard f in terms of support for shatranj and fr in local home play and ics play? I'm still interested in releaseing a shatranj enabled engine but i've been holding off waiting for interface support.

thanks
Mike
User avatar
PulsarMike
 
Posts: 83
Joined: 27 Nov 2007, 00:01
Location: California

Previous

Return to Winboard and related Topics

Who is online

Users browsing this forum: No registered users and 15 guests