These pair of programs ("ProxyEngine.exe" and "GameKeeper.exe") will enable you to use the DGT Electronic Chess Board (http://www.dgtprojects.com) with Chessmaster (http://www.chessmaster.com). Since moves made by Chessmaster are intercepted (via Winboard protocol) and taken into account, the level of integration is pretty good, almost as if Chessmaster supports the DGT board natively. If a DGT XL clock is connected and set to mode 23, it will be used to display the clock times and announce the moves made by the computer. You will not be able, though, to use the clock in other modes and overwrite Chessmaster's clock times.
1. Go to the folder where Chessmaster is installed and find a file named "TheKing.exe".
This is Chessmaster's chess engine. Rename it to "RealEngine.exe".
Copy "ProxyEngine.exe" to that folder and rename it to "TheKing.exe".
This step is very important so please make sure you get it right. The best way
to confirm this is to start a new game against Chessmaster, then take a look
at the list of processes using tools such as Task Manager. In addition to "Chessmaster.exe",
if you see both "TheKing.exe" and "RealEngine.exe", you
are good and ready for the next step.
2. Make sure you have the latest version of DGTEBDLL library installed
on your computer. Also make sure that you have the sound files
("computer_move.wav", "user_move.wav", "invalid_move.wav", and
"reset.wav") under the same folder as "GameKeeper.exe".
3. Launch "GameKeeper.exe" THEN launch Chessmaster.
GameKeeper needs the name of the window title of Chessmaster. Please
look at your taskbar and type in the exact name you find there in the
appropriate box of GameKeeper.
Go to either the Game Room or the Tournament Room in Chessmaster. Make
sure that notation is set to algebraic (Preferences->Notation). If
you want spoken move announcements, turn on this feature in Chessmaster
(Preferences->Sound).
The best way to confirm if you renamed all files right is to start a
new game against Chessmaster, then take a look at the list of processes
using tools such as Task Manager. In addition to "Chessmaster.exe", if
you see both "TheKing.exe" and "RealEngine.exe", you are good and ready
for the next step.
4. Make sure that the DGTEBDLL has successfully connected to the DGT
board (and the DGT XL clock if one is present). You should see a line
like "DGT_Status: DGTxxxx OK" in the status window of the GameKeeper
program. You can click the "Show DGT Dialog" button (or click the DGT
icon in the system tray) to access the configuration dialog of the
DGTEBDLL. Make sure that you have "Automatic rotation" turned on and
have "Send move after delay" set to a desirable value. All the other
settings do not affect the GameKeeper program.
5. Set up the initial position on your DGT board. And start a game in Chessmaster
if one is not already started. Note that you can do either one of these two
first.
6. If you are using White, go ahead and play your first move on the DGT board
and get the game going! If you are using Black, Chessmaster should have already
made its first move, start by making that move on the DGT board and continue
with your reply.
7. After you make a (semi-legal) move on the DGT board, you will hear an audio
feedback ("user_move.wav"), then the move will be sent to Chessmaster.
If the move is in fact illegal (like move into check, or expired en passant
capture), Chessmaster will make an illegal move sound. In that case, retract
your last move and try again.
8. After the computer makes a move, the move coordinates will be displayed on
the DGT XL clock if one is present, and you will need to enter that exact move
on the DGT board. Once you've done that, the "computer_move.wav" will
be played to give you an audio confirmation, and the clock will switch back
to show the clock times. If you enter any other moves, the "invalid_move.wav"
will be played.
9. If it's the computer's turn to move and the computer is cogitating, and you
try to make a move on the DGT board, the "invalid_move.wav" will be
played as well. Undo that move and wait for the computer patiently.
10. With 7, 8, and 9, you should be able to play an entire game on the DGT board
without looking at the computer screen or getting the board and Chessmaster
out of sync. Enjoy!
First off, Pause/Resume/Takeback/Replay are not supported via any inputs on
the DGT board. In other words, even if you retract the move you just made on
the DGT board, it will not trigger a Takeback. These actions have to be done
through the Chessmaster GUI, and in addition you would need to do the following
things on the DGT board to bring the board and the GameKeeper program in sync
with Chessmaster.
When you pause and resume a Chessmaster game, the current chess engine instance
will be terminated and a new one will be spawned. Special handling code has
been put in place so that most of the time Pause/Resume will be handled transparently
and you don't need to do anything extra. However, in the rare situations where
move inputs seem to be handled incorrectly after the Resume, you can do a "reset"
described in the next paragraph.
After Takeback and Replay actions, you need to manually rearrange the pieces
on the DGT board so that the position is in sync with Chessmaster, and then
lift both Kings off the board and put them back. This will trigger a "reset"
action in the GameKeeper program, which will allow it to handle further move
inputs from this new position. The "reset.wav" sound will be played
to confirm this action. Note that sometimes after Takeback/Replay, and even
after you make a move, Chessmaster's chess engine might not kick in and respond.
This is a Chessmaster issue and has nothing to do with the GameKeeper program.
Luckily, this problem can be remedied easily with a pause and resume.
If you are in Chessmaster's Game Room, you can use the "Set Up Position" button to copy the current (arbitrary) position on your DGT board and paste it into Chessmaster. Note that doing so will stop any current Chessmaster game you are playing and set both players to human (this is Chessmaster's behavior whenever you use Edit->Paste->Forsthe Board Position). You can however use the "Set Up Game" feature in Chessmaster afterwards to set the players if you want to play against the computer from this position..
If you set up a human vs. human game, you can now use the DGT board to input
moves for both sides. This could be used to record a game between two humans
(and maybe with Chessmaster analyzing in the meanwhile) or to enter a game from
a chess book for further study.
The clock times will not be displayed on the DGT XL clock in this case since
there is no way to intercept them from Chessmaster. Actually, if this is indeed
a game between two humans, you might want to set the DGT XL clock in a proper
mode and actually use it as a chess clock.
If a semi-legal but invalid move (like move into check, or expired en passant
capture) was made on the DGT board, since no feedback can be obtained from Chessmaster
in this case, the current game position assumed by the GameKeeper program will
be wrong and need to be manually corrected. This can be achieved by retracting
the move and perform a "reset" as described earlier.
1. Since moves are sent to Chessmaster via synthetic keystrokes, please avoid
typing or switching different windows to foreground at the same time as you
make a move on the DGT board - that's quite unlikely anyway.
2. The clock times displayed on the DGT XL clock might be a couple seconds off
from Chessmaster's clock times. This is due to 1) the Chessmaster GUI sometimes
sends slightly shortened clock times to the chess engine, probably to ensure
a timely reply, and 2) a possible delay in handling the clock information from
Chessmaster. Therefore, please avoid using this program to play a bullet game
where a 2-3 second clock discrepancy could be fatal. :)
3. Since the clock times can only be intercepted when the Chessmaster GUI passes
them to the chess engine, there are some cases where the clock time updates
are delayed by one move. For example, when the time control used is "20
moves in 20 minutes", the computer's clock is not adjusted immediately
after its 20th move, but rather after the human makes the next move. This is
just a small nuisance and shouldn't cause any problems. On the other hand, Fischer
style time controls are handled fairly well and don't have this delayed-update
glitch.
4. You can replace the sound files ("computer_move.wav", "user_move.wav",
"invalid_move.wav", and "reset.wav") with your own versions.
Just use these names and put the files under the same folder as "GameKeeper.exe".
Also, if you don't want a certain sound to be played, you can just remove the
corresponding sound file.
5. This program does not work with Chessmaster versions earlier than 8000 since
the chess engines used in those versions weren't Winboard compatible. Chessmaster
8000 might be OK, but hasn't been tested.
TBD