ArenaSwiss

I've always found it interesting watching two chess programs play each other, and the Arena Chess GUI provides a good way of doing this. However it only allows for round robin (all play all) and gauntlet (one plays many) type competitions. In chess it is very common to have Swiss style tournaments where each round has players paired against others with the same number of points. Arena doesn't provide for this, but I found a program called ArenaSwiss by Eberhard Jiritschka from 2009 that interfaced with Arena. I took his program and updated it to create this new version.
It runs in a text based DOS style window, and at first I was thinking of changing it to a more modern graphics based screen. After using it for a while I have found the current screen works reasonably well so I might not bother.

Current version: 0.4a       Released: 12 November 2019

The download contains the program, source code and GPL license. You should look at the README.TXT file as it provides all the information you need to amend the ArenaSwiss.ini file for your PC.

Note: If you are using an older version of ArenaSwiss complete any running tournaments before loading this new program.

ArenaCup

Having provided for Swiss tournaments I thought I'd create a program to run knockout Cup tournaments too. The program allows for random and seeded pairings, multiple games per pairing and so on. It also runs in a text based DOS style window, which will change if I ever get around to changing ArenaSwiss!

Current version: 0.2       Released: 22 May 2019

The download contains the program, source code and GPL license. You should look at the README.TXT file as it provides all the information you need to amend the ArenaCup.ini file for your PC.

Chessmaster in Arena

One of the programs I wanted to use in Arena was TheKing from Chessmaster, but you can't just copy the file TheKing.exe into Arena due to its copy protection. I found out online how extract the security code ("OPK") using log files created by the Crafty chess engine, but doing this manually each time I wanted to use TheKing was too much work. So I wrote this program to automate it.
In January 2016 I finally managed to test it with the Grandmaster Edition (Chessmaster 11) and made a few small changes to my program and the instructions.

Current version: 1.4       Released: 3 January 2016

The download contains the program, source code and GPL license. You should look at the README.TXT file as it provides all the information you need to amend the CM_opk.ini file for your PC. Of course, you also need a (licensed!) copy of Chessmaster.

Opening book conversion (OBK, ABK, BIN)

The opening book editor in Chessmaster is very good but it only saves files in its own OBK format. These programs allow you to convert opening book files between Chessmaster OBK, Arena ABK and Polyglot BIN formats for use in other programs. During the conversion you can also output PGN and TXT versions of the files.

Note that converting from Polyglot files, which contain records for each position, to any of the other formats, which contain lists of moves, will always be difficult and is unlikely to be successful on large files.

Current version: 1.0       Released: 22 September 2017

The download contains the various programs, source code and GPL license. You should look at the README.TXT file for details about how to use the programs.

UCB drivers

The existing, and very old, drivers for the Novag Universal Electronic Chess Board weren't working very well for me so I wrote some new ones. I first updated the documentation of the UCB communication commands and used this to write UCI and Winboard chess "engines" to control the UCB. I have tested them with Arena and Chessmaster for normal chess, including starting from a specific position (FEN) and from a series of moves (PGN).

But using an engine to control the board has many limitations so I then wrote a DLL version. This partially imitates the driver that is used by many interfaces to control DGT's e-boards. Currently it has only been tested in Arena, LucasChess and Shredder but I hope to add support for other interfaces in the future. The programs are for Windows only, but it might be possible to amend them for Linux.

I tidied up the code a lot when I was updating for a new release of LucasChess and preparing for the new Millennium and Certabo versions. Unfortunately when writing the Millennium program I made a mistake and used that to write a lot of data very fast to my UCB. That seems to have burnt out the input buffer on my board, which now refuses to receive any signals from my computer. If you have a UCB make sure you only use the UCB driver!

The current versions of LucasChessR (from R0.35a) already include this driver so there is no need to download it for that program unless you also want to see the source code.

The README.PDF file included in the downloads gives instructions.

UCI and Winboard

Current version: 2.1       Released: 5 April 2017

DLL

Current version: 2.0       Released: 16 November 2020

DLL driver

I saw that Lars Nowak had written UCI drivers for the Certabo board and realised that I could modify my UCB DLL program to control that board too. He kindly sent me the technical information and agreed to help me test it as I didn't have a board. However he was unable to access his board for a while so I contacted Pietro at Certabo. I still can't believe how much time Pietro spent helping me considering how many other projects he is working on. I was so impressed I ended up buying one of his boards (the Fazio model)!

So this is my first version of the driver and like the UCB DLL driver currently only works in Windows with Arena, LucasChess and Shredder. At this stage I was trying to keep the UCB, Certabo and Millennium drivers as similar as possible, but in the future I hope to add position setup using the board and support for Chess960, neither of which will be possible with the UCB.

The current versions of LucasChessR (from R0.35a) already include this driver so there is no need to download it for that program unless you also want to see the source code.

Please see the enclosed README.PDF file for instructions.

Current version: 1.1       Released: 21 November 2020

Chess Link DLL driver

Lars Nowak also had UCI drivers for the Millennium Chess Link so I made another version of my UCB DLL program. Again, he sent me the technical information and helped me test it. I don't have a Millennium board so I haven't been able to try it myself but a lot of the code is the same as the Certabo so it should work OK. I have written it so that the LEDs behave in a similar way to the UCB and like that driver it allows for normal chess with takeback moves and so on.

Like the other DLL drivers it currently only works in Windows with Arena, LucasChess and Shredder. At this stage I was trying to keep the UCB, Certabo and Millennium drivers as similar as possible, but in the future I hope to add position setup using the board and support for Chess960, neither of which will be possible with the UCB.

The current versions of LucasChessR (from R0.35a) already include this driver so there is no need to download it for that program unless you also want to see the source code.

Please see the enclosed README.PDF file for instructions.

Current version: 1.1       Released: 21 November 2020

List COM Ports

The engines and drivers above communicate with the electronic boards using a COM port on your computer. They generally work well, but the one area that can sometimes be a problem is knowing which COM port the board is connected to. This utility program simply lists the COM ports that my program finds on your PC, as well as giving a button to copy that list into the clipboard so you can paste it into an email for example. There is also a button to start Windows Device Manager so you can compare the ports my program thinks exist to those Windows has.

If your board is working with no problems you do not need this program, but if you are having trouble connecting your board it might help identify what the problem might be.

Current version: 1.0       Released: 22 November 2020

Implement DLL files in a GUI

Having written the drivers for the UCB, Certabo and Millennium boards I thought it would be a good idea to write a document explaining how a GUI author could use them. The DGT documentation is thorough and detailed but would require quite a lot of studying in order to implement it. My document explains a basic method of implementing DGT eBoard support in a GUI, which when combined with my drivers will also allow the use of Certabo, Millennium and Novag UCB boards.

Current version: 1.1       Released: 6 September 2020