Chess (not only) for Unix

Shredder for Linux

Finally one of the strongest and major commercial chess engines made it into the Linux World. Instructions how to integrate this excellent engine smoothly into a Linux environment can be found here

Scotty

Scotty is a simple startup utility for xboard that is designed to replace the most common commandline parameters used for xboards invocation. It might be handy if one wants to use different chess engines, especially the DGT Engine mentioned below.
Scotty is entirely written in Python with PyGtk. It is configured right within Scotty.py, just look at the variables at the top of the file. Please note that some settings are read from the enviroment, but you can adopt this. See also the included
chessenv
script. Also note: the themes defined for the theming support are NOT included to keep the distribution small.
Some Themes for xboard can be found here. Use the -pixmap-option to load them. A screenshot of one of them also using xboard setup for .Xdefaults.

DGT Engine for Linux (BETA)

Using the DGT Universal Chessboard with Linux was currently only possible with crafty. As crafty offers a quite elegant way to implement DGT support it was possible to create a UCI and xboard compatible engine out of that code, that can be use with any uci- or xboard-compatible chess GUI. The initial idea arrose from the "engine turnament mode" of xboard. Actually with the DGT Driver Engine 1 it is now possible to play against any other engine by just faking xboard to run an engine turnament between the DGT Driver and the normal chess engine. To this end just call xboard like (NOTE THE QUOTES!)
			xboard -fcp ChessEngine -scp 'dgtdrv /dev/ttyS0 rb'
		
if the board is connected to your first serial port. The "r" specifies the location of the DGT connector viewed from the white pieces, b would tell the driver to send only black moves. (Note: if you want to play white, the dgtdrv hast to be the first chess engine, ie. swap -fcp and -scp, and specify rw). If the connector is to the left replace the r by l.
Unfortunately no chess GUI till now supports the DGT Driver Engine natively so one can not (yet?) take advantage of the more complex features. Actually it implements the same featureset as the DOS-DLL from DGT. (Or at least it tries...)
This project has evolved to a much enhanced version and is now available from dgtdrv@SourceForge. This new version also supports USB boards as well as serial boards using an serial to USB adaptor.

OpenChess for PalmOS

Support OpenChess Support OpenChess! Support OpenChess
OpenChess is free und the GNU General Public License. Note that all commercial versions derived from it are therefore illegal and discouraging the author from continuing this excellent project.

To create books for the excellent Opening Trainer pgn2book is required. Currently the author does not release the source of this tool cause of the many illegal commercial copies of OpenChess floating arround. Though I personally does not support this I can understand this though. Additionally you need some pgn files (at best: annotated ones) for your opening lines.
Or you can get a quite good sample of books for OpenChess from the SK Kaltenkirchen which converted their Opening School. (The annotations are in german though.)
Since V2 OpenChess supports usersupplied Pice Sets (V2).
For the upcoming release these had to be recompiled Pice Sets (V3). Here are some ScreenShots of these pieces. (Taken from V3.)
(Click on the image to enlarge)

crafty

Almost all versions need gcc 2.95 to build. If you want to use a DGT Universal Chessboard with crafty then don't forget to build the dgt binary with
				gcc -O2 -o dgt dgtdrv.c
			
The original Crafty Makefile doesn't build this binary.
To use the dgt chessboard you have to issue the undocumented "dgt" command within crafty. If your board is connected to /dev/ttyS0 just issuing "dgt" should work fine. If you use another COM-port you can place give it as a parameter to the dgt-command. Try something like "dgt /dev/ttyS1".
NOTE: Due to the implementation of the dgt interface it is absolutely necessary that the crafty binary is named "crafty" and the dgt-binary "dgt". Additionally the dgt-binary has to be placed within the directory where you run crafty from. (A symbolic link works.) If you fire up the dgt-interface and just get a defunc-crafty task eating up 100% of your CPU then most likely it didn't find you dgt chessboard (check cabeling, power connection and COM-port) or it didn't find the "dgt" binary.
Patched Version 19.8 (binary, i686 Linux, RedHat 9, gcc 3.2.2rh-5)
Patched Version (binary, i686 Linux, RedHat 9, gcc 2.95-3)
This is a binary build of Crafty 19.3 including DGT Universal Chessboard interface and a simple sound output routine for usage with this board. This binary is statically linked so it should run on whatever Linux you're using.
19.8 Patched Version Source
Patch file to apply against original 19.8 Source
19.3 Patched Version Source
The Source for the above patched version. Note that you will need a gcc 2.95 to build the binary for 19.3. It will not compile with gcc 3.x. (At least it didn't compile on my RedHat 9 Box.)
Crafty 19.8 will build on RedHat 9 using it's own gcc 3.2.2. It also compiles without problems using Intel's icc 8.
Newer version of crafty have all thes patches built in.

Announcing moves

To get crafty announcing moves by voice (hady if you're using a dgt board) you need some sound files for the name of the pieces, the squares and so on. The easiest way is to get them from the Arena project where such files are available in several languages. Just download one of the sma-archives. Then you have to rename the files (just to keep the craftyspeak-script simple) or adopt craftyspeak accordingly. The current version of craftyspeak just takes a move in the international short notation and spells it out using the soundfiles. So you need files named
               B.wav      K.waw      Q.wav  
               N.wav      R.wav
               a.wav      b.wav      c.wav
               d.wav      e.wav      f.wav  
               g.wav      h.wav      x.wav  
               1.wav      2.wav      3.wav  
               4.wav      5.wav      6.wav  
               7.wav      8.wav
               Resign.wav 
               Checkmate.wav   Stalemate.wav
               Drawaccept.wav  Drawoffer.wav
               O-O-O.wav       O-O.wav
				
Look into craftyspeak an place these files in the path pointed to by the variable $soundpath/$language. The default ist
               /opt/chess/share/sound/english
				
If you are not using the Enlightment Sound Daemon you may want ot replace the $playprg by your appropriate wav-player. In case you don't know what to use just try "play".
NOTE: You have to enable alarms with the "alarm on" command for crafty to say anything. You might want ot put it into your .craftyrc.
NOTE 2: No, it is not possible to use the dgt interface while crafty is running as an engine for xboard. Placing the "dgt" command in your .craftyrc doesn't work out. Move announcements should work though.
You can get the sound files for german and english here.

Annotations in TeX

Crafty 19.8 has been patched to allow for annotations written in LaTeX format. To compile the LaTeX source produced you will need bdfchess and a working LaTeX distribution. Note that TeXLive allready includes all the things you need, whereas most Linux distributions don't include the style files necessary. (For debian there is a package available through the usual apt-path.) Usage:
annotatet
creates annotations in LaTeX format. By default the layout is similar to Chess Informator. The paramters are identical to those used for annotate or annotateh, in fact the code is mainly a translation of the html-annotations.


Back to Theory II   Physics department homepage   Universität Würzburg