Open jayacotton opened 3 years ago
this will return the drive configuration table pointer in HL getcfg: mvi c,045h call 00005h ret
Since the request code is off the end of the CP/M 2.2 table, I assume this means that this only works if CP/NET is loaded. So, next problem is how to tell if CP/NET is installed.
It looks like there is a way to tell if CP/NET is loaded into memory.
see rsxls.asm for hints.
CP/NET is mapped into the system is a way that is transparent to the get next entry command. So, no special handling is required for that part. The problem of gaps in the list is still unsettled.
Turns out that we will have to detect that cp/net is loaded and then ask it for a list of drives. This code is TBD
Its now working with network drives, but there is a bug in the drive letter. Need to work out that.
The CP/M drive table is stored in ram (of course) and with this list it is possible to find all the drive names that are mounted. Find currently fails if there is a gap in the mounted drive list. i.e. a: b: f: g: will cause find to stop after processing b:
Scanning the CP/M drive table to identify all the mounted drives and using that information to drive the search functions will remove the error. This is expected to handle CP/NET drives as well.
With CP/M under RomWBW you can have up to 16 mounted logical volumes. Drive letters a: to p: are possible.