;
;   ZEX 1.0 Installation ZEX File, 11-12-82, by Richard Conn
;
;       You will need the following files in order to assemble ZEX:
;               MAC.COM         ZSID.COM        ED.COM          RELS.UTL
;       Type <CR> if you have them on this disk or type ^C to abort -- ^/
;
;       ^*ZEX 1.0 Installation Begins^*
;
;       1. ERASE ANY FILES FROM PREVIOUS .SUB EXECUTIONS
;
ERA ZEX*.BAK
ERA ZEX*.HEX
ERA ZEX*.SYM
;
;       2. USE CPM 2.2 XSUB (not required if using previous version of ZEX)
;
;XSUB
;
;       3. CREATE ZEX10.LIB FOR ASSEMBLY OF ORG 0 RELOCATED CODE SEGMENT
;
ED ZEX10.LIB
#A
#K
I
BASE EQU FALSE ;SUPPRESS ZEX INITIATOR CODE (ENABLE RELOCATED CODE)
REL EQU 0 ;SET RELOCATED CODE SEGMENT TO ORG 0
^Z
E
;
;       4. ASSEMBLE ONLY ORG 0 RELOCATED CODE SEGMENT
;
MAC ZEX $$PZ
;
;       5. RENAME STEP 4 FILES
;
REN ZEX100.HEX=ZEX.HEX
REN ZEX100.SYM=ZEX.SYM
;
;       6. CHANGE ZEX10.LIB FOR ASSEMBLY OF ORG 100H RELOCATED CODE SEGMENT
;
ED ZEX10.LIB
#A
#K
I
BASE EQU FALSE ;SUPPRESS ZEX INITIATOR CODE (ENABLE RELOCATED CODE)
REL EQU 0100H ;SET RELOCATED CODE SEGMENT TO ORG 0+100H
^Z
E
;
;       7. ASSEMBLE ONLY ORG 100H RELOCATED CODE SEGMENT
;
MAC ZEX $$PZ SZ
;
;       8. RENAME STEP 7 FILE
;
REN ZEX101.HEX=ZEX.HEX
;
;       9. CHANGE ZEX10.LIB FOR ASSEMBLY OF ZEX INITIATOR CODE ONLY
;
ED ZEX10.LIB
#A
#K
I
BASE EQU TRUE ;ENABLE ZEX INITIATOR CODE (SUPPRESS RELOCATED CODE)
REL EQU 0 ;RESET RELOCATED CODE SEGMENT TO ORG 0
^Z
E
;
;       10. ASSEMBLE ZEX INITIATOR CODE ONLY
;
MAC ZEX $$PZ
;
;       11. USE SID AND RELS.UTL TO CREATE ZEX.COM
;
;           [note: If only REL.UTL is available, comment out the lines
;                  starting with IZEX.COM below and change the line
;                  SID RELS.UTL to SID REL.UTL and a SAVE 10 ZEX.COM
;                  must be added at the end of this file.]
;
;           ZEX.HEX  contains ZEX Initiator Code
;           ZEX.SYM  contains symbols for SID for ZEX Initiator Code
;
;           ZEX100.HEX contains ZEX ORG 0 Relocated Code Segment
;           ZEX100.SYM contains symbols for SID for ZEX ORG 0 Relocated Code
;
;           ZEX101.HEX contains ZEX ORG 100H Relocated Code Segment
;
;           BEGREL  is the symbol for the start of the Relocated Code
;                   Segment in ZEX.COM
;
;           DRVERL  is the symbol for the length of the Relocated Code
;                   Segment
;
;           DRVL8   is the symbol for the length of the storage required
;                   for the relocation table bit map to be created by
;                   RELS.UTL
;
;           RELOCL  is the symbol for the DW in ZEX.COM that will contain
;                   the length of the Relocated Code Segment
;
;
;       A.  SID is invoked and the .SYM files for the ORG 0 Relocated Code
;           Segment and the Initiator Code Segment are loaded.
;
;       B.  The DW at symbol RELOCL is updated with the value of DRVERL
;           from the ORG 0 Relocated Code Segment.
;
;       C.  Memory for the two copies of the Relocated Code Segment
;           (ORG 0 and ORG 100H) and the relocation table bit map is zeroed.
;
;       D.  The ORG 0 Relocated Code Segment is loaded starting at
;           location BEGREL.
;
;       E.  The ORG 100H Relocated Code Segment is loaded after the
;           segment loaded in step C plus the length of the relocation
;           table bit map.
;
;       F.  RELS.UTL routine SETADRS sets the starting addresses of
;           the two Relocated Code Segments for creation of the relocation
;           table bit map.
;
;       G.  RELS.UTL routine SETLEN sets the length of the Relocated
;           Code Segment and builds the relocation table bit map.
;
;      *H.  RELS.UTL routine SAVE saves the EX Initiator Code Segment,
;           the ORG 0 Relocated Code Segment, and the relocation table
;           bit map created by RELS.UTL.
;
;          * [note: not used if only REL.UTL is available]
;
;       I.  CP/M is returned to by G0.
;
;     **J.  SAVE 10 ZEX.COM saves the ZEX Initiator Code Segment,
;           the ORG 0 Relocated Code Segment, and the relocation table
;           bit map created by REL.UTL.
;
;         ** [note: used ONLY if REL.UTL is used]
;
ZSID RELS.UTL
IZEX.HEX ZEX100.SYM
R
I* ZEX.SYM
R
SW.RELOCL
DRVERL