QL Menu Generator

Anything QL Software or Programming Related.
Martin_Head
Super Gold Card
Posts: 531
Joined: Tue Dec 17, 2013 1:17 pm

Re: QL Menu Generator

Postby Martin_Head » Mon Oct 28, 2019 10:54 am

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
Gold Card
Posts: 446
Joined: Fri Jun 15, 2018 8:58 pm

Re: QL Menu Generator

Postby RalfR » Mon Oct 28, 2019 12:00 pm

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?


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

Re: QL Menu Generator

Postby tofro » Mon Oct 28, 2019 12:37 pm

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: 2731
Joined: Sun Nov 28, 2010 4:51 pm
Location: Stone, United Kingdom
Contact:

Re: QL Menu Generator

Postby RWAP » Wed Oct 30, 2019 10:10 pm

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
Gold Card
Posts: 366
Joined: Tue Jul 17, 2018 9:10 pm

Re: QL Menu Generator

Postby Andrew » Wed Oct 30, 2019 11:17 pm

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
QL Wafer Drive
Posts: 1917
Joined: Mon Dec 20, 2010 11:40 am
Location: Runcorn, Cheshire, UK

Re: QL Menu Generator

Postby Derek_Stewart » Thu Oct 31, 2019 10:49 am

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
Gold Card
Posts: 366
Joined: Tue Jul 17, 2018 9:10 pm

Re: QL Menu Generator

Postby Andrew » Thu Oct 31, 2019 11:36 am

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
Gold Card
Posts: 446
Joined: Fri Jun 15, 2018 8:58 pm

Re: QL Menu Generator

Postby RalfR » Thu Oct 31, 2019 12:18 pm

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.


Derek_Stewart
QL Wafer Drive
Posts: 1917
Joined: Mon Dec 20, 2010 11:40 am
Location: Runcorn, Cheshire, UK

Re: QL Menu Generator

Postby Derek_Stewart » Fri Nov 01, 2019 9:51 pm

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
Gold Card
Posts: 446
Joined: Fri Jun 15, 2018 8:58 pm

Re: QL Menu Generator

Postby RalfR » Sat Nov 02, 2019 7:00 am

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



Who is online

Users browsing this forum: No registered users and 8 guests