hgm wrote:Any substring of "fischer" or "random" is already recognized. I can easily add "960" and "frc" to that, which is what I will do for the next version.
As to the Baron, I would again have to see the debug file to diagnose the problem. I suppose it must be a problem with the Baron, as Glaurung and DanaSah play FRC with me without any problem. Did you first select "fischerandom", and if so, did you do it through the WinBoard command line or through the "New Variant" menu?
Engine selection was made from winboard.ini menu - first engine - and then "New variant" from File menu.
Here is the debug fiel. First I tried to play FRC against Baron, with black pieces and then with white. It did not play. Then a switched to normal chess, and it played, but an error happened when Baron tried to castle - obviously because it was a FRC version that was playing normal chess.
========================
Reset(1, 1) from gameMode 0
recognized 'fischerandom' (-1) as variant fischerandom
GameEnds(0, (null), 2)
112641 >first : force
112641 >first : ping 2
shuffleOpenings = 1
TC string = '+40/5'
mps=40 tc=300000 inc=0
TC string = '+40/5'
mps=40 tc=300000 inc=0
112656 >first : new
random
112656 >first : variant fischerandom
112656 >first : force
write FEN 50-move: 0 0 0
e0. p=-4
112656 >first : setboard nqrknrbb/pppppppp/8/8/8/8/PPPPPPPP/NQRKNRBB w FCfc - 0 1
112656 >first : ics -
112656 >first : level 40 5 0
112656 >first : sd 2
112656 >first : post
112656 >first : hard
112656 >first : easy
112656 >first : ping 3
112672 <first : pong 2
112719 <first : Error {Error on input}: syntax error, unexpected STRING, expecting FEN
112719 <first : Fen string has illegal formatpong 3
TC string = '+40/5'
mps=40 tc=300000 inc=0
TC string = '+40/5'
mps=40 tc=300000 inc=0
time odds: 1 1
121063 >first : time 30000
121063 >first : otim 30000
121063 >first : go
nps: w=-1, b=-1
121078 <first : move e2e4
Undoing extra move from first, gameMode 1
Interrupting first
121078 >first : undo
Reset(1, 1) from gameMode 1
recognized 'fischerandom' (-1) as variant fischerandom
GameEnds(0, (null), 2)
157656 >first : force
157656 >first : ping 4
shuffleOpenings = 1
TC string = '+40/5'
mps=40 tc=300000 inc=0
TC string = '+40/5'
mps=40 tc=300000 inc=0
157672 >first : new
random
157672 >first : variant fischerandom
157672 >first : force
write FEN 50-move: 0 0 0
e0. p=-4
157672 >first : setboard brkqrnnb/pppppppp/8/8/8/8/PPPPPPPP/BRKQRNNB w EBeb - 0 1
157672 >first : ics -
157672 >first : level 40 5 0
157672 >first : sd 2
157672 >first : post
157672 >first : hard
157672 >first : easy
157672 >first : ping 5
157672 <first : pong 4
157734 <first : Error {Error on input}: syntax error, unexpected STRING, expecting FEN
157734 <first : Fen string has illegal formatpong 5
release
4 1 2 4 1 2 Legality test? e2e4
FRC castling, 4 1 2 4 1 2
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=0 (4,1)-(4,3) -
4 1 2 4 1 2 Legality test? e2e4
FRC castling, 4 1 2 4 1 2
movetype=33, promochar=0=-
move: e2e4
, parse: e4 (
)
nps: w=-1, b=-1
nps: w=-1, b=-1
time odds: 1 1
165109 >first : time 30000
165109 >first : otim 30000
165109 >first : e2e4
165109 >first : go
(extra)
165125 <first : move e7e5
Undoing extra move from first, gameMode 2
Interrupting first
165125 >first : undo
Reset(1, 1) from gameMode 2
recognized 'fischerandom' (-1) as variant fischerandom
GameEnds(0, (null), 2)
177063 >first : force
177063 >first : ping 6
shuffleOpenings = 1
TC string = '+40/5'
mps=40 tc=300000 inc=0
TC string = '+40/5'
mps=40 tc=300000 inc=0
177063 >first : new
random
177063 >first : variant fischerandom
177063 >first : force
write FEN 50-move: 0 0 0
e0. p=-4
177063 >first : setboard qbnrkrbn/pppppppp/8/8/8/8/PPPPPPPP/QBNRKRBN w FDfd - 0 1
177063 >first : ics -
177063 >first : level 40 5 0
177063 >first : sd 2
177063 >first : post
177063 >first : hard
177063 >first : easy
177078 >first : ping 7
177109 <first : pong 6
177141 <first : Error {Error on input}: syntax error, unexpected STRING, expecting FEN
177141 <first : Fen string has illegal formatpong 7
Reset(1, 1) from gameMode 0
recognized 'normal' (-1) as variant normal
GameEnds(0, (null), 2)
182391 >first : force
182391 >first : ping 8
shuffleOpenings = 0
TC string = '+40/5'
mps=40 tc=300000 inc=0
TC string = '+40/5'
mps=40 tc=300000 inc=0
182406 >first : new
random
182406 >first : ics -
182406 >first : level 40 5 0
182406 >first : sd 2
182406 >first : post
182406 >first : hard
182406 >first : easy
182406 >first : ping 9
182438 <first : pong 8
182469 <first : pong 9
TC string = '+40/5'
mps=40 tc=300000 inc=0
TC string = '+40/5'
mps=40 tc=300000 inc=0
time odds: 1 1
186750 >first : time 30000
186750 >first : otim 30000
186750 >first : go
nps: w=-1, b=-1
186766 <first : move e2e4
machine move 0, castling = 7 0 4 7 0 4
move to parse: e2e4
7 0 4 7 0 4 Legality test? e2e4
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=0 (4,1)-(4,3) -
7 0 4 7 0 4 Legality test? e2e4
movetype=33, promochar=0=-
move: e2e4
, parse: e4 (
)
release
7 0 4 7 0 4 Legality test? e7e5
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=22 (4,6)-(4,4) -
7 0 4 7 0 4 Legality test? e7e5
movetype=33, promochar=0=-
move: e7e5
, parse: e5 (
)
time odds: 1 1
Interrupting first
188828 >first : time 29998
188828 >first : otim 29793
188828 >first : e7e5
188828 <first : move d2d4
machine move 2, castling = 7 0 4 7 0 4
move to parse: d2d4
7 0 4 7 0 4 Legality test? d2d4
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=0 (3,1)-(3,3) -
7 0 4 7 0 4 Legality test? d2d4
movetype=33, promochar=0=-
move: d2d4
, parse: d4 (
)
release
7 0 4 7 0 4 Legality test? e5d4
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=22 (4,4)-(3,3) -
7 0 4 7 0 4 Legality test? e5d4
movetype=33, promochar=0=-
move: e5d4
, parse: exd4 (
)
time odds: 1 1
Interrupting first
192797 >first : time 29998
192797 >first : otim 29396
192797 >first : e5d4
192797 <first : move d1d4
machine move 4, castling = 7 0 4 7 0 4
move to parse: d1d4
7 0 4 7 0 4 Legality test? d1d4
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=4 (3,0)-(3,3) -
move: d1d4
, parse: Qxd4 (
)
release
7 0 4 7 0 4 Legality test? b8c6
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=23 (1,7)-(2,5) -
move: b8c6
, parse: Nc6 (
)
time odds: 1 1
Interrupting first
194469 >first : time 29998
194469 >first : otim 29229
194469 >first : b8c6
194469 <first : move d4d1
machine move 6, castling = 7 0 4 7 0 4
move to parse: d4d1
7 0 4 7 0 4 Legality test? d4d1
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=4 (3,3)-(3,0) -
move: d4d1
, parse: Qd1 (
)
release
7 0 4 7 0 4 Legality test? g8f6
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=23 (6,7)-(5,5) -
move: g8f6
, parse: Nf6 (
)
time odds: 1 1
Interrupting first
197172 >first : time 29998
197172 >first : otim 28961
197172 >first : g8f6
197172 <first : move b1c3
machine move 8, castling = 7 0 4 7 0 4
move to parse: b1c3
7 0 4 7 0 4 Legality test? b1c3
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=1 (1,0)-(2,2) -
move: b1c3
, parse: Nc3 (
)
release
7 0 4 7 0 4 Legality test? f8b4
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=24 (5,7)-(1,3) -
move: f8b4
, parse: Bb4 (
)
time odds: 1 1
Interrupting first
199078 >first : time 29996
199078 >first : otim 28770
199078 >first : f8b4
199094 <first : move c1d2
machine move 10, castling = 7 0 4 7 0 4
move to parse: c1d2
7 0 4 7 0 4 Legality test? c1d2
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=2 (2,0)-(3,1) -
move: c1d2
, parse: Bd2 (
)
release
7 0 4 7 0 4 Legality test? e8g8
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=43 (4,7)-(6,7) -
7 0 4 7 0 4 Legality test? e8g8
move: e8g8
, parse: O-O (
)
time odds: 1 1
Interrupting first
200750 >first : time 29995
200750 >first : otim 28604
200750 >first : e8g8
200750 <first : move f1d3
machine move 12, castling = 7 0 4 7 0 -1
move to parse: f1d3
7 0 4 7 0 4 Legality test? f1d3
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=2 (5,0)-(3,2) -
move: f1d3
, parse: Bd3 (
)
release
7 0 4 7 0 -1 Legality test? f8e8
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=25 (5,7)-(4,7) -
move: f8e8
, parse: Re8 (
)
time odds: 1 1
Interrupting first
202406 >first : time 29995
202406 >first : otim 28439
202406 >first : f8e8
202406 <first : move g1e2
machine move 14, castling = 7 0 4 7 0 -1
move to parse: g1e2
7 0 4 7 0 4 Legality test? g1e2
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=1 (6,0)-(4,1) -
move: g1e2
, parse: Nge2 (
)
release
7 0 4 7 0 -1 Legality test? d7d5
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=22 (3,6)-(3,4) -
7 0 4 7 0 4 Legality test? d7d5
movetype=33, promochar=0=-
move: d7d5
, parse: d5 (
)
time odds: 1 1
Interrupting first
210063 >first : time 29993
210063 >first : otim 27675
210063 >first : d7d5
210078 <first : move f2f3
machine move 16, castling = 7 0 4 7 0 -1
move to parse: f2f3
7 0 4 7 0 4 Legality test? f2f3
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=0 (5,1)-(5,2) -
7 0 4 7 0 4 Legality test? f2f3
movetype=33, promochar=0=-
move: f2f3
, parse: f3 (
)
release
7 0 4 7 0 -1 Legality test? d5e4
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=22 (3,4)-(4,3) -
7 0 4 7 0 4 Legality test? d5e4
movetype=33, promochar=0=-
move: d5e4
, parse: dxe4 (
)
time odds: 1 1
Interrupting first
212000 >first : time 29992
212000 >first : otim 27482
212000 >first : d5e4
212016 <first : move f3e4
machine move 18, castling = 7 0 4 7 0 -1
move to parse: f3e4
7 0 4 7 0 4 Legality test? f3e4
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=0 (5,2)-(4,3) -
7 0 4 7 0 4 Legality test? f3e4
movetype=33, promochar=0=-
move: f3e4
, parse: fxe4 (
)
release
7 0 4 7 0 -1 Legality test? c8g4
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=24 (2,7)-(6,3) -
move: c8g4
, parse: Bg4 (
)
time odds: 1 1
Interrupting first
219469 >first : time 29990
219469 >first : otim 26737
219469 >first : c8g4
219500 <first : move h2h3
machine move 20, castling = 7 0 4 7 0 -1
move to parse: h2h3
7 0 4 7 0 4 Legality test? h2h3
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=0 (7,1)-(7,2) -
7 0 4 7 0 4 Legality test? h2h3
movetype=33, promochar=0=-
move: h2h3
, parse: h3 (
)
release
7 0 4 7 0 -1 Legality test? g4e2
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=24 (6,3)-(4,1) -
move: g4e2
, parse: Bxe2 (
)
time odds: 1 1
Interrupting first
221656 >first : time 29987
221656 >first : otim 26522
221656 >first : g4e2
221672 <first : move d1e2
machine move 22, castling = 7 0 4 7 0 -1
move to parse: d1e2
7 0 4 7 0 4 Legality test? d1e2
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=4 (3,0)-(4,1) -
move: d1e2
, parse: Qxe2 (
)
release
7 0 4 7 0 -1 Legality test? c6e5
TC string = '+40/5'
mps=40 tc=300000 inc=0
CoordsToAlgebraic, piece=23 (2,5)-(4,4) -
move: c6e5
, parse: Ne5 (
)
time odds: 1 1
Interrupting first
226844 >first : time 29985
226844 >first : otim 26004
226844 >first : c6e5
226859 <first : move e8c8
machine move 24, castling = 7 0 4 7 0 -1
move to parse: e8c8
7 0 4 7 0 4 Legality test? e8c8
GameEnds(40, xboard exit, 2)
Interrupting first
256531 >first : result * {xboard exit}
256531 >first : force
256531 >first : ping 10
256531 >first : quit