home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / ZCPR33 / Z3-33 / Z33LIB05.LBR / Z33LIB05.DZC / Z33LIB05.DOC
Text File  |  2000-06-30  |  8KB  |  241 lines

  1. ; This is a collection of the module headers from the source code for the
  2. ; Z33LIB routines that have been written to date.  For the time being, they
  3. ; will have to serve as the documentation for Z33LIB.  Z33LIB will probably
  4. ; be released as a commercial product at a later date.  This version is
  5. ; provided for educational and guidance purposes.
  6. ;
  7. ; Version 0.5 corrects an error in the HIGHUSER routine.  There are no
  8. ; other functional changes.
  9. ;
  10. ;                    Jay Sage and
  11. ;                    Howard Goldstein
  12. ;                    October 24, 1987
  13.  
  14.  
  15. ; FCB1CHK
  16. ;
  17. ; This routine checks the first default file control block to see if the token
  18. ; parsed there was a valid file specification.  If there was an error
  19. ; (signalled by a nonzero value in the record-count byte), then this routine
  20. ; returns NZ and register A nonzero.  A zero value and Z flag signals a valid
  21. ; FCB.
  22.  
  23.  
  24. ; FCB2CHK
  25. ;
  26. ; This routine checks the second default file control block to see if the token
  27. ; parsed there was a valid file specification.  If there was an error
  28. ; (signalled by a nonzero value in the record-count byte), then this routine
  29. ; returns NZ and register A nonzero.  A zero value and Z flag signals a valid
  30. ; FCB.
  31.  
  32.  
  33. ; FCBCHK
  34. ;
  35. ; This routine checks the file control block pointed to by DE to see if it
  36. ; contains a validly parsed file specification.  ZCPR33 sets the record-count
  37. ; byte to a nonzero value if there was an error in resolving the file spec.
  38. ; If the FCB is valid, this routine returns Z and A=0.  No other registers are
  39. ; affected.
  40.  
  41.  
  42. ; GCMDDU
  43. ;
  44. ; This routine examines the external commmand file control block to determine
  45. ; the directory (drive/user) in which the file was located during the path
  46. ; search.  The values are returned in the BC register pair, with the drive in
  47. ; B being in the range 0..15.  No other registers are affected.
  48.  
  49.  
  50. ; GDEFDU
  51. ;
  52. ; This routine gets the values of the current default (logged) drive/user area
  53. ; into BC by reading the CURDR and CURUSR bytes in the message buffer.  No
  54. ; registers other than BC are affected.
  55.  
  56.  
  57. ; GETCCP
  58.  
  59. ; This routine calculates the starting address of the CCP based on the BIOS
  60. ; warmboot vector.  The result is returned in HL.  No other registers are
  61. ; affected.
  62.  
  63.  
  64. ; GETECP
  65.  
  66. ; This routine locates the name of the ECP in the command processor and returns
  67. ; its address in HL.  All other registers are preserved.
  68.  
  69.  
  70. ; GETER1
  71. ;
  72. ; This routine supercedes the same routine in Z3LIB.  It examines the error
  73. ; command line to determine if an error command is present or not.  If none
  74. ; is present, A=0 and the Z flag is set.  If an error command line is present,
  75. ; then A<>0, and NZ is returned.  No other register is affected.
  76.  
  77.  
  78. ; GETER3
  79. ;
  80. ; This routine returns the value of the command error flag in register A and
  81. ; sets the flags accordingly.  No other registers are affected.
  82.  
  83.  
  84. ; GETSFCB
  85.  
  86. ; This routine locates the submit FCB in the command processor and returns
  87. ; its address in DE.  If SUBMIT is not enabled or if ZCPR33 is not in memory,
  88. ; then the routine returns with the Z flag set.  All other registers are
  89. ; preserved.
  90.  
  91.  
  92. ; GETSRUN 
  93.  
  94. ; This routine determines whether or not a SUBMIT job is currently running.
  95. ; If one is, the routine returns NZ.  Only register AF is affected.
  96.  
  97.  
  98. ; GETSUB
  99.  
  100. ; This routine gets the XSUB input redirection flag into the A register.  No
  101. ; other registers are affected.
  102.  
  103.  
  104. ; HALTSUB
  105.  
  106. ; This routine stops a submit job by deleting the $$$.SUB file.  It uses the
  107. ; submit FCB in the command processor so that it adapts automatically to the
  108. ; correct drive and file name and type.  No registers are affected.
  109.  
  110. ; HIGHUSER
  111. ;
  112. ; This routine tests to see whether or not the command processor supports
  113. ; user numbers above 15.  If ZCPR33 is not running or if high user support
  114. ; is disabled, then HIGHUSER returns with the zero flag set.  No registers
  115. ; except AF are affected.
  116.  
  117.  
  118. ; PARSE2
  119. ;
  120. ; This routine calls the REPARSE entry point in the command processor to
  121. ; reparse the command line pointed to by HL.  It is the user's responsibility
  122. ; to be sure that the command processor has not been overwritten in memory.
  123. ; No registers are changed.  The two default file control blocks are filled.
  124.  
  125.  
  126. ; PDEFDU
  127. ;
  128. ; This routine puts the drive/user values in BC into the CURDR and CURUSR bytes
  129. ; in the message buffer, making that directory the default directory.  No
  130. ; registers are affected.
  131.  
  132.  
  133. ; PUTER1
  134. ;
  135. ; This routine supercedes the same routine in Z3LIB, and its purpose is to
  136. ; disable the function.  In ZCPR33 there is no way to turn external error
  137. ; handling on and off other than loading or clearing the error command line.
  138. ; The flag formerly used for this purpose is now used for the command error
  139. ; flag, which indicates the kind of command error that was detected.  This
  140. ; replacement routine does nothing
  141.  
  142.  
  143. ; PUTER3
  144. ;
  145. ; This routine stores the value in register A into the command error flag.  No
  146. ; registers are affected.
  147.  
  148.  
  149. ; PUTERC
  150. ;
  151. ; This routine supercedes the same routine in Z3LIB and differs only in that
  152. ; it limits the length of the error command line to 28 bytes, since the four
  153. ; bytes at the end of the command line space have been assigned other purposes.
  154. ; On entry, HL points to a null-terminated command string.  This string is
  155. ; copied to the error command line, if it will fit.  If it will not fit, then
  156. ; the error command line is cleared, and on return A=0 and the Z flag is set.
  157. ; On exit, HL points to the character in the new command line just after the
  158. ; last one copied.  Other registers are preserved.
  159.  
  160.  
  161. ; PUTSUB
  162.  
  163. ; This routine stores the contents of the A register into the XSUB input
  164. ; redirection flag.  No registers are affected.
  165.  
  166.  
  167. ; QERROR 
  168.  
  169. ; This routine returns Z if the command status flag in the message buffer has
  170. ; the error bit set.  Only register AF is affected.
  171.  
  172.  
  173. ; REPARSE
  174. ;
  175. ; This routine calls the REPARSE entry point in the command processor to
  176. ; reparse the command line starting one token later.  It is the user's
  177. ; responsibility to be sure that the command processor has not been overwritten
  178. ; in memory.  No registers are changed.  The two default file control blocks
  179. ; are filled.
  180.  
  181.  
  182. ; RESEPB
  183. ;
  184. ; This routine reress the external program bit in the command status flag.
  185. ; No registers are affected.
  186.  
  187.  
  188. ; RETCST
  189. ;
  190. ; This routine returns the address of the command status flag in HL.
  191. ; None of the other registers is affected.
  192.  
  193.  
  194. ; SCAN
  195. ;
  196. ; This routine first initializes the FCB pointed to by DE and then calls the
  197. ; SCAN entry point in the command processor to parse a single token pointed to
  198. ; by HL into it.  It is the user's responsibility to be sure that the command
  199. ; processor has not been overwritten in memory.  No registers are changed.
  200.  
  201.  
  202. ; SETEPB
  203. ;
  204. ; This routine sets the external program bit in the command status flag.
  205. ; No registers are affected.
  206.  
  207.  
  208. ; STOPXSUB
  209.  
  210. ; This routine resets the XSUB input redirection flag in the message buffer.
  211. ; No registers are affected.
  212.  
  213.  
  214. ; SUBON
  215.  
  216. ; This routine tests to see if SUBMIT processing is enabled in the command
  217. ; processor.  If so, it returns NZ.  It will return Z if SUBMIT is not enabled
  218. ; or if the ZCPR33 command processor cannot be detected.  Only register AF
  219. ; is affected.
  220.  
  221.  
  222. ; Z33CHK
  223.  
  224. ; This routine checks to see that the version of the CCP that is running is
  225. ; version 3.X.  Two tests must be passed.  First, the version byte must be
  226. ; 3xH.  Secondly, the byte at offset 3 must be a relative jump instruction
  227. ; (opcode 18H).  If both tests pass, the routine returns with the zero flag
  228. ; set (Z).  Otherwise the flag is reset (NZ).
  229.  
  230.  
  231. ; Z33FNAME
  232. ;
  233. ; This routine first initializes the FCB pointed to by DE and then calls the
  234. ; SCAN entry point in the command processor to parse a single token pointed to
  235. ; by HL into it.  It is the user's responsibility to be sure that the command
  236. ; processor has not been overwritten in memory.  The routine returns with HL
  237. ; pointing to the character the delimited the token.  Valid delimiters are
  238. ; space, comma, semicolon, equals, greater than, less than, underscore or any
  239. ; control character less than space.  No other registers are affected.
  240.  
  241.