ANS Forth Chess
Page updated 09/18/02

Ian Osgood's ANS Forth Chess program was released 10/4/01 in a form that runs under Tom Zimmer's win32Forth, as TSCP after the C version. It and has been improved several times since then. The latest version 0.A was uploaded 09/14/02 It is available for ftp download at this site as the source file TSCP.F and in zip compressed source form as TSCP.ZIP. However Ian's program has diverged enough from the original TSCP to warrant a new name. FCP.F and FCP.ZIP were posted 9/19/02 and has a null-move heuristic and enhanced check extension.


F21chess 1997 - 2000

I have been interested in implementing a computer chess program for F21 for a long time. Chess is an example of a problem in logic that does not require floating point math, is naturally parallel, and is understood by the public. It is interesting that 1997 is the year that a machine called Deeper Blue defeated the current world's chess champion. It is also interesting that Deeper Blue uses a simple brute force approach to the problem and simply leverages off of its high speed and wide parallelism.

I asked in the internet newsgroup comp.lang.forth if there were any Chess programs in Forth. I heard about Schaakprogramma V1.0 in Dutch for F-PC by Lennart Benschop and got a copy from the author. The comments in Dutch were not useful to me so I had the comments translated to English and began porting the program from F-PC which is a 16 bit byte addressing Forth environment to ANS cell based Forth requiring at least 16 bit cells. I then compiled the ANS version for the F21 and added two windows for the chessboard and list of moves, and added a graphic display of the chessboard.

The source code to the version in Dutch for FPC, and an English language version in ANS Forth are all available in the CHESS.ZIP file at this site.

This is copy of the display from the Windows Simulator for F21. Tt looks very much like the display on a TV monitor by F21Chess running on F21 in low res color video mode.

chess game image with two windows

The program is very simple and does not play a strong game of Chess. It has no library of opening or closing games, it does make a simple strategy switch for end game, but uses a simple brute force search approach. It uses a very simple method for evaluating the value of