Had it glitching out quite a bit on sandbox land, and on Pacman's Park stage 2 some of the ghosts disappeared. Notice too that the bottom few scanlines show slightly offset/corrupted graphics data, maybe simply cutting out those two scanlines might ease the load on the CPU enough?
I haven't tested it so much in Hatari. Only in STEEM and on a real STE (and Mega STE) and it seems to work fine on those. One thing I have seen in Hatari is that the screen is bigger than on a real machine, so you see more lines here than what you will on a regular CRT monitor (or in STEEM). That's why you see the garbage at the bottom. I can fix this very easily. Just have to check it on a real machine first to see that it works.
What I do is that on the last visible line, I must set the HSCROLL register to 0 or else the first visible line in the next frame is moved 16 pixels to the left (the STE extra 16 pixel trick) and the only way I found to prevent this was to set HSCROLL to 0 on the last line in the previous frame, which isn't a problem unless you use Hatari that shows EVERYTHING
I will try on a real machine to see if I can get the Timer B to trigger on a line that is not visible on either Hatari or a STE.
maybe simply cutting out those two scanlines might ease the load on the CPU enough
Because I'm using the STE hardware scroller, the size of the display doesn't matter. It takes the same amount of CPU time independent from the number of lines showed. Actually it's more tricky to reduce the number of lines because you can not define what you want to show. You would have to do a split screen so even if it looked like the screen was smaller, it would in reality be the same size, only that you would show a black screen instead of anything useful.
I'm not sure it's the CPU that goes > 100% that cause some flicker. If you have 5 visible lifes on screen and all ghosts in the view plus the bonus item and 2 yellow pills (the ones you eat to make the ghosts blue), then you are close to 100% but I have seen the flicker even with less stuff on screen. I think it's the ACIA interrupt that interferes with the overscan routines or cause an interrupt at a bad time.
I think is a hangover from the original ST or arcade version is that some of the text lacks apostrophes (sometimes "let's" is spelled "lets")
I have fixed it now for the next version.
ST / STFM / STE / Mega STE / Falcon / TT030 / Portfolio / 2600 / 7800 / Jaguar / 600xl / 130xe