Help with Q Liberator

Discussion and advice about emulating the QL on other machines.
Derek_Stewart
Font of All Knowledge
Posts: 4730
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: Help with Q Liberator

Post by Derek_Stewart »

Hi,

I restored Qliberator v3.36 on QPC2 to directory: "win1_qlib_"

my boot file section to load Qliberator v3.36 is:

LRESPR "win1_QLIB_RUN"
LRESPR "win1_QLIB_BIN"
LRESPR "win1_QLIB_EXT"
QLIB_USE "win_1_qlib_","win1_qlib_"

all compiles as stated in the manual.

I found the Qliberator boot file very confusing, my 4 lines are a bare minium to use Qliberator and compile S*BASIC programmes.

I do not use overlays, but the Qliberator Overlay extensions can be loaded as required, once the concepts in the manual understand.

I have used used the command: Q_L


Regards,

Derek
gregtaylor
Chuggy Microdrive
Posts: 53
Joined: Thu Aug 13, 2015 12:42 pm
Location: East Yorkshire
Contact:

Re: Help with Q Liberator

Post by gregtaylor »

Have tried it anyway with no change. I have also tried the same emulator and qlib on Windows XP (via Virtualbox) with no change.


gregtaylor
Chuggy Microdrive
Posts: 53
Joined: Thu Aug 13, 2015 12:42 pm
Location: East Yorkshire
Contact:

Re: Help with Q Liberator

Post by gregtaylor »

Hi Derek,

Have tried your idea. Ran Q_L at the end of running the tiny boot file and go the usual Q_Liberator Runtimes Release 3.36 plus copyright message.
I then tried liberate (Enter) to load the program and got not found error. Same if I try liberate win2_test_bas,

It must be something from the software is it is not the bad name error.

I also cannot get the Turbo compiler going so I am feeling it is me!!! Interestingly, Computer One Pascal runs perfectly.

Greg


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

Re: Help with Q Liberator

Post by Derek_Stewart »

Hi Greg,

I use my program fragment in my boot file, qlib_run, qlib_ext, qlib_bin instead of qlib_sys, as the very clever people here have decompiled Qliberator and updated the compiler, so I load the updated modules individual.

However, this loads the compliler with the LIBERATE command or use LIBERATE <program>, will compile the programme.

Entering Q_L command just reloads the QLIB runtimes.

The key issues is to make sure that the QLIB_USE command points to the location of the Qliberator compiler, example, I have Qliberator installed in a subdriectory "qlib" on "WIN1_", so the comand is QLIB_USE win1_qlib_,win1_qlib_ whether you use quotes on the file directive is personal choice on SMSQ/E.

Turbo needs the installed installation directory to be current search path. If toolkit is installed and Turbo is installed to "win1_turbo_"

I enter, PROG_USE "win1_turbo_" and CHARGE will load the compiler front end.

You could use Turbo Toolkit to point to the Turbo compiler installed directory.

If all teh above failed, can you detail how you are setting the QL or QL emulator.


Regards,

Derek
gregtaylor
Chuggy Microdrive
Posts: 53
Joined: Thu Aug 13, 2015 12:42 pm
Location: East Yorkshire
Contact:

Re: Help with Q Liberator

Post by gregtaylor »

Hi Derek,

I feel you are getting somewhere. I downloaded the software from Dylwin's site (excuse spelling) but there is no mention of a liberate program anywhere. This means nothing on win1_, just the qlib files. It sounds like it is missing something. Odd though that liberate win1_test_bas results in the WRK file created.

I shall have another go at Turbo.

Greg


User avatar
RalfR
QL Wafer Drive
Posts: 1187
Joined: Fri Jun 15, 2018 8:58 pm

Re: Help with Q Liberator

Post by RalfR »

Do you have the program "QLib_obj"? This is the compiler itself and should be in the ZIP you have downloaded.


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

Re: Help with Q Liberator

Post by Derek_Stewart »

Hi,

LIBERATE is a Superbasic extension loaded in QLIB_BIN

QLIB_OBJ is the compler itself, you could actually do EX QLIB_OBJ and the compiler will work, assuming the QLIB_USE command is setup to the the compiler correctly, see page 82 of Qliberator manual:

QLIB_USE load_device, help_device, x_pos, y_pos,"options bits"

So the minimum is: QLIB_USE win1_qlib_, win1_qlib_

assuming Qliberator is located in subdirectory: win1_qlib_

The message wrk file created means, the LIBERATE command has been used without the terminating comma.


Regards,

Derek
gregtaylor
Chuggy Microdrive
Posts: 53
Joined: Thu Aug 13, 2015 12:42 pm
Location: East Yorkshire
Contact:

Re: Help with Q Liberator

Post by gregtaylor »

OK, I am truly puzzled. I have stripped back QL2K to JS ROM aand TK2 only with 128K of memory. I have created a microdrive loaded as mdv1_ with the software on and using the minimal loader (so 5 lines or so). In liberator, liberate mdv1_test_bas works and creates the _WRK file. liberate mdv1_test_bas, returns bad parameter. Typing just liberate gives the same error. This is the contents of mdv1_
boot
(100 LRESPR "win1_QLIB_RUN"
110 LRESPR "win1_QLIB_BIN"
120 LRESPR "win1_QLIB_EXT"
130 qlib_use win1_,win1_)

then the files

Qlib_bin
Qlib_ext
Qlib_run
Qlib_obj

Trying Turbo compiler after the standard TURBO TOOLKIT Version 3.35, typing charge I get not found.
Files on the drive are:
changes.txt
codegen.task
codegen4b21.task
codegen_task
CODEGEN_TASK.old
files
mytest_bas
parser.task
parser4b21_task
parser_task
PARSER_TASK.old
qlay.dir
qlayt.exe
ramdisc_cde
startup_bas
TEST2_BAS
Tk2.ext
tk2_config
tkcopy
turbo_rem_code
turbo_sms_code
turbo_tk_code
t_config.data
t_config.load
T_CONFIG_DATA
T_CONFIG_LOAD
utility_task

This includes quite a bit of crap from testing.

Anyone any new ideas? This is driving me nuts!!!

Greg


User avatar
dilwyn
Mr QL
Posts: 3099
Joined: Wed Dec 01, 2010 10:39 pm

Re: Help with Q Liberator

Post by dilwyn »

Looks like you are mixing up mdv1_ and win1_, unless that's just me misunderstanding your message as it's not 100% clear.

Is the compiler in mdv1_ or win1_ ? If the compiler is on mdv1_ you need to use mdv1_ everywhere, not win1_ (mdv1_ and win1_ are not the same devices).

Assuming I interpret your message correctly, that the compiler etc is actually all in MDV1_ (not WIN1_):

100 LRESPR "mdv1_QLIB_RUN"
110 LRESPR "mdv1_QLIB_BIN"
120 LRESPR "mdv1_QLIB_EXT"
130 QLIB_USE mdv1_,mdv1_

In the standard QLiberator download, the boot program is split into two parts, simply because pre-JS (i.e. AH and JM) don't like using keywords in the same BASIC program which loaded them - in this case, QLIB_USE which was loaded in one of the three extension files earlier in the boot.

A couple of points:

1. Case generally doesn't matter - mdv1_ is the same as MDV1_, for example.
2. If there genuinely is a parameter handling problem with type name (unquoted mdv1_ or win1_ in the QLIB_USE) you could put it in quotes like this just to test, but I've never known the quotes to be needed: 130 QLIB_USE "mdv1_","mdv1_"


gregtaylor
Chuggy Microdrive
Posts: 53
Joined: Thu Aug 13, 2015 12:42 pm
Location: East Yorkshire
Contact:

Re: Help with Q Liberator

Post by gregtaylor »

Thanks Dilwyn,

Sorry about the confusion, have done so much testing I am picking up the incorect versions. I have one on win1_ and one on mdv1_. The correct mdv1_ boot program correctly uses mdv1_ for everything. Tried putting quotes around qlib_use "mdv1_", "mdv1_" results in At Line 130;1 bad parameter.

Greg


Post Reply