Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пн сен 25, 2017 1:59 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 2 сообщения ] 
Автор Сообщение
 Заголовок сообщения: Floppy
СообщениеДобавлено: Ср янв 04, 2006 5:23 pm 
В исходниках visopsys я обнаружил, что проверить не сменилась ли дискета можно с помощью опроса 7 бита порта 0x3F7 (бит 1 - дискета сменилась, 0 - не сменилась), что сделать намного проще чем проверить метку диска. Правда ли это? Если да, то когда сбрасывается этот бит - при перекалибровке или при сбросе контроллера дисковвода?

Правильно ли я понимаю, что лоток cdrom'a открывается только по сигналу ОС (или с согласия ОС), а не сам по себе, не уведомляя (возможно только в случае если диск остановлен) ОС о случившемся?

Не хочется допускать ситуации, когда ОС продолжает дописывать файл... уже на другую дискету...


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Чт янв 05, 2006 2:53 pm 
halyavin
Согласно Кулакову:
"Регистр цифрового ввода (Digital Input Register, сокращенно DIR), расположенный по адресу 3F7h, доступен только для считывания. Старший разряд этого регистра отображает состояние сигнала смены диска, а остальные зарезервированы".
Из этого объяснения нихрена не понятно, ведь это может означать и просто признак наличия дискеты. А вообще то проверять только лишь наличие дискеты неправильно. Так как может быть, что пользователь вынул и вставил ту же самую дискету. Тогда какой смысл обновлять все данные ФАТ, которые в кеше.
Когда изменяется этот бит тоже не понятно, так как нету подробного описания. Кулаков у себя, его не использует.

По этому же адресу располагается и регистр управления конфигурацией, который доступен только на запись. В нем задается скорость передачи данных.

Я при реализации драйвера сделал процедуру, контролирующую устаревание данных. Как только двигатель остановлен, происходит сброс флагов, которые индицируют правильность данных ФАТ в кеше.

Лоток CD открывается и закрывается в 2-х случаях:
1) Пользователь нажал кнопку.
2) Драйвер подал ATAPI команду.

Дописывать файл на другую дискету драйвер уже не будет, произойдет аварийное завершение операции. Смотри код там после каждой команды проверка стоит. А пока ты вынимаешь и вставляешь дискету, обязательно произойдет ошибка.


Вернуться к началу
   
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 2 сообщения ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB