How to use Winboard auto232 adaptors

Home |Articles | Links | Guestbook| Chat | Bookmark|
Monitor page
for changes

   it's private   

by ChangeDetection


The history and use of auto232 player together with Winboard has being detailed in Auto232 and Winboard. In this article, we will focus on the specific steps needed for various common and some not so common uses of auto232 players (in particular Eberhard Boerger's winboard auto232 adaptor) on One computer . Of course the methods described here are also applicable if you want to link up two computers.

To recap, auto232 player is a protocol designed by Christian Donninger to allow 2 programs to interface with each other. Winboard itself does not support auto232 directly, although you can use Eberhard Boerger's Winboard auto232 adaptor (which we will refer to Winboard auto232 adaptor from now) to connect with any other auto232 interfaces.

Before this is a complicated subject, I have subdivided it in the following way. The first section, lists 3 ways of using auto232. The first method of using auto232 is to link up 2 auto232 enabled interface. The second method is to link up a auto232 interface and a Winboard interface and the last is an experimental way to link up 2 winboard interfaces through a auto232 winboard adaptor. This section will explain how to set up such a link between interfaces and explains why it works in general terms.

Because linking two auto232 interfaces together is simple, the rest of the article will concentrate on the other 2 methods. The next section will introduce the common interfaces and engines that will be used in the specific examples covered in the next section.

The last section will state the steps needed for each method, before ending with a specific example.  In particular, users who are seeking a way to get Fritz/Junior or Chessbase versions of Shredder and Tiger to run in FICS/ICC might be interested in this section.

Three ways of using auto232

To understand how auto232 works you need to be familiar with the difference between the "slave" and "master" interfaces.

Slave interface  : This is the interface that you set up first. Once setup,  it will go into standby mode, to wait for the master interface to initiate connections.

Master interface : This is the interface that you set up next. As the name suggests , it will be the interface that controls when the  game begins. Once you click "start" (or go or whatever), on the master interface the auto232 connection will be made to the waiting slave interface and the game will begin. Normally the engine that you want to play White first is set up in the master interface.

When setting up, be sure to setup the same time control for the engines in both interfaces, as well as other parameters (hash tables,opening books etc) needed for the engine, because once the match begins you cannot pause the match to make changes.
Also make sure that both interfaces on running on different COM Ports.

A) Auto232 interface with auto232 interface

To link up 2 auto232 enabled interfaces (for example Arena and Fritz) is simple ,and requires no auto232 adaptors at all. The basic steps involve setting up the 2 engines in different interfaces, and startup the auto232 option. One thing to note is that, unlike normal engine versus engine matches in the same interface, the option to play such a match through auto232 is usually accessed under a different menu.(Usually "two machine match" or something similar)

Interface White Black Status
Auto232 interface 1 Chess Engine 1 NA Master
Auto232 interface 2 NA Chess Engine 2

 Note: In this case, both interfaces will only have one active engine (not so for the next case as you will see) , so it doesn't really matter if both are "white" before the game begins.If setup correctly, the engine in the slave interface will automatically play black. 

B) Auto232 interface with Winboard but non-auto232 enabled interface

This is how the setup looks like.
Interface White Black Status
Auto232 interface Chess Engine 1 NA Slave
Winboard compatible interface Chess Engine 2 Winboard Auto232 adaptor Master

Although Winboard interfaces generally do not support auto232, Winboard auto232 adaptor enables you to connect to auto232 interfaces. On the Winboard compatible interface, you set up a normal match between 2 engines. The catch of course is that one of the other "engines" is actually the Winboard auto232 adaptor. Of course the winboard adaptor is not an engine at all, but a middleman to relay moves sent from the auto232 interface. On the auto232 interface, you set it  up as normal with only one engine active.

But which  interface is the slave and which is the master? Because the Winboard compatible interface is not a true auto232 interface there is no way to set it up as either master or slave. The correct way is to set up the auto232 interface as the slave first and leave it in standby mode. Then setup the Winboard interface with a normal chess engine and the Winboard auto232 adaptor (as in the table above). Once this is done, start a 2 engine match as usual in the Winboard interface.

C) Connecting 2 non-auto232 enabled interfaces

The setup described above is the main use of the Winboard auto232 adaptor (in fact it was designed for that).However, I have found another use for it to connect TWO Winboard compatible interfaces (e.g. Winboard to Winboard or Winboard to chessmaster) using two copies of the winboard auto232 adaptor running on one computer 1.

To clarify,it means doing this.

Interface White Black
Winboard compatible interface 1 Chess Engine 1 Winboard Auto232 adaptor 1 (COM 1)
Winboard compatible interface 2 Winboard Auto232 adaptor 2 (COM 2) Chess Engine 2

Using auto232 adaptors to chain 2 Winboard compatible interfaces

Engine 1 makes the first move 1. e4 !

Chess engine 1 -----(a)-----> Auto232 adaptor 1 -----(b)-----> Auto232 Adaptor 2 ----(c)----> Chess engine 2

This works because the 2 normal chess engines are connected to each other through a chain of 2 Winboard auto232 adapters.The chain of events are as follows.

(a) Chess engine 1 play a move 1.e4 on Interface 1
(b) Autoadaptor 1 (in interface 1) relays the move 1.e4 to Autoadaptor 2 (in interface 2) through the auto232 connection from COM port 1 and 2
(c) Autoadaptor 2 plays the move 1.e4 on Interface 2 and waits a response from engine 2.

Engine 2 counters with 1.. c5!

Chess engine 2 -----(d)-----> Auto232 adaptor 2 -----(e)-----> Auto232 Adaptor 1 ----(f)----> Chess engine 1

(d) Chess engine 2 decides to play 1..c5 on Interface 2.
(e) Autoadaptor 2 (in interface 2) relays the move 1.. c5 to Autoadaptor 1 (in interface 1) through the auto232 connection from COM port 2 and 1
(f) Autoadaptor 1 plays the move 1.. c5 on Interface 1 and waits a response from engine 1. (d) The cycle then continues

An extra auto232 adaptor is needed because unlike the first case (where one of the interfaces can naturally accept auto232 input) , there is no way for either interface to naturally use auto232 input.

Such a method is highly experimental, and is even more unstable than the more straight forward use of Winboard auto232 adaptor2.

There appears to be a priori no reason to connect 2 Winboard interfaces for most cases3. Why run 2 engines on 2 different Winboard interfaces against it other, when you can run them both together in 1 interface? However, unfortunately,not all Winboard compatible interfaces are made the same, and in some cases, there might be engines that cannot be easily used in other winboard interfaces despite nominally being compatible.

There are far too many Winboard ,auto232 compatible interfaces for me to cover all the cases, so I shall only cover a few cases with the most popular interfaces.

The interfaces

This section briefly introduces the main interfaces used in the examples below. If you are already familiar with them skip to the next section.

Getting started

In all cases, when Eberhard Boerger's Winboard auto232 adaptor is used, you need to connect COM port 1 to COM port 2 of the same computer using a null serial cable. If you are connecting 2 computers, you connect the COM ports of 2 different computers of course.

I assume also you have downloaded the Winboard auto232 adaptor and have placed it in any directory.

Connecting a Winboard compatible interface with a auto232 interface

General principles

For each of the above cases the general principles to connect the Winboard compatible interface (named first) to the auto232 interface is as follows

Once you master this, the rest should be pretty basic. Below are some examples.


Connecting 2 Winboard compatible interfaces.

General principles

In general, it makes little sense to connect 2 winboard compatible interfaces on one computer as noted above since you can just make both engines run in one interface. But even if it's desired, it a lot more difficult. You will need to run 2 copies of the auto232 Winboard adaptor. One running in each Winboard compatible interface. Unfortunately, there is no way to set either interface as master or slave. Normally, you can set the auto232 enabled interface to go into slave mode, and then take your time to setup the other interface while the slave interface waits. However when both ends are connected through the winboardauto232 adaptor, you need to start both interfaces as fast as possible to avoid time problems. Warning : The methods here are only experimental, I have managed to get it working, but it's even more unstable than the usual uses of Winboard auto232 adaptor


Connecting Winboard to Arena

Problem : You want to run a match between a Winboard engine and a UCI engine in Arena. However for some reason the engine (Francesa,Knightcap etc) does not work properly in Arena despite the fact that Arena is 100% Winboard compatible.

Solution 1 : Use Odd Malin's wbtouci adaptor to convert the Winboard engine to uci and use it in UCI mode in Arena. But this doesn't always work.

Solution 2: Let Franceas run as usual in Winboard, then connect it to Arena via auto232.This usually works , though it's troublesome. Below we will list the steps needed to get Francesa to play as White in Winboard versus another engine (Winboard or UCI) in Arena.


Connecting Chessbase interfaces (Fritz etc) to Winboard or How to get Fritz to play on FICS/ICC

Problem 1 : You want to use Fritz in FICS. But chessbase interfaces do not support FICS. Also you cannot export Fritz to be used in any other interfaces.

Solution : Run Fritz in Chessbase GUI, but connect it to Winboard through the auto232 link which can connect to FICS.


Problem 2 : You want to run a Winboard engine against Fritz. But Fritz does not support Winboard engines but supports UCI.

Solution 1 : Convert Winboard engine to uci using Odd Gunnar Malin's wbtouci adaptor. Import the UCI engine into Fritz. Again this doesn't always work.

Solution 2 : Set the Winboard engine to run as usual in Winboard, then connect it to Fritz via auto232.

Connecting Chessbase interfaces (Fritz etc) to Chessmaster.

Problem : You want to run a match between The King (chessmaster) and Fritz 7 and above.

Solution 1 : Export The King as a Winboard engine and convert it to a uci engine using wbtouci The problem is that such a method requires you to recheck the OPK number everytime you reset the computer.

Solution 2 : Run The King in Chessmaster and connect it to Fritz through auto232.

See also How to use auto232 with CM

Connecting Winboard to Chessmaster

Problem : You want to run a match between a Winboard engine and The King in Chessmaster. However for some reason the engine (Francesa,Knightcap etc) does not work properly in chessmaster despite the fact that chessmaster is 100% Winboard compatible.

Solution 1: Export The King into Winboard and use it there against Franceas. However, The King will not have a opening book in Winboard.Still this is probably better than the method below.

Solution 2: Let Franceas run as usual in Winboard, then connect it to chessmaster via 2 Winboard auto232 adaptors.

The steps are similar as before. Except that you have to be careful in setting up the colors for each auto232 adaptor. A typical setup is as follows

In Chessmaster interface,
As White : Auto232 winboard adaptor 1
As Black : The King

In Winboard interface
As White : Winboard engine (eg Francesa)
As Black : Auto232 winboard adaptor 2

As stated before, because you cannot make either interface as the slave, you must start one interface first (and the time will start ticking) and as quickly as possible start the other. At short time controls, this will lead to time differences.

Connecting Chessmaster to FICS

Problem: You want to use Chessmaster in FICS. But Chessmaster interface does not support FICS

Solution 1: Export The King as a Winboard engine and use it in Winboard to connect to FICS. Problem is, using such a method it doesn't use a opening book.

Solution 2: Let Chessmaster run as usual in Winboard, then connect it to chessmaster via 2 Winboard auto232 adaptor

This is even more unstable. I have found that the best way to do this is to challenge an opponent and once the challenge is accepted quickly start the game in the Chessmaster interface. Time problems will be huge as in the above case.On the plus side Chessmaster has access to opening books and tablebases (if using chessmaster 9000)

Solution 3: Import Chessmaster into Chess assistant and Chesspartner both of which provides a opening book ,support Winboard engines and allows connection to ICS. (Only ICC for Chess assistant)

Probably most stable and ideal method.

Solution 4 : Import The King into Fritz , then connect it to ICS via auto232 as in "Connecting Chessbase interfaces (Fritz etc) to Winboard or How to get Fritz to play on FICS/ICC " above. (Are you insane??)

Yours sincerely,
Aaron Tay
PGP Public Key
March 2003

1. On the site where you can download Boerger's Winboard auto232 adaptor also has a listing for According to the help file "For all the people who dislikes that Crafty "must" play under the Chessbase GUI and with the Chessbase opening books, I wrote a program that allows to play two Winboards on two different computers over a null-modem-cable". I have tried it and I don't see any differences between this and using the Winboard auto232 adaptor.
2.Which itself is more unstable in my experience then the connection between a Winboard/UCI engine and it's interface.
3.Of course, if you read Auto232 and Winboard, you already know the reasons why you might want to do this.

track Home | Articles| Links | Guestbook| Poll | Email| Bookmark
Monitor page
for changes

Section A | Section B | Section C | Section D |Section E | Section F

Aaron Tay