I played the build you released today (up to level 108) and I think at least part of the problem with the slowness comes from the score count. The score has five digits but does not go up to 99,999; it resets to zero after 65,535. The game starts fast and slows down as the score increases. As it approaches 65,535, things get slower and slower. When it exceeds that value and resets, the game becomes fast again, like at the beginning, and the cycle starts over. I did this in a single longplay several times in a row playing on the Jzintv emulator and observed the behaviour. Sorry if I'm being inconvenient.
I LOVE that you got to 65,000!
So that is the result of the maximum value of an unsigned short, which is to say two bytes, on the 16bit register.
What I did to get around this value limit of 65,535 - was to find an example of a software defined 32bit register.
I don't know that I got it correct though - but the early version is up now!
Also let me know if you see a slight improvement in gameplay speed after level 7. I don't think I nailed the screen frame budget bug - but I think i might be on the right path.
THANKS FOR PLAYING!