14472RE: Chess Program Bug
- Oct 5, 2013
You're right. Only register E low byte is initialize to 0 at the start at address 0029. There should be a PHI RE with it too. I do see a quick fix though. Register D high byte is initialize to 0 at 0027. That register is used as a random number variable by increment it while waiting for the IN button to be depressed in the ACCEPT INPUT routine. So it doesn't need to be initialized. You can change the byte BD to BE at address 0027. That'd initialize E high byte to 0. I just tried it and it works.
---In firstname.lastname@example.org, <email@example.com> wrote:I ran across another bug,
here's the situation,
I was running my elfexe. stepping through program,
got up to point for first move , entered 10 20, so I hit C (continue) after
a spell its first move is 00 00.
so i tried it in mike rileys emulator, works fine , with first move 63 43
so i have been working on finding a bug in my exe.
but that is not what i found, on my emulator all registers except 0 start
out at FFFF.
Register E High byte is used as a flag holder, and is not set up properly.
- << Previous post in topic Next post in topic >>