Chess Programs


A program to run Swiss tournaments using the Arena Chess GUI in Windows.

Current version: 0.3f       Released: 4 December 2014
    SHA-1: E32E8F1E7FBF9A4169B00DD3E2FABB64686D36D5

This download contains the required program files as well as the source code. It is released under the GNU GPL license. Please read the enclosed text files README.TXT and COPYING.TXT for more details. In particular, you must edit the ArenaSwiss.ini file to configure it for your PC.

What's new

 Graham O'Neill, New Zealand

**** Version 0.3f ****
04 Dec 2014 ArenaSwiss Version 0.3f released
             (added)    Pairings screen now shows current positions.
             (fixed)    Handles path names with trailing '\' character.
             (fixed)    Reading details from extra long lines in ArenaEng.cfg
             (fixed)    Headings in HTML table output.
             (improved) Type 'play' instead of 'continue' when paused.

**** Version 0.3e ****
15 Aug 2014 ArenaSwiss Version 0.3e released
             (added)    Option to automatically pause before a new pairing.
             (added)    Timeout option when pausing for new pairing or round.
             (added)    Can set INI file name from program parameter.
             (added)    Setting all work file names from INI file.
             (added)    Setting PGN/TXT/HTML/LOG indicators and file names from
                        'Files' tab in Arena tournament.
             (added)    TXT/HTML table contents set on 'Table' tab in Arena.
             (added)    Option for TieBreak using ELO change.
             (fixed)    Participants sort routine bug when ELO or TieBreak zero.
             (improved) Retains results of previous games in pairing when
                        tournament restarted.
             (improved) Author,Country,Win percent added to TXT/HTML tables.
             (improved) HTML file uses CSS classes.

**** Version 0.3d ****
25 Jul 2014 ArenaSwiss Version 0.3d released
             (added)    Added Byes when number of participants is odd.
             (added)    Calculation of ELO change (ArenaSwiss.log shows details).
             (improved) 'Fine' changed to 'Tie Break' including in the INI file.
             (improved) Text file columns reordered.

**** Version 0.3c ****
16 Jul 2014 ArenaSwiss Version 0.3c released
             (added)    Ability to specify how games are numbered in the PGN file.
             (fixed)    Name of 'Event' in the PGN file.
             (fixed)    Games deleted from PGN file if pairing cancelled in Arena.
             (improved) Method of running multiple games per pairing.
             (improved) Results written to text file as they happen.

**** Version 0.3b ****
03 Jul 2014 ArenaSwiss Version 0.3b released
             (added)    Option to specify how many games are played in each pairing.
             (added)    Ability to change games per pairing on pause screen.
             (fixed)    Can no longer have more rounds than participants.
             (fixed)    Games numbered correctly in PGN file.
             (fixed)    Arena no longer pauses after each game if PGN not being saved.

**** Version 0.3a ****
16 Jun 2014 ArenaSwiss Version 0.3a released
             (added)    Can now read the manually entered ELO from Arena file.
             (added)    Ability to pass ELO of human players to ArenaSwiss.
             (added)    Option to display game results on the screen.
             (added)    Options to automatically pause before human, board
                        computer, specified engines games or a new round.
             (fixed)    Time control display not always correct.
             (fixed)    Check for invalid punctuation in tournament name.
             (fixed)    Identify when game has been cancelled in Arena.
             (improved) Reading INI file less sensitive to extra spaces in lines.
             (improved) Reconfirmation if discarding results from interrupted
             (improved) File naming more consistent. Can now interrupt one
                        tournament, run another and then return to first by
                        changing INI file.
             (improved) Unnecessary files now deleted at end of tournament.
             (improved) Text file output includes cross table results.
             (improved) Format of Text and HTML file outputs.
             (improved) Games now sorted based on player positions.
             (improved) Pressing P to pause tournament now more reliable.
             (improved) Program file has an icon.
             (internal) Moved to Lazarus IDE for Free Pascal.
             (internal) Tidied up program layout, procedure names etc.

 Eberhard Jiritschka, Cologne, Germany

**** Version 0.2b ****

23 Aug 2009 Bugfix: didn't work with spaces in directory names.
             Thanks to Dalil for reporting.

05 Aug 2009 Bugfix: didn't read result correctly with some region schemes
             (comma inspite of point as decimal delimiter)
             Thanks to Christoph Scholz for reporting.    

08 Jul 2009 ArenaSwiss Version 0.2b released
           - Pairing methods Fide and Accelerated now consider the actual
             frequencies of the scores. Furthermore, if the group of players
             with the same score is an uneven number the last player is
             assigned to the next group. Now these methods are quite close
             to the official rules.
           - Resume: You can quit ArenaSwiss at any time (even with <Ctrl><C>
             if you have to but by loosing the running game) and resume the
             tournament later. Auto detects unfinished tournaments and asks
             wether to continue or start from scratch.
           - Program screen more informative
           - some basic interaction via in-program command line:
             You can change round number, pairing method, fine score
             calculation and shutdown behavior while the tournament is paused.

**** Version 0.1b ****

26 Jun 2009 Bugfix: didn't display time control correctly in some cases.

25 Jun 2009 ArenaSwiss Version 0.1b released 


I've always found it interesting watching two chess programs play each other, and the Arena interface 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.

When I saw it was written in Pascal I decided it would be a good opportunity to reacquaint myself with a language I hadn't used in over 30 years, and I ended up creating this new version of the program. It's compiled for Windows using the Lazarus IDE but there are different versions of Lazarus for different platforms, so it should be possible to recompile the source code for Linux.

It still runs in a text based 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.

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
    SHA-1: CED9530D25BFA1FA5B387324B5E142B39932DDDA

This download contains the required program files as well as the source code. It is released under the GNU GPL license. Please read the enclosed text files README.TXT and COPYING.TXT for more details. In particular, you must edit the CM_opk.ini file to configure it 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.

Current version: 1.0       Released: 22 September 2017
    SHA-1: 40CD5E493A867510D2754C56802B4243B49D39E0

This download contains the required program files as well as the source code. It is released under the GNU GPL license. Please read the enclosed text files README.TXT and COPYING.TXT for more details.

Novag 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, 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 and LucasChess but I hope to add support for other interfaces in the future. The programs are for Windows only, but it might be possible to recompile them for Linux.
Please see the enclosed README.TXT file for instructions.

UCI and Winboard

Current version: 2.1       Released: 5 April 2017
    SHA-1: 69DBE111603888AE0720A3F435FF1DD8F0595805


Current version: 1.1       Released: 15 April 2017
    SHA-1: 0A323E6BB7B7E6F0D13D64FB175A32BB76EF4971

These downloads contain the required program files as well as the source code. They are released under the GNU GPL license. Please read the enclosed text files README.TXT and COPYING.TXT for more details.


All comments are moderated before being posted here, so please be patient. English only please!

Eberhard Jiritschka 3 January 2017

Dear Graham,

Googling for myself I found your site taking my little ArenaSwiss project to new shores -- New Zealand's obviously!

I'm really pleased to see that there is someone still bothering and someone who was willing to follow my spaghetti coding.. haha
I never thought anybody would care after I left it alone and I'm happy the initial effort is not lost.
Perhaps somebody else will pick it up once...

All the best and Happy New Year!

from Cologne/Germany