Gordon Banks MD 1360 Scaife Hall University of Pittsburgh Pittsburgh, PA 15261 June 26, 1982 Bringing up ZCPR. ZCPR is a replacement for the CP/M Console Command Processor (CCP) which will run on Z80 micros. The space saving allowed by using Z80 instructions instead of 8080 has allowed the authors of ZCPR to extend the command list and improve on the original CCP. Once you have gotten used to it, you will never want to return to the old CCP. The full list of options is given in the file ZCPR.DOC, but included are the following: The TYPE function can allow paging or not at the option of the user. This stops the annoying necessity of using ^s to stop the scrolling of the output. The DIR function can show $SYS files as well as $DIR files optionally. The ERA function prints the names of files being erased. A LIST function sends output directly to the CP/M LST: device and does not page. The user number is shown after the prompt, such as B2>, or A0>. If the user level is 0, it may show A> or A0> per choice of the user. If a program to be executed is not found on the current drive and user level, the system will search user 0 on the current drive and user 0 on drive A before returning the error message. Thus files that you use a great deal can be kept on drive A, user 0, and are always found without specifying the prefix A:, or duplicating them on all the disks. The SAVE command will accept hex values (such as DDT gives them to you) so no conversion to decimal is needed. Commands such as REN and SAVE that may erase old versions of a program will query the user whether he wants to delete the existing file. The user can assemble ZCPR so that it executes any command (or runs a program) whenever it is booted. Several other functions have been added as explained in the documentation on the disk. The file ZCPR.ASM must be assembled by MAC, so I have included ZCPR.HEX for those who don't have this assembler. ZCPR1.HEX is assembled to run the com file named STARTUP whenever CP/M is booted. The complete instructions for configuring, assembling and using ZCPR are included in the file ZCPR.DOC. The key parameters you need to know if you reassemble the ZCPR.ASM, are the location of the base page address for CCP, which is D400H for the big board (see your CBIOS listing) and the memory image location of the CCP jump instructions which is 980H for the big board. A quick synopsis of a session to integrate ZCPR into your system is given below: .CP 6 B>sysgen <--run sysgen to load memory with CP/M. SYSGEN VER 2.2 SOURCE DRIVE NAME (OR RETURN TO SKIP)b SOURCE ON B, THEN TYPE RETURN <--hit return FUNCTION COMPLETE DESTINATION DRIVE NAME (OR RETURN TO REBOOT) <--hit return B> save 38 cpm60.com <--Save the SYSGEN image of CP/M to work with. B> mac zcpr <--If you assemble your own version, CP/M MACRO ASSEM 2.0 otherwise, go on to next step. DBEC 011H USE FACTOR END OF ASSEMBLY B>ddt cpm60.com <--Now to integrate DDT VERS 2.0 NEXT PC 2700 0100 -h980,d400 <--compute the offset: see (ZCPR.DOC) DD80 3580 <--offset is 3580H (for 60K CP/M) -izcpr.hex <--init FCB -r3580 <--read in ZCPR with the offset NEXT PC 2700 0000 -^C <--done B>sysgen <--now to SYSGEN it onto disk SYSGEN VER 2.2 SOURCE DRIVE NAME (OR RETURN TO SKIP) <--hit return DESTINATION DRIVE NAME (OR RETURN TO REBOOT)b <--onto B: DESTINATION ON B, THEN TYPE RETURN <--hit return FUNCTION COMPLETE DESTINATION DRIVE NAME (OR RETURN TO REBOOT) <--done for now. B>