davyK Posted June 12, 2023 Share Posted June 12, 2023 (edited) I'm guessing each node in the decision tree holds the evaluation score for both players and the last move, but how does it evaluate the score without encoding the entire board at each node? Unless it stores the difference between each board state at each node too and work the new eval score from that? Hair raising stuff. Would be really interesting to see a commented listing. (I presume the games uses a decision tree with an evaluation function since that was the prime way to day these game back in the 70s/80s). Edited June 12, 2023 by davyK Quote Link to comment Share on other sites More sharing options...
+nanochess Posted June 13, 2023 Share Posted June 13, 2023 18 hours ago, davyK said: I'm guessing each node in the decision tree holds the evaluation score for both players and the last move, but how does it evaluate the score without encoding the entire board at each node? Unless it stores the difference between each board state at each node too and work the new eval score from that? Hair raising stuff. Would be really interesting to see a commented listing. (I presume the games uses a decision tree with an evaluation function since that was the prime way to day these game back in the 70s/80s). So far there is nothing like trees and nodes. This is what I've got so far (still work to do, because I'm searching how it validates legal moves, and where it returns to video chores). It is based on a simulated stack using 4-bit values preserved in the same bytes as the chessboard (lower 4 bits for board). It starts analyzing the board from the bottom-right corner, and once it finds an own piece, it saves the current state in this simulated stack, it does the movement, and it starts another board analysis with the opposite side (it can deepen even more), once this is finished, it reverts the movement using the information on the stack, and it continues where it was. 1 Quote Link to comment Share on other sites More sharing options...
+nanochess Posted June 14, 2023 Share Posted June 14, 2023 Ok. I now have enough data to write a very informative article on Video Chess and some of the techniques that were used in its code. However, I disassembled it because I wanted to know about the level 6 and 7 bug. I've a very good suspect based on the small stack space available, but I need to find a way to prove it. Also some code triggers a pattern in my mind, and I need to compare against an older chess program. 4 Quote Link to comment Share on other sites More sharing options...
davyK Posted June 14, 2023 Share Posted June 14, 2023 (edited) clever stuff - using a stack. I suppose a decision tree just has too much of a RAM overhead. A stack is kind of a tree - only with one limb!! Would be really interested in any article you would write. Edited June 14, 2023 by davyK 1 Quote Link to comment Share on other sites More sharing options...
+nanochess Posted June 21, 2023 Share Posted June 21, 2023 I've been going over the code for a while, and I cannot see anything resembling a bug. My hunch proved to be wrong, and so far it looks like the stack cannot overwrite important data. I even measured the depth of calls (JSR instructions). On the other side I determined the depth variable cannot exceed the limits of RAM. If there is a bug probably it is triggered by very special conditions, but without a screenshot of the bug it would be hard to find a clue. Anyway, I'll proceed to write the article based on what I've discovered in the Video Chess ROM. 1 Quote Link to comment Share on other sites More sharing options...
Tempest Posted June 22, 2023 Share Posted June 22, 2023 Does this apply to Computer Chess as well? Quote Link to comment Share on other sites More sharing options...
+nanochess Posted June 22, 2023 Share Posted June 22, 2023 1 hour ago, Tempest said: Does this apply to Computer Chess as well? I don't have idea. Someone would have to disassemble it, and compare against my findings. Quote Link to comment Share on other sites More sharing options...
+nanochess Posted June 22, 2023 Share Posted June 22, 2023 Well, here it is. My article about the disassembly and commenting of Video Chess. Enjoy it! https://nanochess.org/video_chess.html 5 4 Quote Link to comment Share on other sites More sharing options...
davyK Posted June 22, 2023 Share Posted June 22, 2023 cheers! 1 Quote Link to comment Share on other sites More sharing options...
SoundGammon Posted June 22, 2023 Share Posted June 22, 2023 It would be great to hear from Bob Whitehead and get his thoughts! 1 Quote Link to comment Share on other sites More sharing options...
SoundGammon Posted June 22, 2023 Share Posted June 22, 2023 11 hours ago, nanochess said: Well, here it is. My article about the disassembly and commenting of Video Chess. Enjoy it! https://nanochess.org/video_chess.html You mentioned that there could have been bad ram or something causing the bug. Could be. Back in 1979, on my 2600, Star Ship, I could NOT land on the moon playing the variation Lunar Lander. I brought my cart to the store and the guy put it into the display 2600 and it worked fine! Also, on Blackjack, I could always double-down and NOT bust! Sent the console to Atari and they sent me a new one! 3 Quote Link to comment Share on other sites More sharing options...
+nanochess Posted June 22, 2023 Share Posted June 22, 2023 33 minutes ago, SoundGammon said: You mentioned that there could have been bad ram or something causing the bug. Could be. Back in 1979, on my 2600, Star Ship, I could NOT land on the moon playing the variation Lunar Lander. I brought my cart to the store and the guy put it into the display 2600 and it worked fine! Also, on Blackjack, I could always double-down and NOT bust! Sent the console to Atari and they sent me a new one! It would have been great to test Video Chess on your buggy Atari 2600. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.