Universal Boot

Anything QL Software or Programming Related.
User avatar
tofro
Font of All Knowledge
Posts: 3056
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: Universal Boot

Post by tofro »

XorA wrote: Sat Feb 01, 2025 4:28 pm
tofro wrote: Sat Feb 01, 2025 2:10 pm
bwinkel67 wrote: Sat Feb 01, 2025 12:38 pm

How easy would it be? I haven't looked at the source of any ROMs but are parts of it modular to where you can easily remove commands and replace them with your own?
Hmm. What would you dare to remove so some of your (or other people's) programs using it would cease to run? :)
The obvious thing to remove would be micro-drive support, followed by network support!
mdv support: fine. Network: no, definitely not.


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
User avatar
bwinkel67
QL Wafer Drive
Posts: 1511
Joined: Thu Oct 03, 2019 2:09 am

Re: Universal Boot

Post by bwinkel67 »

Hmm, yes, there are things to choose from. I'd keep microdrive support and remove networking because, since this would be swapping things that existed in TK2, why not move networking there and move jobs to QDOS. To use networking I need to have the TK2 ROM installed anyways since the timings are a bit wonky plus it lacks the additional networking stuff TK2 provides. Then, besides jobs and a last-line recall, I'd want to add device support where somehow you could figure out from the command line which device is being used (one of the points of this universal boot discussion, I think).


User avatar
tofro
Font of All Knowledge
Posts: 3056
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: Universal Boot

Post by tofro »

Well, removing "something" from Minerva, for example, would be relatively simple.

Removing parts of the QL stock ROMs, however, would be a bit more difficult. To my knowledge, there's no full disassembly of any of the Sinclair ROMs (there are partial ones, but none that would allow you to recompile to an identical binary - which I see as a precondition for such an exercise)


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
User avatar
bwinkel67
QL Wafer Drive
Posts: 1511
Joined: Thu Oct 03, 2019 2:09 am

Re: Universal Boot

Post by bwinkel67 »

tofro wrote: Sat Feb 01, 2025 5:47 pm Well, removing "something" from Minerva, for example, would be relatively simple.
Minerva could be the starting point then. I'm guessing that has spent some time optimizing QDOS/SuperBASIC code since it already fits more stuff into it. Perhaps create a configurable repository where you can check options to remove and add features (and incorporate new features) and then let anyone customize it for themselves, taking care to keep core components shared across all ROMs in. That way Mark could add his code snippet as a new version and wouldn't need a BASIC boot program.


User avatar
tofro
Font of All Knowledge
Posts: 3056
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: Universal Boot

Post by tofro »

bwinkel67 wrote: Sat Feb 01, 2025 6:01 pm
tofro wrote: Sat Feb 01, 2025 5:47 pm Well, removing "something" from Minerva, for example, would be relatively simple.
Minerva could be the starting point then. I'm guessing that has spent some time optimizing QDOS/SuperBASIC code since it already fits more stuff into it. Perhaps create a configurable repository where you can check options to remove and add features (and incorporate new features) and then let anyone customize it for themselves, taking care to keep core components shared across all ROMs in. That way Mark could add his code snippet as a new version and wouldn't need a BASIC boot program.
Now, what's better:
A program that asks the user where its private data resides when started, and runs on any QDOSMSQ platform or

a program that doesn't need to ask but will only run on patched ROMs?


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
User avatar
bwinkel67
QL Wafer Drive
Posts: 1511
Joined: Thu Oct 03, 2019 2:09 am

Re: Universal Boot

Post by bwinkel67 »

tofro wrote: Sat Feb 01, 2025 6:09 pm Now, what's better:
A program that asks the user where its private data resides when started, and runs on any QDOSMSQ platform or

a program that doesn't need to ask but will only run on patched ROMs?
True, but if there's room you could still add it in for your own convenience in those cases where that boot program doesn't exist...and since the vast QL software repository has already been written, it might be useful to have an updated ROM that better handles that. Plus, all those other cool features (like last-line-recall) that could be added in.


User avatar
tofro
Font of All Knowledge
Posts: 3056
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: Universal Boot

Post by tofro »

bwinkel67 wrote: Sat Feb 01, 2025 6:13 pm
tofro wrote: Sat Feb 01, 2025 6:09 pm Now, what's better:
A program that asks the user where its private data resides when started, and runs on any QDOSMSQ platform or

a program that doesn't need to ask but will only run on patched ROMs?
True, but if there's room you could still add it in for your own convenience in those cases where that boot program doesn't exist...and since the vast QL software repository has already been written, it might be useful to have an updated ROM that better handles that. Plus, all those other cool features (like last-line-recall) that could be added in.
You can have all that by loading code onto an unmodified machine. And if you decide to run something "standard", you can simply not load that stuff. But you can't "unload" a modified ROM to run standard software without opening the machine. Modifying the ROM is not really a good idea. And writing a program for a modified ROM is expelling a large part of your user base.


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
User avatar
bwinkel67
QL Wafer Drive
Posts: 1511
Joined: Thu Oct 03, 2019 2:09 am

Re: Universal Boot

Post by bwinkel67 »

tofro wrote: Sat Feb 01, 2025 6:22 pm You can have all that by loading code onto an unmodified machine. And if you decide to run something "standard", you can simply not load that stuff. But you can't "unload" a modified ROM to run standard software without opening the machine. Modifying the ROM is not really a good idea. And writing a program for a modified ROM is expelling a large part of your user base.
I'm suggesting you keep a core in place and remove unneeded periphery stuff, replacing it with more useful stuff. How would removing RENUM, perhaps replacing Miverva's on-screen editor with QDOS's simper one, removing networking support, maybe even removing some non-QDOS features like Minerva's dual screen suport or multitasking S*BASIC, etc, and replacing it with things like last-line-recall, some TK2 resources like the jobs ones, etc. impact most existing programs? I think that would have zero impact. You leave in the core and remove periphery ones that most programs don't use and can write a customized ROM that gives you features everyone wants by default. Who wouldn't want last-line recall and a way to get at which device the exec/exec_w/lrun/load command uses, for starters? Then, you move some of that stuff you removed from Minerva into TK2 (i.e. networking ) so you get most of that back if you plug in that external ROM (I think it gets stated enough that everyone should use TK2...I don't since I use ICE).


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

Re: Universal Boot

Post by Derek_Stewart »

so, basically, you mean, disassemble JS ROM code, remove any bugs in the original code, produce a new operating system compatiable with previous QDOS ROMs, adding some extra functionality.

Did not Laurence Reeves do this with Minerva?

see the commented source code, which could give the ability to change the system.

Disassemble Toolkit 2, or take the SMSQ/E Toolkit 2 code and add the required functionality. Making sure it fits into 32K ROM Chips.


Regards,

Derek
User avatar
bwinkel67
QL Wafer Drive
Posts: 1511
Joined: Thu Oct 03, 2019 2:09 am

Re: Universal Boot

Post by bwinkel67 »

Derek_Stewart wrote: Sat Feb 01, 2025 7:02 pm so, basically, you mean, disassemble JS ROM code, remove any bugs in the original code, produce a new operating system compatiable with previous QDOS ROMs, adding some extra functionality.

Did not Laurence Reeves do this with Minerva?

see the commented source code, which could give the ability to change the system.

Disassemble Toolkit 2, or take the SMSQ/E Toolkit 2 code and add the required functionality. Making sure it fits into 32K ROM Chips.
Yeah, we moved away from QDOS in this discussion and focused on Minerva...so you are a few posts behind :-)


Post Reply