The hint problem. If the hint is a promotion move easy mode doesnt work right. It is currently bypassed in this case. Search doesn't save the fact its a promotion move in the PV. So hint and post only show the move without the piece being promoted to. Cannot do easy mode off, because it must know the piece being promoted to. Somehow should save it in PV. Also true for hashtable entries. flags are not saved they should be. Make the hash table include castling flags + ep flag + promotion flags. Currently only the transposition file include any of these and then only castling for the side to move. Things I want to add for pl75. (Kong Sian) ========================================== Consider positions with insufficient mating material as terminal. This ought to speed up the endgame phase by quite a bit. Thinking on opponent's time. This was fixed, but got lost in the ensuing confusion. Threat extensions. Remove -DHISTORY and -DKILLT and make them as standard. They are always good to have, so why make them an option? Delay move generation until after null move is tried. Redo the pass pawn logic. The current algorithm is lousy. Separate the quiescent search from the full width search. This will simplify the code and allow us to do things with the quiesce which is not possible now e.g. null-move in quiescence. Instead of the messy K + KP perfect code in eval.c, how about using a database. This will allow us to extend gnuchess in the endgame database direction. Bonus for rook behind passed pawn. Development bonuses. Remove the newer version of time control and use OLDTIME as the default. Remove flag.rcptr variable and make recapture extension standard. Gnuchess has too many -D options (just look at the makefile). I think quite a few of them are outdated or unnecessary. Perhaps some of these could be removed. Is util.c needed anymore? Need to update Makefile.dos? How? Clean up the test directory. Start using bitmaps.