mikro wrote: Fri Dec 20, 2024 9:02 am
Do you mean these bugs / missing features are related to (Atari) SDL1 or in general?
Yes, SDL1 version was cobbled together quickly from SDL2 version and it will require some more attention. It was meant as quick test how well it runs on Atari. It took much more time than expected. I didn't know there is no SDL2, no threads and much less CPU power than what I remembered.
Some of those remaining issues are likely result of conversion from multiple threads to one, others are result of SDL2 > SDL1 conversion without deeper knowledge of SDL1 and some might be issues related to Atari gcc (already found and fixed one).
BTW Code is retaining drawing optimization Silmarils originally did and internally renders everything to 8 bit chunky buffer. That buffer is then converted to 32 bit texture using current palette and fed to SDL2 to display. On modern computers we can do it for full screen at 50 fps with no problem.
On Atari it's unusable. So I added list of dirty rectangles to update just the changed areas of the screen and for 8 bit depth, SDL_surface -> pixels is used directly.
Videos (FLI and FLS) are slow mostly because they are still updating full screen, also ST and Amiga videos (FLS) require some additional processing because they are planar and use some palette tricks (spectrum512, HAM) to get over 16/32 color limit.