uQLx 2018a

Discussion and advice about emulating the QL on other machines.
User avatar
XorA
Site Admin
Posts: 1357
Joined: Thu Jun 02, 2011 11:31 am
Location: Shotts, North Lanarkshire, Scotland, UK

Re: uQLx 2018a

Post by XorA »

That will work as long as you use default screen size. The patch is for screen sizes AFAIK


tcat
Super Gold Card
Posts: 633
Joined: Fri Jan 18, 2013 5:27 pm
Location: Prague, Czech Republic

Re: uQLx 2018a

Post 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


tcat
Super Gold Card
Posts: 633
Joined: Fri Jan 18, 2013 5:27 pm
Location: Prague, Czech Republic

Re: uQLx 2018a

Post 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


User avatar
XorA
Site Admin
Posts: 1357
Joined: Thu Jun 02, 2011 11:31 am
Location: Shotts, North Lanarkshire, Scotland, UK

Re: uQLx 2018a

Post 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!


User avatar
XorA
Site Admin
Posts: 1357
Joined: Thu Jun 02, 2011 11:31 am
Location: Shotts, North Lanarkshire, Scotland, UK

Re: uQLx 2018a

Post 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).


tcat
Super Gold Card
Posts: 633
Joined: Fri Jan 18, 2013 5:27 pm
Location: Prague, Czech Republic

Re: uQLx 2018a

Post 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


User avatar
XorA
Site Admin
Posts: 1357
Joined: Thu Jun 02, 2011 11:31 am
Location: Shotts, North Lanarkshire, Scotland, UK

Re: uQLx 2018a

Post by XorA »

Tuna wrote:Hmmm...

I've just installed uQLX under windows 10 Unix susystem and for some reason every other time I try to access a win_ drive (backed by a .win file) I get 'Not Found'.

So it'll work once, then fail, then work, then fail, then work. Doesn't seem to matter what the command is (dir, copy, lbytes, wcopy etc.). One fail, then work, then fail again...

Very odd..
I think I found the cause of this.

https://github.com/SinclairQL/sQLux/com ... ac0b064842


User avatar
Ruptor
Gold Card
Posts: 418
Joined: Fri Dec 20, 2019 2:23 pm
Location: London

Re: uQLx 2018a

Post by Ruptor »

This is probably a stupid question but are all the ROM files supposed to work with uqlx. I used the minerva io fix one and it works but Tyche gives "terminate on signal 11" and doesn't come up and js rom gives a black column on the left screen.


Derek_Stewart
Font of All Knowledge
Posts: 3900
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: uQLx 2018a

Post by Derek_Stewart »

Hi,

I use Minerca v1.98, JS, or JM roms with SUQLX and UQLX. All seem to work grest.

The Tyche rom kmage is 64K in size, which may gavd problems in the emulator, maybe someone can give a better comment on this.

I will try out Tyche and report back.


Regards,

Derek
Derek_Stewart
Font of All Knowledge
Posts: 3900
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: uQLx 2018a

Post by Derek_Stewart »

Hi,

I tried TYCHE rom with sQLux and UQLX, which gave a segmentation core error, which I take to be that the ROM image, being 64K, is too large for the emulation system.

If the TYCHE ro image were 48K, as will other ROM images there maybe a chance of it working.

I also tried the Minver FIX IO rom images which worked OK as well.


Regards,

Derek
Post Reply