The last 3 changes are in the modifications to drive a serial terminal. Therefore I don't think they are due to OCR decode errors.
Quote:
Code:
beq pout25
instead of
Code:
bne pout25
reverses the way empty white or black space is displayed. White is now displayed as two asterisks while black is displayed as two blanks. Was originally reversed. What you need really depends on wether you have a black on white or white on black terminal.
Quote:
Code:
cph .byte "KQRRBBNNPPPPPPPPKQRRBBNNPPPPPPPP"
instead of
Code:
cph .byte "KQCCBBRRPPPPPPPPKQCCBBRRPPPPPPPP"
seemed to show rook=C & knight=R, maybe for another language. Now it is rook=R, bishop=B & knight=N.
And of course the last change is not significant, as Ed already said. However, I have replaced the hex nibble output in my code anyway. Was:
Code:
PrintDig AND #$0F ; prints A hex nibble (low 4 bits)
PHY
TAY ;
LDA Hexdigdata,Y ;
PLY
jmp syschout ;
Hexdigdata asc "0123456789ABCDEF"
Gets rid of the table:
Code:
PrintDig AND #$0F ; prints A hex nibble (low 4 bits)
CMP #$0A ; >9 ?
BCC PrDA ; No
ADC #$06 ; A-F
PrDA ADC #$30 ; +"0"
jmp syschout ;
The other fixes may be significant for the strategic behavior of the program as JSR GNM calls "generate move" for strategic analysis and loading BMAXC (black max count) to the wrong register may not be able to detect a potential checkmate against black properly.