EricFa
2008-10-30 06:35:42 UTC
When I read out my drive parameters with the eigth function, I get a
response, like there is only one head, although I know exactly, that
my harddisk has got 16 of them.
:-) AX returns 00h, BX 00h, CX C2C4h and DX 0101h, when I call
function 8 with Interrupt 13h. Here are the Functionparameters from
PhoenixBIOS 4.0 User's Manual:
Interrupt 13h–Fixed Disk Services, Continued
AH = 08h Read drive parameters
Entry:
DL Drive number (80H-81H)
Exit:
CL Maximum sector number
CH Maximum cylinder number
(High bits in CL)
DH Maximum head number
DL Number of responding drives (0-2)
If Carry - 1:
AH 07h = Invalid drive number
AL 0 = Error
CX 0 = Error
DX 0 = Error
According to the parameterinformation I should get 010h instead of 01h
in DH returned.
I somewhere read, the function would place the drive type in BX. But I
am not sure about, what my BIOS does exactly.
The Carry-flag is not set, so there should be no error occuring in the
function itself.
response, like there is only one head, although I know exactly, that
my harddisk has got 16 of them.
:-) AX returns 00h, BX 00h, CX C2C4h and DX 0101h, when I call
function 8 with Interrupt 13h. Here are the Functionparameters from
PhoenixBIOS 4.0 User's Manual:
Interrupt 13h–Fixed Disk Services, Continued
AH = 08h Read drive parameters
Entry:
DL Drive number (80H-81H)
Exit:
CL Maximum sector number
CH Maximum cylinder number
(High bits in CL)
DH Maximum head number
DL Number of responding drives (0-2)
If Carry - 1:
AH 07h = Invalid drive number
AL 0 = Error
CX 0 = Error
DX 0 = Error
According to the parameterinformation I should get 010h instead of 01h
in DH returned.
I somewhere read, the function would place the drive type in BX. But I
am not sure about, what my BIOS does exactly.
The Carry-flag is not set, so there should be no error occuring in the
function itself.