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 »

tcat wrote: I have also noticed, that other builds of `uqlx' when first run, they patch themselves, I would not know how to trigger self-patching with your build.
That version of the VM turned out to be significantly slower and unstable on modern glibc so I disabled it!


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 »

uQlx searches for a fixed sequence of bytes to detect PE from memory.

Its possible they older one does not have this sequence (or its just a bug).

Can you point me at exact download and Ill try and look at it, but Im off to Orkney at end of week so may take me a couple of weeks!


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,
uQlx searches for a fixed sequence of bytes to detect PE from memory.
With this piece of info, I can try to sort myself out.
Im off to Orkney at end of week so may take me a couple of weeks!
Take your time, let's see first if I manage to locate and match that byte stream to my version of PE.

Many thanks.
Tomas


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 downloaded the 2018a code and compiled okay on my Linux laptop.

Loaded in the Extended Environment, Qpac2, Turbo Toolkit, Turboptr, Qliberator.

I use QXL.WIN files for storage.

All compilers work as expected.


Regards,

Derek
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 »

If you didn't find it you are looking at this bit of code.

https://github.com/SinclairQL/uqlx-fork ... reen.c#L52


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

Re: uQLx 2018a

Post by tcat »

Gents,

Thank you for all useful tips, only now did I become aware of a second branch in the repo. I did this exercise.

Code: Select all

git clone https://github.com/SinclairQL/uqlx-fork.git
cd uqlx-fork
git branch -a
git checkout XorA/working-tree-64bit
make
Builds nicely, no complains in Make.
Now looking into PE version matching.

Tomas


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,

Having used the forked version of UQLX 2018a, which looks a little faster and it seems to run all the software I have.

I added in TK2 223 which gives Level 2 device drivers, hard directories.

I would like the ability to have the second screen enabled, maybe from a command line option.
Last edited by Derek_Stewart on Tue Mar 12, 2024 4:26 pm, edited 1 time in total.


Regards,

Derek
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 »

Derek_Stewart wrote:Hi,

Having used tge forked version of UQLX 2018a, which looks a little faster and it seems to run all the software I have.

I added in TK2 223 which gives Level 2 device drivers, hard directories.

I would like the ability to have the second screen enabled, maybe from a command line option.
As far as I can tell from the source the reason uQlx does not support 2nd screen is because it supports custom screen resolutions.


User avatar
RalfR
Aurora
Posts: 870
Joined: Fri Jun 15, 2018 8:58 pm

Re: uQLx 2018a

Post by RalfR »

Derek_Stewart wrote:I added in TK2 223 which gives Level 2 device drivers, hard directories.
Hmm, ain't that the driver? I think, TK2 just give you keywords to deal with them.


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

Re: uQLx 2018a

Post by tcat »

Xscreen.c, line 52, XPatchPTRENV()
I compared this function with my old `uQLx' source for x86, and they are (almost) identical. Then I made this function completely dummy by removing the code.

Code: Select all

static int PtrPatchOk=0;
void XPatchPTRENV()
{
  /*dummy*/
}
Actually now it works with `LRESPR MDV1_PTR_GEN', no crash, most peculiar. On other builds I have here, this function constantly reports `WARNING: Could not patch PE'. While the new fork build succeeds in patching here, gives no warnings, but then it crashes. With dummy it works so far, no crash no warning either.

Tom


Post Reply