- Digital Game Technology

RabbitPlugin User Manual
Table of contents
1.
Overview.......................................................................................................................................... 3
2.
Version history................................................................................................................................. 3
3.
Loading the driver ........................................................................................................................... 5
4.
User interface .................................................................................................................................. 5
5.
Notes about particular chess programs ........................................................................................ 15
6.
Troubleshooting ............................................................................................................................ 15
7.
Contact .......................................................................................................................................... 16
2
1. Overview
RabbitPlugin is the successor of the DGT Electronic Board Driver. It is a DLL which can be loaded by
chess programs and other applications for easy communication with the DGT Electronic Board. The
DLL can transmit board scans, reconstruct moves, send clock times and such.
From the release version 2.0.15 there is also a 64 bit version of the driver available. This driver is
needed when you use a program that is 64 bit too, e.g. ChessBase12 64bit.
2. Version history
2.0.15 Release (Jan 30, 2013)
First release version after a half year of beta testing. 32bit and 64bit version available.
It includes a workaround for the detection of the DGT XL mode 23 through a checkbox in the DGTXL
tab.
2.0.14.1 Beta (Jan 4, 2013)
Internal release only for testing new sound files (German, Spanish, French).
2.0.13.1 Beta (Aug 9, 2012)
Internal release only for testing new sound files (English and Dutch only).
2.0.13 Beta (July 12, 2012)
RabbitConnect is now bundled with RabbitPlugin; the BoardDriverRunner is now removed.
2.0.12.3 Beta (June 5, 2012)
Fixed problem when user plays incorrect move while takebacks are disabled. Implemented
MagicPieceFunc for developers. Fixed problem when disabling plugin in some chess programs.
2.0.12.2 Beta (May 30, 2012)
Added option to auto-save games. Added workaround for inconsistent FEN (please activate
workaround when playing with Chessbase/Fritz or ICC Dasher, to get announcements working
properly). Some small fixes.
2.0.12 Beta (Not published)
RabbitPlugin now checks if the announced move is played correctly on the board. If the user played
the wrong move, then the announcer will guide the user back to the correct position with appropiate
clock messages (appropiate voices are yet missing). NB: this feature only works if takebacks are
enabled. Some adjustments to make RabbitRemote work properly.
2.0.11 Beta (April 25, 2012)
Added various options for clock and voice announcements. Removed Eblld. Improved clock display
speed.
2.0.10 Beta (not released)
Announcements changed to SAN (Standard Algebraic Notation, or its PDN equivalent for draughts).
Added spoken announcements. Improved reconstructor.
3
2.0.9.1 Beta (Feb 15, 2012)
Added OldBT compatibility option; this works around an issue with Bluetooth firmware 2.02 and
older. In this compatibility mode, the battery status is not read from the board.
2.0.9 Beta (Feb 8, 2012)
Added version/trademark/battery information. Improved board connection&communications. Fixed
problem when starting Chess960 game. Fixed inconsistency in FEN notation. Jazzy is now the
standard low-level driver. Some other small fixes. Added notes about particular chess programs.
2.0.8 Beta (Jan 18, 2012)
Implemented Start/Setup, MoveNow, Result detection. Added Arena/Shredder special mode. Fixed
nonresponsive UI while connecting.
2.0.7 (=2.0 Beta 7) (Jan 4, 2011)
Simplified logging interface. Upgraded to wxWidgets 2.9.3. Fixed crash when icon is missing. Moved
common Rabbit documentation to separate document. Expanded DLL interface with new functions
for developers (some still to be implemented). Fixed clock display going blank. Solved Chessbase
crash. Fixed unintentional move autoplay when piece with one possible move disappears.
2.0 Beta 6.2 (Dec 14, 2011)
Corrected game description of Russian Draughts. USB port detection improved. Corrected copying of
diagram text. Fixed “unknown option” popup bug when using Fritz12/13. Default stabletime reduced
from 1000ms to 400ms. Added diagram info text. Fixed missing clock message on first move, some
improvements. DLL now also installs in Common Files, so can be used with PlayChess (but no
announcements yet).
2.0 Beta 6 (Dec 7, 2011)
Help tab implemented, diagram text/FEN copyable by right-clicking, taskbar icon behaviour
improved, clock times consistent when clock turns on/off.
2.0 Beta 5 (Dec 5, 2011)
First real bèta release of the ‘new’ driver. Most functionality is implemented, but the following
functions are still missing: detection of game result, setting up position, MoveNow, PlaySAN clock
version information, Bluetooth battery status, spoken move announcements, custom clock piece
characters. Also the reconstructor will be improved further.
1.x – 1990’s till 2011
The ‘old’ driver (last version: 1.51). Can still be used, but will soon be no longer officially supported
when its successor (2.x) has implemented all the functionality of the old driver.
4
3. Loading the driver
The DGT RabbitPlugin driver is always loaded by another application, usually a chess program. See
that program’s documentation about how to load the DGT driver (usually this is done somewhere in
the menu structure). When the driver is loaded, an icon appears in the taskbar; click on it to open the
user interface.
If you don’t have a chess program installed at the moment, or if you would like to test the
RabbitPlugin driver and examine its user interface, then you can use the BoardDriverRunner program
which is installed along with RabbitPlugin.
4. User interface
The user interface of RabbitPlugin consists of one window with several tabs. It shows something like
this:
Figure 1: RabbitPlugin's user interface, showing Game tab
Users familiar with the 1.x driver version will find out that there are many similarities in the user
interface of the 1.x and 2.x versions; the tab-layout is roughly the same and some panels are more or
less identical. You can distinguish between the versions by reading the version in the About tab. Also
the diagram in the board tab uses different colors (only 1.x uses blue-colored squares).
Game
The board game can be chosen from this drop-down menu:
Figure 2: Available board games
5
Several chess and draughts variants are available:
-
-
-
International Chess is the standard chess game, recorded on a 8x8 DGT Electronic Chess
Board.
Chess960 (also known as Fischer Random Chess) accepts any shuffled position as begin
position and uses special castling rules. Is also recorded on a 8x8 DGT Electronic Chess Board.
International Draughts 10x10 uses the rules of the most common draughts variant, and is
recorded on a 10x10 DGT Electronic Draughts board with draughts pieces. You can stack two
stones upon each other to make a ‘dam’ (also called ‘king’).
Turkish Checkers is recorded on the DGT Electronic Chess Board (8x8), using pawn figures for
the ‘men’ pieces and king/queen/rook figures for the ‘king’ pieces. There is no dedicated
piece set for Turkish Checkers yet, so use a chess piece set plus the pawns of a second piece
set to get enough figures for each side. Please don’t mix non-pawn pieces from different
sets, because placing non-pawn pieces with the same scanning frequency may interference
each other when placed at adjacent squares. (Pieces have the same scanning frequeny if the
figure, color and sticker under piece are all the same. Pawns are less sensible to
interference.)
English Checkers 8x8, Brazilian Draughts 8x8 and Russian Draughts 8x8 can be recorded on
either a 10x10 DGT Electronic Draughts board (of which the border squares are not used), or
on a 8x8 DGT Electronic Draughts boards, with draughts pieces.
Note: The draughts pieces are designed for the DGT 10x10 Electronic Board, which is
different from the 8x8-sized ones. Using draughts pieces on the 8x8 board is possible, but not
yet officially supported. If one or more pieces are not detected correctly, you can contact
DGT support to see if it can be solved.
Board
Figure 3: Board tab
6
In the ‘Board’ tab, a board is shown, but only if there is a connection to a DGT Electronic Board. If so,
it displays the pieces on the board. Some squares may be highlighted; this is used for interaction with
the chess program and reconstructor. Green squares indicate squares that differ from the last ‘key’
position (which is the position after the completing the last (reconstructed) move). Red squares are
‘goal’ squares (only displayed if the diagram is a goal, see text in left-bottom corner); these indicate
that the chess program requested changes to the board which are not yet applied. In the above
example it tells you that square c6 must contain a black knight, but is is not detected at c6 yet, and so
the user must place a black knight at c6 in order to perform the requested move. Likewise, the user
must clear square b8.
You can copy the board’s FEN or diagram text by right-clicking on it. The FEN is only complete when
the diagram shows a key position (see bottom-left corner); otherwise some fields may be ambiguous.
When pasting a diagram text in a word processor, you have to set the correct font (‘Chess Merida’ or
‘Draughts Utrecht’); if you encounter line spacing then you have to eliminate line spacing in your
word processor (or use a paragraph style without line spacing).
On the right side of this tab, clock times are shown (if a clock is attached) and you can enable/disable
autorotation here, and rotate the board manually if necessary. If autorotation is enabled, then the
driver will automatically detect the orientation of the board when a begin position is found, which
also starts a new game. Please do not manually rotate the board in-game, as this may cause the
reconstructor to get stuck.
On the bottom left, it is written what the diagram is actually showing: scan, key, goal, or a
combination (e.g. “scan/key” shows scan position and highlights differences from last key position). If
the word ‘Stable’ is displayed, then the scan is stable (i.e. did not change during the stabletime,
which can be set in the ‘Extra’ tab and is used by some chess programs like Arena).
On the bottom right there are some options to control the layout: the board border layout and the
board size can be controlled here. Use ‘Fit’ for best size during resizing (you can resize the window if
the ‘resizable border’ option in the ‘Extra’ tab is checked).
7
Connection
Figure 4: Connection tab
In the ‘Connection’ tab, the user can connect to a serial port, see the status of the board and clock,
serial and version numbers and the trademark message. A list of ports is shown; if your port does not
show up then you can click ‘Rescan ports’. If it is still not detected, but you know the name (e.g.
COM14), then you can try entering it manually in the ‘Port’ field. RabbitPlugin will then automatically
try to connect to the port.
The ‘Connection’ tab also shows two colored squares: the larger one visualizes the board status and
the smaller one the clock status. And the taskbar icon has a colored dot which also shows the board’s
status. If connection is successful, then the board’s color becomes green and the taskbar icon shows
a green dot. If connection is broken, then the board’s color is red and so is the taskbar icon’s dot. A
yellow color indicates that connection was established, but that the electronic board is not
compatible with the currently selected board game (e.g. the International Draughts 10x10 game is
active, but connected to a 8x8 DGT Electronic Chess board).
When a clock is successfully attached and detected, the clock’s color becomes green and the clock
can be used for displaying times, moves and other messages.
If the logging level is high enough (see ‘Log’ tab), then the Connection tab also shows some
reconstructor status information. This displays the moves of the current game and can help solving
issues with the reconstructed moves.
8
Extra
Figure 5: Extra tab
This tab shows some options for the window and for the reconstructor.
Driver window settings
Stay on top: if checked, then the window stays on top. Resizable border: if checked, then you can
resize the dialog so that there is more space for the board and such (also see the ‘Board’ tab).
Special commands
Detect result: if checked, a result can be entered by placing kings (or magic piece) in center. See
elsewhere in the manual for the conditions.
Use MoveNow: if checked, then you can lift the white king and put it back to trigger a
WhiteMoveNow event for the program (same for black king). Only used in Chess.
Use Start/Stop Setup: if checked, then you can lift both kings to enter Setup mode. When both kings
are placed on the board again, the position is set and can be used to continue a game from that
point. The player to move from the setup position, is the side of which the king is placed last. By
default the Start/Stop setup option is unchecked to prevent unintentionally entering Setup mode
(terminating the current game) when both kings are momentary misaligned somehow.
Move reconstruction settings
Send move after delay (also called stabletime): you can control here how much time you have to
slide pieces. E.g. when moving Ra1-a8, if you hesitate too long halfway the move then the
reconstructor could pick out Ra1-a4. To be more preciese: the reconstructor only sends the move
after the board did not change during the specified delay; but whether this stabletime is applied for
all moves or only the ‘can-be-slided-further’ moves, depends on the next option.
9
Use delay only for extendable moves: if checked, then the reconstructor does not wait if the piece
cannot be slided further anyway. E.g. when playing 1. e2-e3, the reconstructor waits until the board
doesn’t change during at least the stabletime before sending e2-e3 to the program. But if you play 1.
e2-e4, then the move is sent immediately because it cannot be extended to 1. e2-e5 or such. But
please note that turning this option off does not by definition give you opportunity to retract (or
otherways alter) the move; there are other factors involved like takebacks settings and such.
Send takebacks to program: if checked, then you can perform takebacks which are sent to the chess
program. If unchecked, then if you do a takeback, it is not sent to the chess program and so the
reconstructed position differs from the chess program’s position. In this case you generally have to
redo the move you took back to get the positions matching again. It is very important that you check
this option only if the program supports takebacks, otherwise the program’s moves will be messed
up. Just experiment by yourself to see if your program supports this option.
Arena/Shredder special mode: these programs use the stable scans for move reconstruction, which
requires that after each move played the board stays unchanged during at least the stabletime. So if
a move is played too fast, the program goes out of sync. A workaround is to send reconstructed keys
instead of stable scans, which can be activated with this option.
Use workaround for incorrect FEN: when an application sends a goal position to the DLL, it usually
uses the FEN format, but sometimes an inconsistent FEN is sent in which only the first field has
correct information. RabbitPlugin may then fail to find the correct program move and thus not able
to announce it. With the workaround option, only the first field of the FEN is parsed so that the
program move is recognized and announced correctly. At time of writing, this option should be
enabled with Chessbase/Fritz (to get double-step pawn moves announced) and ICC/Dasher (to get
black moves announced).
DGTXL
This tab controls the announcement text displayed on the clock.
10
Figure 6: DGTXL tab
Announce moves on clock: with this option you can enable/disable the feature.
If the checkbox for the DGT XL mode 23 is ticked, the driver will not send clock updates to the (chess)
program using the driver. This is the default. If you want to play without the (chess) program control
the clock and you select another mode then 23, you must un-tick the checkbox.
Notation style: Default/Short/Long. By default, Chess uses short notation, while most draughts
variants use long notation. You can override this by choosing another option. Please note that in
general, the DGTXL display is capable of only 6 alphanumeric characters; longer announcements will
usually be trimmed.
Coordinate style: Default/Algebraic/Numeric. By default, Chess uses algebraic coordinates, while
most draughts variants use numeric coordinates. You can override this by choosing another option,
e.g. if you prefer to receive draughts announcements with algebraic coordinates.
Show pawns and other hidden piece characters: if enabled, “Pe4” is displayed instead of “e4”. For
draughts, man-stones are indicated with a ‘M’ character and kings (promoted stones) by ‘K’.
Play clock beep: here you can control when the clock beeps, and set the beep duration time.
Piece/symbol translation table: because the clock’s alphanumeric characters have only
seven segments, some characters are not as readable as others. E.g. a ‘x’ is displayed as
‘H’. With the character translation table, you can change the way characters are
displayed. Left column: original character; right column the translation. This example
changes ‘x’ in ‘/’. You can also build up custom yourself with the %ddd option where ddd
is a 3-digit number from 000 to 127; the 7 bits each control one of the segments. E.g. 073
(=1+8+64) shows three horizontal stripes. See image on the right for the values of the
segments. %128 works like a TAB character by moving the cursor to the right clock
11
display. If translation is empty, then the character is hidden; an useful example is the ‘=’ charcter in
promotions. If you use long notation, a move like “e7-e8=Q” would occupy 7 characters which trims
the last character (because clock can only display 6). If you hide the ‘=’ character by placing ‘=’ in the
left column without translation, the move becomes “e7-e8Q” which fits in the available space.
Current clock text: when playing a game, this shows the announcement text currently shown on the
clock.
Sound
This tab controls the voice announcements.
Figure 7: Sound tab
Announce moves with voice: uncheck to disable all voices. If you still hear sounds after unchecking
this option, then they probably come from the clock or from the chess/draughts program.
Sound language: None/Dutch/English/French/German/Italian/Spanish. All languages are installed by
default; you cannot download additional languages but newer versions of RabbitPlugin may contain
additional languages.
Notation style: Default/Short/Long. See DGTXL tab.
Coordinate style: Default/Algebraic/Numeric. See DGTXL tab.
Announce pawns and other hidden pieces: See DGTXL tab.
Play sound: you can choose here when alert sounds are played (not all options are available yet).
12
Battery
Figure 8: Battery tab
Only applicable for Bluetooth boards. This shows the battery status and some indicative numbers.
Autosave
Figure 9: Autosave tab
In this tab, you can specify a folder in which the autosaved pgn’s are to be stored. Each session will
save to a new file; multiple consecutive games within the same session are saved to the same file.
13
About
Figure 10: About tab
This tab shows the version, build date, copyright notice and web/email links of the RabbitPlugin
driver.
Help
This tab gives you access to this user manual.
Log
See “Rabbit Commons User Manual” about how to activate logging.
14
5. Notes about particular chess programs
Chessbase/Fritz
Supports takebacks, so you can check the ‘Send takebacks to program’ option in the ‘Extra’ tab.
Does not support starting from shuffled (Chess960) position yet.
Arena
Check the ‘Arena/Shredder special mode’ option to avoid the position getting out of sync.
Supports starting from shuffled (Chess960) position.
No support for takebacks, so uncheck the ‘Send takebacks to program’ option to avoid sync
problems.
Shredder
Like Arena, this program works best when the ‘Arena/Shredder special mode’ option is checked.
6. Troubleshooting
Also see “Rabbit Commons User Manual” for some extra troubleshooting information.
1.
The ‘old’ driver (version 1.x) still pops up after installing RabbitPlugin 2.x.
Figure 11: Position tab of 'old' DGT Board driver (version 1.x)
2.
Remove both RabbitPlugin and the old driver; these can be uninstalled in the Control
Panel/Software (or Add and Remove Programs section), look for programs called ‘DGT Setup
Wizard …’ and ‘RabbitPlugin version …’. After uninstalling, a chess program should be unable
to find dgtebdll.dll file; if not, then search the hard drive for instances of dgtebdll.dll and
remove them manually. Once they are all gone, you can install RabbitPlugin again, after
which the new driver should pop up when loading the DGT board driver in (chess) programs.
The COM port does not show up in the list in the ‘Connection’ tab.
Click “Resan ports” in this tab. If the COM port still does not show up, try entering it
15
3.
4.
5.
6.
7.
manually in the Port area. You can also look up the system’s available ports in the device
manager of your operating system.
Opening port failed / No board connected.
Make sure that the board is powered/turned on, that the cable is connected (except when
using Bluetooth), that you use the right COM port (look up in your device manager). Try
switching to the alternative driver (Jazzy instead of Eblld or vice-versa), try RabbitQueen or
one of the other DGT programs to verify that the board is functioning correctly. If you are
using Bluetooth: try using a cable and switch to USB connection.
I get some ‘board incompatible’ message
This occurs when the connected board’s dimensions differs from the current board game’s
dimensions. E.g. when a 8x8 board is connected while the current board game is
International Draughts 10x10. Please choose a board game which can be played on the
board that you use, and note particulary that some 8x8 board games are played on a 10x10
DGT Electronic Board.
ArenA sometimes doesn’t receive moves from RabbitPlugin (i.e. goes out of sync)
Check the ‘Arena/Shredder special mode’ option in the ‘Extra’ tab and uncheck the ‘Send
takebacks to program’ option.
Chessbase/Fritz/Playchess doesn’t announce double-step pawn moves
Check the ‘Use workaround for incorrect FEN’ option in the ‘Extra’ tab; this should solve the
issue.
One or more pieces are not detected correctly; phantom piece(s) appear on the board
Contact support for possible solutions about this issue (e.g. a board recalibration).
7. Contact
Support: [email protected]
Information: [email protected]
Website: www.dgtprojects.com
16