Главная История Технология DVD Оптические накопители Программное обеспечение

   
  Шрифт:
     
           
 
 




Линейку мини-ПК ZOTAC ZBOX пополнили модели ZBOX DVD, построенные на двухъядерных процессорах Intel Atom D525 (1,8 ГГц), наборах системной логики Intel NM10 Express и графических процессорах NVIDIA ION 2.
Европейское подразделение компании Lite-On представило новый внутренний DVD-рекордер iHAS624, умеющий записывать DVD-диски на скорости до 24x.
 

Чтение rma области dvd-r/-rw диска

Чтение rma области dvd-r/-rw дискаОперация чтения RMA области позволяет получить информацию о логической структуре DVD-диска: режиме записи данных (DAO/Incremental), расположении (координатах) RZone и Border областей, количестве записанных на диск RZone.
Отметим, что эту информацию можно прочитать как из RMA, так и из последней Border-out области диска. Для чтения RMD блоков, записанных в RMA область, поле Format команды READ DVD STRUCTURE должно быть равно 0x0D. В поле Address записывается стартовый номер сектора RMA области, начиная с которого будет выполняться чтение, в поле Allocation Length – размер считываемых данных. За одно обращение к диску можно прочитать один RMD блок размером 32768 байт (16 секторов).

Давайте проследим, как изменяется содержимое RMA области DVD-RW диска при записи на диск данных в режиме Sequentinal. Для этого из Format 1 RMD будем считывать поля Field 0 для определения статуса диска, и Field 4, содержащее координаты первых 254 RZone (см. табл. 6). Для чтения полей Field 0 и Field 4 из Format 1 RMD необходимо определить смещение к ним в секторах относительно начала RMA. Это смещение определяется по формуле: Start_Sector = 16 x (5 + N) + F + 1, где 16 – это число секторов в одном RMD блоке, N – номер RMD блока, из которого поле Field будет считываться, F – номер поля (0 или 4).

Для чтения Field 4 необходимо пропустить 16 х 5 секторов, принадлежащих RMD Set (см. рис. 16), и затем сместится к нужному RMD блоку. Пятый сектор этого блока и будет искомым полем Field 4.
Чтение RMA области DVD-RW диска выполняет функция read_RMA:__u8 disk_status = 0; // статус диска
__u8 erase_code = 0;
__u16 alloc_size = SIZE;
__u16 EOC = 0; // Erase Operation Count
__u16 RMD_Format = 0; // from RMD Header (Field 0)
__u16 Inv_RZone_num = 0; // Invisible RZone Number (Last Rzone Number)
__u32 addr; // Поле Address командного пакета
__u32 LRS = 0; // Last Recorded RMA sector number
__u32 F3_RMD_Set_Pointer = 0; // Format 3 RMD Set Pointer
__u32 Update_Counter = 0;
__u32 EI1 = 0, EI2 = 0; // Erase Information 1/2
__u32 Start_RZone = 0; // Start Sector Number of RZone #n
__u32 LRA_RZone = 0; // Last Recorded Address of RZone #n
memset(buff, 0, SIZE);

1  2  3  4  5  6  7  8  9  10  11  12  13  

Другие статьи по теме:

- Информация
- Средства связи
- A-data
- Cinematic
- С 1 по 3 марта в немецком городе Нюрнберге прошла ежегодная выставка-конференция embedded world 2011
Здесь вы найдете то, чего нет у других. Поздравление на день рождения сестре самое исключительное.
Страхуйтесь в Ингосстрах! ОСАГО калькулятор для онлайн расчета полиса. ОСАГО в Ингосстрах выгодно!
 
Rambler's Top100