Page 3 of 3

Re: uQLx 2018a

Posted: Sun May 26, 2019 3:39 pm
by XorA
That will work as long as you use default screen size. The patch is for screen sizes AFAIK

Re: uQLx 2018a

Posted: Mon May 27, 2019 8:26 pm
by tcat
Hi Graemme,

True.
I was not too sure what the PE patch really was for. Now I have at least a clue.

Standard window size, Minerva ROM.

Code: Select all

$qm -o min198_rom

LRESPR MDV1_PTR_GEN works, mouse pointer shows within frame.

Enlarged Minerva size 640x384

Code: Select all

$qm -o min198_rom -g 640x384

LRESPR MDV1_PTR_GEN does not crash, but mouse pointer does not appear. Also window coordinates seem confused.

Tomas

Re: uQLx 2018a

Posted: Wed May 29, 2019 9:36 am
by tcat
Hi again,

I have a new observation regarding window redraw (screen update).

`uQLx' window's update is alright for zoom=1, when zoomed 2x, it sometimes trails black rectangles in the frame, when overlapped by some other windows, and after user brings it to front.

I think all logic happens in `QL_Screen.c', around functions `draw_chunk()', and `redraw_screen()'.
`QClip()', clipping rectangle, does not take zoom (z), as an argument.

Simply looking into the code, trying to understand.
Any ideas for tinkering?

Many thanks
Tomas

Re: uQLx 2018a

Posted: Wed May 29, 2019 6:36 pm
by XorA
tcat wrote:Hi again,

I have a new observation regarding window redraw (screen update).

`uQLx' window's update is alright for zoom=1, when zoomed 2x, it sometimes trails black rectangles in the frame, when overlapped by some other windows, and after user brings it to front.

I think all logic happens in `QL_Screen.c', around functions `draw_chunk()', and `redraw_screen()'.
`QClip()', clipping rectangle, does not take zoom (z), as an argument.

Simply looking into the code, trying to understand.
Any ideas for tinkering?

Many thanks
Tomas


It was a bit of a hack so its possible I missed a path where screen is updated but the zoomed version does not!

Re: uQLx 2018a

Posted: Sun Jun 02, 2019 1:52 pm
by XorA
For Pointer Environment, v2.01 works as far as I can tell from my testing.

Your v1.39 must have a different code layout and uQlx doesn't have a patch for that, so maybe you should upgrade to v2.01 (later versions don't seem to work at all, Dilwyn also seems to have suffered this from comments on his page).

Re: uQLx 2018a

Posted: Sat Aug 17, 2019 5:14 pm
by tcat
Hi,

Still thinking about zoom>1, this is when the emulator window does not get updated properly. On my further looking into, with zero X-Windows knowledge, this is what I see happening.

In `xql.c', `x.c' there is XposeEvent, looks like an event loop, from within `redraw-screen()' is called.

In `redraw-scren()' happens this,

Code: Select all

....
for (y = 0; y < scr_height * zoom; y++) {
            for (x = 0; x < scr_width; x++) {
                for (z = 0; z < zoom; z++) {
                    out[(y * scr_width * zoom) + (x*zoom) + z] = in[((y/zoom) * scr_width) + x];
....
XPutImage(display, imagewin, gc, image,
                                rx1 * zoom, ry1 * zoom,
                                rx1 * zoom, ry1 * zoom,
                                width * zoom, height * zoom);
....


The above get windows updated alright for zoom=1. Cannot see why it fails for zoom>1. Can you?

Many thanks
Tomas