CPROT DOCUMENTATION =================== CPROT is a useful utility for debugging CCP or a test DOS which must be loaded into memory prior to loading and running a debugger. If the location of the program to be debugged is such that it is in danger of being overlaid by the debugger or other code which normally loads into high memory, then CPROT may be used to "protect" memory above a user specified address from the debugger, or from any relocating code which uses the DOS vector at 06h to determine the top of available memory. CPROT generates a "double jump" to the start of CP/M DOS. The DOS address at 06h is replaced with the address 3 bytes below start of the requested protected memory. This address in turn contains a protection vector, ajump to the true start of DOS. Since control is returned to the CCP after protected memory is defined, CPROT can not and will not place a protection vector above the start of the CCP and will return an error message if an attempt is made to do so. Likewise, it will not set a protection vector within the body of it's own code, nor above a protection vector previously set with CPROT or another utility. CPROT should, however, be used with care with ZCPR shells such as EASE or LSH since the placement of the protection vector can interfere with the normal operation of such shells. It is best, when using protected memory defined with CPROT, to terminate all ZCPR shells prior to running CPROT. If CPROT is being used to protect memory when debugging a shell then the protection address, if one can be used, must be determined by trial and error. CPROT is self documenting and will return a short and simple explanation of itself if invoked with no argument or with the "?" or "/" help arguments. The syntax for CPROT is: CPROT nnnn where nnnn is the hex address for the beginning of user protected memory. Assembly and linkage of the source code for CPROT requires the syslib and z3lib libraries. Lindsay Haisley 14206 Spreading Oaks Drive Leander, TX 78641 (512) 444-8691 (data) (512) 259-1190 (vox)