DIPS - номер первого сектора каталога или 0;
DIRSIZE - размер каталога (в элементах DIR ТУРЕ).}
Procedure GetDiskInfo(Disk: Byte; var Diskl-nfo: TDisk);
{Возвращает информацию о диске DISK}
Function GetDiskNumber(с: Char): Byte;
{Преобразует юля диска A...Z s номер О...26'. Если указано недействительное имя,возвращает 255}
Function GetFATItem(Dislc: Byte; Item: Word); Word;
{Возвращает содержимое указанного элемента FAT}
Procedure GetIOCTLInfo(Disk: Byte; var l6: юеть_Туре);
{Получить информацию об устройстве согласно общему вызову IOCTL)
Procedure GetListDisk(var List: PLtstDisk);
(Формирует список описателей дисков}
Procedure GetMasterBoot(var But);
/'Возвращает в переменной Buf главный загрузочный сектор}
Function GetMaxDrv: Byte;
{Возвращает количество логических дисков}
Function GetSectorfDisk: Byte;Cluster: Word): Word;
(Преобразует номер кластера в номер сектора}
Function PackCylSec(Cyl,Sec: Word): Word;
(Упаковывает цилиндр и сектор в одно слово для прерывания ?13}
Procedure ReadSector(Disk: Byte; Sec: Longint; NSec: Word; var Buf);
{Читает сектор (секторы) на указанном диске}
Procedure SetAbsSector(Disk,Head: Byte; CSec: Word; var Buf);
{Записывает абсолютный дисковый сектор с помощью прерывания $13}
Procedure SetDefaultDrv(Disk: Byte);
{Устанавливает диск по умолчанию}
Procedure SetFATItemtDiSk: Byte;Cluster,Item: Word);
{Устанавливает содержимое ITEM в элемент CLUSTER таблицы FAT}
Procedure SetMasterBoot(var Buf);
{Записывает в главный загрузочный сектор сеДержимое Buf}
Procedure UnPackCylSec(CSec: Word; var Cyl,Sec: Word);
(Декодирует цилиндр и сектор для прерывания $13}
Procedure WnteSector(Disk: Byte; Sec: Longint; NSec: Word; var Buf);
{Записывает сектор (секторы) на указанный диск}
IMPLEMENTATION
Oses DOS;
var
Reg: registers;
Procedure Output;
(Формирует значения Dislc_Status и Disk_Ercoc)