home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / jsage / znode3 / asm / myload.lbr / MYLOAD.DZC / MYLOAD.DOC
Encoding:
Text File  |  1990-02-17  |  5.9 KB  |  114 lines

  1.         Release Version 1.0            17 February 1990
  2.  
  3. MYLOAD - Intel HEX file loader/overlayer.
  4.  
  5.    While trying to test some new system software consisting of oddball CCP
  6. and BDOSes, it rapidly became apparent that the family of MLOADs were not
  7. capable of proper operation under NZ-COM, nor with non-standard CCP/BDOS
  8. sizes.  Also, the lack of built-in help and Z-System support is a continuing
  9. annoyance.  Because of these factors, I decided to re-invent the proverbial
  10. wheel and write my own program.  This is the result.
  11.  
  12.    MYLOAD is written as a Z-System Tool, and relys heavily on Version 4 of
  13. The Libraries for proper operation.  As a Z-System tool, it accepts DU: or
  14. DIR: specifications for re-direction of file input.  It also contains an
  15. extensive parser to alleviate excessive typing.  File Types may be specified
  16. or default, but the file format is somewhat restricted by the basic function
  17. of overlaying/loading Intel-standard HEX files to produce a standard COM file.
  18.  
  19.    While this program is primarily intended to apply HEX overlays onto COM
  20. files, it was a trivial matter to make it function as the old CP/M LOAD.COM.
  21. The syntax for this form is:
  22.  
  23.         MYLOAD file
  24.  
  25.    Myload will load FILE.HEX from and write FILE.COM to the current Drive and
  26. User ares.  If operating in the Verbose mode (See Configuration), a message
  27. will be displayed that FILE.COM cannot be located (assuming none exists), and
  28. that the program is switching to FILE.HEX.  If FILE.COM already exists in the
  29. current user area, it will simply be loaded and written to the destination.
  30. Before writing the new file to disk, a check is made for the presence of the
  31. output file, and you have the option of replacing the existing file, or
  32. aborting the write.  To load FILE.HEX to a COM file in another User area, or
  33. on another drive, use the syntax:
  34.  
  35.     MYLOAD DU:=file   or   MYLOAD DIR:=file   (on a Z-System)
  36.  
  37.    Multiple HEX files may also be loaded and combined into a single COM file
  38. by simply listing their names separated by spaces, commas or other recognized
  39. delimiters as:
  40.  
  41.         MYLOAD file1,file2, file3,...
  42.  
  43.    As in the simple load case, this example will produce FILE1.COM from a
  44. successive load of FILE1.COM being overlayed by FILE2.HEX and FILE3.HEX.  If
  45. FILE1.COM is not located, FILE1.HEX will be loaded followed by FILE2.HEX,
  46. FILE3.HEX, etc.  Explicit DU: or DIR: specifications are accepted for all file
  47. entries.  An example of multiple file overlaying is:
  48.  
  49.     MYLOAD A15:newfile=b3:oldfile work:ovrlay1 newpatch.hx
  50.  
  51.    In this example, the file NEWFILE.COM would be written to Drive A, User
  52. 15.  It would be comprised of OLDFILE.COM (or OLDFILE.HEX if no COM found)
  53. from User Area 3 on Drive B, overlayed with OVRLAY1.HEX in the WORK: Named
  54. Directory and NEWPATCH.HX (which must be a standard HEX file) in the current
  55. Drive and User area.
  56.  
  57.    Likewise, Named Directories will be printed in a Z-System where a Name has
  58. been defined for a Drive/User.  If no Name is located, then status lines will
  59. use the DU: form.  When operating in a "vanilla" CP/M system, the DU: form is
  60. always used for input and output.
  61.  
  62.    MYLOAD also senses specified File Types, and will not override any which
  63. are so entered with the default COM or HEX.  It is therefore possible to make
  64. an OBJ or other user-specified type for output, or overlay an input file with
  65. types other than HEX.  The primary source file may be explicitly declared
  66. with a type other than COM or HEX in order to perform specialized functions
  67. such as loading a ZCPR Type 4 loader onto a PRL transient routine.  When a
  68. specified file type is entered, it is loaded as a binary COM file with no
  69. translation and an assumed load location of 100H.  An example of loading the
  70. Type-4 loader on a transient routine would take the form:
  71.  
  72.     MYLOAD routine.prl,t4ldr
  73.  
  74.   The contents of all overlay files must follow the required Intel-standard
  75. Hex file formats with the restriction that no writes are permitted to
  76. addresses less than that of the first source file (100H for COM or other
  77. binary files, the first record load address for HEX files).  It is therefore
  78. important when writing programs for HEX inputs to MYLOAD that you not use
  79. the ORG directive to locate code prior to the current relative stack pointer.
  80.  
  81. CONFIGURATION.
  82.  
  83. Three options may be specified by configuration bytes in the MYLOAD header.
  84. The first of these bytes, located at 115H, controls use of the ZCPR 3.x
  85. QUIET flag from the Environment Descriptor.  If set to 0FFH, the Quiet Flag
  86. from any located Z3 Environment will be used to control print of unneeded
  87. messages.  If this configuration byte is set to Zero, or no valid ZCPR 3
  88. Environment is found, then printing of these "noise" messages will be under
  89. the control of the next configuration byte.
  90.  
  91. The second configuration byte at 116H controls printing of all status and
  92. information messages when either No ZCPR 3 Environment is found or when the
  93. first byte is a Zero.  Setting this byte to a binary Zero will cause all
  94. messages to be printed on the terminal.  Setting this byte to 0FFH will
  95. reduce output to the terminal to only essential messages, and errors.
  96.  
  97. The third byte at 117H controls whether a BELL character is sent to the
  98. terminal when errors are detected.  If this beeping creates an annoyance, it
  99. may be disabled by setting the byte at 117H to Zero.
  100.  
  101. All three configuration bytes may be changed with Al Hawley's excellent
  102. ZCNFG tool via the MYLOAD.CFG file contained in this package.  As an alter-
  103. native, you may generate a HEX file with the desired settings for the three
  104. flags, and overlaying it onto MYLOAD.COM.
  105.  
  106. COMMENTS.
  107.  
  108. This program was hastily thrown together to satisfy an immediate need, and
  109. is being released as a sample of applications programming for an adaptive
  110. environment.  Many thanks to Howard Goldstein for running this humble program
  111. through his veritable meat grinder of a test cycle.
  112.  
  113.                 Harold F. Bower        "Hal" WA5JAY
  114.