home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / gnuch40.zip / gnuchess-4.0.pl79 / doc / ChangeLog < prev    next >
Text File  |  1998-09-28  |  28KB  |  627 lines

  1. Sep 27 98 PatchLevel 79 Stuart Cracraft (cracraft@ai.mit.edu) & Tim Mann <mann@src.dec.com>
  2.     * new FAQ.
  3. Sep 27 98 PatchLevel 78 Stuart Cracraft (cracraft@ai.mit.edu) & Chris Torek <torek@bsdi.com>
  4.     * fix various calls to time() which were data-typed with parameters
  5.       of long instead of time_t.
  6. May 15 96 PatchLevel 77 Chua Kong Sian (kongsian@nsrc.nus.sg) & Tim Mann
  7.     * fix bug in search.c which was causing gnuchess to crash.
  8.         * updated djgpp makefile, Makefile.ddj
  9.     * updated Visual C++ makefile, Makefile.nt
  10.     * updated .txt versions of man pages to match .6 files
  11.     * fixed some bugs in auto-configuration and installation
  12.     * fixed timing bug on systems without gettimeofday (like Win32)
  13.     * disabled BACKGROUND_ANALYSIS in gnuan, to match man page
  14.     * "make clean" and ncurses fixes from Nikhil Nair
  15. PatchLevel 75 Chua Kong Sian (kongsian@nsrc.nus.sg)    
  16.     * fixed bugs in gnuan.c.
  17.     * terminate search when insufficient mating material is found.
  18.     * continue playing if opponent rejects 3 repetitions draw option.
  19.     * clean up genmoves.c; should compile faster now.
  20.     * bug fixes from Tony Acero for book.c & gnuan.c
  21.     * bug fixes from Tim Mann for hash table code.
  22.     * fix illegal moves in gnuchess.bk3.
  23.     * remove Swag3/killr3 for better pruning (Johanes Suhardjo).
  24.     * thinking on opponent time is now working again.
  25.     * installation is through ./configure now.
  26.     * makefile for Windows NT from Tim Mann.
  27. Fri Feb 3 Patchlevel 74 Chua Kong Sian (kongsian@nsrc.nus.sg)
  28.     * add forward pruning (-DPRUNE to activate)
  29.     * unlimited captures in quiescence (-DUNLIMITEDCAPS to activate)
  30.     * fine tune and clean up eval routines (double bishop bonuses,
  31.       higher bonuses for pawn advances, better endgame eval).
  32.     * update null move logic for better pruning
  33.     * modified time control logic.  
  34.     * new repetition() code from Dan Oetting.
  35. Thr Sep 18 Patchlevel 73 Mike McGann (mwm@ascom.ch)
  36.     * search updates and bugfixes from Tim Mann, Kong Sian, and Mike Mcgann
  37.       fixes search bugs for Linux, endgame play and speeds up search
  38.     * new interface to gnuan to provide interactive capability
  39.       for analysis
  40.     * add bk and eco commands.
  41.     * ability to read xboard fen positions (xget command)
  42.     * gnuan now accepts PGN games as input.
  43.     * Makefile updates from rocky@panix.com (R. Bernstein)
  44. Thr Jun 29 Patchlevel 71 Mike McGann (mwm@ascom.ch)
  45.     * Terminate search when mate found in transposition table (Chua Kong Sian)
  46.     * patches for xboard compatibility from Timm Mann(mann@src.dec.com)
  47.     * Fixes for search problems from Chua Kong Sian and Mike McGann
  48.         * Add book lookup command bk
  49.         * Change CaptureList to not do RQ non-capture moves
  50.     * Update man page
  51. Sat May 10 Patchlevel 70 Mike McGann (mwm@ascom.ch)
  52.     * Fixes for search problems from Chua Kong Sian
  53.      and Dr Michael J. White and Dmitry Dakhnovsky.
  54.     * fixes for HP compile from Richard Lloyd.
  55. Sat Mar 19 Patchlevel 69 Mike McGann (mwm@ascom.ch)
  56.     * New transition table code from Dan Oetting (oetting@gldfs.cr.usgs.gov)
  57.      separating the tt code into a separate module
  58.     * Fixes for the draw problems from Chua Kong Sian and Mike McGann
  59.     * better use of the transition table + size reduction
  60.     * lots of small bug fixes
  61.     * post command split to post/unpost for easier use in scripts
  62.      * fix for DEEPNULL bug from Chua Kong Sian (nsrccks@leonis.nus.sg)
  63. Sat Feb 12 Patchlevel 68 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  64.     * Patches by Chua Kong Sian and Mike McGann.
  65. Fri Feb 4 Patchlevel 67 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  66.     * New version by Mike McGann.
  67. Sun Jan 23 Patchlevel 66 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  68.     * ensure computer thinking on opponent's time when easy mode
  69.     * loading game not searching book bug fixed.
  70.     * both by Chua Kong Sian (nsrccks@leonis.nus.sg)
  71. Wed Jan 19 Patchlevel 65 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  72.     * chesstool compatibility (asun@mmvideo.mt.att.com)
  73.     * speed/time bugfixes in search.c+eval.c (nsrccks@leonis.nus.sg)
  74. Mon Jan 10 Patchlevel 64 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  75.     * makefile ("make realclean")
  76.     * basic data type-checking updates in util.c/eval.c
  77.     * announced patch in gnuchess.h
  78. Fri Jul 25 Patchlevel 63 Mike McGann (mwm@hssler.ascom.ch)
  79.     * Change all char to signed char for SGI
  80.     * Change trans logic to not store if quiescent search has been used
  81.     * Update Book
  82. Fri Jun 25 Patchlevel 62 Mike McGann (mwm@hssler.ascom.ch)
  83.     * German language support from Richard Mathar <mathar@fz-rossendorf.de>
  84.     * better research logic from  kongsian@nsrc.nus.sg (Kong Sian)
  85.     * Redo NULLMOVE logic to eliminate hung pieces
  86.     * Redo search/eval/hashtable logic for speed and to optimize gnutest 
  87.       results.
  88.     * Redo and simplify book install stuff
  89.     * Use more estimates down to leafs to speed up search.
  90.     * fix illegal castle move bug and ^C breakout of search slowness
  91. Fri Jan 8 Patchlevel 61 Mike McGann (mwm@hasler.ascom.ch)
  92.     * fix bug in en-passant restoring on unmake of move
  93.     * fix to search timing function bug that  caused it to increase time on takebacks
  94.       or occasionally take a long time for a move
  95.     * new next ply estimate function
  96.     * allow increased time to complete a partial ply MAXTCCOUNTX
  97.     * allow more time per move in necessary MAXTCCOUNT
  98.     * gnuan now skips processing process book moves from Chua Kong Sian (ccecks@nuscc.nus.sg)
  99.     * new KP1K endgame routine from R. Stephan (ralf@ark.abg.sub.org)
  100.     * fix to ElapsedTime nchar declared wrong from T. Mann(mann@src.dec.com)
  101.     * updates for Dec Alpha from T. Mann (mann@src.dec.com)
  102. Fri Oct 30 Patchlevel 60 Mike McGann (mwm@hasler.ascom.ch)
  103.     * null move heuristic from Benno Tietz (tietz@eos.informatik.uni-bonn.de) intalled
  104.     * fixes for ProbeTTTable from Benno Tietz
  105.      * fixes for xget from Tim Mann(mann@src.dec.com)
  106.     * change hash table collision avoidance algorithms
  107.     * two new book formats GDBM (Gnu dbm based) and
  108.       GDX (hash file based).
  109.     * add MSDOS fixes from ccecks@nuscc.nus.sg (Chua Kong Sian (Mr))
  110.       and msdso makefile
  111. Tue Oct 20 Patchlevel 59 Mike McGann (mwm@hasler.ascom.ch)
  112.     * binbookfile is now the main form of book.
  113.     * add rudimentary fischer clock
  114.     * add caching for static evaluations
  115.     * add aging for in core transposition table
  116.     * changes to history killer from tietz@eos.informatik.uni-bonn.de (Benno Tietz)
  117.     * bugfix from ccecks@nuscc.nus.sg (Chua Kong Sian (Mr))
  118.       for history declaration error.
  119.     * Allow full notation for book moves
  120.     * prevent caching of partially evalusted positions.
  121.     * add game time control
  122.     * add capability to feed back the clock for ICS  play
  123.     * gnuan fix en-passant problem
  124.     * gnuchess make book nameable in command line
  125.     * change move output to generate o-o form of castling moves
  126.       to satisfy ICS
  127.     * Speedup evaluation functions
  128.     * fixes to killt from tietz@eos.informatik.uni-bonn.de (Benno Tietz)
  129.     * add moves generated to post output
  130.         * fixes to genmoves from Dan Oetting <oetting@gldfs.cr.usgs.gov>
  131.     * change over to gettimeofday for more accuracy
  132.     * clean up search logic and time control
  133.     * fix transposition search bug
  134. Mon Aug 24 Patchlevel 58 Mike McGann (mwm@hasler.ascom.ch)
  135.     * add Mwpawn, Mbpawn, Mw..., Mb... , p and debug commands to
  136.     gnuchessr. 
  137.     * Fix bug in evaluation logic for hung pieces.
  138.     * Fix time control calculation to add time at time control
  139. Fri Aug 14 Patchlevel 57 Ben Hurwitz (bug fixes) Thierry Leconte (book)
  140.     * Both/force interaction improved.
  141.     * Bug fix to possibles declaration and OR of move with BADMOVE
  142.     * Work better with GM John Nunn book (take care of order of
  143.       lines, don't null the book for at least 3 moves after taken out
  144.       of book, no random opening)
  145.     * Removed exit of program when drawn game detected.
  146.     * Fixed bug that caused program to make 1-move blunders.
  147.       (transposition table caused return 0 when position seen before
  148.        to detect draw which then gets a depth bonus since search
  149.        is inexact so it ends up looking better to make a repetition
  150.        than making a winning 1-mover!)
  151. Sun Jul 2 Patchlevel 56 Henrik Schmiediche
  152.     * Fix test command (patch to dspcom.c). The results
  153.       were off by a factor of 100.
  154.     * Delete lint from Makefile.
  155.     * Better CFLAGS for HP machine.
  156. Mon Jun 29 Patchlevel 55 Stuart Cracraft
  157.     * Apply Mann's FIONREAD-clarification patches
  158.     * Change BOOKFAIL in gnuchess.h so that the program
  159.       always consults the opening book first.
  160.     * Up BOOKBITS to 10 to account for larger book:
  161.   "As currently set up with BOOKBITS equal 8 there is a table of 256
  162.   pointers into the BOOK hashtable. With 20,000 entries and 256 buckets
  163.   it would do a linear search of approx 78 entries per lookup. Increasing
  164.   BOOKBITS to 9 would mean a search of 34 entries etc. and would add 
  165.   256 pointers to the data area. So we probably should make it 10 then."
  166.                         McGann
  167. Fri Jun 26 Patchlevel 54 Mike McGann
  168.     * This version compiles into a version identical with
  169.       3.1+ (and so is much stronger than the previous 4.0).
  170.       But, it has beaten 3.1+ in a short match. Also, it
  171.       has bug fixes, timing control improvements and other
  172.       fixes contained in this list.
  173. Tue Jun 23 Patchlevel 53  Stuart Cracraft / Tim Mann
  174.     * Use a[u]+1 in ataks.c instead of ++a[u].
  175.     * Don't use space bonus tables.
  176. Tue Jun 23 Patchlevel 52  Tom Truscott
  177.     * GNUchess will now compile on the IBM RS/6000 (AIX).
  178.     * Makefile changes needed for older AIX compilers lacking support
  179.       for "cc -c foo.c -o bar.o" (strange but true).
  180.     * The other changes are to appease the picky type checking
  181.       that is enabled by some of the compiler options.
  182. Sat Jun 21 Patchlevel 51  Tim Mann <mann@src.dec.com>
  183.     * Fixed problem with "help" command by removing "fflush(stdin)".
  184.     * "Undo" command now does not add moves to a 1-move time control.
  185.     * Added back feature from 3.1 that lets the user set a maximum
  186.       search time per move instead of using time controls, and changed
  187.       the command line syntax for this feature to be compatible with 3.1,
  188.       removing the ability to set max search depth from the command line.
  189.         * Fixed the "maximum minutes per move" feature in gnuan.
  190.     * Updated and corrected the man page.
  191. Thu Jun 18 Patchlevel 50 Tim Mann
  192.     * Special #ifdefs to not do post for xboard are unnecessary
  193.       and were removed.
  194. Wed Jun 17 Patchlevel 49 Mike McGann, Urban Koisten
  195.     * Fix book code to calloc (Urban)
  196.     * Fixed other code (Mike)
  197. Sun Jun 7 Patchlevel 48 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  198.     * Fix gnuan.c output to be more uniform. And tested that it
  199.       works.
  200. Sat Jun 6 Patchlevel 47 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  201.     * Fix Makefile to correctly define BINBOOK so that parsed
  202.       opening book gets used (if available.)
  203. Sat Jun 6 Patchlevel 46 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  204.     * Various patches from various people to mostly robustify the
  205.       code (exit values to exit, etc.)
  206.     * New book.c handling code and gnuchess.h from Urban to handle
  207.       mega book now under discussion.
  208.     * New Xboard.
  209. Wed Jun  3 Patchlevel 45 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  210.     * Encapsulate Xboard with GNU Chess distribution
  211. Sun May 31 Patchlevel 44 Bart Massey (bart@cs.uoregon.edu)
  212.     * Rename structure element move to bmove in book.c since
  213.       curses.h defines a move macro.
  214.     * Get rid of superfluous returns in dspcom.c and checkbook.c
  215.     * Be sure beep message has an arg in uxdsp.c
  216.     * Add exit status to exit() call in checkbook.c
  217. Sat May 30 Patchlevel 43 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  218.     * Fix checkmate/draw handling.
  219.     * Add current module copyrights and COPYING.
  220.     * Ifdef forced-mate announcements as too buggy.
  221. Fri May 29 Patchlevel 42 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  222.     * HUNGP/HUNGX in eval.c updated to values used by Slate/Atkin
  223.       of Chess 4.x. This fixes a problem with Reinfeld's #281
  224.       and poor play in Alapin's opening. General play against
  225.       me has been much better.
  226. Mon May 11 Patchlevel 41 Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  227.     * genmove update to look at less possible promotion moves
  228.     * fix bugs in move ordering logic
  229.           * remove operator time as a default
  230. Thur Apr 30 Patchlevel 40 Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  231.     * Book updates from Tim Mann (mann@src.dec.com)
  232.     * Search updates to look more at possible promotion moves
  233.     * Transposition table update from U. Koistinen (md85-epi@nada.kth.se)
  234.           to allow for estimated scores.
  235. Mon Apr 27  Patchlevel 38  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  236.     * book updates for Cochrane from Tim Mann (mann@src.dec.com)
  237.     * added limit for infinite checks in endgame to tree search
  238.           to limit time spent in any branch
  239. Wed Apr 25  Patchlevel 38  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  240.     * fix slowdown caused by previous changes. 
  241. Wed Apr 22  Patchlevel 37  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  242.     * fix sizes of ttable (malloc) and hashfile (-c option)
  243.       to allow for rehashing
  244.     * eliminate pick replace with qsort
  245.     * adjust lookahead limits
  246. Thur Apr 15  Patchlevel 35  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  247.     * fix bugs in search logic
  248. Mon Apr 13  Patchlevel 34  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  249.     * Fix bugs in game win/draw logic.
  250. Fri Apr 8  Patchlevel 34  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  251.     * rewrite time control moving it up a level
  252.     * replace sorts with qsort
  253.     * fix material command to all multiple N's and B's
  254.     * and make it an ifdef on NOMATERIAL
  255. Fri Mar 30  Patchlevel 32  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  256.     * make MINDEPTH a define
  257.     * eliminate #ifdef's for hashbd/hashkey it is always required
  258.     * up MINDEPTH to 2 to always get a hint
  259.     * add some dynamics to eval/estimate decision
  260.     * more dynamic time allocation
  261. Fri Mar 27  Patchlevel 30  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  262.     * fix hashfile code again
  263.     * fix startup for no book present
  264.     * fix race condition in search
  265.     * allow parameters on commands
  266. Wed Mar 25  Patchlevel 28  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  267.     * fix bug in hashfile debug code
  268.     * add material check for draw and material command
  269.     * fix QUIETBACKGROUND code
  270. Tue Mar 24  Patchlevel 27  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  271.     * fix book move reject to not select a ? move
  272.     * add check to HASHFILE option to check for ilegal move
  273.     * document debug options
  274. Mon Mar 23  Patchlevel 26  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  275.     * Add multiple time controls
  276.     * apply fixes from  R.K.Lloyd@compsci.liverpool.ac.uk
  277.       for screen update problems in visual mode
  278. Sun Mar 22  Patchlevel 25  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  279.     * Update man pages
  280.     * fix false mate problem with transposition table
  281.     * add history killers option but don't use it.
  282.     * fix handling of input parameters so the doc and the
  283.     program agree
  284.     * allow time to be specified in seconds (machines are faster now)
  285.     * add QUIETBACKGROUND option from md85-epi@nada.kth.se.
  286.     * put in book patch from md85-epi@nada.kth.se.
  287.  
  288. Sun Mar 15  Patchlevel 22  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  289.     * Add options for SpaceBonus table levels
  290.     * Switch to new book
  291.     * Add polling code for keyboard
  292.  
  293. Tue Mar 10  Patchlevel 21  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  294.     * correct depth test in PutInTTtable
  295.     * patch from Urban Koistinen (md85-epi@nada.kth.se)
  296.       correcting bug in repetition
  297.  
  298. Mon Mar 9  Patchlevel 20
  299.     * correct defaults for MEMSET
  300.  
  301. Sat Mar 7  Patchlevel 19  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  302.     * add speedups by using memset for ZeroRPT
  303.     * rewrite ScoreSpace
  304.     * rewrite pick
  305.  
  306. Thur Mar 5  Patchlevel 18  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  307.     * fix bug in timing that led to negative times
  308.     * change time allocation to be more flexible
  309.     *  based on score and depth
  310.         * eliminate a bad opening from the book
  311.  
  312. Sat Feb 15  Patchlevel 17  Urban Koistinen (md85-epi@nada.kth.se)
  313.         * Added option -T n to set transposition table size 2^n.
  314.         * -r n set rehash to n.
  315.         * Changed repetition to make it work harder.
  316.         * ScoreSpace changed to value central squares higher.
  317.         * Made go change colors so white&black work as they should.
  318.  
  319. Fri Dec 30 08:34:00 1991  Patchlevel 16
  320.     * Fix to eval.c for mis-transcribed sign in ScoreKBNK.
  321.     * Fix to malloc call in init.c.
  322.     * ScorePosition updated with addition of ScoreSpace
  323.           to add in points for threats in a position.
  324.       from  Urban Koistinen (md85-epi@nada.kth.se)
  325.         * Various tuning of parameters
  326.  
  327. Fri Nov 30 08:34:00 1991  Patchlevel 15
  328.     * from nv-90-mho@nada.kth.se
  329.      patch to make listfile name meaningful instead of a random number
  330.     * from  Urban Koistinen (md85-epi@nada.kth.se) move generation
  331.      speedup for non-pawn moves and move selection improvements.
  332.     * from  Mike McGann (mwm@hslrswi.hasler.ascom.ch) added language
  333.      file to allow multiple languages to be supported. Fix broken 
  334.          search on opponents time, fix bad moves in book.
  335.  
  336. Mon Oct 19 08:34:00 1991  Urban Koistinen (md85-epi@nada.kth.se)
  337.         * patchlevel 14
  338.  
  339.     * fix checks in castling logic to only allow kings to do it.
  340.  
  341.     * fix repetition logic  "all pieces are the same" bug.
  342.  
  343. Thur Oct 10 13:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  344.     * patchlevel 14
  345.  
  346.     * expand the timing logic to allow more time in unstable
  347.      positions
  348.  
  349.     * Update man pages
  350.  
  351.     * Fix printout bug in Checkbook
  352.  
  353. Tue Oct 8 13:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  354.     * patchlevel 13
  355.  
  356.     * General cleanup, Fix screens, prompts, rate calculation
  357.     
  358. Sun Oct 5 13:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  359.     * patchlevel 12
  360.     * Change eval.c/KingValue to ignore Mking if the otherside
  361.     has only pawns on the board. Tuning parameter is
  362.     KINGPOSLIMIT.
  363.     
  364.     * Fix time print in gnuchess and gnuchessx. 
  365.  
  366.     * Use ShowMessage for all error messages.
  367.  
  368.     * Fix post option to print time in seconds.
  369.  
  370. Sun Oct 5 08:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  371.     * patchlevel 11
  372.     * speedups in search. Eliminate unused computation.
  373.  
  374.     * change eval.c/KingValue to ignore Mking if there are
  375.     only pawns on the board. Tuning Parameter is KINGPOSLIMIT.
  376.  
  377.     * make DITHER a tuning parameter.
  378.  
  379. Tue Oct 1 08:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  380.     * patchlevel 10
  381.     * fix eval bug in ScorePosition. Evaluated pawn structute
  382.     incorrectly. Introduced when gnuchess was split up.
  383.  
  384.     * Change default for SCORETIME to -9000 it plays better
  385.  
  386.     * correct promotion logic for CHESSTOOL and XBOARD only queens
  387.     are generated now.
  388.  
  389.     * correct handling of TOflag for bothsides mode.
  390.  
  391. Mon Sept 27 08:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  392.     * fix more enpassant bugs in checkgame/checkbook
  393.  
  394.     * misc speedups by inlining code.
  395.     move SqAtakd to ataks.h and inline it.
  396.     
  397.     * Modify checkbook to also read xboard game files and
  398.     check them for illegal moves. 
  399.     
  400.     * fix bug in game.c introduced by patch 8
  401.  
  402. Mon Sept 26 08:34:00 1991  Urban Koistinen (md85-epi@nada.kth.se) 
  403.  
  404.     * Correct the making and unmaking of enpassant moves and
  405.     numerous incorrect usages of ? throughout the program.
  406.  
  407. Mon Sept 24 08:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  408.  
  409.     * force search re-init if PV chavges due to a timeout
  410.  
  411.     * add patchlevel to the -v option to keep version straight.
  412.     
  413.     * Change search and timing logic. Search now backs up to
  414.     previous level on a timeout. Search adds time to the search
  415.     if the last top level PV is different from the current and
  416.     this level is not finished. Seems to play much stronger.
  417.  
  418. Mon Sept 16 08:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  419.     
  420.     * Opening book now handles transitions. It continues looking
  421.     at the book until 2 (tunable) successive turns fail to find a move
  422.     there.
  423.  
  424.     * GetOpenings now checks for errors on input. The current book was full 
  425.     of illegal moves. They were filtered out since at game time the book
  426.     move is matched against the legal move list. But it makes for bad
  427.     opening play. EnPassant moves are not allowed in openings(a limitation?)
  428.     Checks made are the there is a piece on the from square belonging
  429.     to the right side and there is no piece or a piece belonging to the
  430.     other side on the to square. There is no check that the piece is 
  431.     moving legally.
  432.     
  433.     * ListGame now makes up the name chess.lst.random#. So if you are
  434.     using xboard to play a match (two machine mode) they won't overwrite.
  435.     
  436.     * Added patch from Randy Ray (rray@SPECLAB.CR.USGS.GOV) to correctly
  437.     format chess.lst
  438.  
  439. Wed Sept 4 08:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  440.     
  441.     * Renamed gnuchess3.1+ to gnuchess to reflect the split in 
  442.     gnuchess development. There now seems to be 3 threads.
  443.     Gnuchess, gnuchess for windows (3.21), and the gnuchess4
  444.     project if it still exists.
  445.     * Fix chesstool version to handle white as well as black.
  446.     * Split program into modules for easier maintinance and
  447.     development.
  448.     * Fixed Illegal move bug in VerifyMove for promotion moves.
  449.     * Replaced ResponseTime calculations with simpler version that
  450.     stays within the time limits and seems to do as well or better
  451.     in play.
  452.     * General cleanup of the search algorithm
  453.     * Fixed gnuan input processing and termination code.
  454.     * Fixes to work with xboard match mode
  455.     * Added TEST directory with 16 problems from Levy's
  456.       Computer Chess book.
  457.  
  458. Tue Aug  6 18:10:47 1991  Philippe Schnoebelen  (phs@lifia.imag.fr)
  459.  
  460.     * Modify handling of Book in Undo (previously, when you
  461.     backtracked after quitting the book, the program was not able to
  462.     use it again)
  463.  
  464.     * Modify handling of Book in EditBoard and other routines so that
  465.     the Book is not used if you don't start from the regular initial board.
  466.  
  467. Mon Aug  5 17:26:59 1991  Philippe Schnoebelen  (phs@lifia.imag.fr)
  468.  
  469.     * Modify parse in gnuchess.c so that a move can be followed by '?'
  470.     indicating that the program should not play it itself. Such a move
  471.     is stored with the highest bit raised.
  472.           Modify OpeningBook in gnuchess.c so that moves with highest bit
  473.     set are recognized but not played by the program.
  474.  
  475.     * Modify the declaration of array PieceList in gnuchess.[ch] to
  476.     allow for up to 64 men of the same side. Such artificial
  477.     situations can be built with edit and the program must be able to
  478.     deal with them.
  479.  
  480. Mon Aug 1 10:20 1991 Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  481.     Split chesstool and xboard versions. Xboard is now
  482.     gnuchessx and chesstool is gnuchessc.
  483.  
  484. Mon Apr 15 10:20 1991 Mike McGann {mwm@hslrswi.hasler.ascom.ch)
  485.     Changed transposition table to cache positions found in transposition file
  486.     Fix Undo's incorrect handling of promotions.
  487.     Fix win and draw determination bugs.
  488.      Fix bug in algbr that prevented correct display of promotion moves.
  489.     Fix Undo to correctly display side to move.
  490.     Add path to command line for save file and load file.
  491.     Make save file human readable
  492.     
  493. Thu May 24 13:42:24 1990  Hans Eric Sandstr|m  (hes at baloo)
  494.     * Fixed a bug reported by Brian Wong (wong@cs.UAlberta.CA) in
  495.     ScoreKPK
  496.  
  497. Sat May  5 15:58:31 1990  Hans Eric Sandstr|m  (hes at baloo)
  498.     * extensive tests on MSDOS for 2 weeks and lots of changes:
  499.     Moved all flags to a special flag structure.
  500.     Added my own TODO file to the DOCUMENTATION.
  501.     Moved GetOpenings and parse from the *dsp.c files.
  502.     Made the transposition table enabled by default.
  503.     Some cleanup in the *dsp.c code.
  504.     Changed UpdateHashbd to a macro.
  505.  
  506. Wed Apr 18 16:38:30 1990  Hans-Erik Sandstr|m  (hes at tiamat)
  507.     * Removed unnessesary global variables:
  508.     (wking, bking, Enemyking, INCscore, slk, InChk, HasPawn,
  509.     Zwmtl, Zbmtl, lpost, KBNKsq) this should make the program more
  510.     readable.
  511.     * Added a mini transposition table to detect repetitions, this
  512.     means that repetition is called more seldom and should save some
  513.     time. The idea for this came from Benno Tietz
  514.     (tietz@eos.informatik.uni-bonn.de)
  515.  
  516. Thu Mar 29 02:49:00 1990  Thorsten Ohl at (td12@ddagsi3.bitnet)
  517.      * nuxdsp.c has been given an ANSI interface (tailored
  518.     after uxdsp.c as of Version 3.00 and a homegrown
  519.     ANSI interface created in January for Version 1.55).
  520.      *    uxdsp.c now understands ^C interrupts.
  521.      *    both nuxdsp.c and uxdsp.c support the graphic characters
  522.     of the IBM PC (can be disabled with -DSEVENBIT).
  523.     It's of course a matter of taste, but I think it looks
  524.     much better.
  525.      * I have added prototypes and a makefile for a **IX compatible
  526.     MS-DOS make (neither Turbo C or Microsoft C will understand
  527.     this!).
  528.      *    some formal parameters are not referenced. This is due to the
  529.     different display interfaces and no problem at all. Just for
  530.     aesthetic reasons I have shut up the compiler by incrementing
  531.     the unreferenced variables.
  532.      *    some longs are assigned to shorts and some shorts to unsigned chars.
  533.     I have introduced a cast in each case, all are o.k. (as far
  534.     as I can tell).
  535.  
  536. Thu Mar  8 09:11:28 1990  Hans-Erik Sandstr|m  (hes at orsa1)
  537.     * The persistent hash table seems to work now. There are still some
  538.     problems using it on a heterogenous network.
  539.  
  540. Sun Mar  4 14:44:44 1990  Hans Eric Sandstr|m  (hes at orsa)
  541.     * I am working on a persistent hash table. Currenly a 10Mb file
  542.     with 262144 entrys. Stuart just asked me to spilt the posdata
  543.     array to make gnuchess work better on a PC, so I did that.
  544.     I have also tried to properly fix the bug that caused gnuchess
  545.     to report mate prematurely. This, I hope, will also improve the
  546.     search.
  547.  
  548. Tue Feb 27 18:27:23 1990  Hans Eric Sandstr|m  (hes at davidson.log-sv.se)
  549.     * used protoize to make a function prototyped version of gnuchess.
  550.     this means that I have to use unprotoize before 'make distribution'
  551.     to make a more portable K&R version.
  552.     removed a ZeroTTable so now the hashtable is kept between moves.
  553.  
  554. Sat Feb 24 13:14:14 1990  Hans Eric Sandstr|m  (hes at orsa)
  555.     * Added a test to detect hash table collisions, define HASHTEST.
  556.     I also removed     the times calls since there is no sense in
  557.     measuring cpu time when    wallclock time is all that counts when
  558.     playing chess.
  559.  
  560. Fri Feb 23 17:25:37 1990  Hans Eric Sandstr|m  (hes at orsa)
  561.     * Compiled gnuchess with gcc1.37 -Wall and got lots of
  562.     implicit decaration warnings. Solved most of these by adding
  563.     external declarations in gnuchess.h.
  564.  
  565. Wed Feb 21 17:41:28 1990 Jouko Holopainen (jhol@tolsun.oulu.fi) 
  566.     * Contributed his code for ECO move entry (again!)
  567.     and a file ansidsp.c (A msdos port of uxdsp.c).
  568.     I(hes) started a merge of ansidsp.c and uxdsp.c.
  569.  
  570. February 8, 1990 -- Hans Eric Sandstrom (hes@log-sv.se)
  571.     Changed the transpositon table to allow 65536 positions per player.
  572.     This means a 1.3 Mbyte hash table. Introduced simple rehashing. And
  573.     also made setting ttable 0 exclude all transposition code from
  574.     gnuchess (for machines with very little memory).
  575.  
  576.  
  577. February 3, 1990 -- Tom Vijlbrief (tnosoes!tom@nluug.n)
  578.     Contributed code to fix undo of promotions.
  579.     And a bugfix RMBLTY was to small.
  580.  
  581.  
  582. Januari 27, 1990 -- Hans Eric Sandstrom (hes@log-sv.se)
  583.     Fixed nuxdsp.c to work with my changes (Saved games format)
  584.  
  585.  
  586. Januari 26, 1990 -- Hans Eric Sandstrom (hes@log-sv.se)
  587.     Verified that the underpromotion routines works.
  588.     Found and fixed the bug that caused gnuchess to report mate
  589.     and draw prematurely.
  590.  
  591.  
  592. Januari 25, 1990 -- Hans Eric Sandstrom (hes@log-sv.se)
  593.     Received the underpromotion additions from jhol@tolsun.oulu.fi
  594.     Made some optimizations in trapped and KingScan.
  595.     Added more comments on how to improve the search.
  596.     Added info on usage of the array Tree in post mode.
  597.     Changed the index in the transposition table to unsigned short to
  598.     allow a hash table of size 65536.
  599.  
  600.  
  601. Januari 11, 1990 -- Hans Eric Sandstrom (hes@log-sv.se)
  602.     Formatted gnuchess according to GNU standards with indent.
  603.  
  604.  
  605. Januari 9, 1990 -- Hans Eric Sandstrom (hes@log-sv.se)
  606.     Inserted a missing comma in KTHRT.
  607.     Removed mvstr1[5],mvstr2[5] from gnuchess.c, they are only used in the
  608.     user-interface routines uxdsp.c nondsp.c anyway.
  609.     Rewrote algbr to generate move strings for underpromotion.
  610.     (ph8k or h7h8k)
  611.     Some optimizations in CaptureList.
  612.     Changed row, column and locn to macros.
  613.     Made memset default and introduced a switch NOMEMSET for
  614.     computers without memset or where memset is a speed penality.
  615.     I tested this on:
  616.         Sparc        - no change
  617.         DECstation    - no change
  618.         Sun3/60        - 4% speed improvment.
  619.     Changed + to | in some bit-field manipulations.
  620.     Fixed the castle-with-moved-rook-bug, removed kingmoved and introduced
  621.     an array Mvboard to keep track on how many times we have moved from a
  622.     particular square.
  623.     Fixed the check for zero division in Time controls.
  624.     Added BINDIR and LIBDIR in the Makefile to set where gnuchess and
  625.     gnuchess.book gets installed.
  626.     All I have to do now is to test if all this works (-:
  627.