Page 1 of 2

Launchpad v2.12 Update

Posted: Tue Oct 04, 2022 8:41 pm
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

Re: Launchpad v2.12 Update

Posted: Wed Oct 05, 2022 9:25 am
by RalfR
Great! Thanks a lot!

Re: Launchpad v2.12 Update

Posted: Wed Oct 05, 2022 9:42 am
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! :)

Re: Launchpad v2.12 Update

Posted: Sat Mar 16, 2024 1:05 am
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

Re: Launchpad v2.12 Update

Posted: Sat Mar 16, 2024 1:47 pm
by dilwyn
Thank you, Andrew. Iwill try to resolve this over the next few days.

Re: Launchpad v2.12 Update

Posted: Sun Mar 17, 2024 7:12 pm
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.

Re: Launchpad v2.12 Update

Posted: Sun Mar 17, 2024 7:30 pm
by Derek_Stewart
Hi,

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

Re: Launchpad v2.12 Update

Posted: Sun Mar 17, 2024 9:19 pm
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?)

Re: Launchpad v2.12 Update

Posted: Sun Mar 17, 2024 9:56 pm
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

Re: Launchpad v2.12 Update

Posted: Sun Mar 17, 2024 10:07 pm
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 :