I took the sargon78 source code from John Squires GitHub page ( https://github.com/z80playground/sargon-cpm
), then I added the save/load game feature (, and piece move timing measurement for RC2014+SC110) (, and piece move timing measurement and graphics interface for Bill Shen's outstanding Z80ALL).
I did not touched the chess algorithms present in the source code.
John Squires mentions " I found the source code to Sargon Chess from https://github.com/billforsternz/retro-sargon/blob/master/stages/sargon-z80.asm
I quote from Bill Forster's GitHub page (https://github.com/billforsternz/retro-sargon/tree/master
), where he explains how it reconstructed the source code:
"Andre Adrian's Z80 port (http://www.andreadrian.de/schach/sargon.asm
) - I used this, plus the scan of the book above and my own paper copy to get to stages/sargon1.asm which is the starting point of my conversion pipeline, being as close to the exact text of the Sargon program in the book as I can make it."
By the way, it is very interesting to read the Andre Adrian's web page related to Chess ( http://www.andreadrian.de/schach/
I have all the admiration for the work done by these experts, and I am sure that they made every effort to achieve something special, with the best intentions.
Back to the "cheating" issue: I read too some opinions, about the "old" TRS or Apple II Sargon, behaving oddly (cheating?), e.g. breaking the "en-passant" rule, but I do not think that these opinions should be expanded in an arbitrary way to all the implementations of Sargon chess program.
And, back to the "proof": for me, the absolute proof would be a log of a chess match, played with my Sargon78 program, to show that the program "cheats".
This being said,
please enjoy playing with Sargon78 !