System information
The remaining portion of the BIOS is defined following the DISKDEF macros, with the ENDEF
macro call immediately preceding the END statement. The ENDEF (End of Diskdef) macro
generates the necessary uninitialized RAM areas that are located in memory above the BIOS.
The DISKDEF macro call takes the form:
DISKDEF dn,fsc,lsc,[skf],bls dks,dir,cks,ofs,[0]
where
-dn is the logical disk number, 0 to n - 1.
-fsc is the first physical sector number (0 or 1).
-lsc is the last sector number.
-skf is the optional sector skew factor.
-bls is the data allocation block size.
-dks is the number of blocks on the disk.
-dir is the number of directory entries.
-cks is the number of checked directory entries.
-ofs is the track offset to logical track 00.
-[0] is an optional 1.4 compatibility flag.
The value dn is the drive number being defined with this DISKDEF macro invocation. The fsc
parameter accounts for differing sector numbering systems and is usually 0 to 1. The lsc is the
last numbered sector on a track. When present, the skf parameter defines the sector skew factor,
which is used to create a sector translation table according to the skew.
If the number of sectors is less than 256, a single-byte table is created, otherwise each translation
table element occupies two bytes. No translation table is created if the skf parameter is omitted,
or equal to 0.
The bls parameter specifies the number of bytes allocated to each data block, and takes on the
values 1024, 2048, 4096, 8192, or 16384. Generally, performance increases with larger data
block sizes because there are fewer directory references, and logically connected data records are
physically close on the disk. Further, each directory entry addresses more data and the
BIOS-resident RAM space is reduced.
The dks parameter specifies the total disk size in bls units. That is, if the bls = 2048 and dks =
1000, the total disk capacity is 2,048,000 bytes. If dks is greater than 255, the block size
parameter bls must be greater than 1024. The value of dir is the total number of directory entries
that might exceed 255, if desired.
6.10 Disk Parameter Tables CP/M Operating System Manual
6-35