System information
Section 6
CP/M 2 Alteration
6.1 Introduction
The standard CP/M system assumes operation on an Intel MDS-800 microcomputer development
system, but is designed so you can alter a specific set of subroutines that define the hardware
operating environment.
Although standard CP/M 2 is configured for single-density floppy disks, field alteration features
allow adaptation to a wide variety of disk subsystems from single drive minidisks to
high-capacity, hard disk systems. To simplify the following adaptation process, it is assumed that
CP/M 2 is first configured for single-density floppy disks where minimal editing and debugging
tools are available. If an earlier version of CP/M is available, the customizing process is eased
considerably. In this latter case, you might want to review the system generation process and skip
to later sections that discuss system alteration for nonstandard disk systems.
To achieve device independence, CP/M is separated into three distinct modules:
-BIOS is the Basic I/O System, which is environment dependent.
-BDOS is the Basic Disk Operating System, which is not dependent upon the hardware
configuration.
-CCP is the Console Command Processor, which uses the BDOS.
Of these modules, only the BIOS is dependent upon the particular hardware. You can patch the
distribution version of CP/M to provide a new BIOS that provides a customized interface
between the remaining CP/M modules and the hardware system. This document provides a
step-by-step procedure for patching a new BIOS into CP/M.
All disk-dependent portions of CP/M 2 are placed into a BIOS, a resident disk parameter block,
which is either hand coded or produced automatically using the disk definition macro library
provided with CP/M 2. The end user need only specify the maximum number of active disks, the
starting and ending sector numbers, the data allocation size, the maximum extent of the logical
disk, directory size information, and reserved track values. The macros use this information to
generate the appropriate tables and table references for use during CP/M 2 operation. Deblocking
information is provided, which aids in assembly or disassembly of sector sizes that are multiples
of the fundamental 128-byte data unit, and the system alteration manual includes general purpose
subroutines that use the deblocking information to take advantage of larger sector sizes. Use of
these subroutines, together with the table-drive data access algorithms, makes CP/M 2 a
universal data management system.
5.5 System Function Summary CP/M Operating System Manual
6-1