Launchpad v2.12 Update

Anything QL Software or Programming Related.
User avatar
dilwyn
Mr QL
Posts: 2761
Joined: Wed Dec 01, 2010 10:39 pm

Launchpad v2.12 Update

Post by dilwyn »

I've issued the first update to my Launchpad v2 package for nearly a decade. Further details on my blog at https://dilwyn2.wordpress.com/2022/10/0 ... pad-v2-12/
Lunchpad
Lunchpad


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

Re: Launchpad v2.12 Update

Post by RalfR »

Great! Thanks a lot!


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

Re: Launchpad v2.12 Update

Post by pjw »

dilwyn wrote:I've issued the first update to my Launchpad v2 package for nearly a decade. Further details on my blog at https://dilwyn2.wordpress.com/2022/10/0 ... pad-v2-12/

launchpad212.jpg
Sexy! :)


Per
dont be happy. worry
- ?
User avatar
Andrew
Aurora
Posts: 796
Joined: Tue Jul 17, 2018 9:10 pm

Re: Launchpad v2.12 Update

Post by Andrew »

dilwyn wrote: Tue Oct 04, 2022 8:41 pm I've issued the first update to my Launchpad v2 package for nearly a decade. Further details on my blog at https://dilwyn2.wordpress.com/2022/10/0 ... pad-v2-12/
Hi Dilwyn, I think I found a bug in Launchpad v2.13
I have been using Launchpad 2.13 on my SMSQE QL and it works perfectly.
But after I bought a QIMSI I installed it in on a second QL that runs QDOS+PE, and this is where I hit the bug: The Jobs list (pick, remove) is not populated and Launchpad freezes.
I tested with older Launchpad versions and these are the results:
Launchpad v2.10 - launchpad.obj file size 430.042 bytes (from the Launchpad kit, disk 1, history says v2.11) with file date 20.02.2014 - Jobs work
Launchpad v2.12 - launchpad.obj file size 431.490 bytes (from a Launchpad update zip) with file date 28.09.2022- Jobs kill launchpad on PE systems, but works on SMSQE
The bug can also be replicated in QEmulator.

And a remark: because newer TKII toolkits (v2.23, v2.32) do not include CLOCK, clock_bin must be loaded before Launchpad on QDOS+PE systems.
Clock_bin is found in TK223-16K.zip here: https://dilwyn.qlforum.co.uk/pe/index.html


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

Re: Launchpad v2.12 Update

Post by dilwyn »

Thank you, Andrew. Iwill try to resolve this over the next few days.


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

Re: Launchpad v2.12 Update

Post by dilwyn »

Have been looking at this today without yet being able to resolve the issue.

The Jobs menu is populated by sending the output of the QLiberator QJ command to a pipe channel and reading back the results, using Q_PIPE . Somewhere amid this, things just stop for no obvious reason. Interestingly, it doesn't crash QDOS, you can still CTRL C to SuperBASIC, on QemuLator with JS at least.

Further work required.


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

Re: Launchpad v2.12 Update

Post by Derek_Stewart »

Hi,

What version of ROM is being used and PTR_GEN, WMAN, HOT_REXT?


Regards,

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

Re: Launchpad v2.12 Update

Post by dilwyn »

dilwyn wrote: Sun Mar 17, 2024 7:12 pm Have been looking at this today without yet being able to resolve the issue.

The Jobs menu is populated by sending the output of the QLiberator QJ command to a pipe channel and reading back the results, using Q_PIPE . Somewhere amid this, things just stop for no obvious reason. Interestingly, it doesn't crash QDOS, you can still CTRL C to SuperBASIC, on QemuLator with JS at least.

Further work required.
Well, after a lot of tinkering I found the problem, but not sure how to fix it.

The problem lies with the QLiberator QJ extension for listing jobs. It works in SBASIC, listing the jobs correctly (I'm using QLib 3.45a). But doesn't seem to work on Sinclair ROMs or Minerva, on QemuLator at least, where it lists random junk text to the screen on some ROMs and just freezes on others, implying it gets confused trying to find the jobs table. Results the same whether used interpreted or compiled on QDOS. Not yet tested it on a "real QL" running QDOS. I was using PE v2.01 on QemuLator.

Over to the QLiberator maintainers on this one for now, I'm afraid.

The code I was using in Launchpad to fetch a list of jobs was something like this:

OPEN #6,'PIPE_10240' : Q_PIPE #6 TO #5 : QJ #6 : CLOSE #6
then read back the lines one by one from #5, eventually closing the channel after the last entry.

In the short term I can probably amend the routine to use the JOBS command of TK2 instead of QJ if I amend the read-back routine to take account of the slightly different format output of that command. Not sure why I used QJ rather than JOBS in the first place back in the mists of time when I first wrote Launchpad (maybe to reduce dependence on TK2 extensions?)


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

Re: Launchpad v2.12 Update

Post by Andrew »

dilwyn wrote: Sun Mar 17, 2024 9:19 pm The problem lies with the QLiberator QJ extension for listing jobs. It works in SBASIC, listing the jobs correctly (I'm using QLib 3.45a).
I presume that the code for jobs is the same as in v2. 11, and that one works. So the quickest workaround would be to compile with an older version of Qliberator, maybe v3. 36


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

Re: Launchpad v2.12 Update

Post by pjw »

Dilwyn, you could try:

Code: Select all

100 DEFine PROCedure ListJobs(ch)
110 LOCal nj, n
120 :
130 n = 0
140 REPeat nj
150  n = NXJOB(n, 0)
160  IF n = 0: EXIT nj
170  PRINT#ch; JOB$(n)
180 END REPeat nj
190 END DEFine ListJobs
200 :
210 :


Per
dont be happy. worry
- ?
Post Reply