I am grateful to all who have contributed to this thread. Your advice has been taken on board and I now feel confident in re-writing my BOOT program(s). I shall be working on the following premises:-

The "BOOT program" should be a number of small SuperBASIC programs each one performing a specific simple task and linked to the next one using the LRUN command. This is to ensure that the whole of the BOOT process is carried out by Job0. (I understand that when a SB program is LOADed it becomes resident in memory and is allocated Job0. If another SB program (say "BOOT2") is then called at the end of "BOOT", then "BOOT is deleted from memory and is replaced by "BOOT2" and being then resident, "BOOT2" becomes Job0 - and so on with "BOOT3", "BOOT4" etc) I think that my BOOT sequence would look something like this:-

"BOOT" - Choose the Operating System required and load same. (QDOS OR SMSQ) [if QDOS is selected then do nothing since QDOS is the native OS whereas if SMSQ is selected, LRESPR SMSQ_GOLD) - LRUN BOOT2

"BOOT2" - check whether the required toolkits and extensions are loaded (LRESPRd) and if not, load (LRESPR) them generally in line with the sequence advised by Dilwyn (FROM Job0!!). LRUN "BOOT3"

"BOOT3" - Check and adjust time and date if required. LRUN "BOOT4"

"BOOT4" - Offer a menu of programs available within my 'system' - i.e. {A} Genealogy (database manipulation, building Family Trees, Write details of family members as a Word Processor Document - ours is a family HISTORY project rather than just a family TREE). {B} QUANTA Membership records (Membership address database, Mailing labels programs etc), {C}..... etc. ...{R} Return to the command line in whichever OS is current. LRUN or EX the file(s) associated with the selection OR restore any windows, and other user settings etc to switch-on state and "STOP".

Queries:- on my QLs (Aurora, SGC, QuBide, etc.) TK2 is loaded automatically at power-on (AUTOTK2F1 command), the file "BOOT" is located, LOADed and runs automatically. Are the "EXTRAS" within TK2 LRESPRd in the same manner as if TK2 were LRESPRd from either the command line or from within a boot program? OR are they 'loaded' some other way which may cause some or all of them to go missing?

LRESPR SMSQ_GOLD causes the machine to RESET following which it initialises again. Does this RESET remove TK2 from memory and is TK2 then automatically reloaded again? File "BOOT" is then run again and only LRUNs "BOOT2" (since AFAIK there is no way of changing from SMSQ to QDOS without manually RESETing the machine). Since it obviously takes some time to activate TK2 (automatically or otherwise) would it be quicker to load TK2 along with all the other required extension (in "BOOT2") provided no TK2 "EXTRAS" are required before then?

When a SB program is EXECd (from SMSQ) I have noticed that it too becomes resident in the same way as an LRUN SB program. Does this mean that the EXECd program also becomes Job0?

Can anyone see why this sequence of programs {which I am confident will run on both QDOS and SMSQ on the Auroras} should not run exactly the same under QPC2 on my Vista PCs? (which is the original point I raised with my existing programs).

And if no one wants to put together an article for the magazine, I may even have a shot myself. Thanks for all the material for this.

Finally, I am surprised that no one has yet written a RELIABLE version of "EXTRAS" as a stand alone tool to enable the name list to be investigated - or perhaps they have? If it was called "EXTRAS" would it overwrite the TK2 "EXTRAS"?

Cheers for now,

John Gilpin.



gdgqler wrote:
On 17 Nov 2009, at 21:34, Dilwyn Jones wrote:

Also, in one of my past articles, I wrote about the Name List in
SuperBasic (QL Today I mean) and gave a demo of how to list everything
in the name list.

Might help?
Turbo Toolkit also has a function to help step through name table entries, I 
think I used it in my Basic Reporter program. Could be used to write your own 
EXTRAS perhaps.

Turbo Toolkit has the function BASIC_INDEX%(name$). This gives the position of the 
keyword name$ in the BASIC Table if present. If the keyword is not present it returns -12 
which is "invalid name". This is a useful way of finding if an extension 
keyword is loaded. The string for name$ must have the correct case (usually upper).

George
_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to