-------------------------------------------------------------------------------
- Cheese version 1.8
-------------------------------------------------------------------------------

Author   : Patrice Duhamel (cheesechess@free.fr)

Web site : cheesechess.free.fr/index_en.html

-------------------------------------------------------------------------------
Fichiers
-------------------------------------------------------------------------------

Windows : 

  cheese-18-win-64-pop.exe   : 64 bits version using a cpu instruction for bitcount (the fastest version)
  cheese-18-win-64.exe       : 64 bits version for cpu without the bitcount instruction
  cheese-18-win-32.exe       : 32 bits version

Linux : 

  cheese-18-linux-64-pop     : 64 bits version using a cpu instruction for bitcount (the fastest version)
  cheese-18-linux-64         : 64 bits version for cpu without the bitcount instruction
  cheese-18-linux-32         : 32 bits version

  Versions for processors without AVX instructions :

  cheese-18-linux-64-pop     : 64 bits version using a cpu instruction for bitcount (the fastest version)
  cheese-18-linux-64         : 64 bits version for cpu without the bitcount instruction

Mac OS X :

  cheese-18-mac-64-pop	   : version 64 bits using a cpu instruction for bitcount (the fastest version)
  cheese-18-mac-64	   : version 64 bits for cpu without the bitcount instruction

Android :

  cheese-18-arm-32	   : version 32 bits armv7
  

Windows version was compiled with Visual Studio 2010 Express.
Linux version was compiled on Linux Mint 17.3 with gcc 4.8.4, without dynamic library.
Mac version was compiled on OS X 10.5.8 with clang 4.2.1.
Android Version is compiled with Android NDK and Android Cmake.   

-------------------------------------------------------------------------------
Installation
-------------------------------------------------------------------------------

* Arena Chess

  - Unzip all files in a folder
    
  - Launch Arena Chess

  - In "Engines" Menu, choose "Install New Engine"

  - Choose UCI or Xboard (the engine works in both modes)

  - Choose Cheese executable in the folder it was installed

  - To configure Cheese, choose the option Configure in the Engines menu


* Xboard / Winboard

  - Unzip all files in a folder

  - Launche Winboard and choose "Load First Engine" in the "Engine" menu

  - Enter the path of the engine where it was installed

  - to configure Cheese, edit the file cheese.ini
   

* Android

  - Use an application that accept UCI/Xboard modules, for exemple Chess for Android or Droid Fish.


* Parameters

  The file cheese.ini let you choose some parameters in Xboard version :

  Hash = size of the Hash table in Mb (ex: 8, 16, 32 ,64, 128, 256)

  Book = 1 or 0 , 1 = use an opening book, compatible with Cheese (cheese use his own file format)
			
  BookFile = path to the opening book file

  UseStrength = 0 or 1, 1 = use the StrengthELO parameter to reduce ELO strength of the engine

  StrengthELO = value between 1000 and 2600, corresponding to the ELO level of the engine


* Command line

  -help

    show available options 

  -testsuite file_name
  
    run analysis of a EPD file 

  -perft depth

    search number of nodes from the current position, to the selected depth 

  -perft depth -fen "position"

    search number of nodes from the selected FEN position, to the selected depth 

  -perftd depth
  -perftd depth -fen "position"

    same as perft but with number of captures, en passant, promotions, castle, checks, and mates

  -divide depth

    search number of nodes for each possible moves from the current position, 
    to the selected depth 

  -divide depth -fen "position"

    search number of nodes for each possible moves from the selected FEN position, 
    to the selected depth 

  -buildbook file.pgn file.bin depth number

    Create a new opening book from a PGN file.
    the depth is the maximum number of moves in the opening, number is the minimum number of moves 
    for the opening to be used.


* Opening books

  Cheese can use an opening book in his own format.

  The book cheeseopenbook.bin was created from gm2600.pgn, with a depth of
  10 half-moves, for openings used a minimum of 5 times.
  
-------------------------------------------------------------------------------
Changes in version 1.8
-------------------------------------------------------------------------------

    * Version 1.8 - March 19th 2016

	- fixed problem in game phase update
	- fixed crash with 1 Mb hash table
	- fixed nodes count output
	- fixed problem in multipv output
	- add FRC support
	- use LMR in PV nodes
	- add "reverse futility pruning"
	- add checking moves in 1st ply of quiescence search
	- skip minor promotions in quiescence search
	- remove mate condition in null moves pruning
	- rewrite FEN parsing
	- reorganize code for eval,movegen,endgame,protocols
	- optimize move sorting


-------------------------------------------------------------------------------
Thanks
-------------------------------------------------------------------------------

I would like to thanks specially the following people for their work, documents released that helped and motivated me to create
my chess engine :

 Robert M. Hyatt, Bruce Morland, Gerd Isenberg, Pradu Kannan, Grant Osborn, Jonatan Peterson.

Thanks to everyone participating to winboard and talkchess forums,
and the people spending time to test chess engines and those who reported some problems.


-------------------------------------------------------------------------------
License
-------------------------------------------------------------------------------

Copyright 2006-2016 DUHAMEL Patrice.
This program is freely distributed, and must not be sold or distributed
without the author authorisation.

