home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
Geneve
/
mdos
/
80column_funnelweb
/
scll.txt
< prev
next >
Wrap
Text File
|
2006-10-19
|
12KB
|
433 lines
.LM 8;RM 72;CE 3
FUNNELWEB Vn 4.40 LOADERS
-------------------------
.FI
The FUNNELWEB system includes
special auxiliary loader files LL,
SL, and User List files UL and ML,
which greatly enhance the normal
E/A module functions.
LOW MEMORY LOADER LL
~~~~~~~~~~~~~~~~~ ~~
Some well known utilities for the
TI-99/4a, such as the Editor and
Assembler occupy low memory and use
high memory for extra code, but
mostly as a single large data
storage area. The only way that TI
provided for users to load such
files in object format was the
Minimem module, and now Low-loader
provides this function for general
use, with automatic recognition by
the FSAVE program (see FWDOC/UTIL).
When LOW-LOADER is selected from
the Load Environment screen, the LL
file is loaded from the boot
disk/directory. This provides an
alternate set of E/A utilities just
below the FUNNELWEB program in high
memory. Low memory is now used as
the first block for loading
relocatable object files (only 8K
is available in this block and 17K
in the high block). All E/A REFs
are recognized, but E/A program
utilities REFed this way will not
be available to program file loads
of FSAVEd versions. The predefined
REF/DEF table starts at >E200 and
ends at >E138, and new entries
build down from there.
If low memory is used from >2000 up
then the normal E/A (>2002) or XB
XML (>2000) target locations are no
longer available, so LL sets PAD
(>8300) as the XML address for GPL
returns by selecting a >F0 XML in
console GROM.
SCRIPT FILE MAKE/LOADER SL
~~~~~~~~~~~~~~~~~~~~~~~ ~~
In Vn 4.40 of FUNNELWEB the
functions of Script-Load have been
extended to include a full
Assembler MAKE facility as well as
multi-file object loader scripting.
SL recognizes a list of up to 15
object files specified in a DV/80
script file. Just how it handles
this list depends on how the
auxiliary loader file SL is
invoked.
If Script-Load is called as an
loader option as configured in the
Central Menus or in User Lists, or
else manually from the DiskReview
file loader, it will fetch the
nominated Script file, read the
object files to be loaded, and
proceed to load them. Any set of
relocatable object files loadable
by E/A will load without
restriction. The normal caveats on
absolute files still apply, but
with an additional restriction that
AORGed code may not be loaded into
PAD or above >FFD7 (only silly
protection schemes ever did this
anyway). The virtue of the
Scripted load approach is that it
removes the tedium of entering a
whole set of object file names, and
also allows the RUN link-name to be
activated automatically.
When SL is loaded as Option 5
SCRIPTLOADER it will prompt for
entry of a Script file name, but
after this has been entered some
further options are available. The
first query is
MAKE Assembly ? N
with N as default for immediate
<enter>. If the default is chosen
the object load function proceeds
as from external access. If
however <Y> is pressed before
<enter> the Assembly MAKE is
invoked and a further query asks if
the Loader should be automatically
entered after successful assembly.
The same Script file is used for
both MAKE and LOAD functions. The
MAKE function is especially
intended to reduce the tedium in
SAVEing program files in complex
assembler or c99 projects. If an
error occurs during assembly you
are returned to the FUNNELWEB main
menu.
File SCRIPT included as an example
in the FUNNELWEB Vn 4.40 package is
the actual Script file used for
complete re-assembly and program
file preparation for the 80-col
DiskReview. A full discussion of
the details of Script construction
follows.
A Script file is prepared as a
normal Dis/Var 80 text file with
the Programmer's Editor, or any
other way. The overall structure
is reminiscent of an assembly
source file, except that there are
no labels. Your instructions are
carried by directives, which may be
followed on the same line by data
such as file names where
appropriate. Comment lines in a
Script start with an asterisk in
the first column and blank lines
are ignored. Comments may also
follow entries except as noted.
This largely follows TI Assembler
conventions.
Details of the MAKE and/or LOAD
process are controlled by these
directives, which are all
pre-defined words of 4 upper-case
characters. These fall into
several classes, some illustrated
in SCRIPT. All files specified
must be Dis/Fix 80 object files.
At present no control is provided
in MAKE for LIST device entry or
for assembly options other than the
FUNNELWEB default of RC. These can
be added if demand is apparent.
(a) File specification
.LM +3;RM -3
FILE "DSKn.xx" .. Followed by a
filename complete with pathname (up
to the maximum length allowed for a
floppy disk name), all in quotes,
single or double, FILE specifies
one of the files to be loaded. No
spaces are allowed between the
quotes.
BOOT "filename" .. Followed by a
file or child path name without any
load pathname. This instructs the
ScriptLoader to supply the
FUNNELWEB boot pathname and to
append this file/path name. If the
Hard Disk path is OFF the drive
number where SL was found is used
as "x" in "DSKx.filename".
UTIL "filename" .. As for BOOT
except that the currently defined
Utility pathname is used.
.LM -3;RM +3
(b) Loader control
.LM +3;RM -3
AUTO .. If AUTOmatic running is
specified the link name specified
after the LAST directive will be
used to autostart the programs.
The default, with no AUTO or ALLM
directive, stops for editing of the
link name.
IAOF .. I(nternal) A(utostart) OFf
cancels internal autostarting of
object files (like Option 8).
LWLD .. LoWLoaDer sets up the load
conditions as for Low-Loader
(Option 6 of the Loaders screen).
File LL is loaded from the boot
disk after the Script file has been
read but before object file loading
begins. It should be issued at the
start of a Script and over-rides
ALLM.
LAST .. Indicates the end of the
script to be parsed by SL. If it
is followed on its line by text,
the first 6 characters will be read
as a link name for RUNning the
programs. If the end of the script
is reached before a LAST directive
is found, an error is issued. This
allows a single DV/80 file to do
double duty as a full document file
and a ScriptLoad file.
.LM -3;RM +3
(c) Memory Control
.LM +3;RM -3
ALLM .. ALL M(emory) sets the LFHM
memory pointer to the standard E/A
value >FFD7. Once set it cannot be
revoked. It also sets AUTO and a
link name must be specified on LAST
or an error will be called. This
is because the FUNNELWEB object
loader code can no longer be
assumed to be uncorrupted. Returns
are adjusted to be to the title
screen for this same reason.
.LM -3;RM +3
(d) Assembler MAKE directives
.LM +3;RM -3
ASSM .. Object file names
following this directive are
checked to see if they end with /O
(or ;O for c99 users), in which
case the last character is changed
to S and the name displayed for
passing to the Assembler in its
source file version. The Assembler
will produce an object file in the
form specified, following the
normal FUNNELWEB convention. If a
object file name does not end this
way, it will be displayed with a
preceding asterisk but not
re-assembled. ASSM is the default
condition for the MAKE pass.
STOP .. Object filenames following
this directive are totally ignored
by MAKE. ASSM after STOP gets
attention by MAKE again, and these
directives give complete control
over the files to be assembled.
Loader and Memory control
directives are ignored by MAKE, and
the LOAD pass ignores ASSM and
STOP.
.LM -3;RM +3
Error handling in the Load process
is now as complete as for the other
object loaders, with additional
features. When an Undefined
REFerence error occurs, up to 20
undefined REFs are displayed. Also
<enter> from an error display will
execute a cartridge ROM program if
available - very convenient if you
have DEBUG or SBUG II available
there.
USER LIST FILES UL
~~~~~~~~~~~~~~~ ~~
User List files are a package of
loader interface and filename data
in a fully position independent
executable program file. User
lists are configured as part of the
system configuration CF/CG
operation. Unlike the XB user list
which is part of the LOAD file and
stored along with other data in
SYSCON files, as many user list
files as desired may exist in the
system under different names and
each is configured separately. One
user list may call others allowing
a tree of choices as large as your
disk system will permit. Any type
of file may be specified in a User
List, including Script-Load files
which allow object files to be
fully automatic in loading and
running.
The configuration process using
CF/CG allows a filename only to be
specified on the Boot or Utility
paths, or else a a full filename in
form "DSKn.filename" or general
path/file name to that length. You
may also call for a pause and
reminder before loading. Normally
entry #8 on the Word Processor side
of the Central Menu is reserved for
a User List file named UL. This
will be a little "sticky" in that
it will not always need to be
reloaded from disk when reselected.
User List files may be called from
any Central Menu entry, and if so
these should be configured as
"Other" to avoid overwriting the
main UL.
User Lists should be loaded only
from the boot disk path under a
2- character filename, and if a
load from a UL fails, you should
cancel immediate reload by <esc>
from the central Menu Screen.
MULTI LIST FILES ML
~~~~~~~~~~~~~~~~ ~~
FUNNELWEB Vn 4.40 takes advantage
of the new FW program services to
allow an expanded User List
facility in the form of Multi-List
files. A Multi-List program file
treats a nominated set of User
Lists as data objects. A ML file
loads the nominated UL type files
and presents their contents in
vertical columns on the screen.
The standard 40-column version
allows 3 User Lists to be displayed
at one time, and the 80-col version
allows up to 6 User Lists to be
displayed at once. The primary
restriction is that the User Lists
read in as data by any Multi-List
must all be locatable on the
FUNNELWEB boot disk/path. The
programs called by these User Lists
can be anywhere and can include new
Multi-Lists, or User Lists. Choice
of the program to be loaded is by
cursor driven selection and <enter>
or <R>un, which then transfers
control to the loader code in the
particular User List to work on its
own data.
If <C>hange is pressed then the 2
letter User List names may be
edited and the new set will then be
loaded. In the 40-col version
only, pressing <N>ext automatically
swaps the current set of 3 User
Lists for an alternative set of 3.
If a name is blank, that column
will be bypassed, and also if the
nominated UL is not found. At
present there is no provision for
saving edited data, and this must
be set up with DiskReview's sector
editor. Call up the first sector
of the Multi-List program for ASCII
editing, and starting at byte >08
(after the 3 word header and the
initial JMP instruction), there are
six 2-character filenames to be
entered. If you don't have six
candidates, leave the remainder as
spaces.
Either of the 40- or 80-col
Multi-Lists may be called UL and
substituted for the User List of
that name, and any call of a
Multi-List will overwrite the
current Central Menu User List.
Remember then to rename the
existing UL and to edit the load
list in the Multi-List. Unlike the
User Lists, Multi-List files are
not position independent and always
reside at the system's UL reserved
position at >E9B0 in >218 bytes or
less. The limited size also
accounts for their fairly spartan
appearance. Multi-Lists may also
be loaded from any path under any
name, and always cancel automatic
reload on 8 USER LIST when a loader
selection is made. Calling one
Multi-List as a data object (as
distinct from a program to be
loaded from one of the ULs) from
another will give an obvious
nonsense display in that column.
ÇåÇ⌐åïÉòƒ╒╒╒╒╒╒╒╒╒╒╒Çïáááááááááááááááááááááá