System information
The size of the area addressed by CSV is CKS bytes, which is sufficient to hold the directory
check information for this particular drive. If CKS = (DRM + 1)/4, you must reserve (DRM +
1)/4 bytes for directory check use. If CKS = 0, no storage is reserved.
The size of the area addressed by ALV is determined by the maximum number of data blocks
allowed for this particular disk and is computed as (DSM/8) + 1.
The CBIOS shown in Appendix B demonstrates an instance of these tables for standard 8-inch,
single-density drives. It might be useful to examine this program and compare the tabular values
with the definitions given above.
6.11 The DISKDEF Macro Library
A macro library called DISKDEF (shown in Appendix F), greatly simplifies the table
construction process. You must have access to the MAC macro assembler, of course, to use the
DISKDEF facility, while the macro library is included with all CP/M 2 distribution disks.
A BIOS disk definition consists of the following sequence of macro statements:
MACLIB DISKDEF
DISKS n
DISKDEF 0,. . .
DISKDEF 1,. . .
.....
DISKDEF n - 1
ENDEF
where the MACLIB statement loads the DISKDEF.LIB file, on the same disk as the BIOS, into
MAC's internal tables. The DISKS macro call follows, which specifies the number of drives to
be configured with the user's system, where n is an integer in the range 1 to 16. A series of
DISKDEF macro calls then follow that define the characteristics of each logical disk, 0 through n
- 1, corresponding to logical drives A through P. The DISKS and DISKDEF macros generate the
in-line fixed data tables described in the previous section and thus must be placed in a
nonexecutable portion of the BIOS, typically directly following the BIOS jump vector.
6.10 Disk Parameter Tables CP/M Operating System Manual
6-34