Page 3 of 4

Re: QL Menu Generator

Posted: Mon Oct 28, 2019 10:54 am
by Martin_Head
Ralf R. wrote:Perhaps using original variable names is possible, if the QLiberated program was compiled with "Names on", then there are all variables and prc/fn names at the bottom of the compiled program. And in case of the QLib Error window, they are showed, so recognized by the runtime modul (I think...)

Would be interesting to know, why there is a runtime module and what it does.
I have noticed in my test programs (compiled with the default settings) that it looks like any variable that is used in a PRINT statement, has its real name stored. But I don't know if this is just a coincidence.

In a standard compiled program, There is a bit of machine code near the start of the program. That looks like it just checks that the runtime module is loaded, and where it is in memory. If the runtime module is included in the program, I think it is stored just after this.

It looks like the runtime module is a kind of 'virtual machine' that reads the encoded SuperBASIC program, converts each instruction into machine code, and runs it. Very much like Turbo/SuperCharge.

Re: QL Menu Generator

Posted: Mon Oct 28, 2019 12:00 pm
by RalfR
Martin_Head wrote:
Ralf R. wrote:Perhaps using original variable names is possible, if the QLiberated program was compiled with "Names on", then there are all variables and prc/fn names at the bottom of the compiled program. And in case of the QLib Error window, they are showed, so recognized by the runtime modul (I think...)

Would be interesting to know, why there is a runtime module and what it does.
I have noticed in my test programs (compiled with the default settings) that it looks like any variable that is used in a PRINT statement, has its real name stored. But I don't know if this is just a coincidence.

In a standard compiled program, There is a bit of machine code near the start of the program. That looks like it just checks that the runtime module is loaded, and where it is in memory. If the runtime module is included in the program, I think it is stored just after this.

It looks like the runtime module is a kind of 'virtual machine' that reads the encoded SuperBASIC program, converts each instruction into machine code, and runs it. Very much like Turbo/SuperCharge.
Yes, if the runtimes are linked, they are at the beginning after the "header" of the compiled program. Interesting aspect of the reason for a runtime module. So it seems, it is a bit like the "compilation-on-the-fly" of SBASIC in SMSQ/E (or possibly that is how QLiberator jobs work).

Maybe examining the sources of SBASIC can clarify this a bit?

Re: QL Menu Generator

Posted: Mon Oct 28, 2019 12:37 pm
by tofro
The big difference between QLib and Turbo is the handling of variables - Turbo uses its own, optimized name table that gets rid of quite some of the quirky S*Basic redirections, with the downside that machine code procedures that access the name table (and S*Basic structures beyond) will not work in Turbo-compiled programs, while they will (at least to a certain extent) work in Q-liberated programs - Nothing comes for free in QDOS world...

Re: QL Menu Generator

Posted: Wed Oct 30, 2019 10:10 pm
by RWAP
Back to the original topic of this post, another later version of QL Menu Generator has been found (dated 1995):

https://princess.kekfiles.com/dl/hpvE2t ... /QMG95.zip

Re: QL Menu Generator

Posted: Wed Oct 30, 2019 11:17 pm
by Andrew
RWAP wrote:Back to the original topic of this post, another later version of QL Menu Generator has been found (dated 1995):

https://princess.kekfiles.com/dl/hpvE2t ... /QMG95.zip
Is there any manual in english ?

Re: QL Menu Generator

Posted: Thu Oct 31, 2019 10:49 am
by Derek_Stewart
Hj,

I have OCRed the German PDF and fed through Google Translate.

Just need to tidy up the English version, I will upload load it here in due course.

Re: QL Menu Generator

Posted: Thu Oct 31, 2019 11:36 am
by Andrew
Derek_Stewart wrote:Hj,

I have OCRed the German PDF and fed through Google Translate.

Just need to tidy up the English version, I will upload load it here in due course.
Thank you Derek ! that would be most helpful, as the only words I know in german are "hunde" and "einbahnstraße" - the second one learned the hard way :) , but that's another story :)

Re: QL Menu Generator

Posted: Thu Oct 31, 2019 12:18 pm
by RalfR
RWAP wrote:Back to the original topic of this post, another later version of QL Menu Generator has been found (dated 1995):

https://princess.kekfiles.com/dl/hpvE2t ... /QMG95.zip
I think, both are the same, the main programs date (inside at the beginning of the file) shows 07/10/90, the date I got the disk. I think, Wolfgang just missed a few files because of the update at the meeting, was a bit in a hurry.

QMGxx_cde is linked in the main program, that is a keyword "INP" for whatever it is used. Snapshot_exe seems to be the same, TT once has written in one of the early QJump newsletters, simply make a screen snapshot.

Re: QL Menu Generator

Posted: Fri Nov 01, 2019 9:51 pm
by Derek_Stewart
Hi Ralf,
Ralf R. wrote: QMGxx_cde is linked in the main program, that is a keyword "INP" for whatever it is used. Snapshot_exe seems to be the same, TT once has written in one of the early QJump newsletters, simply make a screen snapshot.
Do you have any of the QJump newsletters?

Re: QL Menu Generator

Posted: Sat Nov 02, 2019 7:00 am
by RalfR
Derek_Stewart wrote:Hi Ralf,
Ralf R. wrote: QMGxx_cde is linked in the main program, that is a keyword "INP" for whatever it is used. Snapshot_exe seems to be the same, TT once has written in one of the early QJump newsletters, simply make a screen snapshot.
Do you have any of the QJump newsletters?
As far as I know, there were only two (printed with QPLQ) and yes, I have both. Need to scan them ;)