cj7hawk
Veteran Member
Hi All,
Once again I must demonstrate my ignorance of the CP/M world and throw myself on the mercy of the expert's court and ask for assistance around function 27.
With respect to the Allocation Vectors table - I was wondering about this as I can't find a data stucture of this table anywhere, and while it's typically small ( around 32 bytes ) it seems as though it has a maximal size of 8Kb, all of which needs to sit in addressable space, once for each drive.
I was wondering of the important of this, as it seems there are alternative ways to locate free allocations and generate directory information without services outside of the BDOS needing to see this, or to have it available, so I was curious as to it's important to other applications (eg stat) and also how the CP/M system handles larger drives as there doesn't seem to be a returned value with the calls to BDOS service that specifies the length of the table, just a vector to the table start - also it seems like the table can work to either 1 bit or two bits per block ( what do the other three states represent? ) and are there any data examples of the allocation vectors online? Most of the records I can find talk about them, but don't explicitly lay down information such as whether the increase in block number corresponds to an increase in bit number ( ie, Bit 0 of first byte = block 0? )
Also, how important is this function for CP/M programs in general?
Thanks for anything or any pointers anyone can add -
Regards
David
Once again I must demonstrate my ignorance of the CP/M world and throw myself on the mercy of the expert's court and ask for assistance around function 27.
With respect to the Allocation Vectors table - I was wondering about this as I can't find a data stucture of this table anywhere, and while it's typically small ( around 32 bytes ) it seems as though it has a maximal size of 8Kb, all of which needs to sit in addressable space, once for each drive.
I was wondering of the important of this, as it seems there are alternative ways to locate free allocations and generate directory information without services outside of the BDOS needing to see this, or to have it available, so I was curious as to it's important to other applications (eg stat) and also how the CP/M system handles larger drives as there doesn't seem to be a returned value with the calls to BDOS service that specifies the length of the table, just a vector to the table start - also it seems like the table can work to either 1 bit or two bits per block ( what do the other three states represent? ) and are there any data examples of the allocation vectors online? Most of the records I can find talk about them, but don't explicitly lay down information such as whether the increase in block number corresponds to an increase in bit number ( ie, Bit 0 of first byte = block 0? )
Also, how important is this function for CP/M programs in general?
Thanks for anything or any pointers anyone can add -
Regards
David