aboutsummaryrefslogtreecommitdiff
path: root/tools/mload.txt
diff options
context:
space:
mode:
authorJeff Armstrong <jeff@approximatrix.com>2026-10-25 17:42:06 -0400
committerJeff Armstrong <jeff@approximatrix.com>2026-10-25 17:42:06 -0400
commitebb2ff2af569d5822b70ee555a32d27cf7494816 (patch)
tree7ac5e7b3fa73f7a8d996129086932ecce66374ad /tools/mload.txt
downloadkermit-80-main.tar.gz
kermit-80-main.zip
Initial import of 4.11HEADmain
Diffstat (limited to 'tools/mload.txt')
-rw-r--r--tools/mload.txt138
1 files changed, 138 insertions, 0 deletions
diff --git a/tools/mload.txt b/tools/mload.txt
new file mode 100644
index 0000000..879e9b8
--- /dev/null
+++ b/tools/mload.txt
@@ -0,0 +1,138 @@
+ MLOAD
+
+Description:
+
+ MLOAD is a transient command used to convert a "HEX" file (the
+output of an assembler) into an executable "COM" file.
+
+ In its simplest form, MLOAD takes a program that is in valid Intel
+hexadecimal format machine code and converts it into a command file that
+can be executed. The file becomes filename.COM (the hexadecimal file is
+filename.HEX). This form may be used as a replacement to the Digital
+Research "LOAD" command.
+
+ The program may also be used to overlay portions of a "COM" file
+with patches assembled to a new "HEX" file.
+
+Syntax:
+
+ mload [<outnam=>][<file1.type>,]<file2>[,<file3...>] [bias]
+
+ <outnam> is the optional output file name.
+
+ <file1.type> is an optional non-HEX file to be patched by
+ subsequently named HEX files. Specifying the filetype enables this
+ function.
+
+ <file2> specifies the file to be loaded, unless a file1.type has
+ been specified. In that case, it specifies a HEX file to load.
+
+ <file3> specifies HEX file(s) to load.
+
+ <bias> is the offset within the saved image to apply when loading
+ the file.
+
+ MLOAD with no arguments prints a small help message. This
+ message is also printed whenever a command line syntax error
+ occurs.
+
+ ZCPR-style du specifications are fully supported, for both
+ input and output files. The following command lines are
+ permissible:
+
+ b3>mload a4:myfile.com=0:bigfil,b6:patch1,c9:patch2
+ a6>mload b5:=c3:mdm717.com,mdmpatch
+
+ Only the optional drive and user spec and the primary filename
+ may be specified. The output filetype is derived exclusively from
+ the 3-byte string at 103h within MLOAD.
+
+ If no output filename is specified, it will be derived from
+ the first input filename, with filetype of "COM", if not otherwise
+ specified (this default filetype may be patched directly into MLOAD
+ via DDT or with MLOAD itself, using a patch file - its location is
+ at 103H in MLOAD.COM). Note that a command line of the form
+ "C:=<FILENAME>" will place the output file on the "C" drive with
+ the same primary filename as the input file.
+
+ This feature obviating any need to use DDT. The first (and
+ only the first) filespec (after the "=", if used) may be non-HEX
+ and the filetype must be specified. Examples:
+
+ 1. "mload MYPROG" loads MYPROG.HEX and writes the output to
+ MYPROG.COM.
+
+ 2. "mload ws.com,wspatch" loads WS.COM, overlays it with
+ WSPATCH.HEX, and writes the output to WS.COM.
+
+ 3. "mload MEXTEST=MEX114.COM,MXO-US13" loads MEX114.COM,
+ overlays it with MXO-US13.HEX, and writes the output file to
+ MEXTEST.COM. Note that this is the recommended technique because
+ it preserves the original file!
+
+ 4. "mload ws.ovr,ovrpatch" loads WS.OVR and patches it with
+ "OVRPATCH.HEX".
+
+ Filenames may contain drive/user specs, and must not contain
+ wildcards. Input filenames must be separated by comas, and a
+ space is required between the last filename and the optional bias.
+
+ A load information summary is printed at the successful conclusion
+of the load. Any errors in loading will generally include the name of
+the file in question.
+
+ This program is a replacement for the CP/M "LOAD" program. Why
+replace "LOAD"? well... LOAD.COM has a few deficiencies. For example,
+if the hex file's origin is above 100h, LOAD.COM prepends blank space
+to the output file to insure it will work as a CP/M transient. It
+doesn't care if the file is not intended as a CP/M transient and it also
+doesn't like hex records with mixed load addresses. For example, one
+that loads below a previous record; which is a perfectly legitimate
+happenstance. Also, LOAD.COM can load only one program at a time, and
+has no provision for a load bias in the command specification. Finally,
+there is no provision for user specification of the output file name.
+
+ In its simplest form, MLOAD's syntax is identical to LOAD.COM.
+There should be no problem in learning to use the new program. The only
+significant difference here is that, under LOAD.COM, all files are
+output starting at 100h, even if they originate elsewhere. MLOAD
+outputs starting at the hex file origin (actually, the first hex record
+specifies the output load address). The bias option may be used to
+override this.
+
+ An example should clarify this. Suppose you have a file that loads
+at 1000h. LOAD.COM would save an output file that begins at 100h and
+loads past 1000h (to wherever the program ends). MLOAD will save an
+output file starting from 1000h only. If, for some reason, you need the
+file to start at 100h in spite of its 1000h origin (I can think of
+several circumstances where this would be necessary), you'd have to
+specify a bias to MLOAD. Using this example, "MLOAD MYFILE 0F00"
+would do.
+
+ Note that this program re-initializes itself each time it is run.
+If your system supports a direct branch to the TPA (via a zero-length
+.COM file, or the ZCPR "GO" command), you may safely re-execute MLOAD.
+
+Error Messages:
+
+ Command line syntax error
+ Error in command line, re-enter and try again.
+ Ambiguous file name: <filename.ext> not allowed.
+ Ambiguous files are not allowed.
+ File <filename.ext> not found.
+ Input file could not be found, check spelling and try again.
+ Disk full.
+ No room on disk for output file.
+ Directory full.
+ No room in directory for output file.
+ Premature end-of-file in <filename.ext>
+ Error in input file, correct error, and try again.
+ Checksum error in <filename.ext>
+ Error in input file, correct error, and try again.
+ Can't close <filename.ext>
+ Problem closing file, disk may be in Read/Only status.
+ Memory full while loading <filename.ext>
+ Error in input file, correct error, and try again.
+ Format error in file <filename.ext>
+ Error in input file, correct error, and try again.
+ Writing <filename.ext>, nothing loaded