Sunday, August 6, 2017

The fix is in!

This took under a minute to implement.
It makes no noticeable difference on Ahl's benchmark since that depends heavily on the speed of the floating point routines.  But you can see a noticeable difference on the LIFE program I've been using to compare against the old ROM.  Life only uses addition and subtraction so it's a pretty good tool to compare general execution speed.

16 was just the first value I decided to try.  I've tried 32 and it feels okay on the emulator, but I'd want to see if it feels okay with real hardware.  I think response will suffer if I go much higher.




BSCAN  rmb 1 ; BREAK key scan counter



LE519 dec BSCAN ; decrement the counter to see if we should scan for BREAK
bne LE519B ; skip it if it's not time to scan
ldaa   #16 ; the number of times we skip scanning for break
staa          BSCAN ; Reset the counter
bsr           LE566             ; check for BREAK or PAUSE keys

No comments:

Post a Comment