Eschecs, a simple GUI written in Pascal

Discussion of chess software programming and technical issues.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
lauriet
Posts: 175
Joined: Sun Nov 03, 2013 8:32 am
Contact:

Re: Eschecs, a simple GUI written in Pascal

Post by lauriet » Tue Dec 17, 2019 9:55 pm

Hey, why not link to ltchess for an engine in pascal.

User avatar
Roland Chastain
Posts: 336
Joined: Sat Jun 08, 2013 8:07 am
Location: France
Full name: Roland Chastain
Contact:

Re: Eschecs, a simple GUI written in Pascal

Post by Roland Chastain » Wed Dec 18, 2019 9:05 am

lauriet wrote:
Tue Dec 17, 2019 9:55 pm
Hey, why not link to ltchess for an engine in pascal.
Hello! Thank you for your message. I know LTChess. I believe that it has only a custom text interface: it doesn't use a standard protocol. Am I wrong?

So I would be glad to include LTChess, but it would need an UCI interface. (The current version of Eschecs only supports UCI protocol.)

It's true that, since LTChess is a Pascal program, I would be possible to link it directly (as a Pascal unit) to the graphical interface. This is how I started, but this is no longer the philosophy of the project. If you are interested in such a solution, I could provide you an old version of Eschecs, where one of my programs is included directly, as a Pascal unit, into the main program. You could even use the current version of Eschecs to do that. There would be only some little modifications to do. If you like, feel free to do so.

I could also try to help you to add an UCI interface to LTChess. Up to you. :wink:

lauriet
Posts: 175
Joined: Sun Nov 03, 2013 8:32 am
Contact:

Re: Eschecs, a simple GUI written in Pascal

Post by lauriet » Wed Dec 18, 2019 10:33 pm

Yes, I would like you to help to provide the interface.

Regards
Laurie

User avatar
Roland Chastain
Posts: 336
Joined: Sat Jun 08, 2013 8:07 am
Location: France
Full name: Roland Chastain
Contact:

Re: Eschecs, a simple GUI written in Pascal

Post by Roland Chastain » Thu Dec 19, 2019 5:39 pm

lauriet wrote:
Wed Dec 18, 2019 10:33 pm
Yes, I would like you to help to provide the interface.
OK. Before I start, please keep in mind that I am not an expert. I just explain to you a way to make an UCI interface for your engine, so it can work with the current version of Eschecs.

The main program will be something like this:

Code: Select all

var
  LCommand: string;
  
begin
  while not EOF do
  begin
    ReadLn(LCommand);
    
  end;
end.
That is, you read the commands sent by the GUI, and you do something for each command.

The first command that the engine receives is "uci". The engine should answer something like:
id name LTChess 1.0
id author Your Name
uciok
Pascal code:

Code: Select all

var
  LCommand: string;
  
begin
  while not EOF do
  begin
    ReadLn(LCommand);
    if LCommand = 'uci' then
    begin
      WriteLn('id name LTChess 1.0');
      WriteLn('id author Your Name'));
      WriteLn('uciok');
    end else
    ...
  end;
end.
The other commands that the engine must know are "position ..." (to set the position), "go ..." (to search for the best move) and of course "quit".

I think this is enough to give you a first idea of the thing. To see the syntax expected by Eschecs for each command, please take a look at this file.

Feel free to ask a question if something is not clear.

The full UCI protocol specification is available here.

Good luck!

Regards.

Roland

P.-S. I forgot the commands "ucinewgame", "isready" and "stop".

User avatar
Roland Chastain
Posts: 336
Joined: Sat Jun 08, 2013 8:07 am
Location: France
Full name: Roland Chastain
Contact:

Eschecs 5.0.2 released

Post by Roland Chastain » Thu Dec 26, 2019 5:20 pm

Hello! Eschecs 5.0.2 is available.

It's the second attempt to fix the bug reported by Martin (application freezing when a piece was dropped out of the chessboard). Now, when the user drags a piece out of the chessboard, the move is aborted.

There are only binaries for Windows, since the Linux version (unless I am mistaken) was not affected by this bug. Linux users, if they exist, can continue to use the 5.0.0 version. :wink:

Two new engines are included: Moustique 0.3 and Pharaon 3.5.1.

Regards.

Roland
mar wrote:
Thu Dec 12, 2019 2:15 pm
Roland Chastain wrote:
Sat Nov 30, 2019 5:38 am
Fixed bug of application crashing when a piece was dropped out of the window.
Hmm, I got another access violation when I mistakenly dropped a piece at the border of the chessboard while capturing

User avatar
Roland Chastain
Posts: 336
Joined: Sat Jun 08, 2013 8:07 am
Location: France
Full name: Roland Chastain
Contact:

Eschecs 5.0.5

Post by Roland Chastain » Thu Jan 09, 2020 5:25 pm

Hello! Eschecs 5.0.5 is available.

Here's what's new, compared to the previously announced version.
  • Italian translation. Thanks to Marcello Basso.
  • ECO opening names (english only). The data have been extracted from the file ECO.TXT, that I have downloaded on the Lokasoft website. Thanks to Ed Schröder.
  • New engines: CT800 1.34, Little Wing 0.6.0, N.E.G. 1.2 (Windows only).
Hope you will like it.

Regards.

Roland

Post Reply