jayacotton / macro-library

Macro library. All kinds of 8080 code macros, works on CP/M
6 stars 0 forks source link

Find should be updated to handle obscure drive configurations #6

Open jayacotton opened 3 years ago

jayacotton commented 3 years ago

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.

jayacotton commented 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.

jayacotton commented 3 years ago

It looks like there is a way to tell if CP/NET is loaded into memory.
see rsxls.asm for hints.

jayacotton commented 3 years ago

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.

jayacotton commented 3 years ago

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

jayacotton commented 3 years ago

Its now working with network drives, but there is a bug in the drive letter. Need to work out that.