May 30, 2013

zxsp 0.8.0 pre 14: TC2048 Screen Modes

Hello everybody,

zxsp 0.8.0 pre14 is out now.

With this version zxsp gets (hopefully) full support for the Portuguese Timex TC2048 computer. Feel free to test it and compare it to a real machine and report any bugs you find. Otherwise they won't be fixed. :-)

As a temporary drawback creation of GIF images and movies is not supported in this version.

Screenshot from the TC2048Hi-ResColourDemo
In the course of TC2048 screen mode implementation i wanted to redesign some aspects of the screen output, basically make it more easy for me. For that i wanted to replace the native OpenGL calls with a convenience layer of Qt classes: QPainter and QImage. But to make the story short: i ran into another OpenGL-related bug, which will probably fixed in Qt 5.1. And for some other unclear problems i'm still stuck in Qt 4.8.4. What i have done is: i have split rendering of frames from the the actual display update, so that i don't have to deal with OpenGL stuff when modifying to the screen rendering routines. This works pretty well now. I have removed lots of optimizations, because it seems that OpenGL overhead is dominant compared to rendering of large arrays of pixels. So i render lots of pixels. Always. And then copy exactly one large image of the screen to the graphics card. 50 times a second. Demos which tended to not get 100% screen hits or stuttered a little, now run 100% smooth. At least on my iMac.

Here are the first screen shots:

Program used for this demo

The online editor of Blogger is such a crap thing... sorry...

Screen with 1:1 zoom

I'll have a look whether this can be smoothed instead of omitting every other pixel.

Screen with 2:1 zoom

No comments:

Post a Comment