vDrive QL Menu

Anything QL Software or Programming Related.
User avatar
ngcard
ROM Dongle
Posts: 16
Joined: Sat Aug 03, 2019 3:56 pm
Location: Venice, Florida
Contact:

vDrive QL Menu

Postby ngcard » Sun Aug 25, 2019 5:24 pm

I've been messing with the QL Games Cartridge menu to come up with a menu I can use to launch applications from different banks. Seems to be working pretty well. So far I have a single column menu which supports 13 selections. I should be able to tweak this to support 3 columns. Anyway, the Superbasic code is attached if anyone wants to play with it. BTW I have a vDrive with a vMap, so mdv1 and 2 are mapped to the vDrive.
menu.jpg
Attachments
menu_bas.zip
(972 Bytes) Downloaded 34 times


Neal
User avatar
Andrew
Gold Card
Posts: 254
Joined: Tue Jul 17, 2018 9:10 pm

Re: vDrive QL Menu

Postby Andrew » Sun Aug 25, 2019 7:11 pm

I was just starting to write a vDrive Manager myself, now that I have convinced my QLs to work with it.
So you code might save me some time :)


Derek_Stewart
QL Wafer Drive
Posts: 1462
Joined: Mon Dec 20, 2010 11:40 am
Location: Runcorn, Cheshire, UK

Re: vDrive QL Menu

Postby Derek_Stewart » Sun Aug 25, 2019 10:49 pm

Hi,

I did a similiar selection menu for the Q68 software distro. But the Games boot programme was very badly written. Lots of GOTOs. I removed all that and used REPeat loops.


Regards,

Derek
retro_collector
Brittle Membrane
Posts: 106
Joined: Sun Jul 21, 2019 2:26 pm
Location: Chicago, IL USA

Re: vDrive QL Menu

Postby retro_collector » Mon Aug 26, 2019 4:12 pm

Me three! I was just starting to write the same program.

So thanks I can just use yours :D


Ralf R.
Over Heated PSU
Posts: 145
Joined: Fri Jun 15, 2018 8:58 pm

Re: vDrive QL Menu

Postby Ralf R. » Mon Aug 26, 2019 4:35 pm

Hmm, al lot of double entries. The programs should be in a DATA area, so easier to expand and just once set.

"SB" seems to be a keyword of the vDrive extensions to change to a special mdv? E.g. "IF n=13 THEN SB "STARPORT":LRUN MDV1_BOOT"


User avatar
ngcard
ROM Dongle
Posts: 16
Joined: Sat Aug 03, 2019 3:56 pm
Location: Venice, Florida
Contact:

Re: vDrive QL Menu

Postby ngcard » Tue Aug 27, 2019 4:06 am

Agreed. I just tweeked what was already there. Yes, the SB keyword selects a virtual Microdrive bank.


Neal
User avatar
ngcard
ROM Dongle
Posts: 16
Joined: Sat Aug 03, 2019 3:56 pm
Location: Venice, Florida
Contact:

Re: vDrive QL Menu

Postby ngcard » Sun Sep 01, 2019 5:53 pm

Here's the next iteration. All the GOTOs and duplicate lines are gone. The list of banks are loaded into an array from DATA lines. The menu can handle up to 39 entries split into 3 columns. The next task is to stop the menu from re-drawing everything when a cursor key is pressed, but only update the highlighted item which should improve performance with long lists.
Attachments
menu_bas.zip
(969 Bytes) Downloaded 17 times


Neal
User avatar
ngcard
ROM Dongle
Posts: 16
Joined: Sat Aug 03, 2019 3:56 pm
Location: Venice, Florida
Contact:

Re: vDrive QL Menu

Postby ngcard » Mon Sep 02, 2019 6:09 pm

OK, another iteration. This one has much improved performance when navigating - only the new and previous selections are updated on the screen instead of the whole menu. Also, the left and right arrow keys now allow you to move to the next or previous columns.
Attachments
menu_bas.zip
(1.07 KiB) Downloaded 15 times


Neal
Derek_Stewart
QL Wafer Drive
Posts: 1462
Joined: Mon Dec 20, 2010 11:40 am
Location: Runcorn, Cheshire, UK

Re: vDrive QL Menu

Postby Derek_Stewart » Mon Sep 02, 2019 6:23 pm

Hi,

The new version looks good.

You could use SELect statements instead of multiple IF statements.

You might want to look at the Toolkit 2 FOPEN function, so that the next available channel number is used.


Regards,

Derek
Ralf R.
Over Heated PSU
Posts: 145
Joined: Fri Jun 15, 2018 8:58 pm

Re: vDrive QL Menu

Postby Ralf R. » Mon Sep 02, 2019 8:34 pm

Ah, that's nice. One could use Qascade instead, but this is more the old QL Style, why not?. I should use this as a template for and with the QLib_ptr_exts, so best of both worlds. ;) .

Better use program names and numbers in separate DATA statements, to give a better overview.

Derek is quite right, SELect is the better way.



Who is online

Users browsing this forum: No registered users and 2 guests