|Location||Toolkit II, THOR XVI|
This command is used as a quick way of loading and starting machine code routines (mainly Toolkits). It will grab enough memory from the Resident Procedure Area to hold the given file, load the file into memory and then call it. Toolkit II sub-directories and the default data device are supported. LRESPR could be re-written as the following SuperBASIC procedure:
100 DEFine PROCedure LRESPR (mc_file$) 110 LOCal length,adress 120 length=FLEN(\mc_file$) 130 adress=RESPR(length) 140 LBYTES mc_file,adress 150 CALL adress 160 END DEFine LRESPR
LRESPR BeuleTools_bin LRESPR ram1_MyTool_obj
It is impossible to remove a program loaded with LRESPR so that the occupied memory can be given back for other purposes.
On version 2.23 (or later) of Toolkit II, LRESPR works even if a job is running because in this case, it will load the file into the Common Heap. CLCHP, NEW, CLEAR etc. do not remove code loaded in this way, so a crash is impossible.
When using LRESPR (or any other means) to link in extensions to SuperBASIC, bear in mind that pre JS ROMs needed the command NEW (or LOAD / LRUN) before those commands will be available. This happens on MG ROMs sometimes as well.
If this command is used to link a toolkit into a MultiBASIC under Minerva or a multiple SBASIC under SMS, then that toolkit will be local to that BASIC interpreter - when you remove that BASIC, the toolkit will also disappear.