Опять в туже сторону... Веришь или нет мне так-то наплевать, что ты обо мне думаешь, я просто хочу получить от тебя конкретных доказательств, того, что реализовал неправильный протокол обмена. Там описывается команда DOWNLOAD MICROCODE, кинь ссыль на твою версию даташита, может страницы не совпадают. Если чего у меня T13/1532D Volume 1 Revision 3a.
Именно, свой код. Мне, как программисту, на это абсолютно начхать. Гонишь. Мне, как программисту, на это абсолютно начхать. Я где-то писал про 12 дисков, да тем более на одном контролере? Перестань высасывать глупости из пальца, и делать вид, что их сказал твой оппонент. PS: Я вот не пойму, что ты добиваешь? Показать какой ты классный программист и как ты клево разбираешься в железе? У тебя это не получилось, а скорее на оборот. Убедить меня, что предложенный тобой алгоритм лучший для поставленной задачи? Это не верно. Данный алгоритм вообще не подходит для решения поставленной задачи. Сам алгоритм, и причины, были описаны еще до твоего появления ветке.
А кто-то говорит о протоколе обмена? Задача четко сформулирована в первом посте. Опять ты че-то не то за меня домыслил. на будущее: НИКОГДА! не нужно выдумывать задачу за топик стартера, и решать ее. Нужно будет, об этом попросят. Тем более не нужно доказывать, что решение выдуманной задачи, является решением задачи поставленной топик стартером. T13/1532D Volume 1 Revision 1a. В бумажном варианте.
К примеру по линейке Интел: www.intel.com/assets/pdf/datasheet/316972.pdf www.intel.com/assets/pdf/datasheet/319973.pdf IDE устарели, они не позволяют использовать все возможности SATA и я не удивлюсь, что скоро выпилят и эмуляцию. Так, что рекомендую посмотреть в сторону AHCI.
Я еще раз повторяю, скажи мне тот контроллер или HDD на котором я смогу лицезреть некорректную работу драйвера. Я отлаживал драйвер в течении нескольких лет на разном железе и сейчас тоже если есть свободное время, относительно недавно доделал SATA (правда пока еще мало тестировал). Та что твои "посмотри" для меня не аргумент.
Даже если ты в точности реализуешь общий стандарт, то это не означает, что твой драйвер будет поддерживать все устройства. Я тебе таких контроллеров с "особенностями" могу целый список привести, ну к примеру посмотри контроллеры VIA. Если бы было все так просто, то та же M$ не писала бы для IDE разных фирм отдельные драйверы. Конечно для IDE все-таки можно реализовать частично универсальный драйвер, но с кучей ограничений, особенно касаемо передачи по DMA. И да, очень плохо, что тебе на это "начхать", все равно для написания драйвера, который будет рабоать на реальном железе тебе придется читать документацию производителей.
А ты не думал, что для разных каналов (не надо начинать срач, некоторые ограничения и без тебя знаю), тем более контроллеров все можно делать параллельно?
Как я понял задачу, так и ответил в сообщениях, если "не в тему" то можно было об этом нормально сказать и уточнить вопрос, причем именно уточнить, а не сказать что-то типа "а по сабжу?". А ты начал обсирать все мои слова, за что получил соотв. ответы.
И где противоречия? Рекомендую прочитать про прерывания, устройство не пошлет запрос прерывания при BSY!=0 (в данном случае).
Ты ее понял не правильно. Или просто глубоко ошибаешься, что своим криво реализованным алгоритмом, причем описанным именно Кулаковым, можно решить поставленную задачу. Почему, я уже отвечал. О том, что предложенный тобой алгоритм не применим для решения задачи, я писал еще до начала писания тобой в эту ветку. На все остальное, я даже не вижу смысла отвечать. Так как по стилю твоего письма и манере ведения диалога, я вижу, что твоя единственная цель намотать счетчик сообщений.
drem1lin, забей в гугль "T13/1532D Volume 1" MisHel64, перечитал первые сообщения. Я так понял, что тебе и поддержка ATAPI нужна, мог бы прямым тестом сказать и без отсыланий по N1, 2, 3... Че-то сразу как говорится "не дошло", по той причине, что приводом уже наверное года три не пользуюсь, то даже не подумал, а на фоне посыпавшихся необоснованных оскорблений и отпало всякое желание в оном. В таком случае наверное самое оптимальное использовать команду execute device diagnostic, хотя не стоит ждать от нее быстрого ответа. Я сам поддержку ATAPI не делал и не собираюсь. Тема превратилась непонятно во что, поэтому из нее я пожалуй выйду....
Вот с этого и нужно было начинать. А я прямым текстом и сказал..... И тем более не вижу смысла повторятся. Кто хочет, тот поймет с перовой попытки. Кто не хочет тот не поймет и с 10й. Ты же так и не понял, судя по этой цитате, что именно мне нужно. Да нет, по несколько другой причине. Диагностика ATA и ATAPI устройств совершенно не отличается алгоритмом. Ты не прав, Аркаша... И про эту команду я могу сказать все то же самое, что и про предложенный тобой повторно метод. Все недостатки тут то же присутствуют. Благодаря твоим стараниям, да. Загадили конкретно.