User Tag List

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

Тема: Ноутбучный винт не дружит с NEMO_IDE.. WTF?

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #13
    HardWareMan
    Гость

    По умолчанию

    ИД7 выбирает порты:
    A[7:4] = 0x5, т.е. порты под контроллер 0x50-0x5F
    IORQ говорит, что обращение через IN/OUT, а BLIO - Block I/O?

    Половинка ИД4 разделяет на запись и чтение, по 8 ячеек (по А[3]):
    A[3] = 0 (0x50-0x57) происходит обращение к nCS3x
    A[3] = 1 (0x58-0x5F) происходит обращение к nCS1x
    nCS1x это основной набор регистров, nCS3x это регистр расширенного статуса. Сигналы формируются через ЛИ1, когда на одном из входов будет 0 - сформируется сигнал CSH сформируется при записи в 0x58-0x5F, что соответствует записи в основной набор регистров. Он выставит старший байт, который записан предварительно в ИР23. Обращение к регистру старшего байта происходит по адресу 0x57. Одновременно с этим будет активирован nCS3x, но у HDD там регистр только на 0x6 адресе, поэтому конфликта не будет. Вообще, 0x3F0-0x3F7 это FDC, а HDD туда "вклинился" в дырку. Буфер младшего байта выбран всегда, рулёжка происходит только направлением. Поэтому, его надо всегда держать на выводе, переводя на ввод только при чтении из IDE. Сигналы A[2:0] и стробы записи/чтения выведены напрямую через буфер, поэтому все тайминги будут зависеть от цикла CPU.

    Итог:
    0x50..0x55 - не используются
    0x56 - регистр расширенного статуса IDE
    0x57 - регистр старшего байта данных IDE
    0x58-0x5F - регистры IDE.
    При работе с регистрами управления и статуса IDE регистр старшего байта можно игнорировать.
    При работе с регистром данных требуется соблюдения последовательности.
    При чтении: читаем из IDE (0x58) младший байт данных, читаем из регистра (0x57) старший байт данных.
    При записи: пишем старший байт данных в регистр (0x57), пишем младший байт данных в IDE (0x58).
    Цитата Сообщение от Denn Посмотреть сообщение
    HardWareMan, конкретно с ноутбучным "винтом" не работает следующий участок:

    1) Записываю команду идентификации накопителя (значение 0ECh) в порт 5Fh;
    2) Читаю значение порта статуса (этот же адрес 5Fh).

    "Винт" в знак принятия команды должен выставить старший бит (BSY). На практике же из порта 5Fh читается значение 59h и ничего не происходит. То же самое значение читается, если винчестер вообще не подключать.
    Тут не понятно. Нужно посканить проход команды в диск по факту (nCS1x, BA[2:0], BWR). А еще мне не очень нравится, как сделан там сброс.
    Последний раз редактировалось HardWareMan; 28.03.2018 в 14:11.

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

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

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

Похожие темы

  1. GRM1 не дружит с 1818ВГ93
    от blackinwoman в разделе Pentagon
    Ответов: 4
    Последнее: 21.01.2018, 01:20
  2. NEMO_IDE не работает с винтом.
    от John North в разделе Внешние накопители
    Ответов: 28
    Последнее: 01.04.2012, 17:02
  3. Ноутбучный дисковод.
    от Petr0v в разделе Внешние накопители
    Ответов: 7
    Последнее: 29.11.2011, 20:48
  4. Куплю маленький ноутбучный веник.
    от Surfin_Bird в разделе Барахолка (архив)
    Ответов: 5
    Последнее: 31.10.2006, 21:29

Ваши права

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