4K HP 67 Games rom attached for testing
10-26-2016, 07:45 PM (This post was last modified: 10-26-2016 07:51 PM by Dieter.)
Post: #12
 Dieter Senior Member Posts: 2,397 Joined: Dec 2013
RE: 4K HP 67 Games rom attached for testing
(10-26-2016 12:08 PM)Dieter Wrote:  Edit: I now begin to understand how it works. The problem seems to be the old descriptive chess notation as it was used in the UK and US some decades ago. I think I will translate the whole program to something more common, close to today's Algebraic notation. For instance instead of "1523" = P-QN3 in descriptive notation the output will be "P-B3" or "P-23".

It's not as simple as I expected. The reason for this is the possible ambiguity in the descriptive notation. A move coded "524" means Q-N4, but this may mean either B4 or G4 on the chess board. Within the game it may be clear which alternative is meant (because only one of the two moves is possible), but this cannot be directly translated beforehand into the common Algebraic notation. At least not without a *very* thorough analysis of the inner workings of the program.

So I decided to leave it as it is and adjust only the output routine. The result is attached – please do your own tests and see if everything works correctly. Here is the output for the sample game given with the original HP67 listing.

Code:
[XEQ] "CH"            1. P-K4 68 [R/S]            2. Q-N4 67 [R/S]            3. Q-Q7 68 [R/S]            4. P-QN3 78 [R/S]            5. B-B4 + 68 [R/S]            6. Q-B7 ++

You will note two issues here: First, there is a check condition already in the third move (black King is on F7 and white Queen on D7), but this does not show up in the output (neither in the original 67 program nor in this 41 version). And second, the last move is ambiguous, it may mean both Q-QB7 and Q-KB7 (which is the intended move).

Anyway, here's another zip file. It includes two synthetic commands (RCL d and STO d) to save and restore the display mode settings. Feel free to do your own tests and/or post an improved version.

Dieter