Changes
CP/M 3.0
,/* Implementing a storage device driver */
Using "drvtable" gets the list of DPH addresses for each drive. This is actually fixed at FE2F and is referenced by the XBIOS.
Amstrad have extended the DPH:(these appear before the DPH)* +23-10,+24 -9 - address of a DD WRITE SECTOR (XBIOS) compatible function* +25-8,+26 -7 - address of a DD READ SECTOR (XBIOS) compatible function* +27-6,+28 -5 - unknown function, but does call DD LOGIN (XBIOS) if successful* +29-4,+31 -3 - unknown function, seems to be init, calls RET* -2,-1 - unknown use
The XBIOS calls these and assumes bank 0 is active. If you write a driver in TPA space you will need to transition to and from bank 1 using selbnk etc.