Dvd sata драйвер для windows

Содержание
  1. Скачать Драйвер для дисковода на русском бесплатно
  2. Особенности
  3. Где найти драйверы для накопителя SATA?
  4. Бесплатная загрузка и обновление драйверов CD / DVD дисковода
  5. Должен ли я обновить драйверы CD / DVD дисковода для моего ПК?
  6. Как обновить драйверы CD / DVD дисковода для моего ПК?
  7. Способ 1: Pучное обновление
  8. 1.1 Производители компьютеров
  9. 1.2 Производители чипов / производители оборудования
  10. 1.3 Центр обновления Windows
  11. рекомендуется
  12. Способ 2: Автоматическое обновление
  13. Поиск драйверов
  14. Загрузка драйверов
  15. Установка драйвера
  16. Обновление драйверов
  17. Последние официальные драйверы
  18. Стабильное обновление драйверов
  19. Безопасное обновление драйверов
  20. Повышение производительности в играх
  21. Не рекомендуется обновлять: Сторонние веб-сайты для скачивания программ
  22. Как другие оценивают Driver Booster
  23. Юра Ямщиков
  24. Только официальные и проверенные драйверы CD / DVD дисковода доступны для обновления
  25. Самый простой способ поиска, установки и обновления драйверов для всех устройств комьютера Windows 10/8/7
  26. Подписаться на IObit
  27. Dvd sata драйвер для windows
  28. Features
  29. Plans
  30. History
  31. Version

Скачать Драйвер для дисковода на русском бесплатно

  • Категория:Драйвера
  • Операционная система: Windows 10
  • Русский язык: Есть
  • Лицензия: Бесплатно
  • Загрузок: 112667

Скачать Драйвер для дисковода бесплатно

Во многих современных компьютерах отсутствуют дисководы, часто их заменяют USB портами. Тем не менее, DVD приводы все еще часто встречаются, так что проблема драйверов для них, все еще актуальна. На этой странице вы сможете скачать драйвер для дисковода для Windows 10.

Особенности

Как правило, большинству дисководов подходит универсальный драйвер. И не важно, какой тип привода у вас:

  • CD;
  • DVD;
  • BD;

Драйвера для дисковода позволяют наладить работу привода. Если у вас одна из последних моделей привода, то вам точно подойдут драйвера, выложенные на этой странице. Если у вас специфическая модель, то подбирать драйвер нужно по производителю. Рекомендуем заглянуть на официальный сайт. Как правило, там выложены самые последние и актуальные версии драйверов.

Скачать драйвера для дисковода стоит даже в том случае, если вы пока что не планируете пользоваться приводом. Запомните, что в тот момент, когда вам захочется использовать аппаратную составляющую, вам не захочется искать драйвера и вы будете сами себе благодарны, что скачали их заранее. Тем более, скачать можно бесплатно, и наличие такого драйвера совершенно не будет тормозить систему.

Многим пользователям не хватает штатных средств Windows 10, для работы с дисками. Если вы в числе таких пользователей, то рекомендуем вам воспользоваться программой Alcohol 120%, это программа для прожига дисков. Но она не будет работать без драйвера, так что вам предстоит скачать и то и другое. А если наша версия драйверов вам все же не подошла, и вы не смогли самостоятельно найти подходящую, то программа DriverPack Solution, поможет найти нужный драйвер. Она работает автоматически, и спасет вас от длительных поисков не только драйверов для DVD дисковода, но и других, например сетевого драйвера или для HDMI.

Где найти драйверы для накопителя SATA?

Где найти драйверы для накопителя SATA?

Seagate не предоставляет драйверы для накопителей SATA, поскольку жесткие диски сами по себе не требуют особых драйверов. Такие операционные системы, как Windows или MacOS, могут не распознавать контроллер SATA в системе автоматически. Подобная ситуация особенно вероятна, если аппаратное обеспечение новее операционной системы.

Контроллер SATA встраивается в материнскую плату или представляет собой дополнительную плату SATA. Операционные системы Windows 7, Vista и XP обычно распознают контроллер SATA, встроенный в материнскую плату. Дополнительные платы SATA во многих случаях требуют применения драйвера. В любом случае, если накопитель не распознается установочным программным обеспечением операционной системы, требуется установить драйвер для контроллера.

Драйвер контроллера SATA обычно доступен на компакт-диске или на веб-сайте производителя компьютера, материнской платы или платы контроллера SATA.

Если контроллер SATA распознается в процессе установки без специальных драйверов, установку можно завершить. По завершении первоначальной установки проверьте наличие обновлений для драйверов от производителя ОС или контроллера.

Обычный порядок действий в ОС Windows.
При установке ОС Windows XP или 2000 с компакт-диска на чистый жесткий диск отображается приглашение нажать клавишу F6 для «установки дополнительных драйверов контроллера».

При установке ОС Windows 7 или Vista с DVD-диска на чистый жесткий диск отображается сообщение «Выберите раздел для установки Windows». Если жесткий диск SATA не отображается, щелкните «Загрузка драйвера».

«Дополнительный драйвер контроллера» — это драйвер контроллера SATA. Если контроллер SATA встроен в материнскую плату или представлен в виде дополнительной платы, нужные драйверы можно найти на компакт-диске или на веб-сайте производителя. За дополнительной информацией по установке драйверов контроллера SATA обращайтесь к руководству по настройке или установке, предоставляемому производителем.

Бесплатная загрузка и обновление драйверов CD / DVD дисковода

Автоматический поиск и обновление драйверов CD / DVD дисковода для вашего ПК с помощью базы данных Driver Booster 8 содержащей более 4,500,000 драйверов. Driver Booster 8 поможет поддерживать качественную и стабильную производительность ПК.

Система: Windows 10 / 8.1 / 8/7 / Vista / XP

Подкатегория: Драйверы CD / DVD дисковода

Должен ли я обновить драйверы CD / DVD дисковода для моего ПК?

Дисковод CD / DVD — это устройство, используемое в ПК для чтения и записи содержимого оптических дисков, и относительно распространенное аппаратное устройство в настольных компьютерах и ноутбуках. Однако с развитием технологий и постоянным обновлением, функции оптических дисков также были замены более удобными USB флеш-накопителями или мобильными жесткими дисками, поэтому все меньше компьютеров теперь оснащаются устройствами CD / DVD. Тем не менее, компакт-диски не были полностью исключены из нашей жизни. Например, приобретенные нами учебные материалы или журналы будут поставляться с компакт-дисками, поэтому время от времени нам все еще нужно оборудование для чтения компакт-дисков.

Обычно, если CD / DVD привод компьютера работает нормально, обновление не нужно. В противном случае вы можете попытаться определить, есть ли новая версия драйвера, и обновить привод CD / DVD. Обновление драйвера может устранить ошибки в старом драйвере, улучшить производительность устройства и совместимость с системой.

Как обновить драйверы CD / DVD дисковода для моего ПК?

Способ 1: Pучное обновление

Вы можете вручную обновить драйверы следующими способами:

1.1 Производители компьютеров

В соответствии с моделью устройства CD / DVD дисковода и версией системы найдите и скачайте соответствующий драйвер CD / DVD дисковода на официальном веб-сайте производителей ПК (например, ASUS, MSI, GIGABYTE и т.д.) для установки.

* Драйверы нишевых устройств или некоторых производителей могут быть не найдены из-за отсутствия у некоторых производителей веб-сайта для загрузки драйверов.

1.2 Производители чипов / производители оборудования

Основные производители микросхем или устройства (такие как Realtek, Broadcom, NVIDIA, AMD, Intel и т.д.) предоставляют последние версии драйверов на официальном веб-сайте. Мы можем искать / загружать / устанавливать соответствующие драйверы на официальном веб-сайте в соответствии с моделью устройства CD / DVD дисковода .

* Драйверы нишевых устройств или некоторых производителей могут быть не найдены из-за отсутствия у некоторых производителей веб-сайта для загрузки драйверов.

1.3 Центр обновления Windows

Чтобы исправить ошибки / уязвимости и оптимизировать производительность системы, Microsoft предоставляет обновления некоторых драйверов CD / DVD дисковода через Windows Update/ диспетчер устройств.

* Microsoft предоставляет драйверы только для крупных производителей (таких как NVIDIA, Intel и т.д.), которые тесно сотрудничают при обновлении Windows, поэтому она может не найти требуемый драйвер устройства для обновления.

рекомендуется

Способ 2: Автоматическое обновление

Мы рекомендуем использовать надежную и профессиальную программу Driver Booster 8 для автоматического поиска / загрузки / установки / обновления устаревших драйверов CD / DVD дисковода в один клик.

Поиск драйверов
Загрузка драйверов
Установка драйвера
Обновление драйверов

Поиск драйверов

Мощная база данных Driver Booster может найти 3 500 000 последних и самых редких драйверов для более 5000 брендов устройств для ПК. Мы всегда обращаем внимание на статус выпуска драйверов на официальных сайтах основных производителей оборудования и своевременно собираем последние официальные драйверы для расширения нашей базы данных, чтобы предоставлять нашим пользователям последние обновления драйверов.

Загрузка драйверов

Пользователи могут загрузить последний установочный пакет с требуемой версией драйвера в соответствии с моделью устройства и системы непосредственно через Driver Booster, не заходя на официальный веб-сайт производителя. Driver Booster автоматически извлекает и загружает наиболее подходящий новый драйвер для вашего ПК на базе ОС Windows.

Установка драйвера

Driver Booster автоматически завершит весь процесс загрузки и установки нового драйвера, и перезагрузит компьютер после завершения установки, когда это необходимо. Таким образом, вы можете избежать долгого ручного обновления, сэкономить время и просто сосредоточиться на важных рабочих или развлекательных активностях на своем компьютере.

Обновление драйверов

Обновление в один клик всех устаревших драйверов устройств на компьютере, включая привод CD/DVD, микрофон, видеокарту, адаптер Wi-Fi, мышь, клавиатуру и другие устройства. Кроме того, программа предоставляет установку и обновление драйверов Game Ready и игровых компонентов, которые могут значительно повысить производительность компьютерных онлайн-игр и обеспечить более плавный игровой процесс.

Последние официальные драйверы

Все драйверы CD / DVD дисковода , предоставляемые Driver Booster, поступают по официальным каналам, таким как бренды устройств / производители микросхем / производители OEM. Driver Booster продолжает расширять базу данных и предоставляет последние подлинные обновления драйверов для своих пользователей.

Стабильное обновление драйверов

Все драйверы CD / DVD дисковода соответствуют правилам WHQL и прошли через строгий скрининг и процесс тестирования IObit. Мощный и продвинутый механизм обновления обеспечивает точное соответствие обновлений драйвера CD / DVD дисковода и гарантирует стабильный процесс обновления драйвера CD / DVD дисковода .

Безопасное обновление драйверов

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

Повышение производительности в играх

Благодаря мощной базе данных, содержащей более 4 500 000 драйверов и обновлению в режиме реального времени, включая игровые компоненты и драйверы Game Ready, а также функцию Game Boost набор данных функций позволит повысить производительность компьютерных игр настолько, что вы и ваши партнеры по командным играм сможете получить удовольствие от игр с максимальной производительностью!

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

Не рекомендуется обновлять: Сторонние веб-сайты для скачивания программ

С брендом и моделью CD / DVD дисковода поиск и загрузка драйверов на сторонних веб-сайтах нецелесообразен, если только вы не уверены, что предоставленный веб-сайтом драйвер CD / DVD дисковода является официальным. Конечно, вы также должны убедиться, что сайт является авторитетным и что загруженное программное обеспечение не имеет другого программного обеспечения в комплекте (вируса или программы-рекламщика).

Как другие оценивают Driver Booster

Публикации и награды в авторитетных СМИ и отзывы от 250 млн пользователей по всему миру

Юра Ямщиков

Здравствуйте, эта программа меня просто удивила, всё так оперативно и чётко вычислила про мои драйвера, скачала и переустановила на мой ПК все самые последние новинки, после чего мой ПК стал ещё лучше, стал быстрее работать ,спасибо вам разработчики. Сразу видно професиональный подход. ну просто нет слов, ещё раз спасибо вам за эту программу! И удачи вам в новых начинаниях!.

Только официальные и проверенные драйверы CD / DVD дисковода доступны для обновления

За счет большой проверенной базы драйверов Driver Booster 8 предоставляет решение по обновлению устаревших драйверов CD / DVD дисковода в один клик для любого бренда настольного компьютера или ноутбука, включая Dell, HP, Lenovo и т.д.

Самый простой способ поиска, установки и обновления драйверов для всех устройств комьютера Windows 10/8/7

Driver Booster 8 предлагает бесплатный, автоматический способ обновления драйверов, что позволит легко найти, скачать и установить нужные обновления драйверов для всех устройст компьютера, таких как устройства ввода/вывода, видеокарты, сетевые карты и т.д. Это позволяет повысить общую производительность ПК, улучшить производительность в играх и онлайн-сёрфинге.

Читайте также:  Linux kernel driver loading

Подписаться на IObit

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

Dvd sata драйвер для windows

Зачем и кому нужен такой драйвер ? Рассказываю: UniATA имеет смысл поставить, если к новой материнской плате не прилагаются драйвера для вашей старой операционки. Или наоборот — есть старая плата, на которую нужно водрузить новую винду. Конечно, есть стандартные встроенные драйвера, которые наверняка это железо опознают и будут с ним работать. Но как. В PIO режиме, т.е. 0.5-3 Мб/сек. А UniATA будет работать в DMA или UltraDMA режиме, что существенно (иногда даже в 10 раз) быстрее. А вот еще одна проблема — новые винты объемом больше 128 Гб (LBA-48 или BigLba). В старых операционках их поддержка не предусмотрена вообще, а новые требуют последних Service Pack’ов. Поддержка таких винтов в UniATA встроена. И наконец — ситуация смены материнской платы. Обычно это нетривиальная задача. Если просто сделать замену, драйвера от предыдущей платы не опознают новый IDE контроллер и система не загрузится. Придется возвращать плату назад, принудительно менять драйвера на стандартные, снова менять плату и устанавливать новые. О том, чтобы ходить со своим загрузочным винчестеров к друзьям в гости (или на работу) можно забыть (либо довольствоваться скоростью 0.5-3 Мб/сек). Поскольку UniATA поддерживает большой список контроллеров и в дополнение к списку понимает почти любые стандартные (обычные onboard primary/secondary), такая проблема тоже оказывается решенной. UniATA также понимает новые SATA и AHCI контроллеры. Ниже можно почитать более подробный (и более технический) список полезностей.

Features

  • поддержка DMA/UDMA (до ATA-133) на известных контроллерах и базового DMA — на совместимых
  • поддержка жестких дисков объемом больше 128Gb (LBA-48, EnableBigLba)
  • поддержка жестких дисков объемом больше 2Tb (SCSI READ16, WRITE16)
  • поддержка SerialATA (SATA, SATA-2, SATA-3)
  • поддержка NT3.51 (i386+ CPU), NT4, 2000, XP, 2003, 2005, Vista, 7, ReactOS (x86/i386)
  • поддержка SMP/HT
  • поддержка AHCI rev. 0.95 — 1.30
  • поддержка большого списка IDE controllers, а также любых других ATA/ATAPI совместимых контроллеров.
  • вся линейка режимов: UDMA0-UDMA6 (ATA-16/25/33/44/66/100/133)
  • не требует переустановки при смене IDE контроллера или мaтеринской платы
  • внутренняя очередь команд и исполнение операций чтения/записи в более оптимальной последовательности
  • user-mode утилита atactl для управления ATA/ATAPI устройствами. Можно находу менять режим передачи данных (PIO/DMA/UDMA).
  • настройки кеширования, скорости и многого другого в Registry
  • список плохих/ненадежных блоков, чтобы драйвер не мучал диск, а сразу возвращал ошибку (Nikolai Vorontsov).
  • NEW поддержка SCT Command Transport (используется smartmontools)
  • Горячая замена IDE устройств в OS младше w2k (Mike)

Plans

  • Человеческий инсталятор
  • Поддержка RAID (mirror, stripping, mirror+stripping)
  • PNP (WDM) реализация для w2k и старше
  • Поддержка 64-битных версий Windows
  • Поддержка RAID (mirror, stripping, mirror+stripping)
  • Поддержка Win 9x/ME (есть уже частично работающая сборка, спасибо Xeno)
  • работа с BIOS INT13 (Alexei Chipovalov)
  • эмуляция MODE SENSE/MODE SELECT на IDE устройствах (винтах) для управления кешированием, спящим режимом и т.п. (уже в разработке)
  • поддержка древних MFM жестких дисков (KtP)

History

Обчитавшись спецификаций (винтов, ATAPI и ATA/IDE контроллеров) и сорцов (от NT4 и FreeBSD) я нарисовал версию BusMaster_v8a_ok.rar/tgz (52.1 Kb/60.5 Kb) (v 0.8a), успешно понявшую все доступные мне контроллеры, а именно:

  1. VIA 82C586 (ETEQ) на SOYO-5EHM
  2. VIA 8233 на Soltek-DRV4
  3. CMD 649 (дополнительный PCI контроллер)

А чуть позже и такие:

  1. Intel ICH on

    10 different machines

  2. Intel ICH2 on Dual-Processor machine
  3. ServerWorks CSB5 on Dual-Processor machine
  4. AcerLabs Aladdin V (Rev 0xC4) on Notebook
  5. Intel PIIX3
  6. VIA 82C686
  7. nVidia nForce MCP51 (PATA and SATA)

By design, драйвер инициализирует любое PCI устройство, считающее себя IDE Controller’ом, а также well-known Mass-storage Controllers:

Intel PIIX / PIIX3 / PIIX4
Intel ICH / ICH0 / ICH2
AcerLabs Aladdin ATA / ATA33
VIA ATAxxx
SiS 5591 ATA33
CMD 649 ATA100 checked
CMD 648 / 646
Cyrix 5530 ATA33
AMD 756 ATA66
ServerWorks ROSB4 ATA33
Promise TX2 ATA33 / ATA66 / ATA100
HighPoint ATAxxx
Intel ICH3, PIIX4e
nVIDIA nForce/nForce2
AMD 768, 766, 756
ServerWorks CSB5 ATA66/100
Promise TX2 ATA133
Promise Ultra/FastTrak 33/66/100
Promise OEM ATA100 Acard ATPxxxx 33/66/100
Cenatek Rocket Drive Intel ICH4 /ICH5, PIIX4e
SiS Family
Intel ICH6
National Geode SC1100
IT8xxx
Intel ICH7, ICH8
ATI
nVIDIA nForce3/nForce4
buggy controllers:

PC Technology RZ 1000
PC Technology 37C922
CMD 640
SiS83C601

Проверить все это многообразие устройств достаточно трудно. Но некоторые матрицы совместимости (к-во проверенных машин) можно посмотреть здесь.

Version

На Новый Год, под елочку 🙂

  • Введена поддержка SATA/SATA-2 для VIA, SII, SIS, INTEL (кроме AHCI режима), ATI, NVIDIA, SERVERWORKS, ALI. Это серьезное изменение номер 1.
  • Сделана виртуальная адресация регистров контроллера. Это позволяет очень легко добавлять поддержку контроллеров с нестандартным расположением управляющих регистров. Все SATA (не AHCI) таковыми являются. Это серьезное изменение номер 0.
  • Теперь драйвер использует спец. библиотеку из комплекта DbgDump, которая позволяет обходить различия API разных версий NT.
  • Сделана поддержка более 2х каналов на одном контроллере.
  • Сделана проверка физ. адресов на 32битность. А то систем с физ. памятью больше 4Гб становится все больше. А контроллеров, умеющих такое пока мало.
    2006.12.30
    Release Версия 0.33h2 (rar/tgz) — 83.3 Kb/99.8 Kb.
    и исходники 0.33h2 (rar/tgz) — 175.4 Kb/218.1 Kb.
    Debug Версия 0.33h2 (rar/tgz) — 196.9 Kb/240.5 Kb.
    NT3.51 Debug

    Не прошло и года, как вышла новая версия 🙂

  • Наконец я сделал представление стандартного 2х-канального контроллера в виде 2х логических устройств в системах Win 2000 и старше. Ранее этот контроллер представлялся как одно устройство с 2мя прерываниями (у каждого канала свое). Работало это когда как. Вероятно, в зависимости от фазы луны и высоты над уровнем моря. Это серьезное изменение номер 1.
  • Понял и научился правильно использовать SCSIPORT’овое API для отложеной обработки прерываний. Оказалось, что пользоваться стоит только таймером. А ScsiPortNotification(CallDisableInterrupts, . ) и ScsiPortNotification(CallEnableInterrupts, . ) не годятся. Хотя они и понижают IRQL и тем самым дают зеленый свет другим прерываниям, совместное использование их с таймером приводит к повисанию. А ожидание готовности ATAPI устройства — процесс иногда длительный. И лучше применять отложеную обработку по таймеру. Что и было сделано. И никаких больше танцев с бубном 🙂 Это серьезное изменение номер 2.
  • Найдена и исправлена страшная ошибка в коде сброса контроллера. Если сброс произошел во время обработки рекурсивного запроса, то сообщение об отмене операции не отправлялось для верхнеуровневого (исходного) запроса. А это часто происходит при инициализации ATAPI устройств, и как следствие — ставим UniATA и не можем загрузить систему.
  • Исправлен код реинициализации PIO/DMA режима перед передачей ATAPI команд. Как оказалось, не все безобидные на вид команды можно исполнять в DMA режиме. Даже если не требуется передача данных. Поэтому приходится для таких команд переключать устройство в PIO, а потом обратно.
  • В коде установки режимя передачи данных при проверке готовности устройства теперь не проверяется бит IDE_STATUS_ERROR, т.к. он свидетельствует только о том, что предыдущая операция завершилась с ошибкой.
  • Исправлена ошибка с неинициализированной переменной (вектор прерывания) в коде поиска старых ISA IDE контроллеров. На некоторых системах это приводило к синему экрану.
  • Из кода поиска контроллеров убран опрос подключенных устройств. Для ускорения загрузки ОС. Все равно опрос устройств инициируется системой после того, как мы сообщаем ей об обнаружении контроллера. Это было наследие исходного драйвера ATAPI.SYS, который по задумке разработчиков не должен был инициализировать контроллер при отсутствии ATAPI устройств, вместо него этим должен был заниматься ATDISK.SYS. Сейчас же это только тормозит (двойная работа все-таки).
    2006.09.05
    Release Версия 0.33d (rar/tgz) — 82.9 Kb/99.4 Kb.
    и исходники 0.33d (rar/tgz) — 175 Kb/217.4 Kb.
    Debug Версия 0.33d (rar/tgz) — 195.6 Kb/237.5 Kb.
  • Оптимизированы функции длительного ожидания готовности устройства.
  • Добавлен сброс DMA контроллера (выполняется последовательность действий для завершения DMA операции) после сброса контроллера, т.к. иначе в некоторых случаях могут возникать unexpected interrupts (при этом устройства возвращают статус IDLE).
  • Улучшена проверка источника прерывания. Во-первых обязательно проверяется BM_STATUS_INTR в регистре статуса DMA вне зависимости от того, была ли это PIO или DMA операция. Во вторых, при наличии установленого BM_STATUS_INTR игнорируется бит BUSY в регистре статуса IDE устройства, и канал переводится в состояние ожидания готовности устройства. Ранее такая ситуация считалась unexpected interrupt’ом, что не соответствует действительности. Также убрано требование отсутствия BM_STATUS_ACTIVE при наличии BM_STATUS_INTR. В случае ошибок устройства это вполне реальная комбинация и прерывание должно быть обслужено.
  • Улучшен порядок преверки каналов на готовность для многоканальных контроллеров. Теперь в первую очередь проверяются каналы, ожидающие прерывание.
  • Исправлена ошибка с парностью вызовов запрещения/разрешения прерываний при отложеной обработке (DPC, Timer DPC). Как правило, обработка откладывается на некоторое время и передается в другой поток с более низким приоритетом если требуется подождать готовности устройства.
  • Реализована возможность исполнения не ATAPI команд в DMA режиме помимо READ/WRITE BLOCK (для них это уже давно сделано).
  • Добавлена проверка статуса IDE устройства на 0xff перед отправкой очередной команды. Это значение говорит либо о повисании устройства, либо о его отсутствии.
  • Исправлен ряд ошибок со сменой начального DMA режима и в процессе работы. Где-то забыл флаг DMA операции сбросить, где-то сравнил знаковые числа как беззнаковые и т.п. Мелочи, а из-за них не все работает.
  • Добавлена проверка на готовность устройства с приему команды переключения режима передачи.
  • В atactl.exe сделаны более осмысленные сообщения об ошибках.
    2006.03.18
    Release Версия 0.32a2 (rar/tgz) — 81.9 Kb/98.5 Kb.
    и исходники 0.32a2 (rar/tgz) — 172.3 Kb/214.7 Kb.
    Debug Версия 0.32a2 (rar/tgz) — 192.2 Kb/234.5 Kb.
  • Исправлена ошибка в коде поддержки семейства nForce. Эти контроллеры отличаются от VIA и AMD тем, что адреса управляющих регистров смещены на 16 байт. В процессе эволюции для этих контроллеров из внутреннего списка поддерживаемых устройств был убран флаг NVIDIA как избыточный (все равно ведь можно по VensdorId определить). А вот в том месте, где контроллер программируется, проверка осталась старой (по флагу). В результате при подключении устройств на secondary канал контроллер просто вешался от действий драйвера (не в те регистры записали). Почему это все работало с primary каналом мне непонятно, Типа чудо 🙂
    2005.11.29
    Release Версия 0.32a (rar/tgz) — 81.8 Kb/98.4 Kb.
    и исходники 0.32a (rar/tgz) — 172 Kb/214.3 Kb.
    Debug Версия 0.32a (rar/tgz) — 191.5 Kb/234 Kb.
  • В atactl.exe добавлена возможность определения режима (PIO/DMA/UDMA) даже при отсутствии драйвера UniATA.
  • Начаты изменения связаные с портированием в NT3.51 (спасибо KtP) и ReactOS (спасибо Root).
  • Добавлена поддержка новых ICH6 и ICH7, а также VIA 6421.
  • Исправлена ошибка в коде поддержки nForce и nForce2. По ошибке для этих контроллеров во внутреннем списке поддерживаемых устройств был установлен флаг AMDBUG.
  • Изменены параметры инициализации (timings) для семейства HighPoint.
  • Исправлена ошибка в установке логической геометрии для больших дисков. Было 255 секторов, 63 головки, а должно быть наоборот.
  • Добавлена поддержка (точнее трансляция в из SCSI в ATA) команды SCSIOP_MEDIUM_REMOVAL для не-ATAPI устройств.
  • Исправлена ошибка в коде поддержки старых жестких дисков, которые на сбрасывают DRQ после окончания передачи данных.
  • Исправлен ряд ошибок в коде инициализации устройств. Там была путаница с наследованием ограничений скорости передачи данных в иерархии дескрипторов controller-channel-device.
  • Улучшен код переключения между режимами PIO/DMA.
    2005.10.14
    Release Версия 0.31f (rar/tgz) — 80.4 Kb/96.4 Kb.
    и исходники 0.31f (rar/tgz) — 166.9 Kb/207.4 Kb.
    Debug Версия 0.31f (rar/tgz) — 190 Kb/232.3 Kb.
  • Исправлена ошибка в .INF файле для NT4. UniATA устанавливался как System Bus Extender, а disk.sys надеялся, что загрузится хотя бы 1 SCSI miniport. В результате система не грузила disk.sys и не могла найти свой boot device. Спасибо Axxie.
  • Сделал более стандартный метод вычисления логической геометрии. Для лучшей совместимости с предыдущими версиями в Registry settings добавлена возможность указать этот метод вручную. Подробности читайте в описании параметра GeomType.
  • Вместе с Debug версией теперь идет отладочная информация в виде .PDB. Кроме того, для Release .PDB тоже автоматически создается при сборке.

    2005.04.22
    Release Версия 0.31d (rar/tgz) — 80.1 Kb/96.1 Kb.
    и исходники 0.31d (rar/tgz) — 166.2 Kb/206.7 Kb.
    Debug Версия 0.31d (rar/tgz) — 111.8 Kb/131.6 Kb.
    Исправлен еще ряд ошибок в коде обработки неправильного адреса устройства на шине.
    2005.04.09
    Debug Версия 0.31c (rar/tgz) — 111.8 Kb/131.6 Kb.
    Release Версия 0.31c (rar/tgz) — 80.1 Kb/96.1 Kb.
    и исходники 0.31c (rar/tgz) — 166.3 Kb/206.6 Kb.
    Исправлена ошибка в коде проверки правильности адреса на шине. Написал ‘>’ вместо ‘>=’. Как следствие — crash при обращении к несуществующему каналу N2 (это тот, что идет после N0 и N1).
    2005.04.05
    Release Версия 0.31b (rar/tgz) — 80.1 Kb/96.1 Kb.
    и исходники 0.31b (rar/tgz) — 166.1 Kb/206.5 Kb.
    Debug Версия 0.31b (rar/tgz) — 111.8 Kb/131.6 Kb.

  • Расширил Registry settings для управления поддерживаемыми устройствами. Теперь можно отдельно включать/выключать поддержку PCI, ISA, ISA/PCI Compat, MCA.
  • Также в отладочных целях добавлена возможность выдачи Debug-сообщений прямо на синий экран
  • В список устройств добавлено HiNT VXPro II. Правда, мы с ним пока еще не работаем 🙂
    Note: не устанавливайте Debug версию в Win 2000 и старше без DbgPrint Dump, настроенного следующим образом: 2005.03.04
    Версия 0.31a (rar/tgz) — 80 Kb/96 Kb.
    и исходники 0.31a (rar/tgz) — 165.9 Kb/206.3 Kb.
  • Нашел и исправил неинициализированую структуру. Это был DEVICE_EXTENSION (в который входят перемынные состояний каналов, подключеных устройств и обработчиков прерываний. На большинстве машин, участвовавших в тестировании там изначально были нули. А вот на некоторых (достоверно известна только одна машинка, за что спасибо Axxie), память была уже чем-то заполнена.
  • Также поступило интересное сообщение от Mike. У него UniATA работает на ICH4 в NT4+sp6a.
    2005.03.04
    Версия 0.31 (rar/tgz) — 79.6 Kb/95.6 Kb.
    и исходники 0.31 (rar/tgz) — 165.1 Kb/205.4 Kb.
  • Полностью переписан код по борьбе с ATAPI устройствами, генерирующими INTR не сбрасывая BSY. Thanks to Root за терпение при тестировании 🙂
  • Исправлена последовательность действий по отправке ATAPI команд. В одном месте не сбрасывался interrupt status, а в другом слишком рано разрешались прерывания.
  • Добавлен сброс interrupt status при сбросе контроллера. На всякий случай.
  • Еще немного расширил Registry settings и исправил ряд глюков
    2005.02.20
    Debug Версия 0.30i (rar/tgz) — 101.6 Kb/119.8 Kb.
    Версия 0.30i (rar/tgz) — 79.2 Kb/95.2 Kb.
    и исходники 0.30i (rar/tgz) — 164.2 Kb/204.5 Kb.
  • Исправлен глюк (тормоза) в сбросе кэша винта при shutdown’е.
  • Влил в .INF еще одно исправление от Root
  • Добавлен экспериментальный код (взято из свежей FreeBSD) для борьбы с ATAPI устройствами, генерирующими INTR не сбрасывая BSY. Thanks to Root
  • Добавлен код для борьбы со следующим глюком SCSIPORT.SYS в NT4: если первая попытка инициализировать Compatible Mode IDE контроллер заканчивается ошибкой при проверке правильности списка запрошеных ресурсов, не сбрасывается флаг, говорящий о том, что этот контроллер уже инициализирован. В результате вторая попытка не проходит, т.к. драйвер видит, что контроллер уже кем-то занят. Thanks to Vitaliy Vorobyov aka deathsoftX@yandex.ru (remove X) за обнаружение и исправление.
  • Расширил и нормально задокументировал Registry settings
  • Снова выложена специальная Debug-версия с включенными логами.
    2005.02.08
    Debug Версия 0.30h (rar/tgz) — 99.9 Kb/118.2 Kb.
    Версия 0.30h (rar/tgz) — 78.3 Kb/94.3 Kb.
    и исходники 0.30h (rar/tgz) — 162.6 Kb/202.7 Kb.
  • Убрал слишком длинное ожидание готовности устройства в случае возникновения ошибки.
  • Сделал сброс кэша винта при shutdown’е.
  • Влил в .INF исправление от Root, может теперь глючить перестанет 🙂
  • В atactl.exe добавлена возможность reset’а отдельного устройства — ключ -r. Полезно при повисании ATAPI устройств.
  • Также выложен специальная Debug-версия с включенными логами.
    Note: не устанавливайте эту версию без DbgPrint Dump, настроенного следующим образом: 2005.01.30
    Версия 0.30g (rar/tgz) — 78.2 Kb/93.8 Kb.
    и исходники 0.30g (rar/tgz) — 161.5 Kb/201 Kb.
  • Обнаружил и исправил глюк: в некоторых ситуациях драйвер пытался перепрограммировать режим передачи данных одного из устройств на IDE канале, в то время как второе устройство обрабатывало команду. Это также иногда проявлялось при поступлении новой команды в очередь. Выражался глюк очень просто: система висла намертво.
    На моей машине устойчиво проявлялось только в очень специфических условиях. Но это при том, что на каждом IDE канале висит только одно устройство. При наличии 2х устройств все могло вылазить еще при загрузке ОС.
  • Похоже, что LBA48 уже работает нормально. А вот Intel ICH4 — все еще нет 🙁
    2005.01.16
    Версия 0.30e (rar/tgz) — 78.1 Kb/93.8 Kb.
    и исходники 0.30e (rar/tgz) — 160.9 Kb/200.4 Kb.
    Еще ряд исправлений в LBA48:
  • забыл установить бит IDE_USE_LBA при использовании LBA48 адресации
  • не было поддержки LBA48 для команды IDE_VERIFY — проверка поверхности
  • не всегда правильно обрабатывался READ NATIVE MAX LBA/SET MAX LBA
    а также полезное дополнение:
  • сделана утилика atactl.exe, позволяющая получать список IDE, SCSI и RAID контроллеров, а также информацию о подключенных к ним устройствах. Если в системе установлен драйвер UniATA, с помощью atactl.exe можно менять режим передачи данных для произвольного IDE/ATAPI устройства (PIO, DMA, UDMA).
  • немного оптимизирован код установки DMA режима для различных контроллеров. В результате удаления дублирующегося кода (см. ф-цию AtaSetTransferMode()) обнаружилось несколько несоответствий режима работы ATA/ATAPI устройства и контроллера.
    2005.01.02
    Версия 0.30c (rar/tgz) — 69.8 Kb/75.1 Kb.
    и исходники 0.30c (rar/tgz) — 148.6 Kb/176.8 Kb.
  • Исправил глюк в поддержке LBA48 — т.е. дисков объемом больше 128Gb. Проблема была в коде определения реального размера винта и смены логической геометрии. Некоторые винты после reset’а ограничивают свой размер до 32Gb (например мой Seagate Barracuda IV 40) или до 128Gb (живых примеров не знаю). И есть команды READ_NATIVE_LAST_LBA/SET_MAX_LBA, которыми винт можно перевести в нормальное состояние (полный объем). Плюс для винтов > 128Gb появились их 48-битные братья. А я и не знал 🙁 Получилось, что винт перепрограммировался на 128Gb.
    Огромное спасибо Александру Спелицину — spelX@mail.ru (remove X) за тестирование на 160Gb винте да еще и со старым контроллером — i440BX.
  • Исправил глюк в обработке флага UNIATA_NO_DPC_ATAPI — обход глюка с повисанием CMD-649 при подключении некоторых новых CD/DVD-приводов.
    2004.12.27
    Версия 0.30a (rar/tgz) — 67.9 Kb/72.5 Kb.
    и исходники 0.30a (rar/tgz) — 146.4 Kb/173.7 Kb.
  • Уже в который раз переписан код поддержки Intel ICH4. Точнее говоря, я вернул его к тому состоянию, в котором все как будто хорошо работало. Пока ничего не обещаю, посмотрим на результаты тестирования.
  • Пока нет правильной, идеологичной и 100% работы с ScsiPort драйвером, сделан хитрый workaround. А именно — пробуем инициализировать основной Onboard IDE controller 2-мя способами (хаки, о которых я писал раньше и жаловался, что на разных машинах по необяснимым причинам одни работают а другие нет). Пока опыт показывает, что хотя бы 1 из них работает. Опять таки — посмотрим.
    2004.12.05
    Версия 0.29j (rar/tgz) — 67.6 Kb/72 Kb.
    и исходники 0.29j (rar/tgz) — 145.5 Kb/172.6 Kb.
  • Багфикс в коде распознавания SiS контроллеров. Там вообще интересный алгоритм опознания. Есть 1 PCI IDE Controller c навечно прибитым гвоздями DeviceId/VendorID. И есть еще всякие Bridge Devices, по наличию которых определяется, что это за IDE Controller. Это так как и у VIA. А вот для еще некоторых моделей есть хитрая проверка: У IDE контроллера меняется 1 байт в PCI Config Space и проверяется, не изменился ли у него DeviceID (!). (Вообще, смена DeviceID на лету — это какой-то бред, но она таки происходит на некоторых SiS’ах и в частности на Mike’овском). Проблема была в том, что при переносе кода я потерял строчку, которая после проверки восстанавливает этот самый байт.
    Спасибо Mike’у за терпение в тестировании глючных версий и отправку вот таких баг-репортов (181 Kb).
    Так что пробуем.
    2004.09.21
  • Устранено еще несколько ошибок в коде для Intel, Acer и еще каких-то контроллеров. Довольно глупый баг оказался: поставил break в switch/case вместо return. В результате, после успешного перевода контроллера в UDMA режим, вызывался default код для переключения устройства (не контроллера!) в PIO-0.
  • Улучшена поддержка SiS контроллеров. за что большое спасибо Ivano Guerra. И конечно же, все это предстоит еще проверить на практике. Предлагается на пробу Версия 0.29i3 (rar/tgz) — 67.6 Kb/72 Kb.
    и исходники 0.29i3 (rar/tgz) — 144.9 Kb/171.9 Kb.
    2004.09.08
    Все в том-же коде поддержки Intel‘овских контроллеров ICHxxx найден еще баг. Похоже что по моему недосмотру. Приводит к повреждению данных на диске. Так что выход v29i отменяется до устранения.
    2004.08.26
    Версия 0.29i (rar/tgz) — 144.4 Kb/171.2 Kb.
  • В коде поддержки Intel‘овских контроллеров найден баг. Баг этот был скопирован из FBSD 5.2.1 (и все еще там присутствует). Я внимательно сравнил с очень старой версией и обнаружл, что в 16-битный регистр (PCI Config Space 0x54) записывается 32-битное значение (0x10000 Версия 0.29h (rar/tgz) — 66.9 Kb/71.4 Kb.
    и исходники 0.29h (rar/tgz) — 143.6 Kb/170.3 Kb.
  • Переписан код поддержки Intel‘овских контроллеров. Надеюсь, то что работало раньше работать не перестанет, а ICH4 — наконец-то заведется.
  • Перетянута поддержка еще целого ряда контроллеров из FBSD 5.2.1.
  • Исправил глюк в device include/exclude registry settings.
  • Сделана поддержка simplex-mode. Это когда IDE каналы работают поочереди. Для некоторых контроллеров этот режим просто необходим. Помимо автоопределения, simplex-mode может быть включен при помощи значения Registry DWORD:ForceSimplex в ключе HKLM\System\CurrentControlSet\Services\UniATA\Parameters или в подключе, специфичном для данного контроллера.
  • Сделана поддержка IDE устройств, отдающих в неактивном состоянии статус 0x40 (IDE_STATUS_DRDY) вместо привычных 0x50 (IDE_STATUS_IDLE). Такое нблюдалось в последней версии VMWare (4.5.1 build-7568). Спасибо Виталию за информацию и тестирование.
  • Переписан код балансировки загрузки IDE каналов (в simplex-mode) и устройств, подключенных к одному канало.
    2004.08.01
    Версия 0.29d (rar/tgz) — 62.4 Kb/66 Kb.
    и исходники 0.29d (rar/tgz) — 135.9 Kb/160.1 Kb.
  • Наконец-то разобрался, что за проблемы были при подключении некоторых новых CD/DVD-приводов к контроллерам CMD-64x. Висла винда при загрузке (и с моими дровами и XP с MS’овскими). Те же самые CD замечательно работали на onboard VIA IDE. Стал разбираться — оказалось виноват код, делающий Reset контроллера после опроса устройств. После этого (возможно еще из-за того, что DVD стоял slave, а драйвер перед окончанием инициализации принудительно выбирал master). Убрал — все зажужжало. Этот глючный код был взят из стандартного atapi драйвера еще от NT4, и по всей видимости MS его не меняла в новых виндах.
  • Проверил под XP. Работает, но PNP (и как следствие hibernate) с UniATA пока несовместимы. В w2k — то же самое. Буду разбираться.
    2004.06.05
    Версия 0.29c (rar/tgz) — 61.6 Kb/65.2 Kb.
    и исходники 0.29c (rar/tgz) — 133.9 Kb/157.9 Kb.
  • Исправлен код для работы с VIA 8235 и VIA 8233A. На сей шаг меня сподвигли дивные глюки, наблюдавшиеся на машинке VIA 8235. Тормозит, и работает с переменным успехом (данные то читаются, то нет). Посмотрел последнюю версию ATA дров от FBSD. Там никаких особенностей для этого контроллера. Зато в форумах стоит ругань на глюки с UDMA на VIA 8235. Посмотрел в Linux’е и уведел, что именно для VIA 8235 и VIA 8233A не перепрограммируется регистр PCI 0x4с. Я сделал точно также. Жалко только, что проверить пока не могу.
  • Еще при пересмотре кода увидел, что как-то неправильно (не так, как в FBSD’шном) оригинале вычислялся номер регистра для установки режима на Secondary channel в SiS’ах. Тоже поправил.
    2004.06.02
    Версия 0.29a (rar/tgz) — 61.1 Kb/64.7 Kb.
    и исходники 0.29a (rar/tgz) — 133.5 Kb/157.5 Kb.
  • Добавлена поддержка кучи новых контроллеров. Особенно это коснулось SiS и Promise.
  • Сделаны device/vendor-specific настройки в Registry.
    В ключе HKLM\System\CurrentControlSet\Services\UniATA можно создавать следующую иерархию ключей с настройками.
    Paramaters — наиболее глобальные настройки.
    Paramaters\Ven_VVVV — где VVVV — код производителя (см. PCI Dump)
    Paramaters\Ven_VVVV\Dev_DDDD, DDDD — код устройства. См. туда же.
    Paramaters\Ven_VVVV\Dev_DDDD\Slot_XXXXXXXX, XXXXXXXX — адрес на шине PCI.
    По хорошему. нужно было бы сделать удобный кофигуратор.
  • Сделаны Include/Exclude опции. Теперь можно создать DWORD значение с именем Include или Exclude в указанных выше ключах для включения/выключения UniATA на определенных контроллерах.
    2004.04.08
    Версия 0.29b (rar/tgz) — 61.5 Kb/65.1 Kb.
    и исходники 0.29b (rar/tgz) — 133.8 Kb/157.8 Kb.
  • Поправил файлики OEMSETUP.INF и TXTSETUP.OEM. Успешно добавил UniATA во время установки w2k и поставил ее на винт, подключеный к CMD649 IDE контроллеру. Надо сказать, что w2k сама по себе об этом контроллере ничего не знает. Из этого я сделал вывод, что теперь эти файлы правильные. Enjoy.
    2004.05.19
    Версия 0.28 (rar/tgz) — 58.3 Kb/61.8 Kb.
    и исходники 0.28 (rar/tgz) — 127.2 Kb/149.1 Kb.
  • Исправлен код включения/выключения прерываний (раньше работал только для Primary канала).
  • Наконец-то окончательно убрана зависимость поддержки DMA от системного ScsiPort драйвера. Теперь UniATA самостоятельно транслирует виртуальные адреса в физические (что необходимо для работы DMA). За счет этого во первых ушла потребность в использховании хакерских методов при инициализации (приходилось прикидываться PCI устройством, имея на самом деле ISA интерфейс). А во вторых, ушло копирование данных между DMA буфером и пользовательским.
    2004.02.24
    Версия 0.27a (rar/tgz) — 58.2 Kb/61.9 Kb.
    и исходники 0.27a (rar/tgz) — 124.7 Kb/147.6 Kb.
  • Исправлен код обработки ошибок для ATAPI устройств (CD-ROM/RW, etc.). На некоторых устройствах после получения ошибки необходимо дождаться установки бита DRQ в регистре статуса.
    2004.01.20
    Версия 0.27 (rar/tgz) — 58.3 Kb/61.8 Kb.
    и исходники 0.27 (rar/tgz) — 125.5 Kb/147.1 Kb.
  • Thanks to Vitaliy Vorobyov aka deathsoftX@yandex.ru (remove X).
    Исправлен код инициализации для NT4+SP6a
  • Thanks to Vitaliy Vorobyov again, за переписывание INF. файла для NT4.
  • Код, использующий задержки, вынесен из обработчика прерываний (ISR) в отдельный поток (DPC).
    2004.01.16
    Версия 0.26c (rar/tgz) — 55.8 Kb/59 Kb.
    и исходники 0.26c (rar/tgz) — 120.7 Kb/141.4 Kb.
  • Исправил код обработки ошибок передачи данных в DMA режиме. Предыдущие версии вешались наглухо в такой ситуации. Как показал эксперимент, проблема состояла в том, что после ошибки необходимо дождаться сигнала готовности от HDD перед повторным исполнение команды.
    Отдельное спасибо Alex Y. Matiash за сообщение об ошибке.
  • Исправил код обработки прерывания для CMD 649 и CMD 648 контроллеров
    2003.12.26
    Версия 0.26 (rar/tgz) — 55.7 Kb/59 Kb.
    и исходники 0.26 (rar/tgz) — 119.3 Kb/140 Kb.
  • Отключил поддержку Promise и HighPoint RAID по умолчанию, так как RAID мы пока не умеем.
    Оставил возможность работать с этими контроллерами как с обычными 2-канальными ATA контроллерами. Включается ключиком
  • Добавил в дистрибутив утилитку для пересборки .INF-файла для w2k, которая сканирует PCI устройства и добавляет в список совместимые, но не вошедшие в список (на момент сборки драйвера) IDE контроллеры.
    2003.09.23
    Версия 0.26b (rar/tgz) — 55.8 Kb/59 Kb.
    и исходники 0.26b (rar/tgz) — 120.6 Kb/141.2 Kb.
  • Исправил глюк при работе DMA на некоторых видах CD-ROM’ов.
    2003.11.08
    Версия 0.25f (rar/tgz) — 36.9 Kb/38.6 Kb.
    и исходники 0.25f (rar/tgz) — 100.6 Kb/119.1 Kb.
    2003.09.12
    Версия 0.25e (rar/tgz) — 164.3 Kb/200.1 Kb.
  • Исправлена бага, из-за которой под w2k не работал второй канал onboard контроллеров. Проблема состояла в том, что NT4 позволяла в процессе инициализации обходными путями зарегистрировать 2 PCI устройства, имеющих одинаковые адреса на PCI шине, но использующих разные системные ресурсы (порты ввода/выводи и прерывания). В w2k такой фокус не работает, поэтому там создается одно устройство, использующее два прерывания.
  • Добавил поддержку для AdapterControl — включение/выключение контроллера прерываний по желанию операционной системы (w2k и старше).
  • Тестирование показало, что функциональность PnP под w2k пока не работает. Основная трудность — для поддержки PnP необходимо создать в Registry и установочном .INF файле список поддерживаемых устройств. Это плохо сочетается с универсальностью. Возможно будут сделаны утилиты, создающие/ пополняющие .INF файл и/или записи в Registry на основе результатов опроса PCI шины. Возможно также придется создать 2 сервиса, использующие один uniata.sys, но в разных режимах:
    — один в PnP для фиксированного (с точки зрения операционки) списка устройств
    — второй в Legacy режиме, который будет подхватывать все остальные контроллеры
    2003.09.01
    Версия 0.25a (rar/tgz) — 157.5 Kb/192.6 Kb.
  • Оказалось, что работать с onboard контроллерами мешал PciIde.sys, который как раз такими контроллерами и занимается. Поэтому я сделал простенький BAT-файл, который копирует UniATA.sys, создает необходимые ключи в Registry и отключает загрузку PciIde.
    Теперь работает и в w2k .
  • Навел порядок в readme файлах. Они теперь есть для w2k (readme_w2k.txt) и NT4 (readme_nt4.txt), плюс сохранена старая версия (readme_nt4_old.txt). Все это переехало в каталоги XXX_Dist.
    2003.08.24
    В процессе прикручивания поддержки w2k обнаружил, что даже довольно старые версии работают в этой самой w2k. Но к сожалению только с дополнительными контроллерами. Сейчас думаю, как бы обмануть стандартный для w2k/XP IDE miniport, чтобы он не пыталься работать с onboard (Compatible Mode) IDE.
    2003.07.12
    Версия 0.25 (rar/tgz) — 155.2 Kb/187.5 Kb.
  • Добавлена поддержка Acard и nForce2 IDE контроллеров.
  • Исправлены неточности в коде поддержки DMA для Promise IDE.
  • Сделана проверка использования DMA перед обращением к регистрам контроллера. 2003.06.03
    Версия 0.24 (rar/tgz) — 153.1 Kb/185.2 Kb.
  • Отключена поддержка DMA для ATAPI устройств на контроллерах ServerWorks. Не работает 🙁
  • Исправлена бага с попыткой использованя SET_GEOMETRY на оччень старых винтах
  • Нормально отрабатывается ситуация с поддержкой DWordIO (32bit) на тех же оччень старых винтах. Утверждают, что умеют. Обманывают.
  • Пробовал под w2k. Не работает. 2003.02.15
    Версия 0.23e (rar/tgz) — 152.8 Kb/184.9 Kb.
  • Добавлен код для правильной работы с некоторыми устройствами (Yamaha-CRW2100), имеющими привычку генерировать Unexpected Interrupt в процессе инициализации (несколько позже, чем можно было предположить).
    2002.11.25
    Версия 0.23d (rar/tgz) — 152.8 Kb/184.9 Kb.
  • Исправлена бага в .INF файле
  • .INF файлы вместе с uniata.sys уехали в Debug_Dist и Release_Dist директории
  • в idedma.mak добавлен новый target PKG c параметром VER. Например текущая версия вместе с дистрибутивами собиралась так:
    nmake PKG VER=»23d_ok»
  • сделана новая инструкция по инсталяции (внутри архива).
    2002.11.14
    Версия 0.23c (rar/tgz) — 155.4 Kb/188.9 Kb.
  • Исправлена жирная бага, способная ронять машину при исполнении DSC-restrictive commands (Таких как SEEK, PLAY_CD, immediate LOAD/UNLOAD, etc.). Обнаружилась при попытке послушать Audio-CD. Эта же бага могла приводить к неработоспособности сдвоенных контроллеров. (Это когда несколько IDE каналов видятся через одно PCI устройство).
  • .INF файлы уехали в Debug и Release директории для инсталляции соответствующего build’а
    2002.11.04
    Версия 0.23 (rar/tgz) — 147.3 Kb/176.6 Kb.
    Только брать ее не надо, она глючная ;). Есть 0.23b BusMaster_v23b_ok.rar/tgz (148.9 Kb/198.7 Kb) , которая хорошая, но я ее еще не принес.
    Уже принес. Вот она — BusMaster_v23b_ok.rar
  • Оптимизирован по размеру код инициализации большинства контроллеров.
  • Сделаны независимые очереди команд для Master и Slave устройств. Теперь command reordering осуществляется для каждого конкретного устройства более эффективно. Очередь, из которой выбирается следующая команда определяется по отдельному алгоритму. Пока учитывается только размер очереди, но в ближайшее время я планирую сделать нечто более умное.
  • Сделан инсталяционный .INF файл (лежит в директории Dist) 2002.10.11(29)
    Версия 0.22b (rar/tgz) — 146.1 Kb/173.5 Kb.
    Немного менее глюкавая
  • Исправлен код инициализации VIA-compatible chipsets. Теперь нормально отрабатывается вариант неизвестной версии (Revision Id) контроллера.
  • Исправлен код инициализации некоторых указателей при поиске контроллеров. Иногда они оказывались NULL’ами.
  • Написан человеческий механизм уменьшения скорости передачи при высоком CRC Error-rate. Теперь не падаем сразу в PIO, а плавно снижаем скорость. Если обнаруживается, что ошибок намного меньше в каком-то определенном режиме, устройство окончательно переводится в этот режим и не поднимается выше. Это решает trouble с использованием 40-проводникового кабеля вместо 80 для устройств, понимающих UDMA66+, но не устанавливающих бит, соответствующий типу кабеля в IDENTIFY_INFORMATION. 2002.10.10
    Опять Ура! Получилась новая версия BusMaster_v21d_ok.rar/tgz (87.8 Kb/108.2 Kb) (v 0.21d). Буду очень признателен всем, кто возьмет потестить и расскажет, где оно работает, а где не очень (у меня дома — работает. В качестве единственного драйвера для onboard и additional PCI IDE контроллеров. Вместо atapi.sys и прочего).
  • Добавлено DMA/UDMA для ATAPI устройств.
  • Очень поменялась идеология работы с контроллерами, предоставляющими достум к обоим каналам через 1 PCI устройство. При проектировании NT в идеологию не была заложена возможность параллельной работы 2х каналов на 1 устройстве. Пришлось пользоваться обходными путями (Создавать дополнительный DeviceObject, который бы во время обслуживания одного канала ловил прерывания от другого и складывал их в очередь).
  • Сделана сортировка запросов при помещении в очередь. Теперь быстрее работает сканирование больших деревьев директорий, даже при параллельном доступе (6.00 минут -> 5.30). Пробовал мерять для простого копирования — результаты неустойчивые при более-менее одинаковых условиях. Буду еще эксперементировать с методом сортировки. 2002.09.16
    Ура! Получилась работающая версия BusMaster_v13b_ok.rar/tgz (97.4 Kb/112.6 Kb) (v 0.13b). умеющая DMA.
  • Собственно запущен DMA engine .
  • Поправлен механизм инициализации Primary/Secondary на одном контроллере.
  • Добавлена поддержка Generic DMA (Single Word DMA, mode 0) на случай, если другое режимы не инициализируются (например на неизвестном типе контроллера). Согласно спецификации, BusMaster должен автоматически переводиться в этот режим после включения питания или reset’а.
  • Уменьшено с 5 до 0.05 секунд время ожидания ответа от устройства в обработчике прерывания. Это очень неправильно — блокировать прерывания / переключение thread’ов при повисшем устройстве. Особенно учитывая тот факт, что без этого можно (и даже, согласно рекомендациям Microsoft, нужно) обходиться. 2002.06.25
    Версия 0.9 (rar/tgz) — 54.1 Kb/62.1 Kb.
  • Сделан идеологически правильный алгоритм поиска и инициализации устройств.
  • Исправлены баги с инициализацией MasterIde controller (это тот, что onboard и обычно работает через ISA-to-PCI bridge). Как оказалось, работать с этим счастьем через PCI шину нельзя. Контроллер виден, но IRQ и IO-range для него не выделены (подозреваю, что сделано для какой-то совместимости). Вместо этого следует пользоваться стандартными IRQ/IO-rangres:
      Primary channel — IRQ 14 / IO 0x1f0
      Secondary channel — IRQ 15 / IO 0x170

    2002.06.01

    По дороге обнаружил интересную вещь: некоторые винты (в частности мой Seagate Barracuda ATA 4) by default занижают свой размер до 32Gb, что требует использования специальных команд для правильного определения размера (см. спецификации, keyword=»READ/SET NATIVE MAX LBA»)

    Читайте также:  Onekey theatre windows 10
  • Оцените статью