
I will definitely have a look.
Moderator: Ras
Hillarious.Bill Forster wrote: ↑Wed May 20, 2020 3:35 am My Covid-19 lockdown project has been porting the Z80 assembly language version of Sargon that Dan and Kathe Spracklen presented in their 1978 book into Intel x86 assembly language and packaging the whole thing as a UCI chess engine. If you are interested I have refined the whole thing into a rather polished project (I think) and published the results on Github https://github.com/billforsternz/retro-sargon where you can read all about it, in as much detail as you could ever want.
I cover these questions extensively on the Github project page. Have a read, I tried hard to make it interesting and entertaining.supersharp77 wrote: ↑Wed May 20, 2020 9:04 pm Excellent Idea/Concept!.....How strong will it be? Can we make it Stronger/Deeper? Thx AR![]()
![]()
Oh dear, I was going for Hillary ("Because it's there!", "We knocked the bastard off!") but I get Hilarious
My project adds quite a lot of value to the book. For a start a byproduct of the project is the code in proper Z80 assembly language https://github.com/billforsternz/retro- ... on-z80.asm, rather than the weird TDL mnemonics. More importantly, although the book's code is well and fully commented, it's very much one comment per line stuff, and it's hard to discern how the code really works. Of course when I ported it, it didn't just spring to life, it had to be convinced! I was wading around in the muck, in the dark, trying to work out which way was up. When I finally succeeded I decided to turn my lemons into lemonade by preserving the insights I gained as much as possible. In particular, I made executable documentation - a kind of window into the code, in which Sargon draws little ascii art diagrams of the minimax and alpha-beta algorithms as they do their work. You can observe as you step through with a debugger or just capture everything in this single file https://github.com/billforsternz/retro- ... output.txt and study it after the fact. I was amazed how alpha-beta is implemented in a few lines of assembly, when I wrote a toy engine alpha-beta tied me up in knots. I suspect it's only a subset of full alpha-beta actually, not really my strength, perhaps you could take a look and let me know?