ZCPR-2 on the KAYPRO 10 ======================= ---------- REVISION NOTE: This file has been revised since its original release. The major changes are to accomodate the three (!) different operating systems that have been released for the Kayrpo 10 and provide two options of CPR systems for general use and SYSOP's of RCPM systems. ---------- The accompanying files allow installation of Rich Conn's replace ment console command processor on the Kaypro 10. This processor replacement, and its rich collection of utilities, greatly enhance the utility and flexibility of this hard disk machine. It is in this environment that ZCPR-2 really shines! The Kaypro 10 has limited graphics capability by defining each char acter block into 8 segments. These 8 segments are turned on by the appropriate characters in the 128 - 255 character range, i.e., those with the eighth bit set. Since some programs (and some ZCPR-2 utili ties) depend on this eighth bit being set, a method was needed to prevent this graphics character being displayed when standard ascii text should be displayed. This has been accomplished by the simple expedient of adding a mask in the CONOUT routine of the BIOS which tests a specific byte in memory and, if it is set, allows graphic character display; if it is clear, the eighth bit is masked off and the standard character set is dis played. This byte, located at 04FH, is set by a command that has been added to the ZCPR2 CPR. This command, "GRAF", is used like any other resident command, such as, REN or ERA. It toggles the graphic byte at 04FH. This is indicated on the display by the CPR prompt ">". In ZCPR-2 installations, this prompt character has the eighth bit set so, when the graphics mode is enabled, a block character is displayed next to the drive/user number. Merely type "GRAF " and the standard cpr prompt ">" appears. The Kaypro 10 has an open block of memory between 0F100 and 0F600 and this space is used for the ZCPR-2 buffers. This allows installation without further shrinking the available TPA. A full featured ZCPR-2 installation is provided with the sole exception of IO redirection. (My assembly language programming isn't good enough for this yet.) There are three versions of the CPM operating system that has been released by Kaypro for the 10. These may be identified by the cold boot sign on message. In the remainder of this document, I will refer to them as versions 0, D and F. The sign on messages and the corresponding versions are as follows: Sign on Message Version --------------- ------- KAYPRO 10 CP/M Version 2.2 0 KAYPRO 10 CP/M Version 2.2D D KAYPRO 10 CP/M Version 2.2F F The following description of the two "systems" describe the options that may be generated using the appropriate BIOSPAT.ASM along with the Z2STD.HEX/Z2SEC.HEX files. The source code modifications to ZCPR2.ASM and ZCPRHDR.LIB are described in the accompanying Z2PAT.DOC file. The only files you need to supply are your distribution copy of PUTSYS.COM and DDT.COM. PUTSTD.COM ---------- This file is used in place of PUTSYS.COM, as supplied with the Kaypro. This version of ZCPR2 is a more or less standard version with resident DIR, TYPE, LIST commands. Because it is a full featured CCP, external buffers are used for the CCP stack as well as the CCP file control block. This version is intended as a "general use" implementation. PUTSEC.COM ---------- This version is also used in place of PUTSYS.COM but is intended for use in situations requiring security such as RCPM systems. The DIR, LIST and TYPE commands have been deleted to allow replacement with limited transient programs to accomplish the same functiion. Additionally, a patch has been added to ZCPR2 CCP to allow limiting the maximum disk and user when the WHEEL byte is reset. All remaining ZCPR2 resident commands, except the DU: command, have been made wheel oriented commands. Thus, a SYSOP can have a reasonably secure system and be able to open it up for his personal use without a lot of passworded files. In fact, using the limited user area approach, it is possible to put up a RCPM system with NO .COM files in the accessible user areas and yet through a double password system, totally open up the machine. Much of this implementation depends on the use of the powerful ZCPR2 utilities such as CD, MKDIR, STARTUP, PATH, LD along with customized versions of RBBS, XMODEM and BYE. (Note that CD MUST be modified to run under BYE with BYE LOW as is done with the Kaypro 10.) Buffer Locations ---------------- Buffer Name PUTSTD.COM PUTSEC.COM ----------- ---------- ---------- WHEEL BYTE 003E 003E External Path 0040-004E 0040-004E GRAPHICS BYTE 004F 004F CPR FCB F2D0-F2F0 Internal to CPR Named Directory F300-F4FF F300-F4FF Multicommand line F500-F5CF F500-F5CF CPR Stack F5D0-F600 Internal to CPR Files Included -------------- BIOSPAT0.ASM Patch file for version 0 BIOSPATD.ASM Patch file for version D BIOSPATF.ASM Patch file for version F Z2STD.HEX Overlay file for PUTSTD.COM Z2SEC.HEX Overlay file for PUTSEC.COM Z2PAT.DOC Description of ZCPR2 CPR Modifications. NZ2KP10.DOC This file Installation Procedure ---------------------- The only files needed beyond those supplied here are DDT.COM and PUTSYS.COM. The latter writes CPM on the hard disk. Before beginning, I suggest you edit the PATH: section of the appropriate BIOSPAT.ASM file to suit your needs. As this one is coded, the PATH is current user, drive A, then Drive A, user 0. The idea is to overlay CCP and a CCP patch added at the end of the BIOS with the ZCPR-2 CPR and the BIOSPATCH routine. This is accomplished as follows: (Lines you type indicated by <--- ) A0>ASM BIOSPATx.AAZ <--- (Insert 0,D or F for x as CP/M ASSEMBLER VERSION 2.0 appropriate) nnnn <--- (Depends on version: 0 - EC4B 000H USE FACTOR D - ECFE END OF ASSEMBLY F - ED11) Warm Boot A1>DDT PUTSYS.COM <--- DDT VERS 2.2 NEXT PC 2300 0100 IZ2STD.HEX <--- (or, for PUTSEC, IZ2SEC.HEX) R3580 <--- NEXT PC 2300 D400 IBIOSPATx.HEX <--- (Insert 0, B or D for x as R3580 <--- appropriate.) NEXT PC 2300 CC68 <--- PC depends on version G0 <--- Warm Boot A0>SAVE nn PUTSTD.COM <--- (or PUTSEC.COM. Note that nn the decimal equivalent of the hex number given under NEXT when DDT is invoked. Values for nn are: 0 - 35 D - 34 F - 40) You can now use PUTSTD.COM or PUTSEC.COM to rewrite the modified CP/M on the system track of the hard disk. Run it then do a cold boot. You should get a new sign-on message with the line "STARTUP?". The Multicommand line buffer is initialized to look for and execute a file called "STARTUP.COM" so you can rename any desired starting program to get an automatic execution on cold boot. (If anything goes wrong, put a floppy disk with CP/M on it, into the drive, do a cold boot, and run PUTSYS.COM (not PUTSTD.COM or PUTSEC.COM) and that will get you back to go.) Assuming all is ok to here, you will see a block character next to A0. Type "GRAF " and you should see the normal CPR prompt. The following hex values associated with this ZCPR-2 installation: Some excellent manuals on all the ZCPR2 documentation are available from: New York Amateur Computer Club P. O. Box 106, Church St. Station New York, NY 10008 Ask for Book 6: ZCPR2 User & Reference Manual and Book 7: ZCPR2 & SYSLIB These are $10.00 each and well worth it. Thanks to Rich Conn for his excellent contribution to public domain software. I hope I have done his effort justice by the above installation. Any "bug" reports can be left on the Syracuse Kaypro Network at 315-468-2887. John C. Smith Manlius, NY December 4, 1983