DPB
Drive Parameter Block
Under MSX-DOS, DPB are stored into RAM in disk work area for each connected unit, and these contain the unit-specific information. MSX-DOS supports drives with different disk types such as 3.5-inch 2DD or 5-inch 2D. Referring to DPB and performing a processing corresponding to each drive allows to support different media.
The DPB is defined as follows:
Offset: | Name: | Lenght | Description: |
---|---|---|---|
0 | DRIVE | 1 | Drive number (0=A, 1=B, etc) |
1 | MEDIA | 1 | Media ID.
Format: 11111TSF ||+-- 0 if single side, 1 if double side |+--- 0 if 9 sec./track, 1 if 8 9 sec./track +---- 0 if 80 track, 1 if 40 track |
2-3 | SECBIZ | 2 | Sector size (in byte). |
4 | DIRMSK | 1 | Folder mask. (SECSIZE/32)-1 |
5 | DIRSHFT | 1 | Folder shift. Number of 1-bits in DIRMSK |
6 | CLUSMSK | 1 | Cluster mask. (Number of sectors per cluster)-1 |
7 | CLUSSHFT | 1 | Cluster shift. (Number of 1-bits in CLUSMSK)+1 |
8-9 | FIRFAT | 2 | First sector of the FAT. |
10 | FATCNT | 1 | Number of FATs on the disk. |
11 | MAXENT | 1 | Maximum number of files/entries on root folder. |
12-13 | FIRREC | 2 | First sector of the data area. |
14-15 | MAXCLUS | 2 | Maximum number cluster +1. |
16 | FATSIZ | 1 | Number sectors per FAT. |
17-18 | FIRDIR | 2 | First sector of folders area. |
19-20 | FATPTR | 2 | FAT pointer, Address of FAT placed in RAM. |