Копирование без границ или передовые методики защиты CD


Star-force своими руками - часть 4


       // алгоритм определения кол-ва секторов: читаем сектора задом наперед,

       // с циклически увеличивающимся шагом, наименьшее значение шага

       // при котором время чтения секторов будет минимальным - и будет равно

       // кол-ву секторов на данном витке спирали

       // (fixit: пока не реализовано, кол-во секторов взято на глазок)

       //

       // алгоритм определения стабильности: читаем сектора с шагом, равным

       // кол-ву секторов на данном витке спирали, и оцениваем разброс;

       // если разброс будет слишком большим (превышает 10%-15%), следует

       // уменьшить скорость привода (как это сделать показано в CD.snail.c)

       fprintf(stderr,"\r%s\n",_TEXT_TEST_);

       for (a = _END_SEC_; a > _CFG_BGN_SEC_; a-=_CFG_xWHELL_)

       {

              A1=A(&c);read_from_cd(argCD, buf,a);A2=A(&c);

              fprintf(stderr,"\r%02d%%",(_END_SEC_-a)*100/_CFG_LEN_SEC_);

       }

      

       // этап третий (важнейший!)

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

       // производим, собственно, измерения

       // fix1: добавить "сглаживание" полученных данных

       fprintf(stderr,"\r%s\n",_TEXT_ANGLE_);

      

       //  выводим шапку таблицы

       printf("delta:"); FH(a,b) { printf("\t%d",a); FB(b); } printf("\ntime:");

      

       // измеряем и тут же выводим результаты

       FH(a,b)

       {

              A1=A(&c); read_from_cd("TEAC", buf,a); A2=A(&c);

              printf("\t%d",(A2-A1)/100);

              fprintf(stderr,"\r%02d%%",(_END_SEC_-a)*100/_CFG_LEN_SEC_);

              FB(b);

       } printf("\n");

      

       // всему конец

       fprintf(stderr,"\r%s\n",_TEXT_END_); return 0;

}

Листинг 2 макет программы sf.c для снятия топологий

Программа использует библиотечку SCSIlib, разработанную автором для низкоуровневого управления приводами с прикладного уровня.Ее можно бесплатно скачать с ftp-сайта автора.




- Начало -  - Назад -  - Вперед -



Книжный магазин