Re: Hello all
Posted: Wed Apr 25, 2012 10:17 pm
Thanks for all the nice comments! As for the '5 labors of Hercules', not likely. Unfortunately, through the years and moves, I have thrown out a lot of the old stuff. I think I only have the sources for some versions of WChess (Harvard cup version, Universal hardware version, my production version as well as a few of the old H8 versions.
I used to be a big pack rat, kept copies of everything both sources and paper trails (contracts, royalty statements etc). However, after so many years, divorce, moves etc, I slowly started whittling down the large cache of materials (heck, I even had the old 8" floppies from MyChess). This makes it very difficult for me to clear up absolutely some of the questions regarding versions of CM. However, as I recall, my program was used in the original CM for Apple and PCs. Then the Spracklen version was used for CM 2000, but they had problems getting PC version ready, so only used for Apple. Mine was used for CM2000 and 2100. However, it may have been for CM 3000. I do know one of the versions used my engine for PC and Dan and Kathy's for Apple. The first CM for Apple was based loosely on the old Mychess that was sold by Datamost. The PC version was rewrite in C based on an assembly version (6502 probably).
As for all the Novag versions, the early Robot Adversary and Savant were created from the z80 Mychess assembly program - meaning there was a high reliance on a swap-off evaluation rather than quiescence search. The Constellation was a complete new program written in 6502 as I recall, and did away with swap-off in favor of quiescent search. While working for Novag, there was generally a 'high-end' product and then some 'low end' products. The high ends went from z80 to 6502 to 68k as I recall. The low ends were such devices as 6301, 6501, TLCS47 and other odd birds. Each year would be a new CPU which would have more ram and more rom for same price, but generally completely different architecture. So each program had to be designed for the various indexing and register schemes to try and maximize speed/strength. Note, these started with something like 8k rom, maybe 1k ram. One low end had 2k bytes ROM, 196 nibble (4 bit) ram. I think the high end robot had 48k ROM and 8k ram. Constellation was either 8 or 16k rom, don't recall exactly, with probably 4k ram.
Goal with WChess was to have a program in high level language (C) whilch would facilitate testing new search and eval ideas. This was a continual process over probably 10 years. A funny thing, I had tried NULL move but sort of messed up the implementation and hence did not find it better than the static forward pruning I had been using, so never switched over. WChess also used piece value tables and in fact used a high level PVT generator written under contract by Don Dailey and Larry Kaufman. Larry also contributed some opening books, although this was also an ongoing process in my 'lab'. Experimented and adopted Singular Extensions, One reply to check. Spent lots of time looking at things like recapture extensions, k safety extensions, p to 8th extenstions and all manner of pruning ideas.
Major drawbacks of the programs:
1) dependence on PVTs for bulk of chess knowledge. Led to weaker play at deeper levels as PVT knowledge generated from root position became less relevant/accurate as depth increased.
2) insufficient eval of passed pawn threats - I saw in Stockfish that they tested control of queening sqs, I guess easier to do w/bitboards.
3) pawn structure eval was never very strong.
Just for the record, I did have some collaborators over the years besides Don and Larry as mentioned above. I think Hal Bogner was first 'chess contributor', he helped with testing and input for evaluation ideas back when I worked in Van Nuys. After Hal, Scott McDonald contributed chess knowledge and reviewed literally hundreds of autotest games looking for weaknesses and improvements. When I moved to Mobile, Al, James Parker worked with me off and on for several years. James is s very bright fellow and wrote a Shogi program for Novag. He also contributed to the chess efforts and the Chinese Chess program as I recall. There were also a number of ideas adopted as result of conversations with various programmers at the computer chess tournaments I attended.
Dave
I used to be a big pack rat, kept copies of everything both sources and paper trails (contracts, royalty statements etc). However, after so many years, divorce, moves etc, I slowly started whittling down the large cache of materials (heck, I even had the old 8" floppies from MyChess). This makes it very difficult for me to clear up absolutely some of the questions regarding versions of CM. However, as I recall, my program was used in the original CM for Apple and PCs. Then the Spracklen version was used for CM 2000, but they had problems getting PC version ready, so only used for Apple. Mine was used for CM2000 and 2100. However, it may have been for CM 3000. I do know one of the versions used my engine for PC and Dan and Kathy's for Apple. The first CM for Apple was based loosely on the old Mychess that was sold by Datamost. The PC version was rewrite in C based on an assembly version (6502 probably).
As for all the Novag versions, the early Robot Adversary and Savant were created from the z80 Mychess assembly program - meaning there was a high reliance on a swap-off evaluation rather than quiescence search. The Constellation was a complete new program written in 6502 as I recall, and did away with swap-off in favor of quiescent search. While working for Novag, there was generally a 'high-end' product and then some 'low end' products. The high ends went from z80 to 6502 to 68k as I recall. The low ends were such devices as 6301, 6501, TLCS47 and other odd birds. Each year would be a new CPU which would have more ram and more rom for same price, but generally completely different architecture. So each program had to be designed for the various indexing and register schemes to try and maximize speed/strength. Note, these started with something like 8k rom, maybe 1k ram. One low end had 2k bytes ROM, 196 nibble (4 bit) ram. I think the high end robot had 48k ROM and 8k ram. Constellation was either 8 or 16k rom, don't recall exactly, with probably 4k ram.
Goal with WChess was to have a program in high level language (C) whilch would facilitate testing new search and eval ideas. This was a continual process over probably 10 years. A funny thing, I had tried NULL move but sort of messed up the implementation and hence did not find it better than the static forward pruning I had been using, so never switched over. WChess also used piece value tables and in fact used a high level PVT generator written under contract by Don Dailey and Larry Kaufman. Larry also contributed some opening books, although this was also an ongoing process in my 'lab'. Experimented and adopted Singular Extensions, One reply to check. Spent lots of time looking at things like recapture extensions, k safety extensions, p to 8th extenstions and all manner of pruning ideas.
Major drawbacks of the programs:
1) dependence on PVTs for bulk of chess knowledge. Led to weaker play at deeper levels as PVT knowledge generated from root position became less relevant/accurate as depth increased.
2) insufficient eval of passed pawn threats - I saw in Stockfish that they tested control of queening sqs, I guess easier to do w/bitboards.
3) pawn structure eval was never very strong.
Just for the record, I did have some collaborators over the years besides Don and Larry as mentioned above. I think Hal Bogner was first 'chess contributor', he helped with testing and input for evaluation ideas back when I worked in Van Nuys. After Hal, Scott McDonald contributed chess knowledge and reviewed literally hundreds of autotest games looking for weaknesses and improvements. When I moved to Mobile, Al, James Parker worked with me off and on for several years. James is s very bright fellow and wrote a Shogi program for Novag. He also contributed to the chess efforts and the Chinese Chess program as I recall. There were also a number of ideas adopted as result of conversations with various programmers at the computer chess tournaments I attended.
Dave