home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / kaypro / k4zsysin.doc < prev    next >
Text File  |  1994-07-13  |  23KB  |  661 lines

  1.         ----------------------------------------------------
  2.         INSTALLING ZCPR3 (c) AND ZRDOS (tm) ON A KAYPRO 4-84
  3. ----------------------------------------------------------------
  4.  
  5.  
  6.  
  7.  
  8.       /////////////////////////////////////////////////
  9.  
  10.  
  11.       A DOCUMENT TO EASE AND EXPLAIN THE IMPLEMENTATION
  12.       OF ZCPR3 AND THE NEW ZRDOS OPERATING SYSTEM ON
  13.       KAYPRO 4-84 COMPUTERS.
  14.  
  15.       ZCPR3 IS NOT AN EASY THING TO INSTALL. CONSIDERABLE
  16.       KNOWLEDGE IS REQUIRED. MANY FILES ARE NECESSARY.
  17.       THERE IS MUCH READING TO BE DONE.
  18.  
  19.       THE INTENT HERE IS TO PROVIDE AN EASY TO FOLLOW
  20.       INSTALLATION GUIDE FOR THE NOVICE LUCKY ENOUGH TO
  21.       POSSESS ALL NECESSARY ZCPR3 FILES. A GENERAL
  22.       FAMILIARITY WITH ZCPR3 IS ASSUMED.
  23.  
  24.       EXPERIENCED PROGRAMMERS WILL PROBABLY FIND THIS
  25.       RESEARCH THE MOST USEFUL. IT DOCUMENTS THE CRITICAL
  26.       MEMORY LOCATIONS AND THEIR MANIPULATION FOR THE
  27.       SUCCESSFUL IMPLEMENTATION OF ZCPR3 ON THE KAYPRO 4-84.
  28.  
  29.       A PERFUNCTORY DESCRIPTION OF HOW TO INSTALL ECHELON
  30.       INC's ZRDOS (CP/M BDOS REPLACEMENT) IS ALSO INCLUDED.
  31.  
  32.       ZRDOS IS A COMMERCIAL PRODUCT AND IS FAIRLY
  33.       SIMPLE TO GET UP & RUNNING. SIGNIFICANTLY THOUGH,
  34.       ZRDOS ISN'T NEARLY AS WORTHWHILE TO IMPLEMENT
  35.       WITHOUT A CONCURRENT IMPLEMENTATION OF ZCPR3. A
  36.       PROCEDURE OUTLINED HERE, STEP BY STEP.
  37.  
  38.                     24 September 1985
  39.  
  40.       ////////////////////////////////////////////////////
  41.  
  42.                Peter O.E. Bekker, Jr.  New York City.
  43.                - CompuServe: 74106,1430 -
  44.  
  45.      /////////////////////////////////////////////////////////
  46.  
  47.  
  48. Acknowledgements:
  49.  
  50. Patches for the Kaypro 4-84 BIOS listed below were
  51. developed by Barry Siegfried (K2MF), New York City, including
  52. the cold boot initialization patch which is based on previous
  53. work done for the installation of ZCPR2 on the Apple ][ series
  54. of computers by Mike Cohen.
  55.  
  56. Here is what we will be installing:
  57.  
  58.  1. the CCP replacement
  59.  2. the System Environment
  60.  3. the System Flow Control Package
  61.  4. the System Named Directory Package
  62.  5. the System Resident Command Package
  63.  6. the External Message Buffer
  64.  7. the External File Control Block
  65.  8. the Multiple Command Buffer
  66.  9. the Shell Stack
  67. 10. the External Stack
  68. 11. the External Path
  69. 12. the BIOS cold boot initialization patch
  70.  
  71. The files required to do the installation are:
  72.  
  73. System .COM files
  74. -----------------
  75. 1. CPM63.COM  - DRI 63K CP/M System image (SYSGEN) for
  76.         Kaypro 4-84 series computers, version 2.20G
  77.         (You will create this file in a moment using
  78.         the CP/M utility called SYSGEN.COM.)
  79. 2. SYSGEN.COM - Digital Research SYStem GENerating utility.
  80. 3. DDT.COM    - Digital Research Dynamic Debugging Tool  - or -
  81.    ZDT.COM    - Public Domain Z80 Debugging Tool
  82. 4. MAC.COM    - Digital Research Macro Assembler
  83. 5. MLOAD.COM  - Public domain replacement for Digital Research LOAD.COM
  84. 6. your program text editor, such as Wordstar.
  85.  
  86. ZCPR3 Source files
  87. ------------------
  88. 1. ZCPR3.ASM  - the working code for the CCP replacement
  89. 2. Z3BASE.LIB - Base address definition library for the ZCPR3 CCP
  90.         replacement and external packages
  91. 3. Z3HDR.LIB  - Option selection library for the ZCPR3 CCP replacement
  92. 4. SYSENV.ASM & SYSENV.LIB - ZCPR3 Environment Descriptors
  93. 5. SYSFCP.ASM & SYSFCP.LIB - ZCPR3 Flow Control Package
  94. 6. SYSNDR.ASM & SYSNDR.LIB - ZCPR3 Named Directory Package
  95. 7. SYSRCP.ASM & SYSRCP.LIB - ZCPR3 Resident Command Package
  96.  
  97. ZCPR3 Application programs
  98. --------------------------
  99. 1. Z3INS.COM - ZCPR3 System Environment .COM file installer
  100. 2. LDR.COM   - ZCPR3 External Package loader
  101. 3. ALIAS.COM - ZCPR3 command .COM file creator
  102.  
  103.  
  104. THEORY OF OPERATION
  105. -------------------
  106. The DRI 63K CP/M System version 2.20G occupies the following
  107. addresses in the Kaypro 4-84 memory:
  108.  
  109. CCP : E000 - E7FF (2k)      BDOS: E800 - F5FF (3.5K)
  110. BIOS: F600 - F9FF
  111. CP/M application programs always protect the BDOS and BIOS sections of
  112. the CP/M System, because these are the parts which provide the Basic
  113. Disk Operating System and Hardware I/O services that these programs
  114. utilize to perform their functions.  The "JMP BDOS" instruction that
  115. resides at location 5 which is set up by the BIOS during the cold boot
  116. process provides a reliable means by which an application program can
  117. determine where the BDOS begins, and what address above which the pro-
  118. gram may not write into memory.
  119.  
  120. If an additional patch could be made in the user's BIOS whereby a
  121. fake JMP instruction to a lower address in memory can be placed
  122. at location 5, and a JMP BDOS can be placed at that lower
  123. address, then all memory above the new lower address would be
  124. protected by application programs because these programs would
  125. "think" that the BDOS started at the lower address.  This is what
  126. we will do to fully implement ZCPR3 on the Kaypro 4-84.
  127.  
  128.  
  129. I - GENERATING CPM63.COM FROM SYSGEN
  130.     --------------------------------
  131.      We will preserve an image of the Kaypro's 63k CP/M operating
  132.      system (the one it came with) using the SYSGEN.COM utility
  133.      from the CP/M disk. SYSGEN is a program allowing the user
  134.      to move an operating system from one disk to another.
  135.      The operating system is located on the outer edge of each
  136.      disk - on tracks 0 and 1.
  137.  
  138. 1. Insert a disk in Drive A: containing SYSGEN.COM and your stock
  139.    Kaypro 63K CP/M System.  Then, insert a blank (but properly
  140.    formatted) disk into drive B:
  141.  
  142. 2. Run SYSGEN and at the "SOURCE DRIVE" prompt, press "A". This
  143.    informs SYSGEN that the operating system on Drive A: will be
  144.    considered the source for what follows:
  145.  
  146. 3. At the "DESTINATION DRIVE" prompt, which will appear next, hit
  147.    "RETURN." This will exit you from SYSGEN and bring you back to
  148.    CP/M's A0> prompt.
  149.  
  150. 4. At the A0> prompt, type A0>SAVE 36 B:CPM63.COM
  151.  
  152.    In doing this, you preserve 36 pages of computer memory in a
  153.    file on Drive B: that is now called CPM63.COM. Those memory
  154.    pages contain an image of your stock CP/M operating system..
  155.    (and also a copy of SYSGEN.COM.)
  156.  
  157.  
  158. II - INSTALLING ZCPR3:
  159.      ----------------
  160.  
  161. Prepare the following disks:
  162.  
  163. Drive A: DDT.COM (or ZDT.COM), MAC.COM, MLOAD.COM, your text editor
  164. Drive B: (Disk 1) - ZCPR3.ASM, Z3BASE.LIB, Z3HDR.LIB
  165.  
  166. Drive B: (Disk 2) - CPM63.COM, SYSENV.ASM, SYSENV.LIB, Z3INS.COM,
  167.             LDR.COM, ALIAS.COM
  168. Drive B: (Disk 3) - SYSFCP.ASM, SYSFCP.LIB, SYSNDR.ASM, SYSNDR.LIB,
  169.             SYSRCP.ASM, SYSRCP.LIB
  170.  
  171.  
  172.  
  173. Disk 1 (Drive B:)
  174. -----------------
  175. 1. Edit Z3BASE.LIB and put in the base addresses for your system com-
  176.    ponents as desired.    It is suggested that you use the values in the
  177.    following table, although they may be changed as desired.
  178.    When you finish editing Z3BASE.LIB, transfer a copy of it to
  179.    Disk 3, as it is needed to prepare the external packages of ZCPR3.
  180.  
  181.  
  182. MEMORY LOCATION   SIZE in (b)ytes & (K)ilobytes    Z3BASE.LIB
  183. ---------------   ------------------------------   --------------------
  184. 0040 - 0046        7 b  External Search Path       EXPATH   EQU  40H
  185.              3 External Search Paths   EXPATHS  EQU  3
  186. 004B            1 b  Wheel Byte           WHEEL    EQU  4BH
  187. D209 - D258       80 b  External Message Buffer   Z3MSG    EQU  0D209H
  188. D25C - D27F       36 b  Ext. File Control Block   EXTFCB   EQU  0D25CH
  189. D280 - D2FF      128 b  Named Directory Package   Z3NDIR   EQU  0D280H
  190.              7 Named Directories       Z3NDIRS  EQU  7
  191. D300 - D3FF      256 b  Multiple Command Buffer   Z3CL     EQU  0D300H
  192.              251 Characters Maximum    Z3CLS    EQU  251
  193. D400 - D4BF      192 b  Shell Stack           SHSTK    EQU  0D400H
  194.              6 Shell Stacks        SHSTKS   EQU  6
  195.              1 Shell Stack = 32 bytes  SHSIZE   EQU  32
  196. D4D0 - D4FF       48 b  External Stack        EXTSTK   EQU  0D4D0H
  197. D500 - D5FF      256 b  Environment Descriptor    Z3ENV    EQU  0D500H
  198.               2 128-byte blocks       Z3ENVS   EQU  2
  199. D600 - D7FF      512 b  Flow Control Package       FCP        EQU  0D600H
  200.               4 128-byte blocks       FCPS     EQU  4
  201. D800 - DFFF        2 K  Resident Command Package  RCP        EQU  0D800H
  202.              16 128-byte blocks       RCPS     EQU  16
  203. E000 - E7FF        2 K  CCP               CCP        EQU  0E000H
  204.  
  205. 2. Edit Z3HDR.LIB and select the options you desire for your CCP.  It
  206.    is suggested that you turn on only the following CCP Resident Com-
  207.    mands:  GET, GO, JUMP, REN and SAVE.  GET, GO, JUMP and SAVE are
  208.    available only in the CCP.  Even though REN is available in the
  209.    External Resident Command Package, I elect to turn it on in the
  210.    CCP because it does not appreciably add to the amount of generated
  211.    code in the CCP while it saves very valuable space in the External
  212.    Resident Command Package by not turning it on there.
  213.  
  214.  
  215. 3. Log into Drive B: and assemble ZCPR3.ASM using MAC:
  216.  
  217.    B0>A:MAC ZCPR3 $PZ-S
  218.  
  219.    Using the $PZ-S option of MAC will give you the fastest assembly
  220.    without generating a large .PRN file.  If the generated code in
  221.    your CCP is larger than 2K, an error message will print out at the
  222.    end of assembly.  When assembly is complete you will find ZCPR3.HEX
  223.    on Disk 1.
  224.  
  225. 4. Generate the binary code from the .HEX file using MLOAD:
  226.  
  227.    B0>A:MLOAD ZCPR3
  228.  
  229.    When the load is complete you will find ZCPR3.COM on Disk 1.
  230.  
  231. 5. REName ZCPR3.BIN=ZCPR3.COM  - and -    transfer a copy of ZCPR3.BIN
  232.    to Disk 2.
  233.  
  234.  
  235. Disk 2 (Drive B:)
  236. -----------------
  237. 1. Edit SYSENV.LIB and put in your terminal control codes.  It is
  238.    suggested that you use the values in the following table for the
  239.    "videoable" Kaypro 4-84:
  240.  
  241. envorg2:
  242.     DB    'KAYPRO 4-84     '    ;Name of Terminal
  243.     DB    05h            ;*Cursor UP
  244.     DB    18h            ;*Cursor DOWN
  245.     DB    04h            ;*Cursor RIGHT
  246.     DB    13h            ;*Cursor LEFT
  247.     DB    00            ;CL Delay
  248.     DB    00            ;CM Delay
  249.     DB    00            ;CE Delay
  250.     DB    1Ah,0            ;CL String
  251.     DB    1Bh,'=%+ %+ ',0     ;CM String
  252.     DB    18h,0            ;CE String
  253.     DB    1Bh,'B0',1Bh,'B1',0    ;SI String
  254.     DB    1Bh,'C1',1Bh,'C0',0    ;SO String
  255.     DB    0            ;TI String
  256.     DB    0            ;TE String
  257.  
  258.     ds    80H-($-envorg2)     ; make exactly 80H bytes long
  259.  
  260.  
  261. 2. Log into Drive B: and assemble SYSENV.ASM using MAC:
  262.  
  263.    B0>A:MAC SYSENV $PZ-S
  264.  
  265.    When assembly is complete you will find SYSENV.HEX on Disk 2.
  266.  
  267. 3. Generate the binary code from the .HEX file using MLOAD:
  268.  
  269.    B>A:MLOAD SYSENV
  270.  
  271.    When the load is complete you will find SYSENV.COM on Disk 2.
  272.  
  273. 4. REName SYS.ENV=SYSENV.COM
  274.  
  275. 5. Read ZCPR3.BIN into your SYSGEN program using DDT (or ZDT):
  276.       - special note: Ideally, SYS.ENV should be loaded along
  277.     with ZCPR3.BIN. But I have been unable to locate space
  278.     in the Kaypro's memory to place the Environment.
  279.     That means SYS.ENV must be placed on each ZCPR3 disk.
  280.     It will be loaded automatically upon cold boot but
  281.     it remains a seperate file.
  282.  
  283. B0>A:DDT (or ZDT) CPM63.COM
  284.  
  285. * You will see the following:
  286.  
  287. B0>A:DDT CPM63.COM
  288. DDT VERS 2.2
  289. NEXT  PC
  290. 2500 0100
  291. -
  292.  
  293. * The "-" is DDT"s (and ZDT's) prompt. Enter the following sequence
  294. of instructions:
  295.  
  296.    /-----/---/------ Type-in all of this.
  297. -F0980,117F,0        (initialize the CPR image area to 00)
  298. -IZCPR3.BIN        (identify the binary CPR image)
  299. -R0880            (read the binary CPR image into CPM63.COM
  300.              at location 0980)
  301. -G0
  302.  
  303. * A WARM BOOT will now occur, bringing you back to CP/M and the
  304. B0> prompt. Do this next:
  305.  
  306. B0>SAVE 36 ZCPR3.COM
  307. * This combines the ZCPR3 system which you created above with
  308.   the stock CP/M system that previously had been combined into
  309.   SYSGEN.COM.
  310.  
  311.   This new program - called ZCPR3.COM - will be the program you
  312.   use to put ZCPR3 onto the system tracks of whatever disks you
  313.   choose. Instructions for doing that are soon to come - but
  314.   first, some major adjustments must be made so that ZCPR3 will
  315.   operate correctly on the Kaypro 4-84:
  316.  
  317. III - INSTALL BIOS COLD BOOT PATCHES
  318.       ------------------------------
  319.  
  320. 1.  Load ZCPR3.COM (the program you've just made) into DDT (or ZDT):
  321.  
  322.     B0>A:DDT (or ZDT) ZCPR3.COM
  323.     DDT VERS 2.2
  324.     NEXT  PC
  325.     2500 0100
  326.     -
  327.  
  328. 2.  Define the External Search Path (which gets moved to 0040 in the
  329.     initialization patch):
  330.  
  331.     -S0950  (You type S0950 at the "-" prompt, then enter only
  332.         the last two numbers on each line in the following
  333.         sequence. Make sure you get numbers identical to
  334.         these as you proceed.
  335.  
  336.          /----------------------------- you type these
  337.     0950 00 24    ($ = Current Drive) ------- what they control
  338.     0951 00 00    (User 0)
  339.     0952 00 01    (Drive A:)
  340.     0953 00 24    ($ = Current User)
  341.     0954 00 01    (Drive A:)
  342.     0955 00 00    (User 0)
  343.     0956 00 00    (Terminator - 7 bytes total)
  344.     0957 00 .    <- that's a PERIOD. Type it and hit RETURN.)
  345.     -
  346.  
  347.  
  348.     The above represents 3 external search paths.  You may specify up
  349.     to 5 paths (2 byte pairs per path) in the space from 0950 thru
  350.     095A, however, you must also remember to change the EXPATHS equate
  351.     in Z3BASE.LIB.
  352.  
  353. 3.  Initialize the Wheel Byte (which gets moved to 004B in the
  354.     initialization patch):
  355.  
  356.     -S095B --/----------------------------- you type these
  357.     095B 00 FF    (004B wheel byte set on)
  358.     095C 00 .    <- don't forget the PERIOD
  359.     -
  360.  
  361. 4.  Setup the Multiple Command Buffer and define the cold boot auto-
  362.     start command (which gets moved to D300 in the initialization
  363.     patch):
  364.  
  365.     * (CONTINUE YOUR INPUT BELOW JUST AS YOU'VE DONE ABOVE. ENTER
  366.       EVERYTHING YOU SEE FOLLOWING THE "-" AND ONLY THE LAST 2
  367.       NUMBERS OR A "."    WHEN THERE'S NO "-")
  368.  
  369.     -S0960
  370.     0960 00 04    (Address of first character in Mult. Comm. Buff. - LSB)
  371.     0961 00 D3    (Address of first character in Mult. Comm. Buff. - MSB)
  372.     0962 00 FB    (Max. # of chars. permitted in Mult. Comm. Buff. - 251)
  373.     0963 00 00    (Char. count in Mult. Comm. Buff. initialized to 00)
  374.     0964 00 .
  375.     -F0964,097E,20  (fill cold boot autostart command area with spaces
  376.              - 27 bytes)
  377.     -S097F
  378.     097F 00 00    (Terminate cold boot autostart command area with 00 -
  379.     0980 00 .     32 bytes total)
  380.     -
  381.  
  382. 5.  Create the initialization patch (runs at FA10):
  383.  
  384.  
  385.  
  386.     -S0910
  387.     0910 00 01    (LXI B)
  388.     0911 00 F7    (3575 bytes to initialize)
  389.     0912 00 0D
  390.     0913 00 21    (LXI H)
  391.     0914 00 09    (D209 address to start initializing)
  392.     0915 00 D2
  393.     0916 00 36    (MVI M)
  394.     0917 00 00    (00)
  395.     0918 00 23    (INX H)
  396.     0919 00 0B    (DCX B)
  397.     091A 00 78    (MOV A,B)
  398.     091B 00 B1    (ORA C)
  399.     091C 00 20    (JRNZ)
  400.     091D 00 F8    (to 0916)
  401.     091E 00 01    (LXI B)
  402.     091F 00 0C    (12 bytes to move)
  403.     0920 00 00
  404.     0921 00 21    (LXI H)
  405.     0922 00 50    (FA50 address to move from)
  406.     0923 00 FA
  407.     0924 00 11    (LXI D)
  408.     0925 00 40    (0040 address to move to)
  409.     0926 00 00
  410.     0927 00 ED    (LDIR)
  411.     0928 00 B0    (move memory)
  412.     0929 00 01    (LXI B)
  413.     092A 00 20    (32 bytes to move)
  414.     092B 00 00
  415.     092C 00 21    (LXI H)
  416.     092D 00 60    (FA60 address to move from)
  417.     092E 00 FA
  418.     092F 00 11    (LXI D)
  419.     0930 00 00    (D300 address to move to)
  420.     0931 00 D3
  421.     0932 00 ED    (LDIR)
  422.     0933 00 B0    (move memory)
  423.     0934 00 21    (LXI H)
  424.     0935 00 4A    (F64A)
  425.     0936 00 F6
  426.     0937 00 C3    (JMP)
  427.     0938 00 BD    (F6BD)
  428.     0939 00 F6
  429.     093A 00 .
  430.     -
  431.  
  432. 6.  Create the routine which lowers the BDOS address (runs at FA3A).
  433.     Accumulator contains a JMP when this routine is called.
  434.  
  435.     -S093A
  436.     093A 00 32    (STA)
  437.     093A 00 06    (D206 new lower BDOS address)
  438.     093B 00 D2
  439.     093C 00 21    (LXI H)
  440.     093D 00 06    (E806 real BDOS address)
  441.     093E 00 E8
  442.     093F 00 22    (SHLD)
  443.     0940 00 07    (D207 holds real BDOS address)
  444.     0941 00 D2
  445.     0942 00 21    (LXI H)
  446.     0943 00 06    (D206 new lower BDOS address)
  447.     0944 00 D2
  448.     0945 00 C9    (RET to caller which stores new lower BDOS address
  449.          at location 6)
  450.     0946 00 .
  451.     -
  452.  
  453. 7.  Install cold start patches in BIOS:
  454.  
  455.     * HERE, THE "A" COMMAND MEANS YOU WILL BE ENTERING
  456.       ACTUAL ASSEMBLY LANGUAGE INSTRUCTIONS. SO TYPE "JMP"
  457.       OR "CALL" WHERE INDICATED FOLLOWED BY THE 4 LETTER &
  458.       NUMBER COMBINATIONS WHICH REPRESENT MEMORY ADDRESSES.
  459.  
  460.  
  461.     -A203A ---------> read the above paragraph again if you're
  462.               not sure what to type...
  463.        /----/---> type these..
  464.     203A JMP FA10     (jumps to initialization routine)
  465.     203D .          <--- don't forget the PERIOD.
  466.  
  467.     -A2087
  468.     2087 CALL FA3A  (calls routine which lowers the BDOS address)
  469.     208A .
  470.     -
  471.  
  472.  
  473. 8.  Patch warm start so new CPR is not disturbed by the BIOS:
  474.  
  475.     -A2090
  476.     2090 JMP F722
  477.     2093 .
  478.     -F2093,20A1,0
  479.     -S210B
  480.     210B 32 00    (NOP)
  481.     210C 07 00    (NOP)
  482.     210D E0 00    (NOP)
  483.     210E    .
  484.     -F2273,22FF,0
  485.     -
  486.  
  487.  9. Exit DDT (or ZDT) and save patched ZCPR3.COM:
  488.  
  489.     -G0  (return to CP/M)
  490.     B0>SAVE 36 ZCPR3.COM
  491.  
  492. You now have a file that will generate ZCPR3 and place it in the
  493. operating system tracks of as many disks as you choose. Simply
  494. insert it into the A: drive, put the disk to which you wish to
  495. transfer the system in the B: drive, run ZCPR3.... answer it's
  496. questions and PRESTO - you're in business. Remember though, to
  497. "initialize" your memory with ZCPR, you must RESET the computer
  498. before inserting the ZCPR system disk. Once that is done, the
  499. Kaypro will "read-in" the ZCPR3 system just as it did your stock
  500. CP/M system.
  501.  
  502.  
  503. IV - INSTALL OTHER ZCPR3 FILES
  504.      -------------------------
  505.  
  506. 1. Install your Environment Descriptors into LDR.COM and ALIAS.COM
  507.    using Z3INS:
  508.  
  509.    B0>Z3INS SYS.ENV LDR.COM  - and -  B0>Z3INS SYS.ENV ALIAS.COM
  510.  
  511.    This procedure will be used from here on to install ZCPR3-specific
  512.    utility programs.  Once installed, they may be run freely on your
  513.    ZCPR3 System without re-installation.
  514.  
  515.  
  516. Disk 3 (Drive B:)
  517. -----------------
  518. 1. Edit SYSFCP.LIB, SYSNDR.LIB and SYSRCP.LIB and select the options
  519.    you desire for your external Flow Control, Named Directory and Res-
  520.    ident Command Packages, respectively.  It is suggested that you
  521.    turn off the REN External Resident Command in SYSRCP.LIB.  You
  522.    might additionally need to turn off other options and commands in
  523.    order to get SYSRCP.ASM to assemble to within 2K of code.  It is
  524.    STRONGLY suggested that you DO NOT revise the External Resident
  525.    Command equates in Z3BASE.LIB in order to accommodate an External
  526.    Resident Command Package that is greater than 2K.
  527.  
  528. 2. Log into Drive B: and assemble SYSFCP.ASM, SYSNDR.ASM and
  529.    SYSRCP.ASM using MAC:
  530.  
  531.    B>A:MAC SYSFCP $PZ-S  - and -  B>A:MAC SYSNDR $PZ-S    - and -
  532.    B>A:MAC SYSRCP $PZ-S
  533.  
  534.    When all three assemblies are complete you will find SYSFCP.HEX,
  535.    SYSNDR.HEX and SYSRCP.HEX on Disk 3.
  536.  
  537. 3. Generate the binary code from the .HEX files using MLOAD:
  538.  
  539.    B>A0:MLOAD SYSFCP  - and -  B>A0:MLOAD SYSNDR  - and -
  540.    B>A0:MLOAD SYSRCP
  541.  
  542.    When all three loads are complete you will find SYSFCP.COM,
  543.    SYSNDR.COM and SYSRCP.COM on Disk 3.
  544.  
  545. 4. REName SYS.FCP=SYSFCP.COM  - and -  REName SYS.NDR=SYSNDR.COM
  546.    - and -  REName SYS.RCP=SYSRCP.COM
  547.  
  548. ZCPR3.COM is now ready to generate new system disks.
  549.  
  550.  
  551. To generate a new system disk, A>ZCPR3 x:, where x is a valid drive
  552. with a formatted disk in it.  When you boot a ZCPR3 disk, SYS.ENV
  553. must be present. In the configuration you have just created, LDR
  554. will then automatically load the environment. After the disk has
  555. booted, you may load any or all of the external packages using LDR:
  556.  
  557. A0>LDR SYS.FCP,SYS.NDR,SYS.RCP ... etc.
  558.  
  559. These packages will load into their designated protected areas set
  560. aside by the ZCPR3 system and defined in SYS.ENV, and will not be
  561. overwritten by application programs.
  562.  
  563.  
  564. ZCPR3 is a flexible and much improved Console Command Processor over
  565. the stock Digital Research CCP which contains a variety of new funct-
  566. ions and commands, particularly if the external packages are loaded.
  567. In addition, there are many ZCPR3-specific programs which can now run
  568. on your Kaypro 4-84 system that offer very interesting video capabili-
  569. ties.  For more information about ZCPR3, write or call:
  570.  
  571.                 Echelon, Inc.
  572.                 101 First St.
  573.                 Los Altos, CA 94022
  574.                 1-415-948-3820
  575.  
  576. and order "ZCPR3 - The Manual" for $19.95.  This manual contains all
  577. the technical information about ZCPR3 theory, design, installation and
  578. usage.
  579.  
  580. -----------------------------------------------------------------------
  581. ZCPR3 is not permanent! To get rid of it, simply RESET or POWER
  582. DOWN your machine. If you insert a "stock" CP/M disk into A:
  583. following either of those steps, you will be running Kaypro's
  584. "as delivered" CP/M operating system.
  585.  
  586. Similarly, following a RESET or POWER-DOWN, placing a ZCPR3
  587. disk in A: will give you back the ZCPR3 system.
  588.  
  589.  
  590.                            ------------------
  591.                            ZRDOS INSTALLATION
  592. -----------------------------------------------------------------
  593.  
  594. ZRDOS is NOT a public domain program. It is a commercial product
  595. written by Dennis Wright and available for sale through ECHELON
  596. INC. It has copyrights in the years 1984 and 1985 by Mr. Wright.
  597.  
  598. ZRDOS replaces the BDOS portion of your CP/M system. When installed
  599. on your system, it becomes the ACTUAL OPERATING SYSTEM for your
  600. computer. Since ECHELON markets documentation for this product, I
  601. cannot extensively reveal those contents. Though I heartily recommend
  602. that you purchase and install ZRDOS - and use it in conjunction with
  603. the ZCPR3 system, also marketed by ECHELON though available in the
  604. Public Domain, particularly on Z-NODES.
  605.  
  606. (By the way, when ZRDOS and ZCPR3 are combined, you can say your
  607. computer is running the Z-SYSTEM - not CP/M or CP/M augmented by
  608. ZCPR3.)
  609.  
  610. Installation of ZRDOS is a snap compared to the installation of
  611. ZCPR3. Since you will have PURCHASED ZRDOS, you will have received
  612. an installation file called ZRD+INS.COM.
  613. You will also be in possession of the other program utilities
  614. which function under ZRDOS and enhance the operation of your
  615. system.
  616.  
  617. I - TO INSTALL ZRDOS
  618.     ----------------
  619.  
  620.     1. Run the ZRD+INS.COM file ->   A0>ZRD+INS
  621.  
  622.     2. You will be asked for the location of your "Wheel Byte."
  623.        For the Kaypro 4-84, the answer is: 4B
  624.  
  625.     3. You will then be asked for the address at which your
  626.        system's BDOS begins.  For the Kaypro 4-84, the answer
  627.        is: E800.
  628.  
  629.     4. ZRD+INS.COM will now create a file called ZRDOS+.BIN,
  630.        which is simply a binary image of your ZRDOS replacement
  631.        assembled to run at the address you specified above, much
  632.        the same as ZCPR3.BIN was the binary image of your ZCPR3
  633.        CCP replacement (CPR).
  634.  
  635.     5. You will now merge this file with your ZCPR3.COM file
  636.        using DDT or ZDT. This will provide you with a program
  637.        that will allow you to place a complete Z-SYSTEM on as
  638.        many disks as you wish, using the technique described
  639.        above for the ZCPR3 installation:
  640.  
  641. A0>DDT (or ZDT) ZCPR3.COM
  642. DDT VERS 2.2
  643. NEXT  PC
  644. 2500 0100
  645. -IZRDOS+.BIN
  646. -R1080
  647.  
  648. -G0
  649.  
  650. (YOUR MACHINE WILL NOW WARM BOOT AND THEN YOU TYPE:)
  651.  
  652. A0>SAVE 36 ZSYSTEM.COM
  653.  
  654.        And ZSYSTEM.COM is what you've been after. A completely
  655.        new operating system. It is functional, friendly and even
  656.        futuristic. It utilizes the extended instruction capability
  657.        of the Z80 microprocessor and has the utility of the ZCPR3
  658.        Console Command Processor Replacement.
  659.  
  660.             //// Peter O.E. Bekker, Jr. ///////
  661.