I see, perhaps you found keywords like FINDSYMBOL, GENSYMBOL, INITgen, GENop, RA6, FINDnext, UNdef, GENop and so on. These seem to be MC extensions for finding the name tables and reading A6.Martin_Head wrote:I have now got a decompile of QLIB_OBJ that I am looking through for problems, and tidying up ready for loading. There are some embedded SuperBASIC extensions, which I have extracted, but not looked at yet.
QLiberator decompiler
Re: QLiberator decompiler
7000 4E75
-
- Aurora
- Posts: 939
- Joined: Tue Dec 17, 2013 1:17 pm
Re: QLiberator decompiler
I have not had a chance to have a good look at it yet. I have been concentrating on Disk Mate 5. Which I have just got to the stage where SMSQ/E will load, and start running it without complaint. But it stops when it hits the first extended keyword. So I now need to sort the keywords out like I did in Sedit, so that I can install them, and try the program.Ralf R. wrote:I see, perhaps you found keywords like FINDSYMBOL, GENSYMBOL, INITgen, GENop, RA6, FINDnext, UNdef, GENop and so on. These seem to be MC extensions for finding the name tables and reading A6.Martin_Head wrote:I have now got a decompile of QLIB_OBJ that I am looking through for problems, and tidying up ready for loading. There are some embedded SuperBASIC extensions, which I have extracted, but not looked at yet.
There seems to be some very odd GO TO's in Disk Mate 5. I don't know if it's some decompiling problem, or intended. I suppose I will find out when get the keywords loaded.
Re: QLiberator decompiler
I have a Supercharged loading programm for the original QL.Pawn. That was made by an italian guy long time ago. Would be good to see, what he has made to load this game. I can send you this one.
7000 4E75
-
- Aurora
- Posts: 939
- Joined: Tue Dec 17, 2013 1:17 pm
Re: QLiberator decompiler
I don't know the copyright status of QL Pawn, If you want to post it here. But I will send you a personal message with my email address, If you want to send it to me. I don't know when I may find the time to look at it. Unless of course, you want to try to decompiling it yourself?Ralf R. wrote:I have a Supercharged loading programm for the original QL.Pawn. That was made by an italian guy long time ago. Would be good to see, what he has made to load this game. I can send you this one.
-
- RWAP Master
- Posts: 2891
- Joined: Sun Nov 28, 2010 4:51 pm
- Location: Stone, United Kingdom
- Contact:
Re: QLiberator decompiler
I obtained consent to make QL Pawn freeware and it is available for download from Dilwyn's website - http://www.dilwyn.me.uk/games/adventures/index.html
This includes the loader referred to, as there was no other way of removing the copy protection.
This includes the loader referred to, as there was no other way of removing the copy protection.
Rich Mellor
RWAP Software
RWAP Adventures
SellMyRetro
Retro-Printer Module - add a USB printer to your QL
Also Involved in:
Icephorm
RWAP Software
RWAP Adventures
SellMyRetro
Retro-Printer Module - add a USB printer to your QL
Also Involved in:
Icephorm
Re: QLiberator decompiler
Great stuff, Martin!Martin_Head wrote:I had a quick look at decompiling QLiberator itself yesterday. There appears to be two compiled programs, QLib_obj and QLib_Patch_obj. The Patch file ran through the decompiler with a couple of warnings, But the QLib file threw up several warnings, and hit an unrecognised code. It also looks like it uses some ON ... GO TO's which the decompiler did not handle as well as I expected.
IMHO QLib ought to be the main target, as it is a seminal program - in a class of its own. Decompiling it may help with improving the decompiler too.
Per
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
-
- Aurora
- Posts: 939
- Joined: Tue Dec 17, 2013 1:17 pm
Re: QLiberator decompiler
While working on the decompiled Diskmate 5, I have a problem with Q_ERR_ON "fex" giving an error message.
This error also occurs in the compiled program.
Is this a known bug with QLiberator/SMSQE?
Also are there any other known bugs in QLiberator, as I now have a mostly working, decompiled QLIB_OBJ and QLIB_PATCH_OBJ files.
I have tried most of the 'demo' programs supplied with QLiberator, in the decompiled QLib, and they seem to work OK.
This error also occurs in the compiled program.
Is this a known bug with QLiberator/SMSQE?
Also are there any other known bugs in QLiberator, as I now have a mostly working, decompiled QLIB_OBJ and QLIB_PATCH_OBJ files.
I have tried most of the 'demo' programs supplied with QLiberator, in the decompiled QLib, and they seem to work OK.
Re: QLiberator decompiler
Any error related to "FEX" might not necessarily be QLiberator's fault.
FEX is known to be an ambiguous keyword, occuring both in some versions of SMSQ/E and FileInfo 2. This should be fixed by today, but your error might still be a remnant of that name clash.
Tobias
FEX is known to be an ambiguous keyword, occuring both in some versions of SMSQ/E and FileInfo 2. This should be fixed by today, but your error might still be a remnant of that name clash.
Tobias
ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
-
- Aurora
- Posts: 939
- Joined: Tue Dec 17, 2013 1:17 pm
Re: QLiberator decompiler
I had a quick look at what Diskmate does. And I think it has a look through the results of the EXTRAS command, and if FEX appears (which it does) than it does a Q_ERR_ON "fex".tofro wrote:Any error related to "FEX" might not necessarily be QLiberator's fault.
FEX is known to be an ambiguous keyword, occuring both in some versions of SMSQ/E and FileInfo 2. This should be fixed by today, but your error might still be a remnant of that name clash.
Tobias
If I run the compiled Diskmate 5 in QPC2, it stops with an error on Q_ERR_ON, which I assume is this line. You can then 'C'ontinue to get past it. So I thought it was an issue with Q_ERR_ON in one of the QLiberator extensions.
Re: QLiberator decompiler
Im not quite ready to supply my answer that question, as you did this a lot faster than I expectedMartin_Head wrote: Also are there any other known bugs in QLiberator, as I now have a mostly working, decompiled QLIB_OBJ and QLIB_PATCH_OBJ files.
I have tried most of the 'demo' programs supplied with QLiberator, in the decompiled QLib, and they seem to work OK.

AFAIK there are not many bugs in QLib, but it could do with some updating. For starters:
1) Allow int% and hex$ literals, as in SMSQ/E
2) Update PEEK and related keywords to allow the SMSQ/E variants. (QLib always uses its internal version)
3) DIV/MOD: IIRC, QLib also always uses its internal version of these which are word sized. SBASIC uses long
4) Personally I need QLib to leave room for longer job names! At present it is limited to 22 char, but Things may have 48 char
(_keys_qdos_sms: sms.mxjn equ $30 recommended job name allowance in job header) This so that a job may have room
to, eg, append a file name to the end of its name (a la Qpac2 Files, etc)
However, compatibility is important across platforms! so this must be kept in mind (as Im sure you know

Per
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen