home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / a / mload.txt < prev    next >
Text File  |  2020-01-01  |  6KB  |  139 lines

  1.                                  MLOAD
  2.  
  3. Description:
  4.  
  5.      MLOAD is a transient command used to convert a "HEX" file (the
  6. output of an assembler) into an executable "COM" file.
  7.  
  8.      In its simplest form, MLOAD takes a program that is in valid Intel
  9. hexadecimal format machine code and converts it into a command file that
  10. can be executed.  The file becomes filename.COM (the hexadecimal file is
  11. filename.HEX).  This form may be used as a replacement to the Digital
  12. Research "LOAD" command.
  13.  
  14.      The program may also be used to overlay portions of a "COM" file
  15. with patches assembled to a new "HEX" file.
  16.  
  17. Syntax:
  18.  
  19.      mload [<outnam=>][<file1.type>,]<file2>[,<file3...>] [bias]
  20.  
  21.      <outnam> is the optional output file name.
  22.  
  23.      <file1.type> is an optional non-HEX file to be patched by
  24.      subsequently named HEX files.  Specifying the filetype enables this
  25.      function.
  26.  
  27.      <file2> specifies the file to be loaded, unless a file1.type has
  28.      been specified.  In that case, it specifies a HEX file to load.
  29.  
  30.      <file3> specifies HEX file(s) to load.
  31.  
  32.      <bias> is the offset within the saved image to apply when loading
  33.      the file.
  34.  
  35.           MLOAD with no arguments prints a small help message.  This
  36.      message is also printed whenever a command line syntax error
  37.      occurs.
  38.  
  39.           ZCPR-style du specifications are fully supported, for both
  40.      input and output files.  The following command lines are
  41.      permissible:
  42.  
  43.          b3>mload a4:myfile.com=0:bigfil,b6:patch1,c9:patch2
  44.          a6>mload b5:=c3:mdm717.com,mdmpatch
  45.  
  46.           Only the optional drive and user spec and the primary filename
  47.      may be specified.  The output filetype is derived exclusively from
  48.      the 3-byte string at 103h within MLOAD.
  49.  
  50.           If no output filename is specified, it will be derived from
  51.      the first input filename, with filetype of "COM", if not otherwise
  52.      specified (this default filetype may be patched directly into MLOAD
  53.      via DDT or with MLOAD itself, using a patch file - its location is
  54.      at 103H in MLOAD.COM).  Note that a command line of the form
  55.      "C:=<FILENAME>" will place the output file on the "C" drive with
  56.      the same primary filename as the input file.
  57.  
  58.          This feature obviating any need to use DDT.  The first (and
  59.      only the first) filespec (after the "=", if used) may be non-HEX
  60.      and the filetype must be specified.  Examples:
  61.  
  62.          1.  "mload MYPROG" loads MYPROG.HEX and writes the output to
  63.      MYPROG.COM.
  64.  
  65.          2.  "mload ws.com,wspatch" loads WS.COM, overlays it with
  66.      WSPATCH.HEX, and writes the output to WS.COM.
  67.  
  68.          3.  "mload MEXTEST=MEX114.COM,MXO-US13" loads MEX114.COM,
  69.      overlays it with MXO-US13.HEX, and writes the output file to
  70.      MEXTEST.COM.  Note that this is the recommended technique because
  71.      it preserves the original file!
  72.  
  73.          4.  "mload ws.ovr,ovrpatch" loads WS.OVR and patches it with
  74.      "OVRPATCH.HEX".
  75.  
  76.           Filenames may contain drive/user specs, and must not contain
  77.      wildcards.  Input filenames must be separated by comas, and a
  78.      space is required between the last filename and the optional bias.
  79.  
  80.      A load information summary is printed at the successful conclusion
  81. of the load.  Any errors in loading will generally include the name of
  82. the file in question.
  83.  
  84.      This program is a replacement for the CP/M "LOAD" program.  Why
  85. replace "LOAD"?  well...  LOAD.COM has a few deficiencies.  For example,
  86. if the hex file's origin is above 100h, LOAD.COM prepends blank space
  87. to the output file to insure it will work as a CP/M transient.  It
  88. doesn't care if the file is not intended as a CP/M transient and it also
  89. doesn't like hex records with mixed load addresses.  For example, one
  90. that loads below a previous record; which is a perfectly legitimate
  91. happenstance.  Also, LOAD.COM can load only one program at a time, and
  92. has no provision for a load bias in the command specification.  Finally,
  93. there is no provision for user specification of the output file name.
  94.  
  95.      In its simplest form, MLOAD's syntax is identical to LOAD.COM.
  96. There should be no problem in learning to use the new program.  The only
  97. significant difference here is that, under LOAD.COM, all files are
  98. output starting at 100h, even if they originate elsewhere.  MLOAD
  99. outputs starting at the hex file origin (actually, the first hex record
  100. specifies the output load address).  The bias option may be used to
  101. override this.
  102.  
  103.      An example should clarify this.  Suppose you have a file that loads
  104. at 1000h.  LOAD.COM would save an output file that begins at 100h and
  105. loads past 1000h (to wherever the program ends).  MLOAD will save an
  106. output file starting from 1000h only.  If, for some reason, you need the
  107. file to start at 100h in spite of its 1000h origin (I can think of
  108. several circumstances where this would be necessary), you'd have to
  109. specify a bias to MLOAD.  Using this example, "MLOAD MYFILE 0F00"
  110. would do.
  111.  
  112.      Note that this program re-initializes itself each time it is run.
  113. If your system supports a direct branch to the TPA (via a zero-length
  114. .COM file, or the ZCPR "GO" command), you may safely re-execute MLOAD.
  115.  
  116. Error Messages:
  117.  
  118.         Command line syntax error
  119.                 Error in command line, re-enter and try again.
  120.         Ambiguous file name: <filename.ext> not allowed.
  121.                 Ambiguous files are not allowed.
  122.         File <filename.ext> not found.
  123.                 Input file could not be found, check spelling and try again.
  124.         Disk full.
  125.                 No room on disk for output file.
  126.         Directory full.
  127.                 No room in directory for output file.
  128.         Premature end-of-file in <filename.ext>
  129.                 Error in input file, correct error, and try again.
  130.         Checksum error in <filename.ext>
  131.                 Error in input file, correct error, and try again.
  132.         Can't close <filename.ext>
  133.                 Problem closing file, disk may be in Read/Only status.
  134.         Memory full while loading <filename.ext>
  135.                 Error in input file, correct error, and try again.
  136.         Format error in file <filename.ext>
  137.                 Error in input file, correct error, and try again.
  138.         Writing <filename.ext>, nothing loaded
  139.