Does anyone know a method under CP/M 3 of determining the first directory entry for files in a directory, based on only searching the directory block, and not needing to cross refer to other directory entries?
Under CP/M 2 the first directory entry of a file was identified as having extent number zero. This does not apply under CP/M 3.
This method is used in the old Andrew Johnson Laird "FIND" program.
Currently to write a program that shows files across all drives and users I have to use search-first, search-next and set-user bdos calls which is a much slower method.
On Sunday, March 13, 2022 at 5:44:18 PM UTC, rwd...@gmail.com wrote:
Does anyone know a method under CP/M 3 of determining the first directory entry for files in a directory, based on only searching the directory block, and not needing to cross refer to other directory entries?
Under CP/M 2 the first directory entry of a file was identified as having extent number zero. This does not apply under CP/M 3.
This method is used in the old Andrew Johnson Laird "FIND" program.
Currently to write a program that shows files across all drives and users I have to use search-first, search-next and set-user bdos calls which is a much slower method.Under both CP/M 2 and 3, you should AND the extent number with the inverse of the extent mask from the DPB. You should also check that directory byte S2 (offset 0Eh) is zero.
--
John Elliott
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 406 |
Nodes: | 16 (2 / 14) |
Uptime: | 110:06:23 |
Calls: | 8,528 |
Calls today: | 7 |
Files: | 13,210 |
Messages: | 5,920,463 |