System information
6.2 First-level System Regeneration
The procedure to patch the CP/M system is given below. Address references in each step are
shown with H denoting the hexadecimal radix, and are given for a 20K CP/M system. For larger
CP/M systems, a bias is added to each address that is shown with a +b following it, where b is
equal to the memory size-20K. Values for b in various standard memory sizes are listed in Table
6-1.
 Table 6-1. Standard Memory Size Values
 Memory Size  Value
 24K: b = 24K - 20K = 4K = 1000H
 32K: b = 32K - 20K = 12K = 3000H
 40K: b = 40K - 20K = 20K = 5000H
 48K: b = 48K - 20K = 28K = 7000H
 56K: b = 56K - 20K = 36K = 9000H
 62K: b = 62K - 20K = 42K = A800H
 64K: b = 64K - 20K = 44K = B000H
Note that the standard distribution version of CP/M is set for operation within a 20K CP/M
system. Therefore, you must first bring up the 20K CP/M system, then configure it for actual
memory size (see Section 6.3).
Follow these steps to patch your CP/M system:
 1. Read Section 6.4 and write a GETSYS program that reads the first two tracks of a disk 
into memory. The program from the disk must be loaded starting at location 3380H. 
GETSYS is coded to start at location 100H (base of the TPA) as shown in Appendix C.
 2. Test the GETSYS program by reading a blank disk into memory, and check to see that
the  data has been read properly and that the disk has not been altered in any way by the 
GETSYS program.
6.1 Introduction CP/M Operating System Manual
6-3










