SMSQ/E uses the variable 

pt_asprt equ    $14a   ; 6 bytes float pixel aspect ratio

in the extended channel definition block for exactly that purpose.

You can poke this address in order to change the pixel aspect ratio.


> Am 28.04.2017 um 13:52 schrieb Jan Bredenbeek <j...@bredenbeek.net>:
> I'm sorry if this question has been answered before, but I've run into an
> issue with SMSQ/E's graphics system.
> When you use the CIRCLE command on a window with an aspect ratio of, say,
> 3:2 (on the screen, not in pixels since the graphics coordinate system is
> pixel-independent!) and type:
> CIRCLE 75,50,50
> you get a circle exactly in the centre of the window which exactly fits the
> window in vertical direction (assuming standard SCALE setting of 100,0,0).
> But when you enter this command on SMSQ/E, assuming a window with exactly
> the same aspect ratio, the circle becomes an ellipse which partly falls off
> the right edge of the window.
> I'm aware of the fact that the native QL screen has non-square pixels (the
> width/height ratio of a pixel is 0.738; combined with the 512x256
> resolution this yields an aspect ratio of about 3:2 or 1.476 to be exact).
> QDOS and Minerva compensate for this in the graphics routines so that the
> scale in horizontal direction is the same as in vertical direction (the
> Minerva source code is in fig.asm).
> However, on PC-emulated screens pixels have a different aspect ratio (I
> guess mostly 1:1). It appears that the graphics coordinate system on SMSQ/E
> still tries to adjust for the native QL pixel aspect ratio, leading to
> incorrect X/Y scale ratio on the graphics screen.
> AFAIK there is no way to adjust for this error, short of changing
> application programs. The SCALE command doesn't help, as there is only one
> SCALE parameter that sets the scale for both X and Y directions.
> Anyone got an idea?
> Jan.
> -- 
> *Jan Bredenbeek* | Hilversum, NL | j...@bredenbeek.net
> _______________________________________________
> QL-Users Mailing List

QL-Users Mailing List

Reply via email to