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