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