*****************************************************************************
                                 Contents
*****************************************************************************

1) Installation, Configuration & Quick Start
2) Introduction to Watchman
3) Limitations to Unregistered Version
4) Receiver Line (Overrun) Errors Under Windows
5) Technical Support
6) Registering Watchman and Reporting Problems
7) TERMS OF USE AND DISTRIBUTION
8) Technical Information
9) Uninstalling Watchman From Windows

*****************************************************************************
                1) Installation, Configuration & Quick Start
*****************************************************************************

A) Installation

Watchman is distributed both as a ZIP archive and as a self-extracting WinZip
EXE file. If as a ZIP archive (e.g. WATCH410.ZIP), then the self-extracting
executable (e.g. WATCH410.EXE) will be packaged within the ZIP file. The
following instructions pertain to the executable.

Watchman automatically installs in Windows 95/98 when the compressed archive
is executed. To install it under DOS, or in the event that Windows
installation fails, perform the following steps:

1) Copy the Watchman archive to a temporary directory. The directory should
   not contain any other files.
2) Unzip (not execute) the archive using the /d parameter. For example, if
   PKUNZIP is used, then from the command line type:

PKUNZIP /d WATCH410.EXE

Observe that the file extension must be explicitly typed.

3) Execute install.bat.

Watchman will not run properly under Windows 95/98 if any other program has
possession of the COM port receiving the datafeed. All such programs should
be reconfigured so that they do not interfere with the port.

When running Watchman in a DOS box of Windows 95/98, one should ensure that
DPMI memory is set to "Auto" in the properties of the box. Right click on
the DOS icon or DOS menu item and then click "Properties" and then click
"Memory."

Installation and use of Watchman will not affect any other software used to
read the BMI datastream; however, not more than one program can read this
datastream at any given time.

B) Configuration

Before executing WATCHMAN.EXE, read the file WATCHMAN.INI and set the
parameters therein to match your computer. This file has thorough comments
and should be self-explanatory. It gives much valuable information about
Watchman that is not included in the present file or in the help screens.

Of the various parameters in WATCHMAN.INI, likely only the ComPort parameter
will have to be modified for Watchman to run successfully. This parameter
must equal the COM port at which the BMI datafeed is being received. If you
are unsure as to which port this is, then try the alternate values
(i.e. 1,2,3 and 4) and choose the "Tests & Diagnostics" option under the main
menu of Watchman for each one. When the proper parameter is selected, a
continuous stream of data should appear in the "Tests & Diagnostics" screen.

If you are unsure about which COM port is receiving the datafeed, but are
sure about the baud setting of your receiver, then the process described in
the previous paragraph can be somewhat expedited. If during initialization
Watchman flashes a message saying "Setting baud", and if this message appears
for more than a few seconds, then this means that Watchman is not properly
receiving data from the configured port, and that it is attempting to rectify
the problem by resetting the baud. If the ComPort setting is wrong, then this
process will accomplish nothing and Watchman will eventually cease its
attempt to capture the datafeed by baud adjustment. However, it may take
several minutes before Watchman discovers that baud adjustments are futile.
To hasten installation, hit ESC to abort the baud adjustment, then exit
Watchman, then change the ComPort setting in WATCHMAN.INI and then run
Watchman again. When the port and baud are correct, the "Setting baud"
message should not appear at all, or only flash for a second or two.

Always ensure that your realtime clock and calendar are reasonably accurate
before executing WATCHMAN.EXE. Watchman can reset the clock and calendar from
the datafeed; however, it needs an accurate calendar and reasonably accurate
clock (i.e. within a few minutes) to initialize correctly.

C) Quick Start

The help menu (accessed by pressing F1) in Watchman contains a section called
"Quick Start". Read this to quickly learn essential features of Watchman. The
remainder of the help documentation will give complete instructions regarding
the program.

*****************************************************************************
                        2) Introduction to Watchman
*****************************************************************************

Watchman is designed to read the Bonneville Market Information (BMI)
datastream of Data Broadcasting Company (DBC). It organizes and presents data
and news received over this stream.

A principal advantage of Watchman is its ability to give the user a
comprehensive view of all securities of a particular type. For example,
Watchman can be configured to collect data on all American Stocks, and once
this data is gathered, the user can sort it and search it in a survey of the
entire stock market. Another powerful feature is its ability to collect tick
data on selected securities. It also contains numerous features that are
typically expected of this kind of software, including portfolio management
functions, price alert functions, news collection and organization, news
alerts and daily data storage.

Though Watchman would typically be classified as a DOS program, this
characterization is somewhat misleading because Watchman is almost entirely
a 32-bit protected mode program. Real mode is used only during initialization
and when performing certain DOS functions. Watchman is also entirely written
in assembly language, which largely explains the smallness of the program
notwithstanding its many features. Also, Watchman has been written to be Y2K
compliant.

Watchman runs satisfactorily in a Windows 95/98 DOS box; however, better
performance may occur in a pure DOS environment or in DOS mode of Windows. In
rare cases, it may be necessary to require Windows to relinquish the COM port
receiving the datafeed. Instructions for doing this are included below.

Watchman will work with both a satellite receiver (DRK) and a cable receiver
(DRC).

*****************************************************************************
                   3) Limitations to Unregistered Version
*****************************************************************************

Unregistered versions of Watchman are fully functional; however, they flash
hourly alerts in the news headline field warning that use of the software
beyond a 30-day trial is illegal.

*****************************************************************************
              4) Receiver Line (Overrun) Errors Under Windows
*****************************************************************************

Watchman uses a multithreading mechanism for transferring data from the COM
port input buffer to the main database. Because of "peculiarities" in the DOS
Protected Mode Interface (DPMI) of Windows, this mechanism is partially
impeded in that environment. This may not be of any consequence on faster
machines, but on slower machines it can result in receiver line errors, most
of which will occur immediately after midnight (local time). The reason is
that Watchman purges inactive symbols at midnight. Many of these symbols will
be reinstalled by the datastream over the next hour or so. The added workload
of reinstalling them can prevent Watchman from servicing the COM port with
its usual efficiency. The consequence of this will be character overrun at
the COM port. These are reported on the Watchman diagnostic screen as
"Receiver Line" errors. They are not critical errors. Such errors can also be
observed when Watchman is being executed for the first time. The reasoning is
the same: It is then busy installing symbols into a new database.

The problem will prove of little or no significance once the symbols have
been installed. Very few receiver line errors should be observed then, even
on slow machines.

Ironically, the multithreading mechanism has exactly the opposite effect when
executed outside of Windows. It then greatly expedites the flow of data above
what would be realized without it.

Even in the absence of this mechanism, occasional receiver line errors can
generally be expected under Windows 95/98. This is a notorious problem with
that operating system. New high capacity serial ports have been developed to
address the problem. More can be read about these at http://www.Siig.com.

*****************************************************************************
                           5) Technical Support
*****************************************************************************

Users in need of technical support should subscribe to the Watchman email
discussion group. This can be done by emailing a blank message to:

watchman1-subscribe@topica.com

Questions should then be submitted to:

watchman1@topica.com

Questions may also be submitted to:

dpyles@netdoor.com

or:

TechniLib
374 Dona Ave.
Jackson, MS 39212

(601) 372-7433

*****************************************************************************
               6) Registering Watchman and Reporting Problems
*****************************************************************************

The registration fee for noncommercial use of Watchman is $100. Registration 
instructions can be found in the file REGISTER.TXT.

Suggestions from users of Watchman will be appreciated. Suggestions should be
emailed to:

dpyles@netdoor.com

The most recent version of Watchman will always be posted at:

http://www.TechniLib.com

This site will also post any FAQs or other support information on Watchman.

*****************************************************************************
                      7) TERMS OF USE AND DISTRIBUTION
*****************************************************************************

Watchman is a shareware product; therefore, unregistered copies of Watchman
are made available free of charge so that potential purchasers will have the
opportunity to examine and test the software before committing payment.
Distribution of unregistered copies of Watchman to other potential users is
also permitted and appreciated. However, usage and distribution of Watchman
must conform to the following conditions. In the following statement, the
term "commercial distribution," includes shareware distribution.

1) Watchman and accompanying software must be distributed together in copies
of the original archive provided by TechniLib. Neither the archive nor
individual files therein may be modified.

2) The Watchman archive may be distributed in combination with other
shareware products; however, the Watchman archive may not be distributed with
other commercially distributed software without written consent of TechniLib.

3) Rights afforded by registering a single copy of Watchman pertain only to a
single computer.

4) Unless formally authorized by TechniLib, Watchman may not be used to
collect data for resale, or to facilitate the sale of other market
information, or to facilitate brokerage services. Additional registration
fees may be applicable where Watchman is to be used for commercial purposes.

5) Watchman may be registered for noncommercial use for a fee of $100.00 per 
copy. See the file REGISTER.TXT in the Watchman archive for further
instructions.

6) Use of any unregistered version of Watchman beyond a 30-day trial period
is prohibited.


                           DISCLAIMER OF WARRANTY


Watchman AND ALL ACCOMPANYING SOFTWARE AND LITERATURE ARE DISTRIBUTED WITH
THE EXCLUSION OF ANY AND ALL IMPLIED WARRANTIES, AND WITH THE EXCLUSION OF
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. TechniLib
SHALL HAVE NO LIABILITY FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
RESULTING FROM THE USE OF Watchman OR ACCOMPANYING MATERIALS. The user
assumes the entire risk of using this software.


                 Copyright 2000, by TechniLib (TM) Company
                            All Rights Reserved

*****************************************************************************
                          8) Technical Information
*****************************************************************************

.............................................................................
                    Reserving COM Ports Under Window 95/98
.............................................................................

If the user cannot achieve a connection with Watchman in a Windows 95/98 DOS
box, then they can make the communications port receiving the datafeed a
reserved resource. This should be done only as a last resort measure. If
Watchman cannot read the COM port in Windows, this is likely because another
program owns the port. An attempt should be made to reconfigure or remove
the interfering program before classifying the port as a reserved resource.

To reserve the port, choose appropriate values from the following table:

Port      I/O Addresses     IRQ
COM1          03F8-03FF       4
COM2          02F8-02FF       3
COM3          03E8-03EF       4
COM4          02E8-02EF       3

Next, double click on each of: "My Computer," "Control Panel" and "System." 
Next, click on "Device Manager" then double click on the communications port 
above.  Click on "Disable in this hardware profile." There should be a check
in the box when done. Next click on "OK" then click on "Computer" then click 
"Reserve Resources" then click "Interrupt Request" then click "Add." Type in
the correct IRQ from the above table and click "OK." Then click "Input/Output"
and click "Add." Type in the I/O addresses from the above table and click
"OK." Windows will likely issue a warning but this can generally be ignored.
Restart the computer to implement these changes.

.............................................................................
                  Explanation of Watchman Tick Data Files
.............................................................................

Watchman stores all current tick data in the file CURRENT.TIC located in the
DATA subdirectory. If the variable SaveTickData in WATCHMAN.INI is set to 'Y'
then as of the morning reset, CURRENT.TIC will be renamed to the form
YYMMDD.TIC and be transferred to the TIC subdirectory. A new CURRENT.TIC will
then be created for the forthcoming day. If SaveTickData='N' then CURRENT.TIC
is simply deleted and then recreated. In what follows, it is assumed that
SaveTickData='Y'.

The file YYMMDD.TIC is named after the date to which the tick data 
corresponds. It will contain trades after the morning reset on YYMMDD to the
morning reset of the following day. Each trade is summarized with an 8-byte
or 64-bit record whose form is:

Bits 00-17: An identification number for the security.
Bits 18-34: Time of the trade in cumulative seconds since midnight plus 1.
Bits 35-40: A floating point exponent for the price plus 31 (exponent bias).
Bits 41-63: A normalized floating point mantissa for the price.

The identification number can be matched with its corresponding symbol from
the file YYMMDD.KEY. This file is created at the same time with YYMMDD.TIC 
and will be placed in the same directory. Each record of this file is 
described by the structure:

struct TickKey
{
  ulong prden;        //Price denominator for the security
  uchar symbol[16];   //Security symbol
  uchar reserved1;    //Always zero
  uchar sectype;      //Security type code
  uchar reserved2;
  uchar reserved3;
  ulong tickid;       //Identification number used in YYMMDD.TIC
};

The following considerations should be noted:

1) It should not be assumed that the identification number for a given 
security will remain the same from day to day.
2) prden is supplied to aid in determining the usual printed format of the 
price.
3) See the help screens in Watchman for an explanation of security type 
codes. This code should be used in conjunction with the symbol to identify a
security.
4) The 6-bit exponent for the floating point price does not contain a sign
bit because prices are always nonnegative. The floating point price can be
converted to a traditional 4-byte floating point number by expanding the
exponent to 8 bits and changing the bias from 31 to 127 (i.e. add 127 - 31 =
96 to the exponent). The mantissa need not be changed at all. If the reported
price did not have an exact floating point representation, then the chosen
representation is always the nearest representation above the true price.
Hence, the floating point price will always be equal to or slightly greater
than the actual price.
5) The time recorded with each tick is the local time at which the tick was
received. It will not equal the time at which the trade occurred on delayed
feeds. The time is in cumulative seconds since midnight plus one. Hence, a
value of 1 would represent midnight itself.

................................................................................
               Format of OHLC Data Files and Using CONVDDF.EXE 
................................................................................

Watchman can be configured to take daily snapshots of securities it collects
over the datastream. This feature of Watchman can be activated and configured
in WATCHMAN.INI. The daily data files will be placed in the OHLC
subdirectory. These files will have names of the form YYMMDD.OHL, where
YYMMDD denotes the trading date to which the file corresponds. These files
will contain the daily open, high, low, close, change, volume and open
interest (where applicable) for each selected security. Also, various flags
are recorded.

For those wishing to write their own software to read the ohl files, these
files are of binary form with fixed record lengths. Each record is described
by the structure:

struct OHLCDataRecord
{
  prden        ulong;       //Reported price denominator for the security
  symbol       uchar[16];   //Zero terminated string with up to 16 chars
  reserved1    uchar;	    //Always zero
  sectype      uchar;	    //Security type code
  notes        uint;	    //Special flags
  open	       float;
  high         float;
  low          float;
  close        float;
  change       float;
  volume       ulong;       //For current or prior day depending on sectype
  openint      ulong;       //Open interest is zero where inapplicable 
};

A record corresponding to a day session is indicated by sign bit (bit 7)
in the first byte in the symbol field (i.e. OHLCDataRecord.symbol[0]). If
this bit is set, then the record corresponds to a day session. The bit
must be cleared to get the proper symbol character.

The bits in the notes field are defined as follows. They indicate the state
of the security and its data as of the last information received on the
security from the datastream.

00 - Trade halted or suspended, or index held
01 - New security
02 - Bankrupt/receivership
03 - X Dividend
04 - Called
05 - X Interest
06 - X Distribution
07 - Stock split or dividend
08 - Adjusted
09 - Fast market
10 - Limit alert
11 - Low was set by an offer
12 - High was set by a bid
13 - Open range was set by a bid and offer
14 - Close range was set by a bid and offer
15 - The close is a settlement

Volumes for futures contracts and options (types 05h, 07h, 15h and 17h) will
actually be official volumes for the prior day. Volumes for other types will
be for the current day.

Night session data for any given evening is stored in the file dated for the
following day. For example, trades occurring on a Thursday night are stored
in the file for Friday. Trades occurring on Sunday night are stored in the
file for Monday.

prden is included to aid in formatting prices.

*****************************************************************************
                    9) Uninstalling Watchman From Windows
*****************************************************************************

Watchman does not make any modifications to the Windows registry; hence, it
may be uninstalled simply by deleting its icons and the folder
(i.e. directory) where the Watchman files are recorded.
