|
|||
Скачать Серийный номер IDE винта
23.06.1997 uses CRT; Type TIdeInfo = Record Config : word; CylsTotal : word; Unused : word; HeadTotal : word; BPT : word; BPS : word; SPT : word; Vendor : Array[0..2] of word; Serial : Array[1..20] of char; BufType : word; BufSize : word; ECC : word; Revision : Array[1..8] of char; Model : Array[1..40] of char; end; var InfoArray : Array[0..255] of word; IdeInfo : TIdeInfo absolute InfoArray; NumDisk : byte; Count : byte; procedure GetIDEInfo( Drive : byte ); var I : byte; begin FillChar( InfoArray, sizeof(InfoArray), 0 ); while ( Port[$1F7] and $80 <> 0 ) do; Port[$3F6] := 2; Port[$1F6] := $A0 + ( Drive shl 4); Port[$1F7] := $EC; while ( Port[$1F7] and $80 <> 0 ) do; for I := 0 to 255 do InfoArray[I] := Swap( PortW[$01F0] ); end; begin ClrScr; NumDisk := Mem[$40:$75]; for Count :=1 to NumDisk do begin GetIdeInfo( Count - 1 ); Writeln('Serial number : ',IdeInfo.Serial ); Writeln('Revision : ',IdeInfo.Revision ); Writeln('Model HDD : ',IdeInfo.Model ); Writeln; Writeln('Total cylinders : ',Swap(IdeInfo.CylsTotal):8); Writeln('Total heads : ',Swap(IdeInfo.HeadTotal):8); Writeln('Sectors per track : ',Swap(IdeInfo.SPT):8 ); Writeln('Byte per sector : ',Swap(IdeInfo.BPS):8 ); Writeln('Byte per track : ',Swap(IdeInfo.BPT):8 ); Writeln('Size of buffer : ',Swap(IdeInfo.BufSize):8 ); end; end. | |||
© 2009–2024 Russian Pascal Developer Network.
Техническая площадка: ISBIZ Хостинг |