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


May 21, 2013

zxsp 0.8.0 pre13: Tape Recorder Animation

Hello everybody,

after working for some time on my hardware projects, i'm back to zxsp for the next weeks or months.
I have released a new version yesterday.

What's new?

I have added animation to the tape recorder windows. Ok, version 0.7.2 had an animated tape recorder too, but for 0.8.0 this is new. :-)
There is the well-known green Walkman-style tape recorder, which is currently used for all models without built-in tape recorder, and internal tape drives for the plus2 and plus2A.

Working with the tape recorder

The buttons work mostly as on the original machine. Use EJECT to eject or insert a tape. The PAUSE button has an additional function: If down while winding back or forth the tape will stop at the start or end of the current data block. The green Walkman-style recorder has separate buttons for this.
Right-click in the tape recorder window to bring up an options menu. Here you can create and insert a new empty tape or temporarily switch instant-load or auto-start-stop on and of. The latter two options are set globally for new machines in the Preferences.

What's next?

If nothing breaks i'll now work on the additional screen modes for the Timex machines.

Greetings,

    ... Kio !