home *** CD-ROM | disk | FTP | other *** search
- ;
- LUSH.COM
-
- Size (recs) CRC Version Author/Latest Issue Disk
- LUSH.COM 4k (26) 1150 1.2 Bruce Morgen 7/91 Z3COM11
- LUSH.4OM 4k (31) 75F8 1.2 Bruce Morgen 7/91 Z3COM11
-
- 1- Syntax 2- Commands 3- Ext Programs 4- Renaming 5- BYE 6- Notes
-
-
- LUSH is a minimal ZCPR shell which takes advantage of the extended CCP
- services of ZCPR 3.3+. This allows both reduced program size (making for a
- faster shell) and enhanced security. Since ZCPR itself, and not LUSH, parses
- DU and directory specifications used by the program, LUSH automatically
- adjusts to whatever security levels are present in the current ZCPR system.
- This means that the same program can be used by both secure and private
- systems without installation.
-
- Vs 1.0 (12/1/87) by Carson Wilson.
- :1
- Syntax LUSH [dir: or du:]ufn[.LBR]
-
-
- LUSH requires a shell stack with entries of at least 32 bytes each (stan-
- dard size), and an external FCB. If any of these conditions are not met, LUSH
- aborts with the appropriate error message.
- :2
- Internal Commands
-
-
- >HELP or ? <-- display help screen
-
- >DIR [afn] <-- display this library's directory
-
- >LUSH [du:|dir:]ufn[.LBR] <-- attach to another library file
- External Commands
-
- External commands begin with a leading space and instruct LUSH to send the
- command verbatim to ZCPR.
-
-
- > command [parameters] <-- command [parameters]
-
-
- When ZCPR has completed processing the command, ZCPR reloads LUSH using the
- program name, ZCPR directory, and library name LUSH was originally invoked
- with.
- Parsed Commands
-
- Parsed commands begin without a leading space. LUSH parses the drive,
- user, and name of the current directory file as the first parameter of any
- ZCPR command line. This allows LUSH to work as a 'front end' for the various
- library utilities which accept the first command line parameter as a
- designation of the library file on which to operate. Thus, if LUSH were
- attached to LUSH10.LBR at directory B0:,
-
- >command [parameters] <-- command B0:LUSH10.LBR [parameters]
-
- Again, when ZCPR has completed processing the command, ZCPR reloads LUSH
- using the program name, ZCPR directory, and library name LUSH was originally
- invoked with.
- Hybrid Commands
-
- If the KMD or XMODEM commands are given without a leading space, LUSH
- parses them as follows:
-
- >KMD|XMODEM S[K] ufn <-- send a member of this library
-
- If LUSH were attached to LUSH10.LBR at directory B0:, and the command was
- 'KMD SK THIS.FIL", LUSH would send the command 'KMD LK B0:LUSH10.LBR THIS.FIL'
- to ZCPR.
-
- KMD and XMODEM are external commands in the sense that no command
- processing is done by LUSH - it merely sends a command line to ZCPR. But they
- are internal commands in the sense that they are dedicated commands. Only
- the commands 'KMD' and 'XMODEM' will be parsed with L or LK as the first
- parameter, and only 'KMD' or 'XMODEM' will be sent as the command name to
- ZCPR. Therefore, for use with RCP/M systems, a program with the exact name
- XMODEM or KMD must be available for sending files.
- :3
- External programs - 1/2
-
- Like ZLUX, ZLBR, and LUSH Version 1.0, LUSH Version 1.2 depends on external
- utility programs for most of its functionality. The only internal commands
- are LUSH (the LUSH reattachment command, which takes on the actual EFCB name
- given to LUSH.COM), HELP (also runnable via "?"), and, if implemented via
- conditional assembly, DIR. For a fully functional LUSH, the following prog-
- rams must be available on-path (because of the extremely flexible way LUSH
- passes command lines to external programs, almost any LBR tool (CL, LREPAIR,
- LLF, NULU, etc.) can be part of the LUSH command set -- the following list
- refers only to programs needed for commands listed on the LUSH help screen):
- External Programs - 2/2
-
- Program Name What it actually is
- ------------ -------------------
- LDIR.COM* Usually LDIRB Version 1.2 or later
-
- TYPE.COM Usually ZLT Version 1.1 or later
-
- UNARC.COM Usually UNARCZ Version 1.3 or later
-
- ZD.COM Usually ZDIR Version 1.2 or later
-
- ZTYPE.COM Usually ZTYPE Version 1.1 or later
-
- LHVW.COM LHVW Version 1.1, with provided
- patch (LHVWZ3PT.HEX) installed
-
- KMD.COM** KMD or ZMD, any version(?)
-
-
- Notes: * not required if LUSH is assembled with internal DIR command
- ** normally required for RAS-RCP/M applications only
- :4
- Renaming LUSH12
-
- LUSH12 may be renamed to preference as long as the chosen name does not
- exceed four characters (excluding the ".COM," of course). The chosen name
- will then become the LUSH reattachment command and will appear on the HELP/?
- command screen; e.g. LUSH, LUX, LBR, ZLUX, and ZLBR are OK, LIBRARY, LBRSHELL,
- and LSHELL are not. If this limitation proves bothersome, it can be removed
- rather easily, but I will do so "officially" only if there is widespread
- kvetching.
- :5
- LUSH12 and BYE
-
- SYSOPS: Please note that there is apparently a problem when a Type 4
- linkage of LUSH12 is used under BYE -- external programs that warm boot (like
- ZTYPE and LHVW) tend to lock up the system when they attempt to exit back to
- LUSH. Use a Type 3 linkage to avoid BYE-related problems until some alert
- soul discovers the gremlin!
- :6
- LUSH Notes - 1/2
-
- a. LUSH does not test for a shell stack, etc., as these are a required part
- of all Z33 systems.
-
- b. LUSH flushes pending commands from the MCL, and will not run under ZEX
- or SUBMIT. Since I cannot think of an instance where this will cause a
- problem, ZEX/SUBMIT/MCL testing as outlined in Z33PNOTE.002 by Jay Sage
- has been omitted.
-
- c. The structure and much of the code of LUSH are derived from Terry
- Carroll's ZLBR.COM, which in turn is derived from John Poplett's
- ZLUX.COM.
-
- d. Vs 1.2 updates (6/18/91, Bruce Morgen):
- - Added LZH support via patched LHVW v1.1. Patch is LHVWZ3PT.Z80.
- LUSH Notes - 2/2
-
- e. Vs 1.1 updates (5/14/91, Bruce Morgen):
- - Major code crunching and the new LIBs result in a new LUSH that is
- smaller than the original, but with far greater functionality.
- - Removed dependency on the ZCPR 3.3+ CCP parser (conditional on the
- "z33only" equate). LUSH will now run under BGii, NZCOM, Z3PLUS, Z34,
- and (as a Type 3) Z33.
- - As a Type 4, LUSH allocates LBR directory buffer space dynamically, so
- no more crash worries!
- - Added "ZMD" as the new "KMD" synonym, replacing obsolete "XMODEM."
- - LUSH can now be renamed LUX (or any other name up to 4 letters in
- length) and its command table and HELP/? command text will reflect
- the selected name.
- - Now handles ARC/ARK (via UNARC.COM) and ZIP (via ZD.COM, ZTYPE.COM).
- - The "intdir" conditional allows use of LDIR.COM in lieu of the
- internal LUSH directory routine, a size-for-speed tradeoff.
- - LUSH does not have a Type 3 safety header, and it is recommended that
- Type 3 versions be ORGed at 100H, if only to reduce the (very slim)
- chance of TPA overflow with the internal DIR command.