home *** CD-ROM | disk | FTP | other *** search
- Mike Kersenbrock
- Sept 1986
- Aloha, Oregon
- USENET: tektronix!copper!michaelk
-
- Version 1.05 incorporates the following features (over and above 1.04):
-
- 1. Provides a built-in history mechanism similar to that in
- Berkeley-Unix's CSH ("sea-shell"). Included is a built-in
- command "h" that diplays the history. See beginning of
- "history.doc" for more details.
-
- This mechanism does not store command lines that start with either
- a leading ":" or a leading space (" "). Submit files can be edited
- to have leading spaces in each line if it is desired that submit-file
- internals not be individually saved in the history.
-
- The history database is saved on the "temporary disk" as set by
- setdef. A separate history is used for each user-space.
-
- Use with my RAMDISK results in no visible operational delay. Delay
- is quite noticeable with a floppy, but may be acceptable (esp. with
- fast and/or cached floppies).
-
- This mechanism is totally within the CCP and the temporary disk, and
- therefore, does NOT reduce the available TPA memory space
- (as an RSX might do).
-
-
- 2. Provided detached enhancement ability. An additional routine can be
- executed just before the history routine. If a file named
- "CCP.EXT" exists on the "temporary disk" (set by setdef), then for
- each command line processed by CCP, that routine is loaded to
- address 6000 (hex) and "called". See History.doc and/or code
- for more details. If register HL is returned NOT-ZERO, then
- the history mechanism is turned off for "this" command.
-
- The intended purpose of this "hook" is to allow a HLL or MLL
- routine to be written for easy enhancements. The language in
- mind is "C", and an example test case has been provided in the
- distribution ("CCPEXT.C"). My temp disk is a 720K RAMDISK, and with
- that, there is no noticeable delay caused by the loading of this
- enhancement file "each time".
-
- The author intends to purchase an AMIGA later this year, so
- these enhancements may not come to pass (then why did he
- do any of these enhancements? -- good question -- probably habit).
-
- 3. Provided a conditional assembly flag that will "fix" CP/M Plus's
- handling of lines that start with a colon. "With" the fix,
- the "return code" is NOT reset with every command line executed,
- but IS reset upon cold boot.
-
- The purpose of this is to allow this author's port of the
- "Aussie Make" to properly terminate make-execution upon
- an step-wise error.
-
- My MAKE "works" by creating a submit file, then chaining
- to it (the submit file's last command deletes itself).
- In my USENET distributed version, the "-i" option puts a
- colon in front of each command (my current private-version inverts
- the sense of "-i" back to "normal", and puts spaces in front of each
- command to keep them out of the history, don't know if it is worthwhile
- distributing this again for these changes).
-
- Using this "fixed" CCP, MAKE works like this:
-
- a) Just before the chaining, MAKE resets the CP/M
- return status to zero.
-
- b) The chained-to command file executes commands as required
- to bring the files up to date.
-
- c) If an error happens, then the return status is "set",
- and all the rest of the submit-file commands are not
- executed (because of the leading colon).
-
- The difference with the non-fixed version, is that only the NEXT
- submit file command would be skipped, rather than ALL of them as
- in the "fixed version".
-
- For this to work, one's compilers, linkers, assemblers, etc need
- to set the return-status upon error. I have included in my
- distribution, several RSX examples -- the ones I use on several
- of my software tools -- that cause my software to set the
- return-status. They should be easy to modify for "your" tools.
-
-
- 4. I reinstituted the conditional-assembly flag that when used,
- makes the user NOT be in the prompt when the user number
- is ZERO. This author doesn't use non-0 user spaces,
- and likes a "non-busy" prompt. Set the other way, the original
- code is reinstituted, so there shouldn't be a problem with other
- people's builds.
-
-
- 5. With these features, the CCP remains less than 4K (albeit, getting
- close).
-
- 6. Quite a few auxillary files are included into the distribution
- for development use. Some may be useable "asis", and some should
- be useable as templates that can be modified for other systems.
- A list of what's what is in the file "files.doc".
-
- the "fixed version".
-
- For this to work, one's compilers, linkers, assemblers, etc need
- to set the return-sta