XBoard version 1.1

XBOARD is an X11/R4-based user interface for GNU Chess.  It uses the R4 Athena
widgets and Xt Intrinsics to provide an interactive referee for managing
a chess game between a user and a computer opponent or between two computers.
It manages a digital chess clock for each player and resets the clocks if time
control is achieved within a given number of moves.  A game can be started with
the initial chess position, with a series of moves from a game file or with a
position from a position file.  The "match" shell script runs a series of games
between two machines, alternating sides.  The man page xboard.1 describes the
features of xboard.

XBOARD was written by Dan Sears and Chris Sears.  XBOARD borrows its colors,
icon and piece bitmaps from xchess which was written and copyrighted by
Wayne Christopher.  We thank him for his work on XChess.


CAVEATS

XBOARD depends on the R4 Xt Intrinsics and R4 Athena Widget Set.  R3 won't do.

GNU Chess is available via anonymous FTP from, among other sites, gatekeeper.

    gatekeeper.dec.com    16.1.0.2    pub/GNU/gnuchess-3.1.tar.Z

It must be compiled with the -DCHESSTOOL option.


CHANGES

Version 1.1 -- Mon Jan  7 14:46:03 PST 1991

  - Fixed a bug in HandleUserMove() where the user could make a move while the
    machine was thinking.  The fix detects and ignores these moves.  onMove
    was not being used and was removed.

  - Substantially rewrote and simplified the clock code.  If a game was paused
    and then resumed, the clocks were out of sync.

  - Konstantinos Konstantinides added the -searchTime option.

  - Rewrote TwoMachinesPlay mode.

  - Rewrote DisplayClocks().

  - Hal Peterson contributed a new Imakefile.

  - Added a declaration, xtVersion, which will quickly break on R3 Intrinsics.

  - For people who don't like or use chess clocks a clockMode switch
    has been added.  It is on by default.  It can be turned off in the
    .Xdefaults file with

        XBoard.clockMode:    False

  - Detect if the visual doesn't support color.  If so, run in monoMode.
    An alternative would be to detect grayscale visual and use a collection
    of gray user interface colors.

  - Works with gcc now.  gcc complained about casting float constants
    as XtPointers.

  - Added keyboard equivalents.  Added an iconify keystroke, C or c.

  - Added StrStr() because many systems don't have this ANSI function.

  - Substantially rewrote and simplified the Two Machine code.

  - The bitmaps have been pushed into the bitmaps directory.

Tue Jan  8 16:23:22 PST 1991

  - Fixed a bug where a player could play after a game had been finished.

  - Fixed a bug where hint didn't work.  The local version of gnuchessr
    had been hacked.  The fix was to clone stderr and stdout for gnuchessr.

  - Kayvan Sylvan <satyr!kayvan@apple.com> contributed a patch for ESIX.
    It seems that select() on pipes is broken on his system.  We declined
    to incorporate his patch though, because it was a work-around for
    something that was broken on one system, and selfishly, that system
    was not my own.  Nevertheless, it is likely that other System V users
    on PC's may need to use this patch and it is is included as the file
    ESIX.patch.  To use it, type

        patch xboard.c ESIX.patch

  - Any button restarts a paused game.

  - Warning messages get displayed in the message box.

  - getlogin() does not work in all cases.
    It was replaced by getpwuid(getuid())->pw_name).

  - For systems with smaller screens, XBoard can use smaller pieces,
    and a smaller board.  -bigSizeMode False uses a smaller set of pieces.
    These are scaled versions of the large pieces.  They look ok but could
    be improved.

  - -iconic doesn't work properly.  If XBoard is opened iconic then
    iconifying it later with a keystroke doesn't work.  I think
    this is an Xt bug.

  - the remoteShell resource was added for HP-UX systems
    and other systems where the remoteShell isn't rsh.

  - older non-ANSI versions of Sun compilers complain vociferously.

  - Roger Dubar, Konstantinos Konstantinides, Wolfgang S. Rupprecht,
    Paul Scowen, Mvh Smidt and Kayvan Sylvan all helped immensely during
    beta-testing.
