WinBoard/XBoard 4.8.0 released

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: WinBoard/XBoard 4.8.0 released

Post by hgm »

I did not get too trying that yet. I had the UCCI2WB sources on my Linux Machine, but not the Elephant-Eye stuff it needs, so I first have to collect that from other machines. (I still have no better way to transfer files to my Linux VM other than e-mailing them to myself... :cry: )
JoshPettus
Posts: 730
Joined: Fri Oct 19, 2012 2:23 am

Re: WinBoard/XBoard 4.8.0 released

Post by JoshPettus »

I guess you can get it here, pretty easily.

https://github.com/liangqi/xqwizard

Dropbox can be useful for transferring files. Otherwise i resort to the flash drive myself :)
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: WinBoard/XBoard 4.8.0 released

Post by Evert »

hgm wrote:Great! I added a link (and the screenshot) to the OSX App on my bonanza web page. I get surprisingly many hits on this page (for a Shogi page).

I will also announce it on the shogi-l mailing list.

Your description on WB forum for installing GPS Shogi made me realize XBoard's Load Engine dialog does not have a USI/UCCI checkbox. Now UCCI does not work on Linux anyway, for lack of a Linux-compatile UCCI2WB. (Although I guess people could use wine to run the Windows version.) But for Shogi it might be worth it to add an USI checkbox.

I pushed a commit to hgm.nubati.net that does that.
Great! I'll have to check that out too - the current version of Sjaak should "speak" UCI, USI and UCCI in addition to its native protocol. The only one that was ever properly tested was UCI though (but USI and UCCI are not so different from UCI, although some of the differences that are there are really annoying).

Of course, my interpretation of UCCI is based on what Google can make of the Chinese description, which requires some… creativity to interpret.
JoshPettus
Posts: 730
Joined: Fri Oct 19, 2012 2:23 am

Re: WinBoard/XBoard 4.8.0 released

Post by JoshPettus »

Ooh, I wonder if we could use your work to make a unix UCCI2XB plugin if the current one doesn't workout.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: WinBoard/XBoard 4.8.0 released

Post by Evert »

JoshPettus wrote:Ooh, I wonder if we could use your work to make a unix UCCI2XB plugin if the current one doesn't workout.
Doubt it. It doesn't map UCCI to XBoard, it understands UCI natively and tries to interpret the variations due to UCCI (from http://www.xqbase.com/protocol/cchess_ucci.htm).

In particular (warning: Google's version of Chenglish)
Eight, and the difference between the UCI
UCCI from UCI chess engine agreement common transplant, followed the instructions and feedback most of the UCI, but in order to meet the needs of Chinese chess software, made ​​the following changes:
(1) increase the banmoves instruction, because China has a long fight for the negative chess rules.
(2) the UCI feedback option name <option> type <type> ... simplified option <option> type <type> .... For example, UCI has option name Hash Size type spin on this feedback, and in the middle is the UCCI option hashsize type spin. Here removed the name key, as it always follows the option, seems superfluous. In addition, UCI allows the option of a plurality of words have sensitive composition (such as Hash Size), this is because the UCI interface directly to the option name is displayed on the dialog box. The UCCI options in word only an all-lowercase letters, because China using Chinese chess UCCI interface, it can not output Hash Size interface, but with the "replacement table" or other terms may be able to understand the Chinese. Thus, the interface is not as identifying a simpler hashsize (an all-lowercase letter word), and then translated into "replacement table."
(3) the UCI instruction setoption name <option> [value <value>] simplified setoption <option> [<value>]. Because UCCI option is a word, the contents after the second space is certainly value options, so the name and value becomes superfluous.
(4) UCCI clear the three states in which the engine, as well as the applicable instructions and feedback under these three states, as programming interface and engine provides a clear idea.
(5) UCCI to go time <time> opptime <time> time information in the form of the two sides communicated to the engine, not the UCI go wtime <time> btime <time>, which can simplify the operation time parsing engine, if the engine do not consider each other when used with the specified policy when, you can ignore opptime <time>.
(6) UCCI identified four kinds of thought patterns, making the parsing of a simplified instruction.
(7) UCCI prescribed position fen ... [moves ...] instruction FEN string before the current situation is the first child of the situation do not eat, talk later follow the law of the situation. The UCI is using the position startpos moves ... instructions, the chess game from start to finish of the law are all listed, will increase the pressure on the communication channel.
Good things: they use normal FEN (so you don't need the annoying sFEN-to-FEN conversion of USI) and normal algebraic notation (same as XBoard, again unlike USI), they have go time/opptime similar to XBoard's time/otim (as opposed to wtime/btime). Annoyingly, they changed setoption name <option> value <value> to setoption <option> <value>. Not that I think this is bad, but it makes it harder to treat it as simply a UCI dialect. Apparently they tell you to set up the position after the last irreversible move instead of sending the entire game history at the start of every search, but that sounds more like an implementation detail in that you could do the same thing in an UCI interface. I have no idea what 1, 4 and 6 mean though.

However, the really big WTF is that they apparently originally forgot to define that time is in milli-seconds, so now there are some engines that interpret the time as seconds and you're required to have an option to "switch" to milli-seconds, that the GUI will try to enable if you have it (a bit like XBoard's feature/accept hand-shake, but more hacky because UCI doesn't have anything like that).

Bear in mind though that although I've changed my UCI parser to understand these things, that just means that it can understand my interpretation of the differences between UCCI and UCI. And it hasn't been tested in a GUI that actually implements the protocol.
JoshPettus
Posts: 730
Joined: Fri Oct 19, 2012 2:23 am

Re: WinBoard/XBoard 4.8.0 released

Post by JoshPettus »

What a mess. :)

Anyhow, I updated the XboardSg.app to have the USI checkbox.
JoshPettus
Posts: 730
Joined: Fri Oct 19, 2012 2:23 am

Re: WinBoard/XBoard 4.8.0 released

Post by JoshPettus »

BTW I tried to compile Sjaak r524 on OSX and got this:

Code: Select all

Joshuas-MacBook-Pro&#58;~ herecomethej$ cd /Users/herecomethej/Downloads/Sjaak 
Joshuas-MacBook-Pro&#58;Sjaak herecomethej$ cd ./build
Joshuas-MacBook-Pro&#58;build herecomethej$ cmake ..
-- The C compiler identification is AppleClang 6.0.0.6000054
-- Check for working C compiler&#58; /usr/bin/cc
-- Check for working C compiler&#58; /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Found Subversion&#58; /usr/bin/svn &#40;found version "1.7.17") 
Current revision is Unversioned directory
-- Configuring done
-- Generating done
-- Build files have been written to&#58; /Users/herecomethej/Downloads/Sjaak/build
Joshuas-MacBook-Pro&#58;build herecomethej$ make
Scanning dependencies of target libsjaak
&#91;  3%&#93; Building C object CMakeFiles/libsjaak.dir/src/computer/computer.o
clang&#58; error&#58; no such file or directory&#58; 'directory"'
make&#91;2&#93;&#58; *** &#91;CMakeFiles/libsjaak.dir/src/computer/computer.o&#93; Error 1
make&#91;1&#93;&#58; *** &#91;CMakeFiles/libsjaak.dir/all&#93; Error 2
make&#58; *** &#91;all&#93; Error 2
Am I doing something wrong with cmake?
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: WinBoard/XBoard 4.8.0 released

Post by Evert »

One thing someone should do, once it's all clear, is write up a U{C,S,CC}I protocol description that highlights the differences between them.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: WinBoard/XBoard 4.8.0 released

Post by Evert »

JoshPettus wrote:BTW I tried to compile Sjaak r524 on OSX and got this:

Code: Select all

Joshuas-MacBook-Pro&#58;~ herecomethej$ cd /Users/herecomethej/Downloads/Sjaak 
Joshuas-MacBook-Pro&#58;Sjaak herecomethej$ cd ./build
Joshuas-MacBook-Pro&#58;build herecomethej$ cmake ..
-- The C compiler identification is AppleClang 6.0.0.6000054
-- Check for working C compiler&#58; /usr/bin/cc
-- Check for working C compiler&#58; /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Found Subversion&#58; /usr/bin/svn &#40;found version "1.7.17") 
Current revision is Unversioned directory
-- Configuring done
-- Generating done
-- Build files have been written to&#58; /Users/herecomethej/Downloads/Sjaak/build
Joshuas-MacBook-Pro&#58;build herecomethej$ make
Scanning dependencies of target libsjaak
&#91;  3%&#93; Building C object CMakeFiles/libsjaak.dir/src/computer/computer.o
clang&#58; error&#58; no such file or directory&#58; 'directory"'
make&#91;2&#93;&#58; *** &#91;CMakeFiles/libsjaak.dir/src/computer/computer.o&#93; Error 1
make&#91;1&#93;&#58; *** &#91;CMakeFiles/libsjaak.dir/all&#93; Error 2
make&#58; *** &#91;all&#93; Error 2
Am I doing something wrong with cmake?
Doesn't look like it.

My main development machine is a Mac and everything is fine here (the revision number is up to 546, but I haven't touched the build system since before 524)…

Oh, wait. Could you try hacking the CMakeList.txt file, around line 104, so that it just sets SVNVERSION to, say, 524 rather than "Unversioned directory", which is probably what it ends up as judging from your output?

However, note that the current development version of Sjaak actually has very little in common with the original (much of it was re-written from scratch).
JoshPettus
Posts: 730
Joined: Fri Oct 19, 2012 2:23 am

Re: WinBoard/XBoard 4.8.0 released

Post by JoshPettus »

Thanks, that worked! Though the line was originally:

Code: Select all

-DSVNVERSION=\\\"$&#123;Project_WC_REVISION&#125;\\\"")
Was it suppose to have put the version there automatically?

I was using 437 originally so I've been quite behind. :)
Is the development version out now? I didn't see it on your website.