Follow this link.
KKFChess is a Windows based chess engine that play regular chess plus variants such as wild, atomic, suicide (FICS rules), crazyhouse and losers. KKFChess understands the Winboard protocol v1 and v2 plus UCI. It has been successfully interfaced with Winboard, Arena, Fritz 6 and Deep Fritz 8 using these protocols.
KKFChess (named after my Chinese initials) is the first (international) chess engine I had written. Version 1.xx was mainly used to find fast ways to generate and make moves. Version 2.1.0 was the version I started with on the FICS. Since then I had added bits and pieces to it while trying to improve it's strength. It supports both compress and uncompressed Nalimov endgame tables (EGTB) plus it's own format of EGTBs (for the day when using Nalimov tables becomes a crime, just like GIF).
I don't claim it to be the best chess engine but I am having fun building and improving it (when my brain works).
Bugs fixed:
Opening books that cannot fit into memory and has no indexing file were ignored.
Positional learning files were written with the new hash key function but read with an older one; i.e. learning was virtually disabled but no known cases of misread learning hash reads.
Time extension when given >30 seconds to think.
New / changes:
Reads commands from a startup script after loading the configuration file.
Version control on learned files.
Additional hash tables for king safety.
Verified null move option removed - always active.
Null depth is no longer adjustable.
Selective root search option removed - always inactive.
Quick setup option for non-variant play - checks for opening book from installed directory if the book is not available in the "expected" place.
Modified scoring for pawn promotion race.
Less EGTB probing.
For more details, click here and here.
A big thank you to Eugene Nalimov and Andrew Kadatch for allowing me to include their EGTB probing codes into KKFChess. I also thank all the tournament directors for their time and findings.
Thank you also to all the people who have found the bugs!
All memory and disk sizes are based on "kibi" hence 1KB is 1024 bytes, 1MB is 1024KB, etc. Comments on SI units are not welcomed.