Q-Liberator 3.46

Anything QL Software or Programming Related.
User avatar
Andrew
Aurora
Posts: 796
Joined: Tue Jul 17, 2018 9:10 pm

Re: Q-Liberator 3.46

Post by Andrew »

pjw wrote: Mon Mar 25, 2024 2:52 pm
Im not sure about your preconditions. Did you get the systems variables pointer first? If you did, it should work every time.
At first run I always get the message "TK2 is required to run QLib!!! Press <ESC> to stop loading".
I press Space or Enter, and everything loads and works correctly.
Tk2 is loaded.
using TK2_EXT command before running your boot file makes no difference.
QEmulator is using Minerva198 (min198_qem.rom) and TK232.rom, 4Mb RAM
boot.jpg


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

Re: Q-Liberator 3.46

Post by Derek_Stewart »

Hi,

I do not need to test for Toolkit 2, as I know what is installed on the machine.

Surely, for compatibility, the presence of Toolkit 2 can be ignored.

I am not sure that using ENV is a good idea, as many users may not know how to use it.

What are the Qliberator environmental variables?

How does this differ from the earlier QLIB directives?

Is there any updates to the Qliberator manual?


Regards,

Derek
User avatar
pjw
QL Wafer Drive
Posts: 1316
Joined: Fri Jul 11, 2014 8:44 am
Location: Norway
Contact:

Re: Q-Liberator 3.46

Post by pjw »

Derek_Stewart wrote: Mon Mar 25, 2024 4:16 pm Hi,

I do not need to test for Toolkit 2, as I know what is installed on the machine.
Well, the package wasnt only designed for you..
Surely, for compatibility, the presence of Toolkit 2 can be ignored.
TK2 is needed to run the compiler these days. It wasnt my choice, although I agree with it.
As fas as Im concerned, TK2 is part of S*BASIC.
I am not sure that using ENV is a good idea, as many users may not know how to use it.
Someone thought it a good idea, and I dont mind. I too think it is a useful piece of kit that
is used in lots of other good and popular software. Besides, its been in there for at least
the past three years, so theres been plenty of time to critique it. Id say the business is
settled.
What are the Qliberator environmental variables?
All explained in the Q_Liberator manual, which can be found on the same page as you found
Qlib.
How does this differ from the earlier QLIB directives?
Directives and environmental variables are like chalk and cheese: very different things
Is there any updates to the Qliberator manual?
No. The latest manual is for v3.36 plus some addenda. All changes made since are described in
the accompanying information found on the disk. This was also the tradition when Liberation
Software had the running of things. I'll leave updating the manual to better men. Perhaps you?

I never asked to be a Qlib maintainer. I did some work on it, shared it with the rest of what I
thought was a group of interested people in the hope that they might give some feedback. And
that was the last I heard from anyone except a few non-actionable rude noises. I dont claim
ownership of the project, however, having invested considerable work and time in it I like a say
in future developments. Thats all


Per
dont be happy. worry
- ?
User avatar
pjw
QL Wafer Drive
Posts: 1316
Joined: Fri Jul 11, 2014 8:44 am
Location: Norway
Contact:

Re: Q-Liberator 3.46

Post by pjw »

Andrew wrote: Mon Mar 25, 2024 3:19 pm <>
At first run I always get the message "TK2 is required to run QLib!!! Press <ESC> to stop loading".
I press Space or Enter, and everything loads and works correctly.
Tk2 is loaded.
using TK2_EXT command before running your boot file makes no difference.
QEmulator is using Minerva198 (min198_qem.rom) and TK232.rom, 4Mb RAM

boot.jpg
Thanks Andrew. Its a bit of a conundrum. Some changes are going on in the OS that I had not
anticipated, and have yet to understand the reason for, or to find a way around it.

If you print out the value of a6 on the first go you get one number, on the second it returns
a different value. This occurs even when nothing obvious should make it so; no toolkits
loaded, no jobs started or removed. Strangely, this behaviour has not shown up in different
contexts, like if you loaded a file containing only the FindKey function, getting the SYSV, and
invoking FindKey('TK2_EXT') it works as intended. Also, this only happens in Minerva (1.98,
havent tried any other).

Im sure I, or someone, will figure it out eventually, but Im done for now. In the meantime
just write your own boot script. Its simple enough: TK2, ENV_bin, Qlib_sys and optionally, set
QLIB_USE as per your environment.


Per
dont be happy. worry
- ?
Derek_Stewart
Font of All Knowledge
Posts: 3975
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: Q-Liberator 3.46

Post by Derek_Stewart »

Hi

I think you miss the point. I agree with the fact that Toolkit 2 is a necessity and should also be loaded all the time.


Regards,

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

Re: Q-Liberator 3.46

Post by Andrew »

pjw wrote: Mon Mar 25, 2024 5:27 pm If you print out the value of a6 on the first go you get one number, on the second it returns
a different value. This occurs even when nothing obvious should make it so; no toolkits
loaded, no jobs started or removed. Strangely, this behaviour has not shown up in different
contexts, like if you loaded a file containing only the FindKey function, getting the SYSV, and
invoking FindKey('TK2_EXT') it works as intended. Also, this only happens in Minerva (1.98,
havent tried any other).
I also tryed with Minerva 1.97 and TK2 2.36 - same behaviour.
Also the strage behaviour has not shown up when I used Findkey in a different program :shock:, nor with JS rom or SMSQE
I already had a boot for using QLiberator, as I load qlib_run and env_bin in the main boot, but I was interested more in your FindKey function, to use it in a program instead of loading exists_bin, and that's why I noticed the strange behaviour.


User avatar
pjw
QL Wafer Drive
Posts: 1316
Joined: Fri Jul 11, 2014 8:44 am
Location: Norway
Contact:

Re: Q-Liberator 3.46

Post by pjw »

Andrew,
Under the assumption that SuperBASIC moved at some point during the running of the boot program, for reasons unknown, I thought pre-empting it before obtaining a6 might do the trick. And it appears to have worked. Basically:

Code: Select all

..
IF version$ = 'JSL1' THEN
 REMark Minerva
 DIM t$(9000): DIM t$(0): REMark Nasty kludge!
 SYSV = VER$(-2)
ELSE
 ..
So for anyone still awake and interested, replace the current boot file with this:
QlibBoot.zip
(1.73 KiB) Downloaded 15 times
Please let me know if there is a problem (or not).


Per
dont be happy. worry
- ?
User avatar
t0nyt
Gold Card
Posts: 384
Joined: Wed Nov 22, 2023 6:46 pm
Location: UK

Re: Q-Liberator 3.46

Post by t0nyt »

I decided to change my boot menu (modified version of game menu) to have option of top level folders

Rather than making heavy mods I just made some simple mods that re-reads the data statements each time, which I then found really slowed things down!

So I decided to compile it with q-liberator which has made a HUGE difference (just had to make some changes to get around LRUN usage)

I Just want to say a big thanks to everyone who works on q-liberator

Many thanks


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

Re: Q-Liberator 3.46

Post by JonS »

I would also like to add my thanks to all those who have given us, often silent users of QLiberator, access to the source and updated for modern SMSQ/E systems.

One of my beefs with using QLiberator on my QPC2 SMSQ/E system is the rather old QRAM style colour of the QLiberator panel. So I decided I would use Per's latest version 3.46 to see what I could do, just out of interest. I wanted to minimise changes and ,if possible, keep the config items as they are. As the colours are coded as byte values, this meant I couldn't use the palette values which have $0201, etc. i.e. words. So I chose to the the 256 PAL colours (COLOUR_PAL) which would fit with the config byte items. What I found was that it was surprisingly easy and attached are the file of changes I used.

If anyone wants to use them, feel free. Do the following:

1. Load the QLIB_BAS source from Per's latest 3.46 source file release
2. Copy the code below into a SBASIC source file and merge into the loaded QLIB_BAS file
3. Compile the program as you usually would using your current version of QLiberator.

Some comments on the changes:
Line 239 Select 256 colour mode for the program
Line 240 Set the version. I used 3.50, but you could remove this line if you wanted
Line 610 Changed from INK#rpt,7 to the configured text ink colour _TICOL
Lines 27910, 27920 Commented out as overwritten by following two lines anyway
Line 27924 Changed banner title on Qliberator panel. Optional.
Line 28110 Changed from INK#console,7 to the configured text ink colour _TICOL
Line 29770 Changed value passed to "display_window" from a hard coded 4 to the cursor colour config item, _CUCOL

Code: Select all

239   COLOUR_PAL
240   QLIBversion$ = "3.50" : REMark Q_Liberator's Version number
610       INK #rpt, _TICOL
27910   REMark CURSOR #console, 0, 0
27920   REMark PRINT #console,"   Copyright 1993 Liberation Software        Release " & QLIBversion$
27924   PRINT #console,"   The SMSQ/E Edition 2024                   Release " & QLIBversion$
28110   INK #console, _TICOL : REMark INK #console, 7.......Change to Config value
29770         display_window _CUCOL : REMark Changed from display_window 4
Once you've compiled you will want to change the configured colours as the original ones will give a rather poor display. The following colours will give you a very similar look to the original QRAM style as a start point:
Text INK colour : 1
Background PAPER colour : 14
Selected ITEM colour : 2
Deselected item colour : 0
Cursor colour : 3

Then you can play around with these to get the colour combinations you like.

Have fun.

Jon


User avatar
pjw
QL Wafer Drive
Posts: 1316
Joined: Fri Jul 11, 2014 8:44 am
Location: Norway
Contact:

Re: Q-Liberator 3.46

Post by pjw »

Great look! Thanks for the tip :)


Per
dont be happy. worry
- ?
Post Reply