The first byte is E5 if the file is deleted, this stems from the original formatting chips that filled blank disks with E5 (single-density) double-density were filled with F6.
When the entry is read into memory this first byte holds the disk number.
The whole thing is 32 bytes long and has room for 16 blocks to be recorded, if the file exceeds that length then another directory entry is added.
I'm a bit rusty but CPM groups sectors into allocation units, but a directory entry must still be able to say exactly how many 128 byte sectors it refers to.
Apparently those two reserved bytes are truely not used.
But I think you are missing a sector count.
0 db user type
1-8 db file name
9-11 db file type
12 db extent
13-14 db not used
15 db sector count
16-31 allocation map
So a disk can have a maximum of 256 allocation units, which may contain 2^N 128 byte sectors.
CPM is really designed for floppies, originally single sided, single density 8" disks.
Two pieces of information are not held on the disk.....
1. The starting sector, eg typically the operation system is held outside of the file format just in the sectors at the start of the disk.
2. The interleave map, as CPM is designed for 128 byte sectors and todays floppies use 512 byte sectors, a single real sector will contain multiple CPM sectors. Also, there is a translation from logical sector to real sector to allow the computer to process one sector while the disk is turning to the next one. Eg sectors may be ordered......
1 3 5 7 2 4 6 8
http://delivery.acm.org/10.1145/1000...FTOKEN=6184618