Jump to content
IGNORED

Video Chess level 7


TheHoboInYourRoom

Recommended Posts

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 by davyK
Link to comment
Share on other sites

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.

 

  • Like 1
Link to comment
Share on other sites

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.

  • Like 4
Link to comment
Share on other sites

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 by davyK
  • Like 1
Link to comment
Share on other sites

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.

 

  • Thanks 1
Link to comment
Share on other sites

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!

  • Like 3
Link to comment
Share on other sites

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.

 

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...