АТА/pi-команда диагностики уст-ва.
EXECUTE DEVICE DIAGNOSTIC - произвести диагностику устройства
'В процессе выполнения операции подключенные к каналу устройства поочередно выдают хосту информацию о результатах самодиагностики'
(вобщем команда пихает различные значения в АТА-регистры)
вопросы:
1.как отловить моменты между этими передачами чтобы прочесть инфу о каждом утройстве ??
2.почему в диагностических кодах (записываемых в регистр ошибки ER) нет кода отсутствия устройсва 0 (лишь только исправно/неисправно)
3.что будет если записать значение в регистр команд отсутствующего уст-ва?
---------
и еще раз о первом воросе ;)
меня интересует как считывается инфа с регистров кажого устройства (после команды Диагностики)
Команда EDD не выводит пакеты по 512байт..она пихает значение в ряд АТА-регистров(ERR,SC,SN и тд)... [после диагностики каждого устройства]
И если все утройства поочередно проводят диагностику (выводят значения в выше упом. регистры)то как же мне поймать информацию от Каждого устройства???
2. Видимо, предполагается, что хотя бы одно устройство подключено. Можно предположить, что при полном отсутствии подключенных устройств все команды будут выдавать ошибку типа "отсутствует сменный носитель" или еще какую-нибудь - надо просто поэкспериментировать и посмотреть, что будет в такой ситуации в регистре ошибок, будет ли 1 в каком-нибудь бите или нет.
3. Исходя из вышесказанного, посылка команды несуществующему устройству также должна вызывать какое-нибудь из сообщений об ошибке. Его можно определить аналогично - поэкспериментировав.