Mail Archives: djgpp/2000/01/09/08:36:06
On Sat, 8 Jan 2000, Angelene and Klaus Thane wrote:
> Inp.:
> AH = 48h
> DL = drive (80h-FFh)
> DS:SI -> buffer for drive parameters (see #0183)
> Return: CF clear if successful
> AH = 00h
> DS:SI buffer filled
> CF set on error
> AH = error code (see #0144)
You can't use this with biosdisk, since the normal buffer for other calls
of INT 13h use ES:DI as the pointer. So, you'll have to use __dpmi_int
directly. The code will look something like this.
__dpmi_regs regs;
regs.h.ah = 0;
regs.h.dl = driveno;
regs.x.ds = __tb/0x10;
regs.x.si = __tb%0x10;
__dpmi_int(0x13, ®s);
if(regs.x.flags & 1) {
printf("Failed\n");
}
else {
// Your parameter details are in the transfer buffer.
}
Actually, I remember this as being some other function (not 48h). Anyway,
...
Prashant
- Raw text -