Festplattenparameter auslesen
Verfasst: Mo 31. Okt 2016, 12:20
Grüße,
Ich würde gerne die Festplattenparameter auslesen können - mit den Int13h extensions geht das zwar wunderbar, nur können das mein 386er, sowie der XT, nicht.
Über die Funktion Int13h AH=08h bekomme ich leider nur teilweise plausible Ergebnisse:
Beim XT passt soweit alles
XTHDD: 612C, 4H,17S
Rückgabewerte: CH= 98, CL=145, DH= 3, DL=1
DL=Anzahl der Laufwerke =1 ->Stimmt
DH=Anzahl der Köpfe-1 =3 ->Stimmt
CL=Sectors per Track - Bit6/7= 17 ->Stimmt wahrscheinlich, wobei 16 wohl passender wäre
CH=Cylinder-1; Bit8/9=CL Bit6/7=610 ->Stimmt (die gemeldete Zylinderzahl kann 1-2 niedriger als die tatsächliche sein)
Beim 386er gehts jedoch schief
386HDD: 768C,14H,62S
Rückgabewerte: CH=254, CL=192, DH= 13, DL=1
DL=Anzahl der Laufwerke =1 ->Stimmt
DH=Anzahl der Köpfe-1 =13 ->Stimmt
CL=Sectors per Track - Bit6/7= 0 ####FEHLER####
CH=Cylinder-1; Bit8/9=CL Bit6/7=1022 ####FEHLER####
Interessant ist: wenn ich CL um 1 dekrementiere passt immerhin schoneinmal die Zahl der Zylinder - und beim XT die Zahl der Köpfe besser.
Ideen?
PS:AH ist in beiden Fällen 0 = kein Fehler
Ich würde gerne die Festplattenparameter auslesen können - mit den Int13h extensions geht das zwar wunderbar, nur können das mein 386er, sowie der XT, nicht.
Über die Funktion Int13h AH=08h bekomme ich leider nur teilweise plausible Ergebnisse:
Beim XT passt soweit alles
XTHDD: 612C, 4H,17S
Rückgabewerte: CH= 98, CL=145, DH= 3, DL=1
DL=Anzahl der Laufwerke =1 ->Stimmt
DH=Anzahl der Köpfe-1 =3 ->Stimmt
CL=Sectors per Track - Bit6/7= 17 ->Stimmt wahrscheinlich, wobei 16 wohl passender wäre
CH=Cylinder-1; Bit8/9=CL Bit6/7=610 ->Stimmt (die gemeldete Zylinderzahl kann 1-2 niedriger als die tatsächliche sein)
Beim 386er gehts jedoch schief
386HDD: 768C,14H,62S
Rückgabewerte: CH=254, CL=192, DH= 13, DL=1
DL=Anzahl der Laufwerke =1 ->Stimmt
DH=Anzahl der Köpfe-1 =13 ->Stimmt
CL=Sectors per Track - Bit6/7= 0 ####FEHLER####
CH=Cylinder-1; Bit8/9=CL Bit6/7=1022 ####FEHLER####
Interessant ist: wenn ich CL um 1 dekrementiere passt immerhin schoneinmal die Zahl der Zylinder - und beim XT die Zahl der Köpfe besser.
Ideen?
PS:AH ist in beiden Fällen 0 = kein Fehler