Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site loral.UUCP Path: utzoo!watmath!clyde!akgua!sdcsvax!sdccsu3!loral!simard From: simard@loral.UUCP (Ray Simard) Newsgroups: net.micro.cpm,net.micro Subject: Re: BIOS Techniques, a question. Message-ID: <117@loral.UUCP> Date: Thu, 10-May-84 16:16:01 EDT Article-I.D.: loral.117 Posted: Thu May 10 16:16:01 1984 Date-Received: Sat, 12-May-84 10:30:30 EDT References: <256@intelca.UUCP> Organization: Loral Instruments, San Diego Lines: 36 The disk parameter block (DPB) whose address is returned ih the HL pair when SELDSK is called contains a pointer to the disk parameter header which defines the characteristics of the current drive which are to apply to all further calls to SECTRAN, SETSEC (indirectly), READ and WRITE, until SELDSK is called again. As long as the DPH/DPB data agree with the disk currently accessed, CP/M will be happy. The only error indications that the BIOS returns to the BDOS (main body of CPM) is success (A=0) or failure (A<>0) from READ or WRITE, or that SELDSK was asked to select an invalid logical drive (HL returned = 0). If you can determine what kind of disk is installed in a physical drive dynamically, the check should be placed in SELDSK. The pointer in the DPB to the appropriate DPH would then be set by SELDSK to reflect the outcome of the check as well as set up the driver for the disk controller as appropriate. If that is not possible, then you might want to implement multiple logical drives for each physical drive (for example, if your system has two physical drives, A: and B: could be SS/SD, C: and D: could be the same drives, but SS/DD, etc.). The operator would select the drive according to the type of disk installed. Note: I am referring to DPB's and DPH's from memory. I may have them reversed. What I refer to as DPB is the 16-byte block unique to each logical drive, containing pointers to the applicable DPH, sector translation table, allocation and check vectors, and whose address is returned by SELDSK. The DPH in the above is the data set defining the size, reserved tracks, block size, etc., and which may be shared by numerous logical drives. Ray Simard Loral Instrumentation, San Diego, CA.