User Tag List

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

Тема: Вектор-06Ц: Контроллер HDD

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #14

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Анализируя ошибки при тестировании собранного мной контроллера HDD, дизассемблировал TESTHDD3 Фролова, и заодно немного его улучшил. Вот получившиеся исходники: TESTHDD3src.7z

    С моими исправлениями назвал TESTHDD4: TESTHDD4.7z (в архиве исходники и откомпилированная версия)

    Изменения по отношению к третьей версии:

    1. Заменил все обращения к порту 5Fh на 57h, кроме первого, при этом оказалось, что линию "reset" можно не размыкать, диск и с ней работает нормально. Собственно, в документации к контроллеру и было сказано, что порт 5Fh лучше не использовать часто, и, возможно, также нужно будет пропатчить ДОСы...

    2. При "поверхностном" тестировании портов с моим диском выдаётся ошибка "не работает порт IN 57 или индексный маркер HDD". Разбор исходного алгоритма показал, что там считывается байт из порта и анализируется изменение его второго бита, если оно не произошло за 65536 х 16 циклов, то и выдаётся эта ошибка. В найденном описании из инета сказано, что это "индекс, трактуется особо каждым производителем", поэтому я не исключаю, что на моей модели диска он просто не меняется. В этом тесте я значительно переработал алгоритм проверки и добавил вывод значения порта, по которому можно судить о его работе: если с порта 57 читается значение 50h или 51h, то скорее всего проблема в индексном маркере.

    3. При тестировании чтения/записи сектора выдавалась малопонятная ошибка "мало данных", дополнил её выводом числа считанных/записанных байт. Кроме того поправил подпрограмму сравнения считанных данных, теперь она проверяет не больше, чем было считано и выводит номер байта, на котором возникла первая ошибка. Собственно, это тоже связано с моделью диска: в тесте изначально читается сектор 512 байт и дополнительно ещё 16 байт (контрольные суммы?), мой же диск отдаёт только 8 дополнительных байт. Не думаю, что эти дополнительные данные как-то влияют на работу программ, но вывод этих ошибок в тесте я оставил.

    4. Ну и напоследок, убрал неиспользуемые части, исправил найденные ошибки, добавил новые...

    Эти 7 пользователя(ей) поблагодарили Improver за это полезное сообщение:

    crackintosh(06.08.2019), dk_spb(12.08.2019), electroscat(09.09.2019), ivagor(06.08.2019), KTSerg(06.08.2019), Syntal(06.08.2019), Дмитрий2012(02.01.2020)

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

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

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

Похожие темы

  1. Кино и вектор
    от ivagor в разделе Вектор
    Ответов: 92
    Последнее: 25.12.2023, 19:51
  2. Вектор-06Ц
    от Robusta в разделе Барахолка (архив)
    Ответов: 11
    Последнее: 17.03.2009, 23:18
  3. Вектор-06Ц: БП от PC
    от Dmitry Dubrovenko в разделе Вектор
    Ответов: 11
    Последнее: 08.03.2009, 21:53
  4. Ищу ВЕКТОР-06ц
    от BYTEMAN в разделе Барахолка (архив)
    Ответов: 13
    Последнее: 17.11.2008, 20:50
  5. Вектор-06Ц
    от AlexBel в разделе Барахолка (архив)
    Ответов: 4
    Последнее: 20.12.2007, 08:23

Ваши права

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