Monday, August 7, 2017

Raid!!!!

I had a little time to fix the last issues in the floating point code.

The random number seed is based on the sub precision byte of the multiply (basically the 5th byte of a 4 byte floating point number).  It was never random even though the number it is based on should be changing with every multiply.
After changing the code so it works, and the accuracy reported by Ahl's Benchmark matches the original ROM.  But the change shouldn't have done anything different.
EDIT: The sub precision byte got moved to the wrong floating point accumulator at some point when I was dealing with another issue.

The other issue is actually finding 6 memory locations that are safe to use as temporary storage in the multiply.  Some trial and error may be involved because tracking the execution of an interpreter is a nightmare.

I think it's time for a Beta release.

No comments:

Post a Comment