Chenard source code updated

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

Chenard source code updated

Postby Ron Murawski » 29 Oct 2008, 04:19

Chenard source code is updated. It's nice to see Don Cross getting a little bit involved once again.
Here's his 'revision history' on this version:
Code: Select all
version 1.051  27 Oct 2008  Minor source code tweaks to fix errors building under Linux that had crept back into the code. Added a new script to build text-only version of Chenard under Linux.


It seems like no new compile is necessary.

Ron
User avatar
Ron Murawski
 
Posts: 352
Joined: 26 Sep 2004, 21:50
Location: Schenectady, NY, USA

Re: Chenard source code updated

Postby Dann Corbit » 29 Oct 2008, 06:50

Here is a 64 bit version:
http://cap.connx.com/chess-engines/new- ... henard.zip

And a game at 5 seconds/move (small bug in the output -- chenard does not write the game termination):
Code: Select all
[Event "?"]
[Site "?"]
[Date "2008.10.28"]
[Round "-"]
[White "Computer Player (Chenard)"]
[Black "Computer Player (Chenard)"]
[Result "1-0"]
[ECO "A26"]
[Variation "English: Closed, 5.d3 d6"]

1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. d3 d6 6. e3 Be6 7. Nge2 Qd7 8.
Nd5 Nge7 9. Rb1 O-O 10. O-O Nc8 11. b3 Nd8 12. Re1 c6 13. Ndc3 Bh3 14. Bxh3
Qxh3 15. Ne4 Ne6 16. Ba3 Rd8 17. Bb2 a6 18. Nd2 Rf8 19. Nf3 Ne7 20. Nc3 Nf5
21. Ne4 d5 22. Ned2 d4 23. exd4 exd4 24. Ne4 Rac8 25. Nfg5 Nxg5 26. Nxg5
Qh6 27. Bc1 Ne3 28. Nxh7 Qh3 29. fxe3 Qxh7 30. Bb2 dxe3 31. Rxe3 f5 32. Qf3
Bxb2 33. Rxb2 Kf7 34. Rbe2 Rfe8 35. Qf4 Rxe3 36. Qxe3 Kf8 37. Qc5+ Kg8 38.
Qd6 Rf8 39. Re7 Qh6 40. Qe6+ Kh8 41. Qe5+ Kg8 42. Rxb7 Qc1+ 43. Kf2 Qd2+
44. Qe2 Qxe2+ 45. Kxe2 f4 46. Ra7 Re8+ 47. Kf2 Rf8 48. Rxa6 fxg3+ 49. Kxg3
Rc8 50. d4 Kg7 51. h4 Kh6 52. Ra5 Re8 53. Rc5 Re4 54. Rxc6 Rxd4 55. Ra6
Rd3+ 56. Kf2 Rh3 57. Ra8 Kg7 58. c5 Rxh4 59. Ra6 Rf4+ 60. Kg3 Re4 61. Rb6
Re3+ 62. Kg4 Re1 63. a4 Rg1+ 64. Kh3 Ra1 65. Rb5 Ra3 66. a5 Kf6 67. Kg4 Ra1
68. Rb6+ Ke5 69. b4 Rg1+ 70. Kf3 g5 71. b5 g4+ 72. Ke2 Ra1 73. a6 Ra2+ 74.
Kf1 Ra1+ 75. Kg2 Kf5 76. Rb8 Ra2+ 77. Kf1 Ra1+ 78. Ke2 Ra2+ 79. Ke3 g3 80.
c6 Ra3+ 81. Kd4 Ra4+ 82. Kd5 Ra1 83. Rf8+ Kg5 84. c7 Rd1+ 85. Kc6 Rc1+ 86.
Kb6 g2 87. Rg8+ Kf4 88. Rxg2 Kf3 89. Rg7 Kf4 90. a7 Kf5 91. a8=Q Rxc7 92.
Kxc7 Kf6 93. Qf8+ Ke5 94. Rg4 Ke6 95. Re4+ Kd5 96. Qf5# 1-0
Dann Corbit
 

Re: Chenard source code updated

Postby Don Cross » 13 Nov 2008, 16:41

Hi Dann,

This is Don Cross, the author of Chenard. That's cool that you ported Chenard to 64-bits. You might be interested to know that I have fixed the PGN bug you mentioned, along with some other fixes and improvements:

http://cosinekitty.com/chenard

So, did you run into any difficulties compiling as a 64-bit app? Are there any code changes I should make it easier for other people to do this?

Thanks,

Don
User avatar
Don Cross
 
Posts: 29
Joined: 13 Nov 2008, 04:13
Location: Florida, USA

Re: Chenard source code updated

Postby Dann Corbit » 13 Nov 2008, 21:59

CosineKitty wrote:Hi Dann,

This is Don Cross, the author of Chenard. That's cool that you ported Chenard to 64-bits. You might be interested to know that I have fixed the PGN bug you mentioned, along with some other fixes and improvements:

http://cosinekitty.com/chenard

So, did you run into any difficulties compiling as a 64-bit app? Are there any code changes I should make it easier for other people to do this?

Thanks,

Don


Actually, the port was pretty trivial. There were a few little tweaky things like inline assembly is a no-go. So, for instance:
Code: Select all
#ifndef __DDC_CHESS_32_H
#define __DDC_CHESS_32_H
#include <stdlib.h>

#if defined(_WIN32) && defined(_DEBUG)
#ifdef WIN64
   #define BREAKPOINT() _set_abort_behavior( 1, _CALL_REPORTFAULT), abort();
#else
    #define BREAKPOINT()    __asm int 3
#endif
#else
    #define BREAKPOINT()    ((void)0)
#endif
Dann Corbit
 

Re: Chenard source code updated

Postby Don Cross » 13 Nov 2008, 23:03

Another thing I would be concerned about is binary file compatibility for the endgame databases I have on my web site. I use types like 'unsigned' in the struct that I write as the header for each *.egm file. If you use 64-bit Chenard to generate the databases yourself (e.g. run "winchen.exe -db"), it will probably work. But if you download and unzip the ones I generated with the 32-bit code, it probably won't. I need to fix the source code to work across machines with different endianness also.

- Don
User avatar
Don Cross
 
Posts: 29
Joined: 13 Nov 2008, 04:13
Location: Florida, USA


Return to Winboard and related Topics

Who is online

Users browsing this forum: No registered users and 24 guests