Display Issues

This is not a full treaties on the question of (awkward) display geometries on QL hardware systems versus emulators. It may be expanded over time.

Some objects may appear squashed, or they may not display correctly in other ways. This is often because there are some fundamental differences in typical QL hardware displays versus some emulators, and because of the variety of screen geometries possible.

Jan Bredenbeek explains the background to this at QL Forum if you want to know more.

The following is a fix for when shapes that look correct on one system look squashed on another. This may also have the effect that expected pixel locations are misplaced causing programs that interact with the display, like FloodFill to fail. Note that this poke only affects objects drawn using the graphics co-ordinate system. Graphics and all other objects drawn by other means must be adjusted by different means where needed. See, for example Circle.

        POKE_F! $C4! $14A, (nsx% / nsy%) / (asx% / asy%)

where nsx%/nsy% is the nominal screen size and asx%/asy% is the actual screen resolution. So if you are running your 1024x768 system in full HD mode, ie 1920x1080, then you need to

        nsx% = 1024: nsy% =  768
        asx% = 1920: asy% = 1080

and enter the poke above. This is often best included in your boot program.

SBASIC console

Typical example: #2 -> 1024x768 on HD; #1 -> 1920x1080 on HD

Now, if you have Turbo toolkit loaded, this will fail! Because Turbo uses an incompatible version of POKE_F. So you either need to do the poke above before you load Turbo toolkit of get a patched version of the toolkit. (You can get it here.)

To test type:

        CIRCLE 50, 50, 50

in the standard console. You should get a perfectly round circle.