Protector Code
Brought to you by:
raimundheid
| File | Date | Author | Commit |
|---|---|---|---|
| bin | 2013-02-27 | raimundheid | [r697] |
| epd | 2010-11-23 | RaimundHeid | [r378] |
| pgn | 2013-04-13 | raimundheid | [r715] |
| tags | 2013-02-27 | RaimundHeid | [r698] v 1.5.0 |
| tools | 2009-08-14 | raimundheid | [r2] |
| Copying.txt | 2009-08-14 | raimundheid | [r3] |
| Makefile | 2013-02-02 | raimundheid | [r676] gcc |
| Protector.vcproj | 2011-06-30 | raimundheid | [r456] |
| Readme.txt | 2011-01-09 | raimundheid | [r428] |
| UpdateAll32TB.bat | 2011-08-23 | RaimundHeid | [r501] |
| UpdateHard32.bat | 2010-09-20 | RaimundHeid | [r361] |
| UpdateHard32DebugTB.bat | 2011-08-08 | RaimundHeid | [r485] |
| UpdateHard32TB.bat | 2011-06-30 | raimundheid | [r454] |
| UpdateHard64.bat | 2011-06-30 | raimundheid | [r455] |
| UpdateHard64TB.bat | 2011-06-30 | raimundheid | [r455] |
| bitboard.c | 2011-06-27 | RaimundHeid | [r453] |
| bitboard.h | 2010-12-25 | raimundheid | [r397] |
| bitboardInline.h | 2010-12-25 | raimundheid | [r394] |
| book.c | 2013-02-02 | raimundheid | [r675] |
| book.h | 2009-10-04 | raimundheid | [r72] Start of 1.2.9 development |
| configure | 2011-01-09 | raimundheid | [r425] - |
| coordination.c | 2013-02-16 | RaimundHeid | [r692] |
| coordination.h | 2011-01-07 | raimundheid | [r414] wr |
| egtb.cpp | 2011-01-07 | raimundheid | [r416] wr |
| evaluation.c | 2013-04-14 | raimundheid | [r716] |
| evaluation.h | 2013-03-31 | RaimundHeid | [r708] |
| evaluationInline.h | 2013-03-31 | RaimundHeid | [r708] |
| evaluationc.c | 2013-04-06 | RaimundHeid | [r712] |
| fen.c | 2009-10-04 | raimundheid | [r72] Start of 1.2.9 development |
| fen.h | 2009-10-04 | raimundheid | [r72] Start of 1.2.9 development |
| fruit.ini | 2009-08-14 | raimundheid | [r9] |
| hash.c | 2012-12-16 | raimundheid | [r646] |
| hash.h | 2013-02-02 | raimundheid | [r678] |
| hashInline.h | 2012-10-14 | raimundheid | [r627] |
| io.c | 2011-09-27 | RaimundHeid | [r527] |
| io.h | 2011-09-27 | RaimundHeid | [r527] |
| keytable.c | 2009-10-05 | raimundheid | [r74] |
| keytable.h | 2009-10-04 | raimundheid | [r72] Start of 1.2.9 development |
| kpkp.c | 2009-11-16 | raimundheid | [r155] |
| match.sh | 2009-11-15 | raimundheid | [r143] 131 |
| matesearch.c | 2013-02-02 | raimundheid | [r678] |
| matesearch.h | 2009-10-04 | raimundheid | [r72] Start of 1.2.9 development |
| movegeneration.c | 2012-02-28 | raimundheid | [r576] |
| movegeneration.h | 2010-12-25 | raimundheid | [r395] |
| movegenerationInline.h | 2011-07-14 | RaimundHeid | [r468] |
| pgn.c | 2011-01-07 | raimundheid | [r415] |
| pgn.h | 2009-10-04 | raimundheid | [r72] Start of 1.2.9 development |
| playmatch.sh | 2009-11-15 | raimundheid | [r143] 131 |
| position.c | 2013-02-02 | raimundheid | [r678] |
| position.h | 2013-03-31 | RaimundHeid | [r708] |
| positionInline.h | 2013-02-12 | raimundheid | [r689] |
| positionc.c | 2012-01-20 | RaimundHeid | [r551] |
| protector.c | 2013-03-15 | RaimundHeid | [r701] |
| protector.gif | 2009-08-22 | raimundheid | [r38] |
| protector.h | 2013-02-16 | RaimundHeid | [r692] |
| protector.ini | 2009-08-19 | raimundheid | [r21] comment added |
| protector.png | 2009-11-13 | raimundheid | [r137] |
| protector2.png | 2010-01-18 | raimundheid | [r205] |
| search.c | 2013-03-30 | RaimundHeid | [r707] |
| search.h | 2009-10-04 | raimundheid | [r72] Start of 1.2.9 development |
| tablebase.c | 2013-02-02 | raimundheid | [r677] |
| tablebase.h | 2009-10-04 | raimundheid | [r72] Start of 1.2.9 development |
| tbdecode.h | 2010-01-19 | raimundheid | [r208] |
| test.c | 2010-04-11 | raimundheid | [r259] |
| test.h | 2009-10-04 | raimundheid | [r72] Start of 1.2.9 development |
| toga2.ini | 2009-08-14 | raimundheid | [r9] |
| tools.c | 2013-04-14 | raimundheid | [r716] |
| tools.h | 2013-04-14 | raimundheid | [r716] |
| xboard.c | 2013-02-16 | RaimundHeid | [r693] |
| xboard.h | 2013-01-30 | RaimundHeid | [r662] |
Protector is a Bitboard-based chess program that communicates with a chess GUI via the UCI protocol. ### TERMS OF USE Protector is free, and distributed under the GNU General Public License(GPL). Essentially, this means that you are free to do almost what you want with the program, including distributing it among your friends, making it available for download from your web site, selling it (either by itself or as part of some bigger software package), or using it as the starting point for a software project of your own. Please note that these terms do not apply for the contents of the two files "egbt.cpp" and "tbdecode.h". These files contain software from a third party (Eugene Nalimov and Andrew Kadatch) and they are not an integral part of Protector but an optional supplement. The only real limitation is that whenever you distribute Protector in some way, you must always include the full source code, or a pointer to where the source code can be found. If you make any changes to the source code, these changes must also be made available under the GPL. For full details, read the copy of the GPL found in the file named Copying.txt. ### COPYRIGHTS Please note that the sources for the endgame table access from Eugene Nalimov and Andrew Kadatch are NOT distributed under GPL. In order to use them for any other purpose than building Protector you will need an own separate permission from Eugene Nalimov and Andrew Kadatch (see the copyright remarks in their files [egtb.cpp and tbdecode.h] for more details). ### SUPPORTED PLATFORMS Currently Protector can be compiled and run on the following platforms: - Windows Vista 32-bit. Use Microsoft Visual Studio 2005. Create a new "Project from existing code", add file types "*.cpp;*.c;*.h". Set the project type to "Console Application Project", and add "Support for MFC". Add "MSFT_CC" to the Preprocessor definitions. Protector should also run on Windows 2000 and XP 32-bit but I haven't tested this. - Windows Vista/Windows 7 64-bit. Use Microsoft Visual Studio 2005 with the 64-bit libraries and look above (Windows 32-bit) for project setup. Protector also was reported to run on XP 64-bit systems. - Ubuntu 9 Linux 32-bit and 64-bit. Use GCC or ICC (Intel C++ Compiler) and the Makefile. Protector should also run on other Linux distributions, but I haven't tested this. - Mac OS X. Use GCC and the Makefile. ### CREDITS Protector is based on many great ideas from the following people: Fabien Letouzey (pvnodes, blending of opening and endgame values, eval params), Thomas Gaksch (pvnode extensions, extended futility pruning, space attack eval), Robert Hyatt (consistent hashtable entries), Stefan Meyer-Kahlen (UCI), Gerd Isenberg/Lasse Hansen (magic bitboards), Marco Costabla/Tord Romstad/Joona Kiiski (Glaurung/Stockfish sources), Igor/Yakov (Robbolito sources), Andrew Kadatch/Eugene Nalimov (endgame tablebases), Frank Rahde (testing) and Wolf Stephan Kappesser (Adaptations for Mac OS). Without their contributions Protector would not be what it is. Thank you so much.