Registration Information
FIBS/W Registration Information

This software is not free. FIBS/W may be used for an evaluation period of 10 days without charge, after which you must pay a registration fee of US$40.00.

Please read the License Agreement section of FIBS/W Help for important information on the terms under which you may use or distribute this software. If you continue to use this program then you implicitly acknowledge and agree to the terms of this license agreement.

About FIBS/W

About FIBS/W

License Agreement

Order Form

Reference Information

FIBS/W Help

Copyright (c) 1994, Robin Davies. All Rights Reserved.
FIBS/W is a trademark of Robin Davies. .


Table of Contents
FIBS/W Help Index

Please read the appropriate sections on Configuring FIBS/W for important information on how to get up and running with FIBS/W.

About FIBS/W

Configuring FIBS/W for Use with Winsock Connections

Configuring FIBS/W for Use With Modem Dial-Up Connections

Choosing a Modem Init String

Anatomy of a FIBS/W Window

A Brief Introduction to the FIBS Internet Backgammon Server

Using a Mouse to Interact with FIBS

Using the Command Line to Interact with FIBS

Menu Commands

FIBS/W Script Commands

Script Files and Automated Connections

What to Do When Things Go Wrong

Registration Information

Copyright (c) 1994, Robin Davies. All Rights Reserved.

FIBS/W is a trademark of Robin Davies.


About FIBS/W

FIBS/W is a program which acts as a Windows front-end to the famous First International Backgammon Server (FIBS) on the Internet.

The FIBS Internet backgammon server allows backgammon players from around the world to play backgammon head-to-head against real live players. FIBS also provides the opportunity to watch some of the best backgammon players in the world playing against each other. Many top-ranked backgammon players frequent FIBS.

FIBS/W augments the capabilities of the FIBS backgammon server by providing a graphical board to play on rather than a text board, and by providing the ability to perform most actions required to play a game using the mouse.

The capabilities of the FIBS Internet backgammon server are too extensive to deal with here. Once you are connected to FIBS type "help" to get further information on FIBS commands and capabilities. Once connected to FIBS the only requirement for correct operation of FIBS/W is that you issue the command "set boardstyle 3" at the FIBS command prompt. If you take the time to configure FIBS/W properly this can be automated at login time. See .Script Files and Automated Connection .

FIBS/W supports both dial-up dumb-terminal-server access to the Internet as well as TCP/IP connections (including network, PPP and SLIP connections) via the Winsock software interface.

To use FIBS/W with dial-up dumb-terminal-server access you must have the ability to use Telnet from the host system to connect to the FIBS server.

FIBS/W supports TCP/IP, PPP and SLIP connections through the WinSock software interface. Winsock is a standard interface to TCP/IP network connections that most TCP/IP, SLIP and PPP systems running under Windows provide. If in doubt, search for the file WINSOCK.DLL; if it is present, then you will most-likely be able to use FIBS/W.

FIBS/W provides automated login scripts for a number of common dial-up host systems. If your host is not directly supported by one of the login scripts provided, it's fairly easy to modify the existing login scripts for other systems. If you don't want to do this right away, the manual login script will dial your host system and allow you to type the commands required to connect to the FIBS server. Note that if you use the manual login script then you must remember to type the "set boardstyle 3" command when you finally connect to FIBS.

Please read the section Configuring FIBS/W carefully.


Configuring FIBS/W for Winsock Connections
Configuring FIBS/W for Use with Winsock Connections

To configure FIBS/W for use with Winsock connections, follow these simple steps:

1.	Select the Options/Port Settings... menu command. FIBS/W should display the Port Settings dialog.

2.	In the Port list box, select "Winsock".

3.	Press the OK button.

To connect to FIBS, select the Communications/Connect menu command.

To further simplify connections to FIBS, supply your FIBS user id and password to FIBS/W, and FIBS/W will automatically complete the login procedure for you.

1.	Select the Options/Connect Script Settings... menu command. FIBS/W should display the Connect Script Settings dialog.

2.	In the FIBS Login Name field, enter your FIBS user id.

3.	In the FIBS Password field, enter your FIBS password.

4.	Press the OK button.

Once you are happy with your configuration, checking the "Options/Auto Connect When Loaded" menu command will automatically connect you to the FIBS server every time FIBS/W is launched.

If you have not played backgammon on the FIBS server before, enter the user-id "guest" when prompted by the FIBS server. The FIBS server will guide you through the process of creating a new user-id and password for your exclusive use.

You are now ready to play backgammon!


Configuring FIBS/W
Configuring FIBS/W for Use with
Dial-Up Modem Connections

If you are using PPP or SLIP, please see the section Configuring FIBS/W for Use with Winsock Connections.

FIBS/W provides a number of facilities to simplify the process of connecting to the FIBS backgammon server via dial-up connections. FIBS/W provides script files which will automatically connect to FIBS via a variety of common dial-up host systems. If your system is not one of these, consult the section Script Files and Automated Connection for details on how to write or modify login script files. If you are eager to try FIBS/W out right away, you may manually connect to FIBS using the manual.scc login script.

To configure FIBS/W you must choose and configure the serial port to use, and then choose and configure a connect script file. The connect script file provides instructions to FIBS/W on how to connect to the FIBS Internet backgammon server  through your particular dial-up host system. Once you have completed these steps, enter the Communications/Connect menu command to establish a connection with FIBS.

If you are connecting to FIBS for the first time, set the FIBS Login name to "guest", and the password to blank, and follow the instructions that FIBS sends for registering and creating a new user id.

Choosing and Configuring a Serial Port

Use the Options/Port Settings... menu command to configure FIBS/W to use the modem with which the connections will be made to the host system, and to choose the baud-rate, number of data bits, parity, number of stop bits and flow control. If you need help choosing these settings, please contact a service representative for your host system for the settings appropriate for your host system.

For FIBS/W to operate correctly, the COM port must be configured to use some form of Flow Control. Hardware flow control is recommended as most modems are configured this way by default. If the port is configured to use Xon/Xoff Flow Control, then the Modem Initialization string setting should be modified to initialize the modem for Xon/Xoff Flow Control as well. Please see the section Choosing a Modem Init String for further information if you intend to use Xon/Xoff flow control. Unfortunately default modem configurations are not standard, and there are no standard commands which will configure the modem properly. If FIBS/W seems to drop characters, or displays a lot of garbage, the problem probably occurs because the modem is not appropriately configured to use hardware flow control. If this happens, please read the section Choosing a Modem Init String for further instructions on how to configure the modem properly.

Further help on configuring the serial ports may be obtained by pressing the Help button in the Port Settings dialog.

Choosing a Login Script

FIBS/W provides several login scripts which will automatically dial up a host system and establish a connection to the FIBS Internet backgammon server via the host system. To choose a login script, run the Options/Connect Script Settings... menu command. The first field in the resulting dialog provides a list of login scripts along with a brief description of the host systems they are intended for. If your system is not among those for which direct support is provided, there are two possible courses of action: (1) use the manual connection procedure (see the next section), or (2) modify one of the existing scripts for your system (see the section Script Files and Automated Connection).

If your system is directly supported, then you may choose the login script for your system in the Options/Connect Script Settings... dialog box. The scripts provided with FIBS/W will allow you to omit some information from the Script Parameter fields; the only field which is actually required is the telephone number. FIBS/W will allow you to manually enter passwords at password prompts if the Host Password or FIBS Password entries are left blank. The login scripts will wait for the password to be entered, and continue once the passwords have been entered.

Further help on configuring the login script files may be obtained by pressing the Help button in the Connect Script Settings dialog.

Manual Login Procedure

If your system is not directly supported by one of the automated login scripts provided with FIBS/W, you may choose the manual login script. This script will dial the Telephone Number as set in the Telephone Number entry of the Options/Connect Script Settings... dialog box, and then allow you to complete the connection to FIBS by typing commands for your host system. The manual login script only uses the Telephone Number entry of the Options/Connect Script Settings... dialog box.

If you choose to use the manual login script, then you must enter the command "set boardstyle 3" at the FIBS command prompt yourself to get FIBS/W to work correctly. FIBS/W only understands backgammon boards sent when boardstyle is set to 3. If you continue to get text backgammon boards, it is almost entirely likely that the problem is that you have not entered the "set boardstyle 3" command at the FIBS command line prompt. Make sure that FIBS responds "Value of 'boardstyle' set to 3" when the command is issued.

Methods for connecting to FIBS vary from host system to host system. Typically on UNIX hosts systems, issuing the command "telnet 129.16.235.153 4321" will establish a connection to FIBS. Note that this Internet address is, unfortunately, subject to change without notice. Issue the command appropriate to your system to establish a Telnet connection with FIBS.

Once connected to FIBS, follow the instructions for logging on to the FIBS server.

After Connecting to FIBS

Before FIBS/W can work with FIBS the command "set boardstyle 3" must be issued at the FIBS command prompt. Automated login scripts other than MANUAL.SCC will send this command automatically. If this command is issued correctly, FIBS should return the message "Value of boardstyle set to '3'". FIBS/W will display backgammon boards in text mode if this command has not been issued.

After completing these steps you are now ready to play backgammon on FIBS.

If you continue to get text boards instead of graphical boards, make sure that you have correctly issued the FIBS "set boardstyle 3" command.

See also

Script Files and Automated Connections

Port Settings Dialog

Connect Script Settings Dialog

Choosing a Modem Init String


Choosing a Modem Init String

Unfortunately, modem commands vary greatly from manufacturer to manufacturer, as do default modem configurations.; therefore, it doesn't appear to be possible for FIBS/W to correctly configure all modems correctly all the time by default.

The best course of action is to use the default Modem Init String: "ATE1V1Q0S0=0&D2".  Most modems are configured to use Hardware flow control by default: therefore, by unless you have a specific need to use a different form of Flow Control, the Flow Control field of the Options/Port Settings... dialog should be set to Hardware (CTS/RTS handshake).

If any of the following problems are encountered with this setting, you will need to modify your modem initialization string. You will need to consult your modem User's Manual for information on choosing an appropriate initialization string for you modem.

-	FIBS/W appears to drop characters or displays garbage on the screen (particularly "~" characters).

-	FIBS/W appears to be using a non-error-correcting connection on a modem connection that supports error-correcting communication protocols.

-	FIBS/W does not hang up the line properly when exiting.

FIBS/W requires the modem to be set up as follows.

-	The modem must return result codes for modem commands. This modem command is "Q0" for most modems, and is usually set by default.

-	The modem must respond to modem commands, and must respond in English rather than with numeric result codes. This modem commands is "V1" for most modems, and is not always set by default.

-	The modem should not answer the phone if it rings. This modem command is "S0=0" for most modems, and is usually set by default.

-	The modem should hang up the line if FIBS/W terminates unexpectedly. This command is "&D2" for most modems, but is often something else. Most modems do not satisfy this condition in default configuration. FIBS/W should work without this setting, but the risk of leaving the modem on-line if Windows should crash makes it a good idea to include this modem command.

-	The modem must be configured to use the same form of flow control as FIBS/W is configured to use. The modem configuration must match the FIBS/W setting in the Flow Control field of the Options/Port Settings... dialog. The form of hardware flow control that FIBS/W uses is often referred to as CTS/RTS flow control. Most modems are configured to use Hardware flow control by default. The default Modem Init String does not set this parameter. The modem command to configure a Hayes modem to use hardware flow control is "&K3" but is known to be different on many common modems. The modem command to configure a Hayes modem to use Xon/Xoff flow control is "&K4". Please note that on some common modems, the &K command is used to select the communications protocol (v32/bis, MNP 5, etc.) instead! For example, on US Robotics modems, the init string must contain &H1&R2 instead of &K3 to configure the modem for Hardware Flow Control.

In addition, although many high-speed modems will be configured to use error-correcting communications protocols such as MNP, v32 and v42 variants by default, others will use direct protocols by default and must be explicitly configured to use error correcting protocols. For instance, if you are using a 14400 modem, and the modem connects at 9600 baud instead of 14400 on a line which should support 14400, this would indicate that the modem is in fact not properly configured.

Please consult your modem's User's Manual to determine the correct modem commands to put the modem into the required configuration. If you are using other communication packages that appear to work properly, it may be a good idea to copy the modem init strings, and serial port configurations from those programs.


Anatomy of a FIBS/W Window

Tool bar Icons

 Connect or Disconnect

Connect to FIBS or Disconnect from FIBS.

 Roll

Rolls the dice.  Only enabled if the current state of the game allows you to double.

 Pick up the Dice

Pick up the dice in order to complete the current move.  Only enabled if the current state of the game allows you to double.

 Double

Offer the doubling cube to the opposing player. Only enabled if the current state of the game allows you to double.

 Accept Double

Accept a double offered by the opposing player. Only enabled if the current state of the game allows you to double.

 Reject Double

Reject a double offered by the opposing player. Only enabled if the current state of the game allows you to double.

 Toggle Board

Toggles whether the board is displayed.

 Toggle Double

Toggles whether FIBS will ask you if you want to double or not. When on, FIBS will ask if you want to double or roll whenever you have a choice. When off, FIBS will roll the dice automatically without asking. Expert tip: setting Toggle Double to Off greatly speeds up the game; the trick is to set Toggle Double to On if you make a good roll that significantly changes the value of the game. This command sends the FIBS "toggle double" command to FIBS.

 Toggle Ready

Toggles whether you are ready to play a game. If set, you may invite or be invited to play a game. If not set, players may not invite you to play a game. This command sends the FIBS "toggle ready" command to FIBS.

 Toggle Away

Toggles your away status. When set, players who attempt to "tell" you something using the FIBS "tell" command, or invite you to play a game will receive a message. When you set away status, you  will be asked for a message to give to players who try to talk to you. This command sends the FIBS "away" command.

 Calculate Pipcount

Calculates the number of pips required to bear all men off the board for each player. This command sends the FIBS "pip" command to FIBS. If your opponent has issued the FIBS "toggle allowpip" command, you will not be able to use this command.

 Who

Shows a list of all players connect to FIBS. This command sends the FIBS "who" command to FIBS.

 Who Ready

Shows a list of players who are ready to play a game. This command sends the FIBS "who ready" command to FIBS.

 Send Telnet Escape

Sends an Escape character. On most systems, this will cause the host system to return to the Telnet prompt for further Telnet commands. From the Telnet prompt, its possible to issue host commands such as "!mail" which will check whether you have mail waiting. To use this command the host system's Telnet escape character must be set to "^]". To return to FIBS from the Telnet prompt, press " " (space) and then the return key. This command only works when using a dial-up terminal-server host system -- the Telnet escape key has no meaning when running direct Winsock connections.


A Brief Introduction to FIBS

The First International Backgammon Server (FIBS) is an Internet server which allows players from all over the world to play backgammon against human opponents via the Internet.

This section provides a brief tutorial on how to play backgammon on FIBS. FIBS provides an enormous variety of commands, and options, all enormously useful for playing backgammon. FIBS/W provides a user interface that allows some of those commands to be used (in particular those involved with actually playing a game) using a mouse or menu driven interface.

The first command to learn on FIBS is the help command. Typing "help" by itself will provide a list of available help topics. For information on any but basic FIBS commands, please refer to the information provided by the FIBS help command.

The first step toward playing on FIBS is to get a FIBS account. To get an account, connect to FIBS and login to FIBS using the name "guest".  To do this, set the FIBS Login Name field of the Options/Connect Script Settings... dialog to "guest" (omit the quotes), and connect to FIBS. FIBS will walk you through the account creation procedure.

Once you have chosen an account, and password, set these values in the FIBS Login Name and FIBS Password fields of the Options/Connect Script Settings Dialog... and connect to FIBS again.

Once you are connected using your new account, you will need to find someone to play with, and invite them to play. Issue the Actions/Who menu command, or type "who" to see a list of all players currently connect to FIBS. Issue the Actions/Who Ready menu command or type "who ready" to see a list of players currently willing to play.

Before you can invite someone to play a match, or be invited yourself, you must tell FIBS that you are willing to play. To do this, issue the Actions/Toggle Ready menu command, or type "toggle ready". Having identified a player you would like to play with, and having toggled your ready status, you are now ready to extend an invitation.

To invite another player to join you for a game of backgammon, type "invite <name> <number>" where <name> is the name of the player you want to play, and <number> is the number of points in the match you wish to play. Note that it takes somewhat longer to actually play a match on FIBS than it does in real life, so it's probably a good idea to start with a 3 point match until you get a better feel for FIBS itself.

If the player accepts your invitation, you are ready to play backgammon! If not, try again. All FIBS players were "newbies" once, and most are reasonably tolerant, and willing to help.

Other FIBS commands you should know: "shout ...." sends a message to all players connected to FIBS: use this command sparingly until you get a feel for FIBS culture and conventions for polite behavior. "tell <name> ..." sends a message to a particular player. When playing a game "kibitz ..." or just "k ..." sends a message to your opponent and anyone watching your match at that particular time. You may also watch other players matches. Type "watch <name>" to watch a match that <name> is playing in. Type "show games" to see a list of games in progress.

Once you have started a match, FIBS/W allows you to perform most actions associated with playing a match using the mouse or menu commands.

Happy backgammon playing, and good luck.


Using the Mouse to Interact with FIBS
Using a Mouse to Interact with FIBS

FIBS/W does not completely automate access to FIBS. Many operations must still be carried out by typing commands on FIBS. However once you have started a game with an opponent, most operations can be carried out using the mouse. At all times the equivalent Command Line and menu commands may be used interchangeably. Use the interaction style that best suits you.

Rolling the Dice

To roll the dice, click anywhere on the cube bar at the right hand side of the board.

Moving Checkers

To move a checker, pick it up with the mouse and, while holding down the mouse button, drag the checker to the point that you wish to move it to. FIBS/W will complain if it's not your turn, or if the move is illegal. Ctrl+Z (Edit/Undo) will undo the last move. Pressing the escape (ESC) key will undo all moves made.

Completing the Move

Once you have made a legal move, clicking on the cube bar at the right hand side of the board will pick up the dice, and send the appropriate command to FIBS.

Doubling

To double using the mouse, click on the doubling cube. FIBS/W will not allow you to double if the current state of the game does not allow you to do so.

Accepting a Double

To accept a double that you  opponent has offered, click on the doubling cube.

Declining a Double

There is no way to decline a double using the mouse. Use the menu command Action/Decline Double instead.

See also:

Anatomy of a FIBS/W Window


Using the Command Line to Interact with FIBS

FIBS provides an incredible number of commands to backgammon players. FIBS/W does not attempt to provide a graphical user interface for any but those commands actually involved with playing a game. The Command Line edit box allows text commands to be sent to FIBS. To send a text command to FIBS, simply type the command and hit the Enter key to send the command.

FIBS/W will also allow you to use text commands to play the game. For example typing "roll", "double" or "8 5 5 1" (or even "8 1") will work just as well as using the equivalent mouse commands to complete these operations. FIBS/W will follow your actions, and update the board appropriately. Please note that FIBS/W will preview the moves on the board as you type them if you use the syntax "<point> <point> ..." where <point> is of the form "<number>|o[ff]|b[ar]" but will not do so if you use the verbose FIBS command "m[ove] <point> <point> ...".

FIBS/W also provides a small number of local commands which are interpreted by FIBS/W rather than FIBS. The primary purpose of these commands is to facilitate writing of automated login scripts.

See also:

Anatomy of a FIBS/W Window

FIBS/W Script Commands


Modem Settings Dialog
Port Settings Dialog

The Port Settings dialog is accessible from the Options/Port Settings... menu command.

The Port Settings selects how FIBS/W will connect to the FIBS Internet backgammon server.

To connect to the FIBS Internet backgammon server using a Winsock connection, select the Winsock entry in the Ports list box. No other information is required when using a Winsock port.

The remainder of this section deals with selecting and configuring serial ports.

First select the COM port with which FIBS/W will connect to the host system.

Next configure the serial port.

The baud rate should be set to the highest baud rate that your modem can support.

The Number of data bits, parity, and stop bits depend upon the host to which you are connecting. Consult your service provider for the correct setting for these dialog entries. Usually, most host systems follow one of two conventions: either Data Bits: 8, Parity: none, Stop Bits: 1; or Data Bits: 7, Parity: Even; Stop Bits: 1.

The Flow Control dialog entry should be set to Hardware unless you have a specific reason not to do so. If you choose Xon/Xoff flow control, you may need to modify the Modem Initialization string accordingly. See the section Choosing a Modem Init String for further information.

The Modem Initialization string should normally be "ATE1V1Q0S0=0&D2". If you are using Xon/Xoff flow control, you must change the modem init string from its default value. Please see the section Choosing a Modem Init String for more information.

The Dial String Prefix should normally be "ATDT". If your telephone line does not support touch-tone dialing, set the Dial String Prefix to "ATDP".

For any other settings for the Modem Initialization string and Dial String prefix, consult your Modem User's Manual.


Connect Script Settings Dialog

The Connect Script Settings dialog is accessible via the Options/Connect Script Settings... menu command.

The Connect Script Settings dialog configures FIBS/W to connect to the FIBS Internet backgammon server automatically.

If you are using a Winsock connection to the Internet, filling in the FIBS Login Name and FIBS Password fields in this dialog allows FIBS/W to automatically log in to the FIBS Internet backgammon server. No other entries in the Options/Connect Script Settings... dialog are used when using a Winsock connection.

When using a dial-up dumb-terminal-sever connection to the Internet, FIBS/W can be configured to automatically establish a connection to the FIBS Internet backgammon server without manual intervention.

First choose a host script. Browse through the host system descriptions in the Connect Script list box for the system descriptions which most closely resembles your own. If there is no appropriate script, choose "manual.scc", or consult the section Script Files and Automated Connections for instructions on how to modify the existing script files, or write your own.

The Network list box is used when you are connecting to a host system via a national network data carrier or network front end system. If you are connecting to a host system via TYMNET, CISnet, or if you must type "rlogin <host name>" before typing your login name, select the appropriate entry in the Network list box. Otherwise select "<none>".

The Script Parameters are used to customize the connect scripts for your own use. The entries in these fields are used by the connect scripts to automate the login procedure.

Telephone Number	The telephone number of the host system you are dialing.

Host Name	Used this dialog entry only if you have selected a Network. Enter the name of the host system you are connecting to. Examples: "Delphi", "gabriel.resudox.net", "BIX".

Host Login Name	The name which should be sent to the host system in response to the "login:" prompt.

Host Password	The string that should be sent to the host system in response to the "password:" prompt. If this field is left blank then you will be asked to enter your password manually when the login script executes.

FIBS Login Name	The name which should be sent to FIBS in response to the FIBS "login:" prompt. If you are connecting to FIBS for the first time, enter "guest" in this dialog entry.

FIBS Password	The string that should be sent to FIBS in response to the FIBS "password:" prompt. If this field is left blank, then you will be asked to enter your FIBS password manually when the login script executes.

IMPORTANT WARNING: The passwords entered in this dialog are stored in unencrypted form on your hard disk. Due to the inadvisability of storing passwords in plain form, the author of FIBS/W recommends that the Host Password and FIBS Password dialog entries be left blank. If these fields are left blank, the automated login scripts pause at the appropriate place in the scripts in order to allow you to enter your passwords manually.


Menu Commands
Main Menu Commands

File	Standard File Menu Commands

Edit	Standard Edit Menu Commands

Action	Commands used to play a game.

Communication	Commands used to control a serial connection.

Options	Commands used to configure FIBS/W

View	Commands used to modify the information displayed by FIBS/W

Window	Standard Window-control commands

Help	Help on FIBS/W


File Menu

New	Create a new FIBS/W Window.

Close	Close a FIBS/W Window

Exit	Exit FIBS/W.


Edit Menu

Undo	If moves are pending, undoes the last move; otherwise undoes the last Command Line Edit Box operation.

Cut	Cut the currently selected Command Line Edit Box text to the clipboard.

Copy	Copy the currently selected Command Line Edit Box text to the clipboard

Paste	Pastes text on the clipboard into the Command Line Edit Box.


Action Menu

This menu provides menu commands used during the course of playing a game.

Note that the accelerator keys for these menu items are carefully selected to allow actions to be executed using the left hand while using the mouse with the right. Sorry if this is levulocentric.

Roll	Roll the dice. Only enabled if the current state of the game allows you to roll the dice.

Pick Up Dice	Complete the current move and send the appropriate command to FIBS. Only enabled if you have completed a correct and legal move using the mouse.

Double	Offer the cube to your opponent. Only enabled if the current state of the game allows you to double.

Accept Double	Accept a cube offered by your opponent. Only enabled if your opponent has doubled you.

Reject Double	Decline a cube offered by your opponent. Only enabled if your opponent has doubled you.

Toggle Ready	Toggles whether you are ready to play a game. If set, you may invite or be invited to play a game. If not set, players may not invite you to play a game. This command sends the FIBS "toggle ready" command to FIBS.

Toggle Double	Toggles whether FIBS will ask you if you want to double or not. When on, FIBS will ask if you want to double or roll whenever you have a choice. When off, FIBS will roll the dice automatically without asking. Expert tip: setting Toggle Double to Off greatly speeds up the game; the trick is to set Toggle Double to On if you make a good roll that significantly changes the value of the game. This command sends the FIBS "toggle double" command to FIBS.

Toggle Away	Toggles your away status. When set, players who attempt to "tell" you something using the FIBS "tell" command, or invite you to play a game will receive a message. When you set away status, you  will be asked for a message to give to players who try to talk to you. This command sends the FIBS "away" command.

Calculate Pipcount	Calculates the number of pips required to bear all men off the board for each player. This command sends the FIBS "pip" command to FIBS. If your opponent has issued the FIBS "toggle allowpip" command, you will not be able to use this command.

Who	Shows a list of all players connect to FIBS. This command sends the FIBS "who" command to FIBS.

Who Ready	Shows a list of players who are ready to play a game. This command sends the FIBS "who ready" command to FIBS.

Freshen Board	Asks FIBS to re-send the current board, and redraws the FIBS/W board accordingly. Generally useful only in case of communications errors, or when starting to watch a game. If FIBS/W should ever get confused or start to act strangely, issuing this command may remedy the situation.


Communication Menu
Communications Menu

This menu provides commands used to affect serial port connections.

Connect	Connects to the selected serial port and executes the script STARTUP.SCR.

Disconnect	Executes the script HANGUP.SCR and disconnects from the serial port.

Run Script...	Select and run a script file.

Stop Script	Cancels any scripts currently executing.


Options Menu

This menu provides commands used to configure FIBS/W.

Port Settings...	Use the Options/Port Settings... menu command to select how FIBS/W will connect to the FIBS Internet backgammon server. For Winsock connections, simply choose "Winsock" in the Ports list box. For dial-up connections, this dialog allows you to select the serial port with which connections will be made to the host system, and to choose the baud-rate, number of data bits, parity, number of stop bits and flow control. If you need help choosing these settings, please contact a service representative for your host system for the settings appropriate for your host system. Most systems will accept one of 8 data bits, no parity bits, 1 stop bit, or 7 data bits, even parity, 1 stop bit. See also Configuring FIBS/W.

Connect Script Settings...
Choose and configure a Connect Script. You may choose a script to use when establishing connections to FIBS via a host system. The Script Parameters are used by script files for common information which varies from user to user. Each of the entries in this dialog can be accessed in a script file using '%' commands. See FIBS/W Script Commands for more information on how the entries in this dialog are used. See also Configuring FIBS/W.

Color Preferences...	Choose new colors for the board and pieces.

Font...	Choose a font to use in the text window. This font is remembered from session to session.

Auto Connect When Loaded

This menu command toggles whether FIBS/W will automatically attempt to connect to the host every time it's loaded. When checked, FIBS/W will connect to the modem and start executing the connect script when loaded. When unchecked, connections must be established manually using the Communication/Connect menu command.


View Menu

This menu provides commands which may be used to affect the appearance of the FIBS/W windows.

Toolbar	Show or hide the toolbar.

Status Bar	Show or hide the status bar.

Board	Show or hide the board.


FIBS/W Local Command-Line Commands
FIBS/W Script Commands

FIBS/W provides absolutely the bare necessities for writing simple script files to automate common or repetitive tasks while communicating with FIBS/W. These commands may also be executed directly from the command line. However, the main intent of the script commands it to facilitate writing of automated connect procedures.

FIBS/W also provides redirection commands '<' and '>' which may be used to execute scripts and to capture output to a log file, respectively.

Script commands (although not '<' and '>') must be prefixed by the '@' character .

If the @echo 0 command has previously been issued in the current script file, the commands will not be echoed to the screen.

Prefixing a command with a backslash ('\') will override the meaning of the first character in a line. For example the command "\@echo" would send the command "@echo" to the host system instead of executing the FIBS/W echo command.

Most FIBS/W script commands may take string arguments. String arguments must be enclosed in double quotes. String escape sequences may be used to send special characters, or to include the values of variables set by the Port Settings or Connect Script Settings dialogs.

< Command

> Command

@send Command

@wait Command

@echo Command

@if/@else/@endif Commands

@goto Command

@: Label Command

@board Command

String Escape Sequences

Tips and Tricks for Developing Scripts


String Escape Sequences

Strings in FIBS/W script commands must be enclosed in double quotes. The following escape sequences are recognized in FIBS/W string arguments to FIBS/W script commands:

\r	Carriage return

\n	Line Feed

\t	Tab

\b	Backspace

\a	Attention (terminal bell)

\\	Backslash

\nnn	Character which has octal code nnn.

\"	Double quote.

\%	Percent Character.

\^	literal ^ character

^X	(where X is any alphabetic character) Control character Ctrl+X.

For example: "Dialing\r\n", "\"To be or not to be\"", "^C".

In addition, text enclosed by percent signs is interpreted as a variable name by the command interpreter. Currently FIBS/W supports only the following variable names which may be configured using the Options/Connect Script Settings... dialog box, and the Options/Port Settings... dialog box:

%DialStringPrefix%	Command to send to a modem to dial a telephone number. "ATDT" by default.

%TelephoneNumber%	Host telephone number.

%HostLoginName%	Host Login name.

%HostPassword%	Host Password.

%FibsLoginName%	FIBS Login Name

%FibsPassword%	FIBS Password.

%FibsInternetAddress%	FIBS Telnet address string. Currently 129.16.235.153.

%FibsTelnetPort%	FIBS Telnet port number. Currently 4321.

Other variables may be set as required by modifying the FIBSW.INI file. Variables are stored in the [Settings] section of the FIBSW.INI file.


< Command

Syntax

<filename

or

<

Description

<string> specifies a valid filename. FIBS/W interprets the string as a filename, and attempts to execute the filename as a script file. Script file invocations may be nested within script files. However, note that executing a script file while a script file is already executing cancels execution of the first script file if executed from the command line. FIBS/W searches for the file in the current directory, and then in the directory in which the FIBS/W .EXE file resides.

If no filename string is provided, then the '<' command terminates execution of the current script file as well as any nested invocations of script files. The function of the '<' command without a string argument is equivalent to issuing the Communication/Stop Script menu command.

Example

<prefs.scr	; Executes the file prefs.scr


> Command

Syntax

>filename

or

>

Description

The '>' command captures all received serial data and writes it to the specified file. If no filename is specified, capturing stops.

Example

>c:\game.log  ; Captures data to C:\GAME.LOG


@send Command

Syntax

@send "string"

Description

Sends the string to the host system. This command differs from normal command line commands only in that string escape sequences are substituted, and a that carriage return is not sent after the string is send.

Example

@send "+++"    ; Sends +++ (no return)

@send "%HostLoginName%\r"

@send "^C"

@send "^]"   ;send an ESCAPE character

See Also

String Escape Sequences


@wait Command

Syntax

@wait "string"  ; wait for a string to be received

@wait 1234      ; wait for 1234 seconds

@wait "string" 1234  ; wait for a string, timing out
                     ; after 1234 seconds

Description

Wait commands are only valid inside script files. They can not be executed directly from the command line.

Form 1 of the wait command (@wait "string") suspends the execution of the script file until the string is received from the host system. As soon as the string is received, script file execution resumes with the next statement in the script file. The script file will be suspended indefinitely until the host system sends the specified string.

The second form waits for the specified number of seconds before resuming execution of the script file.

The third form ("@wait "string" 1234) waits for the specified number of seconds before or for the string to be sent by the host system. If the timeout occurs before the string is received, then script file execution is terminated with an error unless the command is issued as part of an "if" command. Otherwise execution continues normally.

When the third form is used as the test clause of an @if command, the @wait command returns TRUE if the string was received, and FALSE if the timeout occurred.

Examples

@wait "OK"	; Wait for the modem to send "OK"

@wait "%HostName%$" 10	; Wait for a csh command prompt

@wait 5	; Wait 5 seconds

See Also

String Escape Sequences

@if/@else/@endif Commands


@echo Command

Syntax

@echo 0          ; Turn command echoing off

@echo 1          ; Turn command echoing on

@echo "string"   ; Display a string locally

Description

The first two forms of the echo command are used to control whether script commands are displayed during script execution. These commands constitute a useful tool while developing script files. @echo 0 turns command echoing off: script file commands do not get displayed; @echo 1 turns command echoing on: script file commands get displayed in the text display area before being executed.

The third form of the echo command (@echo "string") displays a string on the screen without sending it to the host system. Note that echoed strings do not automatically have carriage returns or linefeeds sent after them, unless explicitly provided in the string itself.

Echoed strings are displayed as if they were data received from the serial port. Therefore, typically, both carriage returns (which return the display cursor to column zero), and linefeeds (which move the display cursor to the next line) are required to start a new line.

The @echo 0 command will not be displayed on the screen. The @echo 1 command will not be displayed on the screen if the @echo 0 command has previously been issued.

Example

@echo "\r\n** Dialing...

@echo "\r\nConnecting to %HostName%..."

@echo "\r\n** Error: File not found\r\n\a"

@echo 0
@rem  **** A comment ****

See Also

String Escape Sequences


@if/@else/@endif Commands

Syntax

@if ...
       ... statements ...
@else  ; (optional)
        ... statements.... (optional)
@endif

Forms of the @if command:

@if "string1" == "string2"	; Test string equality

@if "string1" != "string2" ; Test string inequality

@if @wait "string" 1234	; Test wait with timeout

@if not @wait "string" 1234 ; Test wait with timeout

Description

The @if/@else/@endif commands may be used to conditionally execute script commands.

Each @if statement should have a corresponding @endif command, and optionally a following @else command. Script commands up between the @if statement and the following @else or @endif statement are executed if the condition is TRUE, and not executed if the condition is FALSE. Script commands between the @else statement and the following @endif statement are executed only if the condition is FALSE.

The string equality @if statements are typically used to test variables set by the Port Settings and Connect Script Settings dialog box. To do this, '%' escape sequences should be used. For example:

@if "%HostName%" != ""
@   send "rlogin %HostName%\r"
@else
@   echo "\r\n** ERROR: Please set Host Name\r\n"
@   echo "  in the Options/Connect Script Settings... dialog\r\n"
<       ; terminate script execution
@endif

Note that '%' variables which are not defined evaluate to "". So for example the test

@if "%GarbageName"==""

succeeds.

The @if @wait "string" 1234 command succeeds if the string is received by FIBS/W before the wait timeout, and fails if the timeout occurs first.

The @if not @wait "string 1234 command succeeds if the timeout occurs, and fails if the string is received first.

Examples

@if "%HostPassword%" == ""
@   wait "password:"    ; wait indefinitely
@else

@   if not @wait "password:" 10
@       echo "\r\n** ERROR: Password prompt not received\r\n"
<       ; terminate script execution
@   endif
@   send "%HostPassword%\r" ; send the password
@   wait "\n"   ; wait for a response
@endif

See Also

String Escape Sequences

@wait Command


@board Command

Syntax

@board 0    ; Hide the game board

@board 1    ; Show the game board

@board -1   ; Return the game board to default state

Description

The @board command allows script files to show or hide the game board in the main FIBS/W window. @board 0 hides the game board. @board 1 show the game board. @board -1 sets the board to default state. The default state of the game board is the state that the user last explicitly set using the View/Board menu command, or the View Board tool button.


@goto Command

Syntax

@goto label

Description

The @goto command searches the current script file for the first occurrence of the specified label, and resumes execution on the line following the label.

Examples

@:RetryStartTelnet    ; A label
@   send "telnet\r"   ; start telnet
@   @if not @wait "telnet>" 10 ; wait for telnet prompt
@       goto RetryStartTelnet
@   @endif

See Also

@: Label Command


@: Label Command

Syntax

@:label

Description

The label command is used by the FIBS/W script interpreter to identify lines which are the target of goto statements. Unless processing a goto statement, label commands are ignored by the FIBS/W script interpreter.

Examples

@:RetryStartTelnet    ; A label
@   send "telnet\r"   ; start Telnet
@   if not @wait "telnet>" 10 ; wait for Telnet prompt
@       goto RetryStartTelnet
@   endif

See Also

@goto Command


Tips and Tricks for Developing Script Files
Tips and tricks for Developing Scripts

Regrettably, due to the moderate complexity of the task of writing script files, the author cannot supply help unless FIBS/W is clearly malfunctioning. Despite this, the task of writing script files is fairly straight-forward.

The main problem with writing automated communications procedures is that appropriate response must be carefully synchronized by waiting for the prompt which they belong with. If this isn't done, then several things may happen: (1) the script file will execute immediately, sending all its responses before the host system can respond, and (2) the host may discard data if too much data is sent. For instance, during UNIX login procedures, the UNIX host carefully discards all buffered data before the login: and password: prompt is displayed.

Therefore, to write well behaved script files, the trick is to pace the script so that it (1) knows what prompt to expect next, and (2) knows what needs to be sent in response to that prompt.

The secret to understanding how script files work is understanding that script file execution takes precedence over anything else unless the script file is waiting for received data; therefore one must take great care when interleaving wait commands and echo or send commands. As soon as the last character in the wait string is received, the next command will be executed. In the following example, the script waits for "\n" to prevent the following output:

CONNECT** Logging in...
 38400

If the @wait "\n" command isn't there, the @echo command occurs before FIBS/W receives the rest of the CONNECT line, and the modem baud rate gets separated from the CONNECT message.

@send "%ModemDialPrefix%%TelephoneNumber%\r"
@if not @wait "CONNECT"
@  echo "** ERROR: Modem not responding\r\n"
<   ; terminate script input
@endif

@wait "\n" ; waits for the rest of the message
@echo "** Logging in...\r\n"

When developing scripts, the most useful tool at your disposal is the COM port status panel at the bottom of the screen. Watch the status bar carefully if your script doesn't seem to be working. The COM status panel will display messages of the form "Waiting for "xxx"...(9)"  if the currently executing script file is waiting for input. Knowing what the script file is waiting for at any particular time may help you understand why the script file and the host system are out of sync with each other.

Be careful about how and when data is sent to the host. Most systems will not buffer lines of text during login. Therefore, the script must wait for the appropriate prompt before sending text. For example:

@send "%HostLoginName%" ; *WRONG* DON'T DO THIS!!!
@send "%HostPassword%"  ; *didn't wait for password: prompt!

will not work on most systems, because the host system will flush its input buffers at before sending the "login:" and "password:" prompts.

Instead, use the following script commands:

@wait "ogin:" 60 ; wait for either "Login:" or "login:" prompt
@send "%HostLoginName%\r"
@wait "assword:" 60 ; wait for either "Password:" or "password:"
@send "%HostPassword%\r"

The usage of "\r" and "\n" puzzles some script writers. If in doubt, follow this simple rule: send "\r" only, and expect back "\r\n". Just write this off to a quirk of the ASCII standard.


Script Files and Automated Connection

FIBS/W supports simple script files which can be used to automate procedures such as connecting to FIBS. Script files may run either by using the Communication/Run Script... menu command, or by typing "<filename.ext" in the Command Line Edit Box.

When the Communications/Connect menu command is issued, FIBS/W executes the script file selected in the Login Script field of the Options/Connect Script Settings... menu command. Connection to FIBS can be completely automated by customizing the script files to fit the requirements of the Host System which is being used to connect to FIBS. Script files may have any extension. However, FIBS/W considers any file with the extension ".scc" found in the same directory as the FIBS/W  program file to be a login script, and will add all of them to the Login Script list box in the Options/Connect Script Settings... dialog. The description is taken from the first line of the login script file. FIBS/W looks for the string "%%" on the first line of the login script, and takes any text following the "%%" to be a description.

Network connect scripts are treated in much the same way. Network connect scripts must have the extension ".scn", and must reside in the same directory as the FIBS/W executable. FIBS/W will treat any text following "%%" to be a description of the file, and will display this information in the Network list box.

The file HANGUP.SCR is executed when the Communications/Disconnect menu command is issued.

Note that the development of scripts is not entirely straight-forward, and that the author cannot provide help building such scripts. That notwithstanding, most scripts should be fairly simple modifications of the existing script files provided with FIBS/W. The author would be happy to include any scripts that you develop in future versions of FIBS/W. Please send them via e-mail to robind@resudox.net.


What to Do When Things Go Wrong

Problem	Things to Try
FIBS/W displays the message "WINSOCK.DLL not found".	When attempting to connect to the FIBS Internet backgammon server using a Winsock connection, the WINSOCK.DLL file must either be on the current path, or currently loaded into memory. On some Winsock driver systems, the WINSOCK.DLL gets loaded when the Connection Manager is loaded. The WINSOCK.DLL file is supplied by the network operating system or SLIP or PPP connection system that you will use to make a Winsock connection -- not by FIBS/W. Make sure that your network operating system is correctly installed and configured. Regrettably, the author can not provide assistance with configuring and installing Winsock systems.
Won't connect to host system	Look at the status bar to determine where in the connect script FIBS/W thinks it is. The COM status panel will display a message of the form 'Waiting for "xxx"...' which should give you a good indication of what FIBS/W is expecting when it gets stuck. You can send commands to the host while a script is executing, so if FIBS/W gets stuck at a particular point, you may be able to resume the script by entering the information that the host is waiting for yourself. If you don't get past initializing the modem (FIBS/W is waiting for "OK"), this would suggest a serial port or modem configuration problem. Make sure you are connected to the right serial port.
The host system display lots of "~" characters.	If the host system displays "~" characters, this indicates that either the Parity setting is incorrect in the Options/Port Settings... dialog. High-speed modems that use 16550 UARTs occasionally display large amounts of "~" characters. There are several potential causes for this problem. The first thing to try is to turn the Detect Parity Errors checkbox in the Options/Port Settings... dialog to off: high-speed modems typically don't need parity checking because they use more advanced error correcting protocols, and the extra overhead of checking for parity errors may cause hardware overruns. If this doesn't work, try adding the line COM<n>FIFO=0 to the [386Enh] section of the Windows system.ini file: early versions of the 16550 had problems which prevent them from operating correctly with Windows. If neither of these solutions work, contact Microsoft to obtain the most recent version of COMM.DRV which contains bug fixes specifically pertaining to the use of 16550 UARTs in Window.
The host system displays seemingly random strange characters or makes a mess on the screen.	FIBS/W does not support terminal emulations of any kind. Your host system may be expecting FIBS/W to support VT-100 terminal emulation, for example. Regrettably, there are no plans for FIBS/W to support terminal emulations at the present time. The best way to deal with this problem is to write a login script which will get you connected to FIBS automatically. Once you are connected to FIBS, you will not need terminal emulation. Using a communications program that does support terminal emulation, login to your host system, carefully recording what keystrokes you have to send to complete the connection with FIBS. Watch for things on the screen which you can use as prompts in wait commands to ensure that the host system is responding as expected, and wait for these prompts using the "@wait "<string>" command before sending data. For instance @wait "Main Menu" in a script file might be a good command to use in such a situation to ensure that the login has completed successfully, and that the host system is ready to accept more input.
FIBS/W  loses characters.	This typically indicates that the Flow Control setting of the Options/Port Settings... dialog is incorrect. See Choosing a Modem Init String for further information.
FIBS/W won't let you issue a move/double/roll command when it should. FIBS fails to recognize a command that you send.	FIBS will not buffer more than one command at a time. If more than once command is sent to FIBS before FIBS gets a chance to execute the first command, FIBS will discard the second and all subsequent commands.  FIBS/W is fairly careful about not updating the state of the board before receiving confirmation from FIBS. If you lose move commands, for example, you can reissue the command by pressing the return key or clicking on the right hand bar of the board again. FIBS may occasionally send the text of a command sent to it in the midst of board data or other data that FIBS/W expects. If this happens, FIBS/W may get confused. If you suspect that this has happened, issuing the Action/Freshen Board (Ctl+F) menu command usually corrects the problem.
FIBS/W gives the error message 'Unable to Parse "board:" command'	This message is given when FIBS/W receives a backgammon board from FIBS to display, but the board data appears to be corrupt or incomplete. This error may be given in rare circumstances when a FIBS command is sent halfway through receiving the board. If this happens, issue the Action/Freshen Board (Ctrl+F) menu command to get FIBS to re-send the board. If it happens often, it usually indicates that the FIBS/W Flow Control configuration and the modem Flow Control configuration differ, and that FIBS/W is dropping characters as a result. See the section Choosing a Modem Init String for information on how to correct this problem.
FIBS/W won't work with a COM3 or COM4 device.	Windows must be correctly configured to use COM3 or COM4 ports. Run the Windows Control Panel application, (from Program Manager, File/Run.../"control.exe"/OK.). Double click on the Ports tool. Double click on the icon for the port you want to use (COM3: or COM4:). Press the "Advanced..." button. The resulting dialog will allow you to set the base port address and IRQ line appropriate for your serial port. Please note that there are no standard port addresses and IRQ lines for COM3 and COM4 devices so if you want to use COM3 or COM4 this configuration step must be followed.


License Agreement

You should carefully read the following terms and conditions before using this software. Use of this software indicates your acceptance of these terms and conditions. If you do not agree with them, do not use the software.

Shareware Version

You are hereby licensed to: use the Shareware Version of this software for a 10 day evaluation period; make as many copies of the Shareware version of this software and documentation as you wish; give complete and exact copies of this Shareware version of the software and documentation in its unmodified form via electronic means. There is no charge for any of the above.

You are specifically prohibited from charging or requesting donations for any such copies, however made, even to cover cost of duplication; and from distributing the software and/or documentation with other products (commercial or otherwise) without prior written permission. The author will usually be willing to give permission to distribute FIBS/W in this manner for a nominal fee.

Unregistered use of FIBS/W after the 10-day evaluation period is in violation, of Canadian, US, and international copyright laws.

Evaluation and Registration

This is not free software. The license allows you to use this software for evaluation purposes without charge for a period of 10 (ten) days. If you use this software after the 10 day evaluation period a registration fee of US$40 required. Terms of payment are given the Order Form and should be sent to

Robin Davies
229 3rd Avenue
Ottawa, Ontario
Canada. K1S 2K3

To print an order form, see the Order Form section of the help file.

When payment is received, you will be sent an authorization code that will remove the opening Shareware dialog.

Terms Of Use

One registered copy of FIBS/W must be purchased for each computer on which FIBS/W is run, or for each user of FIBS/W at your preference. Use of a licensed copy of FIBS/W should be considered like use of a book. As long as you can reasonably ensure that only one copy of FIBS/W is being used at any given time, then the terms of this license agreement are satisfied. For example: A computer at home and a computer at work, only you use it:: 1 license required. A computer at home and you and your wife use it: 1 license required. A computer at home and a computer at work, and other people use your work copy while you are at home: 2 licenses required.

What could be more reasonable than that? Please show the author the same courtesy.

You may install a copy of FIBS/W on a network drive provided you have obtained individual licenses for the software covering either all workstations or all users that will access the software through the network (at your discretion). Otherwise FIBS/W may not be installed on a network drive.

Governing Law

This agreement shall be governed by the laws of the Province of Ontario.

Disclaimer of Warranty

This software and the accompanying files are licensed on an "as is" basis, without warranties as to performance, merchantability, fitness for a particular purpose, or any other warranties whether expressed or implied. You may test FIBS/W to see if it works during the 10 day evaluation period. The entire risk as to the software's quality and performance is with you.

Because of the various hardware and software environments in which FIBS/W may be run, no guarantee can be made as to whether FIBS/W will continue to operate correctly.

Although the author warrants that reasonable precautions in accordance with current common software development practice have been taken to ensure that FIBS/W will not cause damage to your computer system or data, the author also cautions you that because of the state of software development as a discipline, reasonable precautions do not assure that such damage will not occur, and that the entire burden of risk rests upon the user rather than the author.

Problem reports may be e-mailed to Robin Davies, robind@resudox.net, although no guarantee can be made as to whether reported problems will be corrected or not.


Order Form

Send this order form and a cheque or money order to  Robin Davies, 224 3rd Avenue, Ottawa, Ontario, Canada. K1S 2K3. Cheques must be drawn on a Canadian or US bank only. In return, you will be sent instructions on how to remove the Nag Screen either by mail or e-mail, and will be registered as a licensed user of FIBS/W.

To print this form, select Print Topic from the File menu.

All prices are stated in US dollars. Payments must be made in US or Canadian dollars only. Payments in Canadian dollars must apply the prevailing US$/CD$ currency conversion rate as of the day the registration form is mailed.

Ontario residents must add 7% sales tax and 8% GST. Canadian residents must add 8% GST.

Prices guaranteed through December 31, 1994.

FIBS/W single license:   qty ___ @    $40.00 ea.= _________

FIBS/W single license plus a diskette
 containing the latest version of FIBS/W:

                         qty ___ @    $70.00 ea.= _________

                                 Subtotal         _________

Ontario residents add 7% sales tax              + _________

Canadian residents add 8% GST                   + _________

                                  Total payment   _________

            Name: ________________________Date:___________

         Company: ________________________________________

         Address: ________________________________________

City, State, Zip: ________________________________________

         Country: ________________________________________

       Day Phone: _______________  Eve:  _________________

Electronic Mail address: _________________________________

I would prefer to be notified by     [  ] Mail

                                     [  ] e-Mail

Comments:


What Is Winsock?

Winsock is a standard software interface to TCP/IP drivers under Microsoft Windows. The software to support Winsock is provided by network vendors when running the TCP/IP communications protocol over a network, or by packages such as Trumpet Software's WinTrumpet which provide Winsock support for PPP and SLIP dial-up connections. The SLIP and PPP communication protocols provide TCP/IP connectivity via dial-up modems. Although Windows 3.1 does not provide a standard interface to TCP/IP network drivers, the Winsock Software Interface Standard was produced jointly by major developers of Windows TCP/IP products in an effort to gain wider acceptance for TCP/IP use on PC's. Currently most major TCP/IP vendors provide Winsock support. Windows/NT provides built-in Winsock support for network adapters when the TCP/IP communications drivers are installed, although it doesn't provide PPP or SLIP connectivity by default.

Please note that Winsock drivers are not included with FIBS/W. To obtain a valid set of Winsock drivers, contact your network vendor or consult numerous sources of information on the Internet (including the alt.winsock newsgroup) for further information.


Host System (defined)
To use FIBS/W you must have either terminal-server dial-up access to an Internet host system, and the ability to use Telnet capabilities from that host, or access to the Internet using TCP/IP, SLIP or PPP connections via the Winsock software interface.


Thorpe Metric
The Thorpe Metric

The Thorpe Metric is used to evaluate racing positions. It is useful in no-contact racing positions, and gives a fairly reliable indication of cube strategy from the point that contact is broken, up until middle bear-off positions. It gives a more reliable indication of racing position than does pure pipcounts.

The Thorpe Metric was developed experimentally by Dr. Edward O. Thorpe, author of Beat the Dealer by performing computer analysis of bear-off and race positions.

The Thorpe Metric is calculated as follows:

1.	Let P be the leader's pip count.

2.	Let C be the number of checkers remaining.

3.	Let A be the number of checkers on the 1 point.

4.	Let H be the number of points covered in the home board.

Set T, the trailer's adjusted pipcount, to P+2*C+A-H.

Set L, the leader's adjusted pipcount, to T if T is less than or equal to 30, and to T plus 10% if greater than 30.

Then the Thorpe metric is the value of L minus the value of the opponent's T.

If the Thorpe metric is greater than or equal to -2, the player should double.

If the Thorpe metric is greater than or equal to -1, the player should redouble.

If the Thorpe metric is greater than 2, the opponent should pass.

The Thorpe metric gives extremely reliable results for most no-contact positions. However in very late bear-off positions it tends to break down. It doesn't deal very well with positions where a large number of checkers are stacked on the 1 point, or where the inner board contains a lot of gaps; However, late bearoff positions may often be evaluated using direct analytical methods.

The Races and Bearoffs chapters of Advanced Backgammon* by Bill Robertie cover the appropriate application of the Thorpe metric in some detail, and are recommended reading.

*	Advanced Backgammon, 2nd ed, Bill Robertie, 1991, Backgammon Press, Arlington MA. p 191, and assorted problems thereafter.