QL Menu Generator

Anything QL Software or Programming Related.
Martin_Head
Aurora
Posts: 851
Joined: Tue Dec 17, 2013 1:17 pm

Re: QL Menu Generator

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


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

Re: QL Menu Generator

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


4E75 7000
User avatar
tofro
Font of All Knowledge
Posts: 2699
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: QL Menu Generator

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


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
RWAP
RWAP Master
Posts: 2834
Joined: Sun Nov 28, 2010 4:51 pm
Location: Stone, United Kingdom
Contact:

Re: QL Menu Generator

Post 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


User avatar
Andrew
Aurora
Posts: 793
Joined: Tue Jul 17, 2018 9:10 pm

Re: QL Menu Generator

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


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

Re: QL Menu Generator

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


Regards,

Derek
User avatar
Andrew
Aurora
Posts: 793
Joined: Tue Jul 17, 2018 9:10 pm

Re: QL Menu Generator

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


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

Re: QL Menu Generator

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


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

Re: QL Menu Generator

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


Regards,

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

Re: QL Menu Generator

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


4E75 7000
Post Reply