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 / CPM3 / CCP105P.ARK / CCP105.NOT < prev    next >
Text File  |  1986-10-17  |  5KB  |  108 lines

  1. Mike Kersenbrock
  2. Sept 1986
  3. Aloha, Oregon
  4. USENET: tektronix!copper!michaelk
  5.  
  6. Version 1.05 incorporates the following features (over and above 1.04):
  7.  
  8. 1.    Provides a built-in history mechanism similar to that in
  9.     Berkeley-Unix's CSH ("sea-shell").  Included is a built-in
  10.     command "h" that diplays the history.  See beginning of
  11.     "history.doc" for more details.
  12.  
  13.     This mechanism does not store command lines that start with either
  14.     a leading ":" or a leading space (" ").  Submit files can be edited
  15.     to have leading spaces in each line if it is desired that submit-file
  16.     internals not be individually saved in the history.
  17.  
  18.     The history database is saved on the "temporary disk" as set by
  19.     setdef.  A separate history is used for each user-space.
  20.  
  21.     Use with my RAMDISK results in no visible operational delay.  Delay
  22.     is quite noticeable with a floppy, but may be acceptable (esp. with
  23.     fast and/or cached floppies).
  24.  
  25.     This mechanism is totally within the CCP and the temporary disk, and
  26.     therefore, does NOT reduce the available TPA memory space
  27.     (as an RSX might do).
  28.  
  29.  
  30. 2.    Provided detached enhancement ability.  An additional routine can be
  31.     executed just before the history routine.  If a file named
  32.     "CCP.EXT" exists on the "temporary disk" (set by setdef), then for
  33.     each command line processed by CCP, that routine is loaded to
  34.     address 6000 (hex) and "called".  See History.doc and/or code
  35.     for more details.  If register HL is returned NOT-ZERO, then
  36.     the history mechanism is turned off for "this" command.  
  37.  
  38.     The intended purpose of this "hook" is to allow a HLL or MLL
  39.     routine to be written for easy enhancements.  The language in
  40.     mind is "C", and an example test case has been provided in the
  41.     distribution ("CCPEXT.C").  My temp disk is a 720K RAMDISK, and with 
  42.     that, there is no noticeable delay caused by the loading of this
  43.     enhancement file "each time".
  44.  
  45.     The author intends to purchase an AMIGA later this year, so
  46.     these enhancements may not come to pass (then why did he
  47.     do any of these enhancements? -- good question -- probably habit).
  48.  
  49. 3.    Provided a conditional assembly flag that will "fix" CP/M Plus's
  50.     handling of lines that start with a colon.  "With" the fix,
  51.     the "return code" is NOT reset with every command line executed,
  52.     but IS reset upon cold boot.
  53.  
  54.     The purpose of this is to allow this author's port of the
  55.     "Aussie Make" to properly terminate make-execution upon
  56.     an step-wise error.
  57.  
  58.     My MAKE "works" by creating a submit file, then chaining 
  59.     to it (the submit file's last command deletes itself).
  60.     In my USENET distributed version, the "-i" option puts a
  61.     colon in front of each command (my current private-version inverts
  62.     the sense of "-i" back to "normal", and puts spaces in front of each
  63.     command to keep them out of the history, don't know if it is worthwhile
  64.     distributing this again for these changes).
  65.  
  66.     Using this "fixed" CCP,  MAKE works like this: 
  67.         
  68.         a) Just before the chaining, MAKE resets the CP/M
  69.            return status to zero.
  70.  
  71.         b) The chained-to command file executes commands as required
  72.            to bring the files up to date.
  73.  
  74.         c) If an error happens, then the return status is "set",
  75.             and all the rest of the submit-file commands are not
  76.            executed (because of the leading colon).
  77.  
  78.     The difference with the non-fixed version, is that only the NEXT
  79.     submit file command would be skipped, rather than ALL of them as
  80.     in the "fixed version".
  81.  
  82.     For this to work, one's compilers, linkers, assemblers, etc need
  83.     to set the return-status upon error.  I have included in my
  84.     distribution, several RSX examples -- the ones I use on several
  85.     of my software tools -- that cause my software to set the
  86.     return-status.  They should be easy to modify for "your" tools.
  87.  
  88.  
  89. 4.     I reinstituted the conditional-assembly flag that when used,
  90.     makes the user NOT be in the prompt when the user number
  91.     is ZERO.  This author doesn't use non-0 user spaces,
  92.     and likes a "non-busy" prompt.  Set the other way, the original
  93.     code is reinstituted, so there shouldn't be a problem with other
  94.     people's builds.
  95.  
  96.  
  97. 5.    With these features, the CCP remains less than 4K (albeit, getting
  98.     close).
  99.  
  100. 6.    Quite a few auxillary files are included into the distribution
  101.     for development use.  Some may be useable "asis", and some should
  102.     be useable as templates that can be modified for other systems.
  103.     A list of what's what is in the file "files.doc".
  104.  
  105. the "fixed version".
  106.  
  107.     For this to work, one's compilers, linkers, assemblers, etc need
  108.     to set the return-sta