~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Scid Introduction file.

Scid version: 3.4 (Released: January 2003).

Website for updated releases:
        http://scid.sourceforge.net/

Email address of author:  sgh@users.sourceforge.net

IMPORTANT NOTE:
  I don't update this file as often as I should. The website
  and the Scid online help pages will probably be more useful.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CONTENTS

    1: Introduction.
        1.1: What is Scid?
        1.2: Programs in the Scid package.
        1.3: Copyright.
        1.4: Installing Scid (Unix).
        1.5: Installing Scid (Windows).
        1.6: Customising Scid.
        1.7: What language is Scid written in?
    2: scid: the main application.
        2.1: Using chess analysis programs with scid.
    3: pgnscid: the PGN->Scid converter program.
    4: Contacting the author.
    5: Acknowledgements and references.
        5.1: Where to find PGN game files.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1: Introduction

 1.1: What is Scid?

    Scid (for "Shane's Chess Information Database" is a free chess database
    application for Unix and Microsoft Windows operating systems.

    Scid converts to and from PGN (Portable Game Notation) format, which
    is the standard for text-based chess information exchange, but uses
    its own fast compact format for storing files.

    The final section of this file (references) lists some internet sites
    where you can find PGN chess game files you can use in Scid.

 1.2: Programs in the Scid package.

    There are three main programs that make up Scid:

      - scid is the main application, with a graphical user interface.

      - scidlet is a WinBoard-compatible chess engine which can be used
          in Scid to analyze chess positions.

      - pgnscid is a command-line (console) program that does one task: it
          converts PGN files into scid format. Since you can open PGN files
          in scid, this program is not really required.

    Other executable programs for Unix users include:

      - tkscid is the Tcl/Tk interpreter that the program "scid" executes.
        tcscid is a Tcl-only (non-graphical) version of tkscid.
        You will usually invoke tkscid or tcscid as part of a Tcl/Tk script
        (such as scid or sc_addmove) rather than directly as programs.

      - scmerge is a utility for merging a number of Scid databases into a
          new, larger database. Usage: scmerge newbase oldbase1 oldbase2 ...

      - scidpgn is a Tcl script that prints every game in a Scid database
          to standard output. Useful for converting a whole database back
          into PGN format.

      - sc_import is a Tcl script for importing PGN files into an existing
          Scid database.  Usage: sc_import base pgn-files...

      - sc_spell takes a Scid database and spelling file and applies all
          possible name corrections, then marks all duplicate games deleted.
          Example usage: sc_spell mybase spelling.ssp

 1.3: Copyright.
 
    Scid is copyrighted software. It is freely distributable under the
    terms of the GPL, which is a common license used for free software.
    See the COPYING file for details.
    If you use Scid often and find it useful, please consider making a
    donation to the author, of any amount you feel appropriate.
    Email me <sgh@users.sourceforge.net> for my postal address if you
    want to pay a small token fee for Scid.

 1.4: Installing Scid (Unix).

    On Unix-ish operating systems (such as Linux, Solaris, BSD, etc) you
    should just be able to type "./configure" then "make" to compile the
    programs. The configure script tries to determine the appropriate
    Makefile settings for your computer. If it is not successful, you
    may need to edit the file "Makefile" before typing "make".

    The configure script can take optional parameters specifying settings.
    For example, you you want the install directory to be "/usr/local/bin"
    and the C++ compiler optimzations to be "-O2 -funroll-loops" on your
    system, just type:
        ./configure BINDIR=/usr/local/bin OPTIMIZE="-O2 -funroll-loops"
    If you want to compile Scid without multi-language support, type:
        ./configure LANGUAGES=""

    You need Tcl/Tk (version 8.0 or higher) installed to run Scid.
    If you do not have Tcl/Tk, you can download it from the website:

         http://tcl.activestate.com/software/tcltk/

    You will probably want to put all the executable programs in a
    directory in your PATH (such as ~/bin), so they can be run from any
    directory. To do this, putting the files in "/usr/local/bin" for
    example, just type:

        ./configure BINDIR=/usr/local/bin
        make install

    I have only tried compiling with "g++", the GNU C++ compiler. Others
    should work fine, I imagine.

 1.5: Installing Scid (Windows).

    The Scid download for Windows is an executable installer program.
    Run the installer to install Scid. It will let you select the
    Scid installation folder, a start menu for Scid, etc.

    After installing Scid for Windows, the executable files (including
    the main application program, scid.exe) can be found in the "bin"
    folder under the Scid installation folder.

 1.6: Customising Scid.

    The main Scid program ("scid") has many customisable parameters.
    Scid's Options menu has an entry for saving the current options; these
    are saved to the file ".scid" in your home directory for Unix users, or
    the file "scid.opt" in the same directory as scid.exe for Windows users.
    BE VERY CAREFUL if you edit your Scid options file by hand, because it
    will not work if you do not preserve its format.

 1.7: What language is Scid written in? Why was it written?

    Scid was developed from scratch; the only borrowed resources are the
    piece bitmaps which are from freeware Truetype chess fonts.
    Scid is entirely written in C++, except for the graphical front-end
    program "scid" which is in Tcl/Tk.

    I wrote Scid because I wanted to have a high-quality, fast chess
    database for Linux/Unix, one I could customise to my own needs, and
    for a fun hobby. If others find it useful, that's a bonus.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2: Scid: the main application.

    The program "scid" is the main Scid program. It is a Tcl/Tk program
    that uses "tkscid", a Tcl/Tk interpreter extended to support Scid
    database actions.

    A lot of Scid parameters are customisable. When Scid starts up, it
    tries to read the file "~/.scid" (or scid.opt for Windows users) for
    your customised options, fonts and colors.

    You can provide a database to open to scid when it starts up, by
    providing a single command-line argument, e.g: "scid mygames" or
    "scid mygames.si"

    Scid provides an online help index; read the help pages for
    more information on using the program.

 2.1: Using chess analysis programs with scid

    The Scid analysis window provides a way to have a chess program 
    such as Robert Hyatt's "Crafty" analyse the current position, 
    automatically restarting the analysis whenever the position changes.

    Most WinBoard-compatible chess programs should work in the Scid analysis
    window, even those that do not have an "analyze" command.

    Scid comes with a small chess engine called Scidlet as the default
    analysis engine.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3: Pgnscid: the PGN->scid converter.

    Pgnscid is the utility that converts PGN files into Scid format.
    Its usage is simple: it takes one parameter, the name of the PGN file.
    Given a file "games.pgn", for example, it creates games.si, games.sn
    and games.sg, the three essential Scid files for the database. It also
    creates games.log which will contain any errors or warnings.

    Pgnscid can accept two optional parameters, before the PGN filename:
        -f   Force overwriting of an existing Scid database. By default,
             pgnscid will not overwrite an existing database.

        -x   Ignore text between games, do not store it as pre-game comments.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4: Contacting the Author

    Feedback about Scid is most welcome. My email address is:

        sgh@users.sourceforge.net

    You can also contribute improvements or bug fixes to the program,
    or just let me know what you'd like to see added to Scid.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5: Acknowledgements and references

    See the "THANKS" or "thanks.txt" file for more acknowledgements.

    Scid is entirely my own creation, with a few exceptions. The code for
    decompressing ".gz" files (located in src/zlib/ in the Scid source
    package) is the zlib library written by Jean-loup Gailly and Mark Adler.
    The zlib homepage is:
        http://www.info-zip.org/pub/infozip/zlib/

    The code used for reading Nalimov-format tablebases (located in src/egtb/
    in the Scid source package) is the standard code written by Eugene 
    Nalimov (eugenen@microsoft.com) that many chess programs use.

    References to other chess-related software I have mentioned here:
    
 ** PGN (Portable Game Notation) is the accepted standard for textual
    representation of chess games and transfer between chess databases.
    It is the only format Scid can currently import from or export to.
    Steven J. Edwards created the PGN standard and the document explaining
    it is available at many chess websites; here is one location for it:
        http://scid.sourceforge.net/standard.txt
    
 ** Xboard is a graphical program for playing chess against a computer or
    on the internet, and can also be used to browse PGN files. There is
    an equivalent for Windows 98/NT, called WinBoard. The author is
    Tim Mann. His chess web page also contains information on chess
    engines such as GNU Chess and Crafty, at:
        http://www.tim-mann.org/chess.html
    
 ** Crafty is probably the strongest free chess program in existence, and
    the source code is freely redistributable! It is updated frequently.
    The author is Bob Hyatt. The Crafty ftp site is:
        ftp://ftp.cis.uab.edu/pub/hyatt/
    The "TB" subdirectory at this site contains many tablebase files which
    can also be used in Scid.
    Many thanks to Bob for an awesome piece of free software!

5.1: Where to find PGN game files.

    There are many good internet sites that contain collections of games.
    The following are ones I have used and liked:

 ** Mark Crowther's "The Week In Chess" is at

        http://www.chesscenter.com/twic/twic.html

    and is the best source of up-to-date international games.

 ** The Chess archive at Pitt University has game collections by events,
    players, and openings. It is at:

        http://www.pitt.edu/~schach/Archives/

    or by file transfer protocol:

        ftp://ftp.pitt.edu/group/student-activities/chess/


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

OK, that's all of the README file. Hope you found it helpful. :)
I would just like to thank all the people whose websites, chess programs,
PGN game collections, etc I have mentioned above, for what they have 
given to the chess community. I hope you enjoy using Scid!

Shane Hudson
sgh@users.sourceforge.net
January 2003

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
