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
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