QLiberator decompiler

Anything QL Software or Programming Related.
EmmBee
Trump Card
Posts: 240
Joined: Fri Jan 13, 2012 5:29 pm
Location: Kent

Re: QLiberator decompiler

Post by EmmBee »

I have finally managed to complete the renaming of Martin's decompile of QLIB_obj.

The program has not been changed in any way, it's just the var names that have changed. I have added in some REMarks, which was mainly to help me with the renaming. Upon compiling, the object file produced is practically identical, the only difference being for the name at the top of the code. This is still version 3.36
Here it is ..
QLIB_BAS_english.zip
(26.86 KiB) Downloaded 111 times


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

Re: QLiberator decompiler

Post by RalfR »

Great work, thank you!


4E75 7000
User avatar
JonS
Bent Pin Expansion Port
Posts: 76
Joined: Fri Nov 11, 2011 3:54 pm
Location: Cumbria

Re: QLiberator decompiler

Post by JonS »

After the sources were released I has a very quick look at the "moving beyond original screen" issue.

The code appears to have some checks in it, but these on their own are not enough to fix it (as has already been mentioned). I suspect the limit may be checked in QLIB's pointer routines also. There is a further issue in that QLIB stores its last position using QLIB_USE, and that limits you to 511 (x) and 255 (y), so work would be needed on that as well.

Not being an assembler programmer, disassembling and fixing is outside my area I'm afraid.


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

Re: QLiberator decompiler

Post by RalfR »

JonS wrote:I suspect the limit may be checked in QLIB's pointer routines also.
No, as mentioned earlier, I have got a documented dissassembly of these keywords from MK. Both WM_Rptr and WM_Outln are pure standard and do not restrict the move area. But they use a little data block in memory, perhaps to "save" the pointer position and read that elsewhere in the program.

As mentioned before, the move thing in QLiberator should better be changed to WMOV from easyPTR. As QLiberator redraw the window completely after a move (not seen in QPC2, too fast) plus let the non-PE user move it, they have not assembled the "keep" parameter for their WM_Outln (like in QPTR). That all has to be left out. They also put the Move sprite at an absolute position on their main window, even though there is a little window where it sits (there the pointer is detected by FWIND).


4E75 7000
EmmBee
Trump Card
Posts: 240
Joined: Fri Jan 13, 2012 5:29 pm
Location: Kent

Re: QLiberator decompiler

Post by EmmBee »

It might be possible to get somewhere by adjusting line 27460 and use something like WM_Outln #console, SCRXLIM, SCRYLIM, 0, 0, 0, 0


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

Re: QLiberator decompiler

Post by RalfR »

EmmBee wrote:It might be possible to get somewhere by adjusting line 27460 and use something like WM_Outln #console, SCRXLIM, SCRYLIM, 0, 0, 0, 0
An outline covering the whole screen...?


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

Re: QLiberator decompiler

Post by tofro »

EmmBee wrote:It might be possible to get somewhere by adjusting line 27460 and use something like WM_Outln #console, SCRXLIM, SCRYLIM, 0, 0, 0, 0

Fullscreen outline all the time is nasty - occupies a lot of screen real estate that other applications can't use and somewhat defeats the purpose of a windowing system.

It is acceptable to temporarily extend the outline during the window move if you must, but once the window is at the new place, its outline should be reduced to the absolute necessary (that is, to the extent of the primary window).

Tobias


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
User avatar
RalfR
Aurora
Posts: 871
Joined: Fri Jun 15, 2018 8:58 pm

Re: QLiberator decompiler

Post by RalfR »

tofro wrote:It is acceptable to temporarily extend the outline during the window move if you must, but once the window is at the new place, its outline should be reduced to the absolute necessary (that is, to the extent of the primary window).
But it is no problem with WMOV, if the outline is set properly for the main window. I use that in sedit63 and it works without problems.


4E75 7000
pmonstad
ROM Dongle
Posts: 4
Joined: Fri Feb 17, 2017 7:45 pm
Location: Norway

Re: QLiberator decompiler

Post by pmonstad »

I sometimes enter this forum for fun, after more than 25 years without a QL or compatible system in house. Then I stumble across this post about decompiling my Disk Mate 5. That sounds great! I hope you will post news about it if it is done, or possible at all. Lovely to hear the software is still in use!

Pål Monstad, author of Disk Mate 5


Martin_Head
Aurora
Posts: 847
Joined: Tue Dec 17, 2013 1:17 pm

Re: QLiberator decompiler

Post by Martin_Head »

pmonstad wrote:I sometimes enter this forum for fun, after more than 25 years without a QL or compatible system in house. Then I stumble across this post about decompiling my Disk Mate 5. That sounds great! I hope you will post news about it if it is done, or possible at all. Lovely to hear the software is still in use!

Pål Monstad, author of Disk Mate 5
I don't know if you saw this viewtopic.php?f=3&t=3042&p=31291&hilit=disk+mate#p31291

This is as far as I have gone at the moment. I'm not a Disk Mate user as such, I was just using it to test and develop the QLiberator decompiler. And I fixed a couple of the main things that caused problems when running on SMSQ/E. I don't know when and if I will come back to it, So if anyone feels like taking in on...

Something I noticed about the program, I seem to remember there being an email address, and an actual address in the program. I don't know if they are still valid. I thought about removing them for privacy reasons. Would you like them removed in any updated versions? I would not remove your name as the author, just the addresses.


Post Reply