Auto232 and Winboard

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


  
   it's private   

by ChangeDetection

Introduction to Auto232

Note because of the length of the article, this first part covers the uses of auto232 but the exact techniques will be in a second part.

Auto232 is a protocol designed by Christian Donninger to allow 2 computers that are linked together from one COM port to another (via null modem cable) to play against each other.It can also be also used on one  computer by linking 2 different auto232 interfaces on the same computer (more on that later).

Auto232 driver was the first original method (circa 1994) to allow chess programs to play against each other. The original auto232 player grew out from the development of chess Auto232 which enabled human players to play chess against chess programs, using a normal chessboard. Whenever the human made a move, the software sent the move to the chess program by simulating the normal keyboard/mouse input by the user. This idea was then adapted to allow 2 programs to play each other automatically.

The first auto232 player was a DOS auto232 player (a Windows auto232 protocol was released in 1995 by Donninger and Stefan Meyer in 1995) sold with both software and drivers to enable use with many PC commercial programs . In 1995,  it was adopted by SSDF for auto testing and it  caught on quickly. The list of such programs include Chess System Tal, Comet-32,Fritz 2 and 3, Gandalf 2.1, Genius (all DOS versions), HIARCS Master 3 to 6, IsiChess 2.50, Kallisto since version 1.83, Shredder 2 (and later versions) ,M-Chess Pro since version 3.5, Minimax DOS, Nimzo 3, Nimzo 3.5, Nimzo 98, Rebel 6 to 9,Rebel Decade 1.0, 1.2 and 2.0. Zarkov,Wchess,Mchess  1

 For those who are curious about the technical specification, I managed to find a copy of the auto232 technical specification  (iin German.)

Even today many GUI such as Arena 0.92, all Chessbase products (up to Fritz 8 at this time) , Chess partner etc. still support auto232 natively. However, the popularity of auto232 has a means of autotesting programs has being challenged by the popularity of the Winboard protocol and Universal chess interface (UCI) protocol which allow engines to work in the same interface . Today, auto232 is used primarily by  SSDF (the famous organisation that releases the respected SSDF computer rating list) to run auto matches on 2 computers to produce the SSDF rating list.

Auto232 versus Engine communication protocols (Winboard,UCI etc)

This is so even though strictly speaking Auto232 is not exactly in the same class  has chess engine communication protocols like Winboard , UCI etc protocols 2. Technically auto232 is a method to connect interface to interface (usually on 2 computers) while Winboard, UCI, MCS etc are engine communication protocols used to connect engines to interfaces (normally on same computers). Hence when auto232 is used, 2 engines run on 2 separate interfaces will be running. 

Despite this, Auto232 and Chess engine communication protocols can often achieve the same objectives if your aim is to run an engine versus engine match on one computer (perhaps the most common type of testing nowadays).  If the 2 engines you want to test are able to work in the same interface because they share the same engine communication protocol (or you can use an adaptor) , you can simply use both of them in the same interface and run the engine match using that  interface. If you wish to use auto232 instead, you can run each engine in a separate interface and connect them together using auto232 (assuming both interfaces can support auto232).

Both methods achieve the same result, except that in the later case you have 2 instances of a interface running, while in the former case both engines run in one interface.

Auto232 drawbacks

It's undeniable that when running engine matches on 2 computers the use of auto232 to connect 2 computers is the superior and perhaps only way3.
However, since most people have only one computer for running engine versus engine matches , the two methods discussed above of running such tournaments are almost equal avant. In fact, it is usually preferred that auto232 is not used whenever possible (see later for exceptions) since using  2 interfaces drains excessive processor resources compared to running them on one computer.

Another reason for the relative popularity of Winboard/UCI to auto232 is that for most people, auto232 is just harder to setup (usually requiring serial cables) to Winboard/UCI and this problem is compounded by a lack of user friendly documentation for auto232 compared to Winboard.

However, perhaps the main reason why the use of Winboard/UCI protocols have eclipsed the use of auto232 is because  auto232 players traditionally are extremely unstable and difficult to use. Those mainly relate to timing problems and early versions allowed only promotions to queen. Here's a Rec.games.chess.computer posting where Bob Hyatt talks about the difficulty of implementing auto232 in crafty compared to the xboard interface .Historically, the use of auto232 to match chess engines has being fraught by controversies, in particular when used in SSDF.Authors such as Ed Schroder have withdrawn auto232 support before (in particular Rebel Century 1.2) because the "external auto232 driver" hurts Rebel's playing strength"4

Winboard auto232 adaptors

Winboard itself does not support auto232 directly. However winboard auto232 adaptors exist that can be used to connect to other auto232 capable interfaces. Remi Coulom's winboard auto232 adaptor released in Nov 1998 was the first such adaptor (Note: apparently it does not rely the use of a serial cable,but I havent tried it).Today, Eberhard Boerger's winboard auto232 adaptor with it's clear step by step instructions is one of the more popular winboard auto232 adaptors being used .For unix users, Xboard 232 does the same function has Boerger's adaptor.

These adaptors allow any Winboard capable interface (not only Winboard,but also Chessmaster 8000/9000 etc ) to connect to another auto232 capable interface such as Fritz or Arena.

Here is a table showing interfaces that support Winboard,UCI,auto232 While any interface that supports Winboard protocol and be used to play against auto232 interfaces using the auto232 winboard adaptor, these are not considered to support auto232 directly.

Summary of Interfaces and the Protocols they support

Name Winboard protocol UCI protocol Auto232 Remarks
Arena 0.90 Protocol 2 Yes Yes Arena is a free interface
Chess Assistant 6 Protocol 1&2 Yes , but not the light version Yes Supports Millennium Chess System [MCS] as well
Chessbase GUI like Fritz 5.32,Junior 6,7,Hiarcs 7.32,Shredder 5.32  Not directly No Yes Yes
Newer Chessbase GUI e.g. Fritz 7 (with patch),Hiarcs 8  Not directly Yes Yes Winboard engines are generally converted to UCI engines using Malin's wbtouci adaptor because of problems with the old winboard adaptor
Rebel Decade 1.0,1.2,2.0,9,10,11,12 beta No No Yes NA
Chessmaster 8000/9000 Protocol 1 No No Chessmaster 8000/9000 is a Winboard engine
Chess Partner 5.0.0.4 Protocol 1&2 Yes Yes NA
Gandalf 5.1

Protocol 1&2 Yes Yes Sold by Rebel, Gandalf 5.1 (the engine) is Winboard compatible only
SCID Protocol 1&2 No No SCID is a free Chess database
Shredder 4,5 Yes,comes with a adaptor Yes Yes Shredder 3 to 5 Supports Millennium Chess System [MCS] as well
Winboard Protocol 1&2 No No The original interface to support Winboard protocol

Why use auto232?

Well obviously, if you want to run a match between 2 computers, the use of auto232 is ideal. However, it's much harder to justify doing so if you want to run matches only on one computer. In todays world, where almost every engine and interface is compatible to either Winboard and/or UCI protocol which allows you to run engine matches in one interface, there appears to be very little reason to use auto232.

  Still there can be legitimate reasons to use auto232 players even on one computer

  1. There is no way to use 2 engines in the same interface. For example, you might want to pit a Winboard only engine like Amy against Fritz 7 which does not support Winboard engines 5.  In such a case, you might want to use Amy in Winboard (together with Winboard auto232 adaptor) and connect it to Fritz 7 via the auto232 protocol.

  2. Using an adaptor when the engines and interfaces are not compatible is sometimes an option of course but that's not always a good idea, since it doesn't always work. In such cases, it's might be better to run each engine directly in their interface and connect the 2 interfaces using auto232. For example, Francesa is Winboard compatible only. Fritz 7  is UCI compatible.You may find that when using Odd Malin's wbtouci adaptor to convert Francesca first to UCI mode (the preferred method to use Winboard engines in Chessbase interfaces) and then using it in Fritz does not work. On the other hand, if you run Francesca directly in Winboard and then connect the 2 interfaces (Fritz and Winboard) via the Winboard to auto232 adaptor it works! Another possible use is matching Chessmaster versus Fritz. It's possible to use Chessmaster through Odd Malin's UCI adaptor and import it into Fritz, but the steps to do so is rather long, but you may find letting them autoplay is much easier.6

  3. The engine works best only in it's own interface by design (The King) or for some reason it works only in one specific interface (e.g.. Francesa in Winboard ). Although in theory any Winboard engine can work equally well in any Winboard compatible interface, in practice due to bugs and differences in implementation sometimes you run into problems. For example..
  4. To connect engines that run only in interfaces with no ICS (internet chess server) support to connect to ICS servers like FICS , ICC etc. - This last reason is the major use of winboard auto232 adaptors on one computer. In particular, Chessbase engines like Fritz,Nimzo,Hiracs,Junior cannot be used on FICS9 and unfortunately they cannot be exported out to be used in Winboard,Arena,Chess partner,Chess assistant (or any other ICS capable interface) because they support neither Winboard or UCI. As such the only way is for Junior etc to run in it's own GUI and autoplay Winboard (via the winboard auto232 adaptor) or with Arena (which supports auto232 directly).

Some points

Notice that in the examples given above, uses #1,#2 and #4 involve the linking of a Winboard compatiable interface and a Auto232 interface. This is the main use of winboard auto232 adaptor and incidently what the adaptor was designed for. Use #3, however involve connecting 2 Winboard compatiable (but not auto232) interfaces. This method is highly experimental, and is even more unstable then the usual use of the adaptor.More on this will be covered in the next article, which covers in depth the steps needed for both uses of Winboard auto232 adaptor.

Conclusion

While the auto232 was explicitly designed to connect 2 computers together, the use of auto232 gives users yet another option when running engine versus engine matches on one computer. When handling engines that definitely need to run in a specific interface, it might be better to autoplay such matches rather than exporting them to use in other "foreign" interfaces.

30 Dec 2002

Credits

Information on auto232 was hard to come by, most of the history section was drawn from this excellent article on auto232.


1.Main source: http://www.wbholmes.de/chessfize.htm

2.This means that an engine does not need to be specifically auto232 enabled  , all it needs to do is to run in a interface (by sharing the same engine communication protocol) that has auto232 support to use auto232.An example is Yace running in Winboard mode in Arena.Yace does not care if Arena is connected to another interface via auto232.

3. Given the problems of running 2 engines on one computer it is understandable that for "fair" results each should get one processor. However given the problems with auto232, there are other alternatives to connecting 2 computers. These  include logging both engines (on separate computer) on a chess server , using a RSH server or running them both on the same interface but using a dual processor computer so each engine gets 100% of one processor.

4. Interview of Ed Schroder by Chess bits, June 5, 2000. http://www.rebel.nl/marcus.htm. Other famous "scandals" regarding auto232 players involved Fritz 5 and it's "special" auto232 interface in 1998.The same thing happened on a smaller scale with Genius 4. Here's a sample of some threads on the Computer Chess Club..However to be fair the use of engines in other GUI through the winboard protocol is not totally uncontrovial, witness the broken Winboard support in Fritz 5.32 and 6.

5. Technically, you could use the old Winboard adaptor if you can find it. It is also of course possible to use Odd Malin's winboard to uci adaptor (or even the old Chessbase Winboard adaptor) to convert Amy first to a UCI engine then use it in Fritz.But there are some engines that fail when using this method, see next point.

6. Both methods provide Chessmaster with an opening book and endgame tablebase support. Fritz supplies opening books and also automatically takes control of the position once a position that occurs in the tablebase arises on the board. Because Chessmaster does not probe tablebases in search, chessbase's interface simulates this too.Chessmaster 8000's FAQ warns about The King being weakened when using auto232 so this is something to consider compared to the performance hit (if any) when using The King via the ucitowinboard adaptor in Fritz.

7. Arena and Winboard has yet don't supply a GUI book, but using bookthinker might be a solution. There is no way to provide The King with tablebase support though.

8.  Both chessmaster and winboard are connected via 2 auto232 adaptors.More on this on the next article.Yet another method is to use The King/Chessmaster in  fritz 7 and then connect it to winboard via one winboard auto232 adaptor.See next point.

9. They do have their own propriety playchess server that the Fritz 7 (and higher) can connect to.





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


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

Aaron Tay