Index of /BKGAMES/Manwe_LBAtest
источник - публикация на форуме
https://zx-pk.ru/threads/30102-bk-0010-smk-512-obraz-cf.html?p=1070311&viewfull=1#post1070311
Программа для тестирования винчестеров и Compact Flash.
Некоторые современные CF-карты не поддерживают режим
обращения CHS (cylinder, head, sector), который использует
прошивка контроллера СМК. А некоторые старые винчестеры не
поддерживают режим LBA (logical block addressing), который
используют современные компьютеры. В общем, с некоторыми
винчестерами и CF на БК могут быть проблемы.
Программа LBAtest выводит информацию о подключённых дисках
(master и slave), позволяет выбрать диск и запустить 3 вида
тестов:
1. чтение всех блоков в режиме CHS
2. чтение всех блоков в режиме LBA
3. чтение каждого блока в обоих режимах и сравнение считанных
данных
В теории всё выглядит просто, но на практике возникают разного рода
ошибки. Например, CF-карта может содержать неправильную информацию
о себе (HDD pasport) и попытка задать головку или цилиндр (CHS-тест)
приводит к ошибке позиционирования. С помощью программы можно прогнать
тест носителя, собрать все сообщения об ошибках или получить долгожданное
"ошибок нет".
В архиве программа и исходники.
Работает на БК 0010 и БК 0011 независимо от операционной системы
и от версии контроллера HDD. Может быть загружена с магнитофона
(WAV есть в архиве).
01.07.2020
Добавил в LBAtest стирание диска. Когда появляется вопрос какой
тест запустить (chs, lba, both), можно нажать букву E (erase).
После подтверждения во все сектора диска записываются 32-битные
числа, равные номеру сектора. Запись ведётся в режиме LBA.
Если возникает ошибка при записи какого-то блока, процесс
останавливается. Может быть потом сделаю вывод информации о
плохих блоках и продолжение.
Идея этого режима в том, чтобы после стирания можно было сграбить
образ диска на ПЦ и убедиться, что все сектора пронумерованы в
правильном порядке. Для этого 32-битные числа записываются на
диск в формате intel.
(!)
Опция erase скрытая, о ней в интерфейсе программы ничего не сказано
(чтобы не провоцировать).
(!)