Releases: billforsternz/retro-sargon
V1.01b Static Build
This is still V1.01b, but the release executable engine is now sargon-engine-static-link.exe instead of simply sargon-engine.exe, Uses Properties > C/C++ > Code Generation > Runtime Library > Multi threaded /MT (instead of Multi threaded DLL /MD).
This version of the .exe file does not need any Microsoft Visual C++ runtime library DLLs to run.
Otherwise unchanged.
Small bugfix - opening book, reply to 1.Nf3 correctly
There was one significant bugfix in the source code that wasn't yet in a binary Github release (the bugfix was only in the Github source code). So time to create Github release 1.01b. The bug fixed was discovered by user AdminX on Talkchess May 4 2021 see https://talkchess.com/forum3/viewtopic.php?f=2&t=74027&start=160#p892001 . Basically Sargon without a book, playing Black was incorrectly replying to 1.Nf3 with the blunder 1...e5 instead of the correct 1...d5. Totally my fault, not an original Sargon bug. The project has been very stable for a couple of years, but Visual Studio wants to change something too (of course it does), platform toolset V1.41 -> v1.42. Finally, some Z80 mnemonic improvements make it into this release, eg CP A,1 is replaced by the more correct (even though it's less explicit) CP 1. The ZMAC assembler didn't care but some assemblers do.
Resist Repetition Work-Around
After releasing the original V1.00 version of this project, it turned out that
Sargon 1978 UCI engine became unexpectedly popular as a training partner.
There were some complaints though, in particular people didn't understand
why Sargon would often simply repeat and concede a draw in overwhelming positions.
Version 1.01 was released to try and work around this problem, to some extent
at least. The UCI wrapper now checks whether Sargon is repeating the position,
and if so it asks Sargon to try again, with repeating moves eliminated from
the candidate list. If Sargon can find a non-repeating move that still leaves
it better (in its opinion) that move is played instead.
Sargon will not magically become an aggressive finisher, it will just resist
making an immediate draw. If its position is not overwhelming this might mean
it just dithers, failing to make progress. It might make for a worse user
experience as this could be more frustrating to experience than an immediate draw.
There are some other tweaks to make Sargon V1.01 a little more efficient and
effective as a chess engine. If a fixed depth is specified, Sargon does
no longer iterates to that depth (seemed a good idea at the time). Instead it
goes directly to the depth, which is a significant speed up. Also if Sargon
1978 calculates a forced mate it will play down the forced mate PV if given
the opportunity. This will solve a different problem (to the repetition problem)
where Sargon 1978 sometimes dallies even when it has a forced mate.
Initial Release
This release was created to indicate that I have polished the project to a point where I am happy to share it with the world as a finished product.