;
                                 MYLOAD.COM                                   

             Size (recs) CRC   Version    Author/Latest Issue      Disk
               4k (31)   10A8  1.0        Hal Bower 2/90           Z3COM7

  1- Syntax  2- Configuration                                                 


   MYLOAD is an Intel HEX file loader/overlayer.   It is written as a Z-System
Tool, and relies heavily on Version 4 of  The Libraries for  proper operation.
As a Z-System tool,  it accepts DU: or DIR: specifications for re-direction of
file input.   It  also contains  an extensive  parser to  alleviate  excessive
typing.   File Types may  be  specified or default,  but  the  file  format is
somewhat restricted by the basic function of overlaying/loading Intel-standard
HEX files to produce a standard COM file.

   While MYLOAD is primarily intended to apply HEX overlays onto COM files, it
also functions like the old CP/M LOAD.COM.
:1
    Syntax    MYLOAD file

   Myload will load FILE.HEX from and  write FILE.COM to the current Drive and
User ares.   If operating in  the Verbose mode (See Configuration),  a message
will be displayed that FILE.COM cannot be located (assuming none exists),  and
that the program is switching to FILE.HEX.   If FILE.COM already exists in the
current user area,  it will simply  be loaded and written  to the destination.
Before writing the new file to  disk,  a check is made for the presence of the
output file,  and you have  the  option of  replacing  the  existing  file, or
aborting the write.   To load FILE.HEX to  a COM file in another User area, or 
on another drive, use the syntax:

	MYLOAD DU:=file   or   MYLOAD DIR:=file   (on a Z-System)
 Syntax - 2/4 

   Multiple HEX files may also be loaded  and combined into  a single COM file
by simply listing their names separated by spaces,  commas or other recognized
delimiters as:

        MYLOAD file1,file2, file3,...

   As in the simple load case,  this example  will  produce  FILE1.COM  from a
successive load  of FILE1.COM  being overlayed by FILE2.HEX and FILE3.HEX.  If
FILE1.COM is  not located,  FILE1.HEX will  be  loaded  followed by FILE2.HEX,
FILE3.HEX, etc.  Explicit DU: or DIR: specifications are accepted for all file
entries.  An example of multiple file overlaying is:

	MYLOAD A15:newfile=b3:oldfile work:ovrlay1 newpatch.hx

   In this example, the file NEWFILE.COM would be written to Drive A, User 15.
It would be  comprised  of OLDFILE.COM  (or OLDFILE.HEX if  no COM found) from 
User Area  3  on  Drive B,  overlayed  with  OVRLAY1.HEX in  the  WORK:  Named 
Directory and NEWPATCH.HX (which  must be  a standard HEX file) in the current
Drive and User area.
 Syntax - 3/4  

   Likewise, Named Directories will be printed in a  Z-System where a Name has
been defined for a Drive/User.   If no Name is located, then status lines will
use the DU: form.  When operating in  a "vanilla" CP/M system, the DU: form is
always used for input and output.

   MYLOAD also senses specified File Types,  and  will not override  any which
are so entered with the default COM or HEX.   It is therefore possible to make
an OBJ or other user-specified type for output,  or overlay an input file with
types other than HEX.   The primary source file  may  be  explicitly  declared
with a type other than COM or HEX in  order to  perform  specialized functions
such as loading  a ZCPR Type 4 loader onto  a PRL transient routine.   When  a
specified file  type is entered,  it is loaded  as a binary COM  file  with no
translation and an  assumed load location of 100H.   An example of loading the
Type-4 loader on a transient routine would take the form:

	MYLOAD routine.prl,t4ldr
 Syntax - 4/4 

   The contents of  all overlay files must follow the  required Intel-standard
Hex file formats  with  the  restriction  that  no  writes  are  permitted  to 
addresses less than  that  of  the  first  source  file (100H for COM or other
binary files, the first record load address for HEX files).   It  is therefore
important when  writing  programs  for HEX inputs  to MYLOAD that  you not use
the ORG directive to locate code prior to the current relative stack pointer.
:2
 Configuration - 1/2 

   Three options may be specified by configuration bytes in the MYLOAD header.
The first of these bytes, located at 115H,  controls use of the ZCPR 3.x QUIET
flag from the Environment Descriptor.  If set to 0FFH, the Quiet Flag from any
located Z3 Environment will be used to control print of unneeded messages.  If
this configuration  byte is  set  to Zero,  or no  valid ZCPR 3 Environment is 
found,  then printing  of these "noise" messages will be  under the control of 
the next configuration byte.

   The second configuration byte  at 116H controls printing  of all status and
information messages  when  either No ZCPR 3 Environment is found or  when the
first byte is  a Zero.   Setting this  byte to  a binary Zero  will  cause all
messages to  be printed on the terminal.   Setting  this  byte  to  0FFH  will
reduce output to the terminal to only essential messages, and errors.
 Configuration - 2/2 

   The third byte  at 117H controls whether  a BELL character  is sent  to the
terminal when errors are detected.   If  this beeping creates an annoyance, it
may be disabled by setting the byte at 117H to Zero.

   All three configuration  bytes may  be changed  with Al Hawley's  excellent
ZCNFG tool via the MYLOAD.CFG  file contained in this package.   As  an alter-
native, you may generate a HEX file with  the desired  settings for  the three
flags, and overlaying it onto MYLOAD.COM.
