Аппаратное обеспечение персонального компьютера

       

Определение положения головки


// ---------------

// Код функции 1

// ---------------

#pragma pack(1)

typedef struct _HeadLocation

{            

  BYTE   bFunctionCode;

  BYTE   bAddressMode;

  DWORD  lpHeadLocation;

} HeadLocation;

Поле



Описание

bFunctionCode

Код функции

bAddressMode

Режим адресации:

0 – HSG;

1 – Redbook;

2 – 255 – зарезервировано

lpHeadLocation

Положении головки. Значение зависит от режима адресации

Здесь необходимо сделать замечание относительно режимов адресации.

По умолчанию устройство чтения CD-ROM находится в режиме адресации HSG, описанный в стандарте High Sierra. При этом в качестве адреса указывается логический номер блока.

Другой режим адресации описан в стандарте Redbook. В нем адрес представляет собой набор из трех значений: минуты (MIN), секунды (SEC), фреймы (FRAME). Каждое значение занимает один байт, причем в младшем байте хранится значение FRAME, в следующем байте - значение SEC, и в последнем, третьем байте, - значение MIN.

С помощью следующей формулы вы можете преобразовать адрес из формата Redbook в формат HSG:

SECTOR = MIN * 60 * 75 + SEC * 75 + FRAME – 150



Содержание раздела