Name
640x350 Hi-Res Graphics Demo
Author
Vacek 
Category
Engine/Resource
Release Date
2022-04-03
Rating
(5/5)
Tags
This record currently has no tags. Log in to add tags.
Version
1.0
Requires MegaZeux 2.92 or newer.
Downloads
640x350 Hi-Res Graphics Demo
An innovative engine for displaying full-screen, full-color bitmaps using a system of (a lot of) unbound sprites.

BTW, this is my first ever actual release through the 19 years spent lurking in the MZX community... :->
Lachesis  said:
Link
Last modified 2022-07-17 00:08:35
This is a pretty simple proof of concept for displaying 640x350 16-color images to the screen. While not the first world to use the idea (Logicow's Anticapitalizard, Lancer's "eftlt" demo and Airship Engine), the Robotic is simple enough that it should be pretty straightforward to figure out what's going on.

The main "trick" not present in the code is the image preprocessing. The file is read to the board like a 640x350 4bpp raw image but it is actually tiled references for 112 80x25 sprites. A given sprite handles every 8th horizontal pixel and every 14th vertical pixel starting from one of the 112 pixels in the top left character.

Some considerations:

* This technique should be pretty fast with the software renderer these days but the GLSL renderer needs a real graphics card (not Intel HD) to pull it off.
* The high processor load is caused by mzx_speed being set to 1 and is unrelated to this display technique.
* To make the image load faster a layer MZM could also be used here, at the cost of a larger image filesize (~448020).
* This technique also works with SMZX but you'll want to halve the number of sprites horizontally if you try it.