Важная информация

User Tag List

Показано с 1 по 10 из 35

Тема: Программная поддержка двух IDE-устройств на одном шлейфе (?)

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,224
    Спасибо Благодарностей отдано 
    475
    Спасибо Благодарностей получено 
    909
    Поблагодарили
    596 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Question Программная поддержка двух IDE-устройств на одном шлейфе (?)

    Пишу программную поддержку HDD на 8-битке (Орион-ПРО), КНЖМД по схемотехнике NEMO_IDE. С одним единственным устройством (Master) никаких проблем, всё работает прекрасно. При добавлении второго (Slave) начинаются проблемы. Причём характер проблем рандомный, в связи с чем понять принцип глюков методом научного тыка затруднительно.
    Как делаю. Судя по документации, для смены устройства нужно записать новое значение бита DRV (D4) в регистр головок/конфигурации, после чего команды должны уходить в другое IDE-устройство. На практике это либо происходит, либо нет. Примерно 50 на 50, но иногда бывает, что Master "залипает" надолго, вплоть до того, что помогает только команда сброса интерфейса.

    Мне не понятен вот какой момент. Например, у меня активен IDE0 (Master), я записываю в регистр значение с DRV=1, получается, что оно записывается в текущий активный (Master). Как о смене "узнаёт" IDE1 (Slave) ? Или запись происходит в регистры обоих накопителей, а они уже как-то там сами договариваются, минуя контроллер хоста?

    Также не понятно поведение системы при физическом отсутствии IDE1 (Slave), но при попытке его обнаружения. Я выдаю команду детекта IDE0 (Master), он отвечает, "представляется" - всё отлично. Дальше пишу в регистр DRV=1 - типа переключаюсь на IDE1 (Slave), снова выдаю команду детекта, и от КНЖМД прилетает успешный ответ о принятии команды! Получается, что команду снова принял IDE0 (Master)... Не понимаю...

    Может кто-то уже разбирался с данным вопросом?

    П.С. Абонемент в библиотеку не надо, просто объясните на пальцах, если знаете. Спасибо.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Программная модель Intel 8080/КР580ВМ80А
    от svofski в разделе Эмуляторы отечественных компьютеров
    Ответов: 6
    Последнее: 18.08.2016, 00:24
  2. Ответов: 3
    Последнее: 29.05.2013, 18:03
  3. Два Slave-IDE на одном шнуре
    от Максагор в разделе Внешние накопители
    Ответов: 4
    Последнее: 31.01.2012, 18:00
  4. Программная документация.
    от fk0 в разделе Программирование
    Ответов: 7
    Последнее: 19.01.2006, 16:53

Ваши права

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