;
                                    ZLUX.COM                                  

             Size (recs) CRC   Version    Author/Latest Issue      Disk
ZLUXKMD.COM    5k (34)  AFEB   2.6        John Poplett 4/88        Z3COM13
ZLUXINT.COM    6k (48)  D8BD   2.7        John Poplett 4/90        Z3COM14
ZLUXINTV.COM   6k (48)  75CA   2.7        John Poplett 4/90        Z3COM14

  1- Syntax  2- Commands  3- Assembly  4- Notes                               

   ZLUX  is a ZCPR3 Shell for RCP/Ms which imitates the functions of  LUX  but 
with less of the overhead required to run.   Rather than use special  LUX*.COM  
support utilities,  it utilizes standard utilities that are commonly available 
on an RCP/M, namely: TYPEL.COM and SD.COM.  

   Several versions exist:  ones supporting either KMD or XMODEM protocols and
ones containing or not  containing  an  optional  internal directory function.
ZLUXINT.COM is compiled with the internal directory option & no  TCAP support, 
and ZLUXINTV.COM is compiled with the internal directory and TCAP support.  
:1


    Syntax    ZLUX [DIR: or DU:]ufn[.lbr/arc/ark/lzh/zip]

              (DIR: and DU: are system-dependent)


   ZLUX's menu of functions include:   BYE,  CAT (display all libraries on all 
drive/user areas),  CHAT,  DIR,  FILES,  HELP, LUX, SEND, SENDK, TYPE and PWD.
The file  transfer program must support 1k packet transfers and TYPEL (renamed
to TYPE) and SD (renamed to DIR) must be available on-line.   ZCPR3's  message
buffer,  external command line,  shell stack and  external  fcb  must  also be 
available.   ZLUX should  be installed  with  Z3INS,  renamed to  LUX.COM  and 
installed on A0:.  

   ZLUX will "attach" itself to most of the modern archive types:  .LBR, .ARC,
ARK, .LZH (created by the MS-DOS LHARC program), and  .ZIP (a VERY popular MS-
DOS format).   Of course,  you will need to obtain directory and ASCII display  
programs for these different types.   LHVW.COM  will take  care of  .LZH files 
(both directory and ASCII typing), ZIPDIR will give a directory of .ZIP files.
As of this writing, there is no program to display an  ASCII member of  a .ZIP 
file.
:2
 Commands 

	        BYE       logoff computer
	        CAT       display all lib/arc/lzh/zip files on system
	        CHAT      page system operator
	        DIR       display members of current lib/arc/lzh/zip file
	        FILES     display lib/arc/lzh/zip files on current DU
	        HELP      display this message
	        LUX       attach to another lib/arc/lzh/zip file
                ZLUX      same as the LUX command
	        SEND      send a lib/arc/ark member
	        SENDK     send a lbr/arc/ark member 1K packets
	        TYPE      type an ASCII lib/arc/ark/lzh member
	        PWD       list avail directories
	
	                Exit LUX with ^C
:3
 Assembly 

   ZLUX assembles with M80 and requires  R. Conn's SYSLIB.REL,  Z3LIB.REL, and 
VLIB.REL to assemble.   You must link in  SLUDIR11.REL ahead of SYSLIB.REL  if 
you want to  assemble ZLUX with  the internal directory option.   SLUDIR11.REL 
has an important fix to  the LUDIR  module in  SYSLIB.   Linking  SLUDIR11.REL 
ahead of SYSLIB will ensure  the  correct operation of the  internal directory 
function.

   To compile with M80/L80  (make sure  SYSLIB.REL,  VLIB.REL,  Z3LIB.REL, and 
SLUDIR11.REL are on the same drive/user as ZLUX.Z80):

     A>M80 =ZLUX27.Z80/Z
     A>L80 /P:0100,ZLUX27,ZLUX27/N/E

   When finished, run it through Z3INS to install it for your system.
:4
 ZLUX Notes - 1/5 

   a. Vs. 2.7 updates (04/21/90, Mark Motley):
      - Now ZLUX will attach itself to .LZH and .ZIP files (although,  at this
        time one cannto type members of a .ZIP file)
      - Added use of  VLIB  routines to  display  text  in  both  regular  and 
        standout mode, as well as clear the screen between commands.   Unfort-
        unately,  the program exceeds the  4k guidline  (weighing in at around 
        5000 bytes,  without the internal directory).   If  you  want  to save 
        code, disable the VLB equate.

   b. Vs. 2.6 updates (04/25/88, Larry Sonderling):
      - Added code to allow renaming  program as  desired without re-assembly.
      - Also now works with .ARK files in same way as .ARC files.

   c. Vs. 2.5 updates (12/4/86, J. Popplet)
      - Fixed bug in inline routine that has  been plagueing ZLUX  since V2.2.
        The  original inline routine expanded tabs with  spaces  but  placed a 
        single tab character in the line buffer.   Attempts to backspace after 
        a tab would hang the system.
 ZLUX Notes - 2/5 

      - NEW optional internal directory function.  Although an internal direc-
        tory runs slightly counter to the original intention of ZLUX,  i.e. to
        make  maximum use of external utilities,  the internal directory is  a 
        great deal faster than, say,  SDXX, and therefore, warranted.  Purists 
        can of course stick to the original and used  an external program  for 
        display of library directories.  
      - Bruce Morgen's fix to the SYSLIB  SLUDIR module,  SLUDIR11.Z80  was/is 
        used for assembling ZLUX25 w/the internal directory option.
      - Joubert Berger contributed an improvement to the CTRL-E function.

   d. Vs. 2.4 updates (5/27/86, Norman Beeler):
      - Incorporated .ARC file capability into ZLUX,  using  UNARC utility for
        DIR and TYPE commands.   Fully automatic determination of LBR/ARC file
        file presence.   No syntax differences in the commands.  No KMD/XMODEM
        ARC file transfer at present time (although its being worked).
        Shortened and  re-worded  internal  ascii statements to keep  pgm less 
        than 4k...
 ZLUX Notes - 3/5 

   e. Vs. 2.3 (Multi-user/RASVersion) updates (4/26/86, J. Popplet):
      - Makes sure that the  FILE command and  LUX  command use the drive/user
        area of the attached library file as the default.   Thus,  when a user
        invokes the program from  a  DU different from the  DU  of the library 
        file, the  FILES  command will give  the correct directory and the LUX
        command will default to the correct DU.
      - Control-R function,  which  emulates the BDOS  line  editing function,
        added to the command line editor so that users can display the command
        buffer.  Particularly useful in the event of line noise. 
      - Line editor now recognizes  a semicolon  as  a comment delimiter  a la 
        CP/M and ZCPR3.   To complement this function, the line editor altered
        not to delete an entire line when a user types passed the buffer.  
      - The size of command line buffer has been enlarged.
      - Conditional assembly  equates  to  allow  ZLUX  to  pass  unrecognized 
        commands to the CCP and have ZLUX use an external help menu instead of 
        its internal one.  Please note that this option does not use the ZCPR3
        HELP utility on purpose because TYPE will  return the user to the ZLUX 
        command line.  HELP does not.  The file ZLUX.HLP is, however, compati-
        ble with HELP.
 ZLUX Notes - 4/5 

   f. Vs. 2.2 updates (03/31/86, Bruce Morgen):
      - Now has full  ZCPR3 environment obedience, including acceptance of DU:
        form, maximum drive and user, etc.  
      - New features include support for traditional XMODEM and KMD file send-
        ing syntax, a new PWD command  (a must for getting  around on  systems 
        that don't accept DU: form), one-keystroke (?) help command, protected 
        line editor buffer,  unsupported  control characters don't  get to the 
        command line, etc., etc.
      - Translated to Z80 (Zilog) mnemonics.
      - Sections of code optimized to  take  advantage of  the new instruction
        set.   Many sections whittled down.   Internal subroutines replaced by
        SYSLIB and Z3LIB equivalents wherever possible AND desireable.e
      - Added BDOS line editing capability (control R,U,X processing) and line
        length limiter to ZLUX's command line editor.  Also, added recognition
        of semicolon as a comment delimiter. 
      - Added recognition of two-digit user areas by re-working the PARSE sub-
        routine.  
      - Added assembly time conditional option that  allows  non-ZLUX commands
        to be passed to ZCPR3 for processing 
 ZLUX Notes - 5/5 

   g. Vs. 2.1 updates (3/24/86, Bruce Morgen):
      - Eliminated unnecessary and dangerous play with  user-defined  bytes in
        Z3 message buffer - Z-Msg/METAL and some versions of the ZCPR3 CCP use
        these bytes for security-related functions.   ZLUX no longer has to be
        the only shell on the stack either.
      - Reformatted to standard Z3 tool source file (use M80 or modified RMAC)
        and deleted transcribed Z3LIB routines from this file.
