System information
 3. Run the GETSYS program using an initialized CP/M disk to see if GETSYS loads CP/M 
starting at 3380H (the operating system actually starts 128 bytes later at 3400H).
 4. Read Section 6.4 and write the PUTSYS program. This writes memory starting at 3380H 
back onto the first two tracks of the disk. The PUTSYS program should be located at 
200H, as shown in Appendix C.
 5. Test the PUTSYS program using a blank, uninitialized disk by writing a portion of 
memory to the first two tracks; clear memory and read it back using GETSYS.
Test  PUTSYS completely, because this program will be used to alter CP/M on disk.
 6. Study Sections 6.5, 6.6, and 6.7 along with the distribution version of the BIOS given in 
Appendix A and write a simple version that performs a similar function for the
customized  environment. Use the program given in Appendix B as a model. Call this new
BIOS by  name CBIOS (customized BIOS). Implement only the primitive disk
operations on a  single drive and simple console input/output functions in this
phase.
 7. Test CBIOS completely to ensure that it properly performs console character I/O and disk 
reads and writes. Be careful to ensure that no disk write operations occur during read 
operations and check that the proper track and sectors are addressed on all reads and 
writes. Failure to make these checks might cause destruction of the initialized CP/M 
system after it is patched.
 8. Referring to Table 6-3 in Section 6.5, note that the BIOS is placed between locations 
4A00H and 4FFFH. Read the CP/M system using GETSYS and replace the BIOS 
segment by the CBIOS developed in step 6 and tested in step 7. This replacement is done 
in memory.
 9. Use PUTSYS to place the patched memory image of CP/M onto the first two tracks of a 
blank disk for testing.
 10. Use GETSYS to bring the copied memory image from the test disk back into memory at 
3380H and check to ensure that it has loaded back properly (clear memory, 1 if possible, 
before the load). Upon successful load, branch to the cold start code at location 4A00H. 
The cold start routine initializes page zero, then jumps to the CCP at location 3400H, 
which calls the BDOS, which calls the CBIOS. The CCP asks the CBIOS to read sixteen 
sectors on track 2, and CP/M types A>, the system prompt.
If difficulties are encountered, use whatever debug facilities are available to trace and 
breakpoint the CBIOS.
6.2 First-level Regeneration CP/M Operating System Manual
6-4










