Victoria 5.37 HDD/SSD
Программа для тестирования HDD, SSD, USB, CD и Flash - накопителей.
Список изменений и замечаний новой версии

Что нового в версии 5.37 ( 14 октября 2021г)
- За лето неспешно улучшал разные мелочи, но ухитрился потерять список изменений. Куча событий привели к перерывам в работе над программой. И уже не вспомню всего. Так что придётся списать данную потерю "на коронавирус" и продолжать работать дальше.
- Добавлена поддержка SAS / SCSI накопителей: 
•	Детект реальных шин SCSI и SAS - выводится индикация на панель паспорта;
•	Управление пуском/остановкой SCSI / SAS устройств настоящими командами "START Unit" и "Stop Unit";
•	Чтение температурных логов;
•	Чтение внутреннего название модели брендированных винтов;
•	Получение копирайта производителя;
•	Получение серийного номера SCSI-устройств приведено в соответствии со стандартом. 
- Начал делать получение S.M.A.R.T. для SAS/SCSI накопителей. Они содержат множество журналов, из которых можно набрать данные, похожие на SMART-атрибуты ATA-устройств. Предприняты первые шаги - получение "статуса здоровья" HDD с его расшифровкой, температур, времени наработки и других параметров. Пока данная функция - экспериментальная, без поддержки базы, без перевода и без сохранения в файлы. В следующий раз попробую улучшить и добавить разбор таблиц дефектов. 
Если тема SCSI / SAS заинтересует пользователей, возможно дальнейшее развитие программы в этом направлении.
- Добавлен вывод температуры SAS / SCSI и NVMe-накопителей при запросе паспорта.
- Произведены некоторые улучшения в алгоритме поиска винтов-оборотней. Пока еще не окончательно, но может улучшиться достоверность и решится проблема подвисаний. Если будут жалобы - то функцию детекта оборотней придётся сделать отключаемой.
- Сделан программный анализ "здоровья" HDD по SMART. Так называемый "SMART-статус", сообщаемый самим накопителем - часто бывает чрезмерно оптимистичным (явно неисправный HDD сообщает статус=GOOD).  На вкладке "Настройки" -> SMART появился выбор метода. По-умолчанию теперь он программный. Этот довольно простой алгоритм проверяет несколько атрибутов, относящихся к дефектам. Появился вариант статуса "Unideal" - для накопителей, состояние которых по SMART не-идеально, но и без серьёзных проблем. Со временем алгоритм буду улучшать. Ну и как следствие - решилась проблема с USB-накопителями, которые не отдают статус.
- Сделал так, что скорость на графике выводится при пересечении указателя мыши с линией, плюс-минус некоторый допуск. Если указатель далеко от графика - отображается максимальная зарегистрированная скорость по уже построенным точкам. Результат лучше чем был, однако работает только с графиком чтения и мне пока не нравится. Потом сделаю лучше. Всё равно график нуждается в серьезной переработке.
- Сочетание клавиш CTRL + A теперь вместо справки "О программе" служит для быстрого выделения блока в "Редакторе".
- В редакторе появились кнопки сохранения содержимого в файл (Download) и загрузки в редактор данных из файла (Upload). Файл может быть размером до 64 кб, но при попытке записи из редактора на диск - запишется только один сектор, номер которого указан в редакторе.
- При перезаписи сектора в редакторе - теперь в лог добавляется запись о факте перезаписи с номером сектора.
- Кнопка сохранения сектора на диск ("Сохр.") - теперь заблокирована до тех пор, пока пользователь не нажмет кнопку "Открыть". Это сделано для того, чтобы пользователь случайно не затёр таблицу разделов пустым содержимым редактора.
- При выборе другого накопителя также деактивируется кнопка "Сохранить". 
- При смене накопителя теперь очищается таблица разделов (чтобы не оставалась от предыдущего).
- Добавлен детект семейств HDD Seagate. В паспорт выводится внутреннее название (Alias) и иногда торговый псевдоним (напр. 7200.11). Это полезно для точной идентификации HDD внутри компьютера, для подбора доноров и тд.
- Добавлена поддержка испанского языка (Spanish - Colombia). Спасибо Carlos Medina, который сделал и прислал файл перевода.
- ! В меню графика введена блокировка очистки графика во время его построения. Еще одним абсурдом стало меньше.
- ! Исправлен глюк, когда скан закончился, а на табло времени оставались отрицательные числа.
- ! Исправлена ошибка, из-за которой неправильно определялось число задействованных физических головок на WD.
- ! Исправлена ошибка "Integer overflow" в SCSI-режиме при подключении через USB-китайчатину.
- ! Исправлена "ошибка 103", возникающая при создании лога, если в названии модели содержались недопустимые символы.
- Завёл Твиттер - https://twitter.com/Disktester
Первый раз в жизни вообще узнал что это такое) И именно формат текстового микроблога показался удачным. Возможно, это поможет быть ближе к народу.

Что нового в версии 5.36 ( 05 марта 2021г)
"Эволюция новых технологий"
- Через меню лога теперь открывается не сам лог, а папка с ним. Непосредственно лог по-прежнему открывается двойным щелчком по окну, используя текстовый редактор Windows по-умолчанию.
- ! Сделана попытка исправить глюк с подвисанием некоторых моделей HGST на версиях 5.34 и 5.35. Для этого изменен алгоритм детекта "накопителей-оборотней", и значительно снижена вероятность попадания технологических команд WD в HGST.
- Переписана процедура детекта реальных HGST. Теперь она работает и через USB. Даже на мостиках, блокирующих регистры.
- Попался компьютер Apple, где в таблице разделов GPT, CHS не равно 0/0/2 и размер FFFFFFE вместо FFFFFFFF. Анализатор GPT в Victoria не распознал такую таблицу. Пришлось доработать программу.
- ! Исправлена ошибка детекта WDxxxx-22xST0 и некоторых другх (накопители старого типа), которые программа считала Seagate'ами.
- Улучшено распознавание "настоящих" Samsung под видом Seagate (но пока это используется только внутри программы).
- ! Оказалось, что SCT-Ext команды не работают на старых WD, из-за чего не отображалась их температура на странице с паспортом. Можно было переключить режим SCT вручную в настройках, но я исправил в коде.
- ! Исправлен глюк со сбиванием размеров колонок паспорта после PCI-скана в PIO.
- По просьбам сделана возможность не менять рабочую среду, если список API-устройств был обновлён (а обновляется он также при переподключении USB-накопителей). Опция включается установкой галки на вкладке "Настройки" - "API" - "Не сбрасывать настройки при  обновлении списка устройств" и по-умолчанию выключена. При активации данной галки происходят следующие изменения в поведении программы при обновлении списка API-устройств и переподключении USB-накопителей, по сравнению с прошлыми версиями: 1.Переключатель верификация-чтение-запись в скане поверхности не сбрасывается в положение "чтение". 2.Не очищается таблица SMART и список журналов. 3.Не инициализируется HEX-редактор. 4.Не восстанавливается End LBA до максимального.

- ! В прошлой версии (5.35) была активирована функция "проверка интерфейса". Вскоре выяснилось, что некоторые USB-мосты "портят праздник", выдавая вместо записанных в буфер данных сплошные нули. Ну а программа на несоответствие - ругалась. Как обычно, это очередной прикол Seagate и их фирменного USB-моста "Backup+". В новой версии алгоритм улучшен и отличает подобные ситуации от реальных неисправностей интерфейса.
- Логика кнопок получения "чистого" и "расширенного" паспорта приведена в порядок: дополнительные функции, такие как SCT-температура, детект "оборотней" и SMR-накопителей перешли на кнопку "EXT", а кнопке "Паспорт" возвращена способность НЕ посылать в накопитель ничего лишнего. Однако, для сохранения совместимости и привычек - по-умолчанию оставлен старый вариант, который можно изменить на новый в менню "Настройки" - "Паспорт".
- ! Устранены ошибки, которые могли ухудшить стабильность программы при выполнении различных действий.

Что нового в версии 5.35 ( 16 декабря 2020г)
- ! Исправлена ошибка, приводившая в некоторых случаях к невозможности определения серийного номера SCSI и Flash-накопителей.
- На накопителях WD добавлен показ количества включенных физических головок.
- В настройках паспорта снята галка "диагностической команды". Да, я знаю, что команда 03 ... EF предназначена вовсе не для диагностики :) Но ничего лучше с 2004 года пока не придумано, да и в режиме API она обходится без регистров, что немаловажно для некоторых USB-мостов. Как будет настроение, придумаю, что из более современного поставить на её место.
- "Проверка интерфейса" в EXT-паспорте теперь работает и в режиме API.
- В настройках EXT-паспорта непременимые в режиме API галки теперь деактивируются.
- Не все накопители могут получить температуру из паспорта. Иногда она доступна только через SMART. Поэтому в этой версии, если нет температуры в паспорте, то она выведется на панель при запросе SMART. Температура появится также при нажатии кнопки EXT-паспорта на SSD, NVMe, если установлена галка "узнать количество записанного на SSD".
- ! Исправлена очень странная ошибка. При переключении со SMART на паспорт - вторично запрашивался паспорт. Странная, потому, что за год проявления ни разу не помешала. Но и повторный паспорт вроде как не нужен. Я это на всякий случай исправил.

Что нового в версии 5.34 ( 9 декабря 2020г)
- Добавлен фильтр на устройства класса CD-ROM, чтобы их буквы не отображались ошибочно в списке физических устройств API. Для того, чтобы в программе работать с оптическими дисками и их эмуляторами, можно установить галку "Отображать логические диски" в меню "Настройки" -> "Паспорт".

Что нового в версии 5.33 ( 7 декабря 2020г)
"Удар по WD"
- Добавлено отображение букв логических дисков в списке физических устройств. Опция отключена по-умолчанию. Включить её можно в разделе "Настройка" -> "API". 
- Сделано получение истинного размера кеша на накопителях WD (включая замаскированные под HGST модели).
- Сделано получение некоторой технической информации по WD: даты изготовления, объёма памяти ОЗУ, количества дисков и головок, числа зон, сервометок, точной скорости вращения. Выводится прямо в паспорт.
- Добавлено запоминание ширины средней колонки паспорта.
- В паспорте накопителя теперь даже в режиме API подаётся команда самодиагностики для ATA-устройств: 03 0C 00 4F C2 A0 EF. Причём, теперь она подаётся даже в режиме обычного (не EXT)-паспорта. Это нужно в связи с проявлением странной ошибки то-ли в драйвере Windows 10, то-ли в м/п Asus (где-то не чистится выходной буфер таск-файла, и на других ПК ошибки нет). Разберусь позже. Пока рекомендую данную команду не отключать в настройках - она инитит канал с винтом в тех случаях, когда может проявиться глюк. 
- ! Исправлен глюк с серийным номером на виртуальных дисках (при отсутствии S/N отображался номер от предыдущего накопителя).

Что нового в версии 5.32 ( 2 декабря 2020г, 21:33)
- ! Исправлена ошибка взаимодействия новых функций с некоторыми накопителями HGST, что приводило к блокировке протокола Smart Command Transport.

Что нового в версии 5.31 ( 2 декабря 2020г)
- Добавлено определение винчестеров-оборотней. После объединения технологий фирм Western Digital и HGST  - в продаже появились десятки моделей, имеющих одинаковый артикул (название модели на наклейке и в паспорте), но разное содержимое. Фактически, это накопители WD с наклейкой HGST и наоборот. В программу "Victoria" добавлен экспериментальный алгоритм, позволяющий выяснять истинную "начинку" накопителей WD и HGST независимо от названия в их паспорте. При нахождении "оборотней" выводится сообщение в лог.
Внимание! Данный алгоритм пока плохо работает на USB-накопителях совместно с HGST, т.к. некоторые USB-мосты блокируют передачу регистров. Проблема сложная, но не фатальная. В последующих версиях будет улучшено. 
- Улучшено определение технологии SMR на HDD WD, включая новые Passport/Elements.
- Исправлены незначительные ошибки.

Что нового в версии 5.30 ( 30 ноября 2020г)

- Добавлена попытка детекта технологии SMR в накопителях HDD. 
*SMR (Shingled Magnetic Recording) - технология хранения информации, обычно приводящая к ухудшению параметров HDD, и поэтому часто скрываемая изготовителями. Программа делает ПОПЫТКУ определения данной особенности по специальным алгоримам, которые пока не гарантируют 100% результат. При этом зажигается индикатор SMR черепичного цвета под панелью паспорта накопителя.
- Улучшено распознавание семейств Seagate / Samsung серий STxxx для более точного отображения SMART на них.
- ! Исправлен глюк справочной системы, из-за которого иногда не преключались вкладки.

Что нового в версии 5.29 ( 27 ноября 2020г)
"Сервис и работа над ошибками".

В этой версии в меню "Настройки - Общие" отключено сворачивание в трей и отключено использование 12-байтных SCSI-команд в меню "Настройки - API". Вы можете включить эти функции самостоятельно после установки программы.
- Добавлен анализатор таблицы разделов GPT. В целях более бережного отношения к исследуемому винту, на котором могут быть дефекты - процедура упрощена по сравнению с системной: не анализируется первичный GPT-заголовок, не рассчитываются контрольные суммы, обрабатывается только первая копия таблицы, а переход на вторую копию - ручной.
- Добавлена возможность запретить монитору переходить в спящий режим  во время тестов.
- Удален ненужный перенос строки, при копировании значения из лога в буфер обмена.
- Сделана нумеровка секторов при записи также и в режиме PIO.
- На панели тестов реализована возможность перехода с Start LBA на End LBA клавишей TAB.
- В справочную систему добавлено запоминание текущей позиции до перезапуска программы. Раньше при каждом вызове справки она открывалась с начала.
- В справочную систему добавлен поиск текста, вызываемый по CTRL + F.
- Большинство настроек теперь записываются в INI-файл сразу после закрытия панели "настройки". Это сделано для лучшей совместимости с режимом сворачивания в трей.
- Сделано обновление даты создания папки с логами при каждой записи в журнал. Для удобства и облегчения сортировки. Опция отключаемая.
- Добавлена запись произвольного шаблона-сектора (512 байт) на диск в режиме записи/стирания. Для этого нужно выбрать "Запись" на панели тестов, снять галку "нумеровать", затем открыть просмотрщик буферов и нажать кнопку "Load". В открывшемся диалоге выбрать заранее подготовленный файл размером 512 байт с шаблоном. Файл должен иметь расширение .bin.
Для сброса шаблона (возврату к записи нулей) нужно установить и вновь снять галку "нумеровать".
- Добавлен SMART атрибут 167 для SSD OSZ.
- В HEX-редакторе сделан выбор кодировки отображения символов для облегчения исследования содержимого накопителей. К сожалению, совместимо с версиями программы 4.xx только на чтение, из-за особенностей юникода.
- Добавлен переключатель для отключения таймера случайного чтения на панель "тестирование".
- Выпадающее меню кнопки "Scan" теперь срабатывает от нажатия левой кнопки мыши. Прошлый вариант, когда левая кнопка не работала, вызвал кучу ненависти пользователей, мне вынесли этим весь мозг, а психика уже не никогда не будет прежней...
- Галка "получить имя диска" (неактуальная со времён Windows 98) заменена на незапоминающийся переключатель выбора второй копии GPT.
- Добавлен переключатель, позволяющий включить в имя файла скриншота название и серийник накопителя, как было в версиях 4.xx (Настройки -> Интерфейс).
- ! Исправлена ошибка, из-за которой после окончания скана заблокированный спящий режим не восстанавливался.
- ! Исправлены некоторые орфографические ошибки
- ! Исправлена ошибка: при постановке скана на паузу - нельзя было прокрутить ползунок карты.
- ! Исправлен глюк: при открытии вкладки HEX-редактора на кнопке просмотра таблицы разделов появлялась надпись "получите паспорт" даже в режиме API (изначально эта надпись была нужна для PIO, чтобы предотвратить вписывание чужой таблицы в винт, т.к. в PIO автополучение паспорта заболкировано).
- ! Исправлен серьёзный глюк HEX-редактора: при попытке писать в нём русскими буквами (вероятно, так было и с другими языками в кодировке юникод) - возникала ошибка "range check error".
- ! Исправлена ошибка в просмотрщике таблицы разделов, когда размер раздела был больше размера накопителя. При этом выводилась ахинея в виде отрицательного числа.
- ! Исправлен недостаток: при выборе логического диска в качестве тестируемого - была возможность нажать кнопку "Таблица разделов" в редакторе. Поскольку у раздела таблица отсутствует - выводилась разная чушь. Заблокировано.
- В связи со сменой места жительства - изменён город в разделе с саморекламой. Название сайта hdd.by не изменилось и менять его не планируется! В последнее время стали появляться клоны официального сайта программы "Victoria" на других доменах. Я не имею к ним никакого отношения.
- Изменен номер платежной карты Mastercard в разделе помощи проекту.
- Добавлен кошелек криптовалюты Ethereum в раздел помощи.

Что нового в версии 5.28 (14 апреля 2020г)
- Теперь при внеплановом обновлении базы из меню графика SMART - сразу же обновляется график.
- При отсутствии базы - делается попытка её создать сразу при получении SMART. В случае неудачи (диск защищен от записи и т.п.), других попыток не делается до завершения работы с программой.
- Сделана возможность построения графиков SMART не от нуля, а от минимального значения - для атрибутов с большим абсолютным значением, которое меняется незначительно. Галка включения этого режима пока не запоминается.
- Графики составных атрибутов теперь выводятся линиями разной толщины.
- Атрибуты температуры 190, 194, 231, [189 на SSD], кроме 231 на SSD - теперь принудительно переключаются на график 0.
- Активный элемент выбора графика теперь подсвечиваются - возможно, так будет удобнее.
- Для того, чтобы графики не сливались на 0-й или максимальной отметке, сделано искусственное расхождение +/- 2 пикселя между ними.
- Таблица атрибутов SMART обзавелась хинтом, подсказывающим, что необходимо кликнуть по строке для просмотра графика изменений атрибута.
- ! Улучшена совместимость с регионами, в которых числа имеют разные десятичные разделители. Теперь дробные числа пишутся в ini-файл в виде строк. 
- ! Исправлена ошибка несохранения галки "Разделять RAW-значения на отдельные числа" (причина - кошка прыгнула на клаву и подменила имя ключа в ini-файле).
- ! Исправлена недоделка - игнорирование выключателей отдельных графиков при их перерисовке.
- ! Исправлена недоделка - не отключалось меню W-R-V, если накопитель эту функцию не поддерживает.
- Попался накопитель HGST HUS722T1TALA604, представляющий собой новую модель WD, и имеющий атрибут #16 в SMART. Видно невооруженным глазом, что данный атрибут тупо считает количество прочитанных и записанных секторов. В связи с чем был переименован соответствующим образом для HGST и WD, а его название для других семейств - gas gauge / "калибровка уровня газа" заменено на более подходящее к английскому устойчивому выражению - "уровень заправки". Что это на самом деле - пока неизвестно, время и графики покажут.
- Включена проверка контрольной суммы (КС) SMART. У всех современных накопителей таблица атрибутов перекрыта контрольной суммой (у очень старых типа Fujitsu - не всегда). Искажение контрольной суммы свидетельствует о разрушении микрокода HDD. При нарушении КС выводится предупреждение и игнорируется добавление атрибутов в базу. Это пока единственный способ избежать засорения базы. 
- В меню эвентлога добавлен пункт "Открыть лог в папке". Команда открывает лог выбранного накопителя по месту его фактического нахождения средствами Windows. Экспериментально добавил это же действие по двойному щелчку, но если будет мешать - отключу.

Что нового в версии 5.27 (5 апреля 2020г)
- ! Как выяснилось, на некоторых системах с днём недели в формате даты/времени, данный формат не влезает в базу. Зарезервировано больше места под базу.
ВНИМАНИЕ! Перед применением этой версии - удалите старые базы (файлы, начинающиеся на SMBASE в папке с логами). Иначе программа не сможет нормально работать.

Что нового в версии 5.26 (5 апреля 2020г)
- ! Исправлена ошибка, из-за которой пропадали подписи точек графика при наведении курсора, если в программе были выключены хинты.
- ! Исправлена ошибка, при которой не скрывался серийный номер накопителя в заголовке графика SMART.
- ! Сделана попытка исправить ошибку, приводящую к невозможности запуска программы на системах с некоторыми региональными настройками даты/времени (теперь дата и время последнего получения SMART сохраняется в числовом, а не текстовом формате).

Что нового в версии 5.25 (3 апреля 2020г)
•	Сделано ведение базы данных по SMART-атрибутам. Емкость базы в этой версии = 17520 снимков SMART. При интервале опроса 1 час, такой ёмкости хватит примерно на 2 года. Это начальный уровень сбора статистики по SMART. В последующих версиях попробую улучшить сервис.
•	Сделано построение и отображение графиков изменений атрибутов SMART.
•	Сделана возможность извлекать "SMART из прошлого" - просто кликнув по любой точке графика.
	Внимание! При первом запуске - необходимо некоторое время для наработки базы. Первая запись появится спустя установленный интервал опроса (15 минут по-умолчанию), ещё через интервал - следующая, и т.д.Причём,обновляется она только при запросе SMART, который нужно делать вручную. Для автоматического обновления - используйте галку "сворачивать в трей", которая в этом дистрибутиве отключена. Минимальный интервал обновления = 2 минуты.
•	Сделано сворачивание программы в системный трей с опросом SMART в фоновом режиме - для автоматического пополнения базы и дальнейшего построения графиков. По-умолчанию отключено на вкладке "Настройки" - "Общие". Функция пока ещё несовершенна и приделана экспериментально. Проверка запуска второй копии пока отсутствует. Если понравится, продолжу работу в этом направлении.
	Как добавить программу в автозагрузку Windows: Нажать Win+R. Появится окно, в которое ввести команду shell:startup. В открывшуюся папку перетащить файл Victoria.exe и создать ярлык.
•	Добавлены краткие описания для атрибутов SMART, отображаемые совместно с графиками, чтобы помочь новичкам сориентироваться в интерпретации изменений атрибутов.
•	На накопителях Maxtor STM3xxx странно выглядел 9-й атрибут SMART: время наработки явно ниже реального. Добавил в алгоритм игнорирование упаковки 9-го атрибута, и вроде стало лучше.
•	Переработан файл справки по настройкам в соответствии с 5-м поколением программы. Читайте внимательно.
•	!Исправлены некоторые мелкие ошибки. 

Что нового в версии 5.24 (9 марта 2020г)
- Обнаружил, что некоторые пользователи затирают серийный номер на выкладываемых в общий доступ скриншотах. Зачем делать вручную, если можно автоматизировать? Добавил кнопку "Скрыть серийный номер" - крест справа от серийника на верхней панели. Чтобы номер не отображался и в логах - нужно переполучить паспорт.
- Сделана возможность отключения ATA-регистров, получаемых через USB-мост (на вкладке "API" в "настройках"). Причина: некоторые USB-мосты подвисают на 1-2 секунды при запросе регистров.
- По просьбам сделана настройка времени отображения всплывающих подсказок (хинтов), в пределах 3...60 с. Устанавливается в меню "настройки - интерфейс".
- Добавлены новые SMART-атрибуты семейства SSD Crucial / Micron:
183 SATA Interface downshift
194 Enclosure temperature
210 RAIN successful recovery page count
246 Cumulative host sectors written
247 Host program page count
248 FTL program page count
- Сделано отключение ATA-кеширования для операций с MBR в связи с критическими замечаниями некоторых пользователей. 
- Добавлено включение в накопителе функции проверки записанного (Write-Read-Verify aka W-R-V) и запуск стирания поверхности с ней. Конечно, это происходит в ущерб скорости, но делается за один проход вместо двух. Данная опция доступна в меню "Действия" и в утилите "Кеш и временные функции".
- Убрал ограничение на запоминаемый размер формы. Раньше было не более 1000 x 1000 точек, при превышении размер не сохранялся.
- Предотвращен переход программы на соседний накопитель в списке выбора устройства, если тестируемый USB-накопитель был отключен. Однако, это работает только в том случае, если в паспорте отключена опция "отображать логические диски". 
- Выделено больше времени на настройку графика перед его рисованием на "быстром скане". Это исключает провал графика в самом начале, как иногда могло быть в предыдущих версиях.
- Исправлено несколько причин, по котором могли быть провалы в графике скана во время использования других элементов интерфейса.
- Вернул индикаторные лампочки чтения/записи на боковую панель.
- Программа теперь сообщает в логе о том, что в файле перевода присутствуют не все необходимые строки. Такое может быть, если обновили только .exe-файл программы, а остальное оставили от прошлой версии.

Что нового в версии 5.23 (31 декабря 2019г)
- Добавлены команды инициализации SMART для более старых  накопителей IBM/Hitachi/HGST. 

- ! Исправлена ошибка получения SMART, из-за которой могло теряться несколько последних атрибутов (была внесена в 5.22).
- Исправлена орфографическая ошибка при нажатии кнопки "Пауза".

Что нового в версии 5.22 (12 декабря 2019г)
- Улучшена совместимость программы со старыми USB-накопителями, которые виснут от 16-байтных SCSI-команд. Теперь при установке галки "Использовать только 12-байтные команды" программа даже не пытается использовать 16-байтные. 
- Добавлены некоторые функции из популярных утилит DFT и FT для накопителей IBM/Hitachi/HGST (в разделе меню "Сервис"): 
1) Очистка SMART. 
2) Стирание данных с переносом дефектов из пользовательского листа в заводской. 
3) Переключение режимов (скорости) SATA.
4) Перманентное включение / отключение кэша.

Должно работать на всех современных SATA-винтах производства HGST, которые еще не WD. На остальных накопителях выдаст ошибку - ибо команды применяются специальные, технологические. Про эти опции в ближайшее время планируется заметка на сайте.

- Изменён алгоритм опции исправления дефектов стиранием. Теперь при обнаружении ошибки производится стирание целого блока не по одному сектору, а сразу всего. В результате стало работать стабильнее и быстрее (проверено на полудохлом WD).
- Также проверена возможность исправления дефектов стиранием через SCT-протокол, на HDD с разделом и не-выключенным MBR под Windows 10. Отлично работает.
- Улучшена процедура снятия скриншотов. Убраны лишние пиксели по краям изображения. По просьбам изменен формат имени на: дата_время_вкладка.png

- ! Устранена недоделка, из-за которой не запоминалась позиция горизонтального сплиттера, отделяющего лог на главной форме.
- На сайте hdd.by размещено обновление вопросов-ответов (FAQ) по 5-му поколению программы Victoria.

Что нового в версии 5.21 (29 ноября 2019г)
- Изменён алгоритм определения объёма накопителей с учётом особенностей всех версий Windows от 7 до 10. Универсального способа не существует. Некоторые функции в разных системах работают чуть по-разному или не работают вовсе. В связи с этим в "Настройки" -> "Паспорт" добавлены переключатели, позволяющие отключить SCSI-команды 25 и 9E совсем. По-умолчанию включены обе команды, и программа пробует вторую после неудачи с первой. Но если на Вашей системе наблюдаются такие явления, как подвисание программы при детекте дисков  - нужно попробовать установку этих галок. В этом случае объём накопителя будет определён через третью функцию, которая менее точная, но это лучше, чем совсем ничего.
- Отключен дополнительный скролл в эвентлоге, т.к. наблюдались глюки на некоторых системах. На внешний вид программы это не повлияло.
- В экспериментальных целях добавлен переключатель в "Настройки" -> "SMART", переводящий получение SMART NVMe в другой режим. Обычно это не влияет ни на что, но если на Вашем накопителе не удаётся получить SMART NVMe, попробуйте установить соответствующий флажок.

Что нового в версии 5.20 (27 ноября 2019г)
- Добавлена поддержка накопителей с интерфейсом NVMe по стандарту v1.0 и частично 1.4. ( https://nvmexpress.org/wp-content/uploads/NVM-Express-1_4-2019.06.10-Ratified.pdf ). В частности сделано:
   + Распознавание наличия шины PCIe у накопителя;
   + Получение паспорта NVMe и в нём некоторый набор данных (серийный номер, поддерживаемые опции).
  + Поддержка SMART NVMe. С переводом названий атрибутов на русский язык.
Пока удалось проверить только на SSD Samsung 970 Pro. По мере появления других SSD  - алгоритм будет улучшаться.
Внимание тех, кто создаёт загрузочные диски с программой Victoria: Поддержка NVMe работает только при наличии в системе драйверов для этих накопителей. Они есть по-умолчанию в Windows 10, а для 8.1 и серверных ОС скорей всего придется использовать дополнительные пакеты обновлений, или интегрировать драйвера каким-то другим способом. На сайте hdd.by можно скачать .torrent-файл с образцом Windows 10 PE, в котором программа проверялась на работоспособность.
- Добавлено блокирование скринсейвера Windows во время тестов, чтобы избежать проблем с Windows 10, которая может отключить тестирующийся USB-накопитель.
- Сделана возможность отключать автопарковку головок на накопителях WD, а также самостоятельно задать время, через которое будет производиться парковка. Утилита находится в разделе "Сервис" -> "Акустика и энергосбережение". Как минимум, должно работать на всех WD 3.5" и на старых WD 2.5" (до 2017г, без технологии SMR). Некоторые USB-устройства не отдают ATA-регистры, в этом случае утилита не может проверить корректность результата, и будет оптимистично говорить "ОК".
На новых WD Passport/Elements работать не должно, даже если говорит "ОК" :)

- Добавлена попытка определения серийного номера USB-флешек и других типов накопителей, у которых отсутствует поддержка команды INQUIRY.
- Добавлено распознавание накопителей с интерфейсом SD/eMMC.
- В конце скана поверхности теперь подсчитывается максимальная, минимальная и средняя скорости. А также число точек графика.
- Добавлено сообщение о неудачной записи через HEX-редактор с интерпретацией кодов ошибок средствами Windows.
- Добавлен выбор поведения формы при её растягивании за нижний край. Теперь растягивается не лог, а главное окно - так удобней. Но можно переключить в прежний режим.
- Добавлена возможность изменения размера шрифта и цвета нижней правой панели в настройки интерфейса.
- Измеритель скорости адаптирван к быстрым SSD с интерфейсом NVMe. Теперь он не дёргается.
- Разделитель тысяч теперь везде, включая эвентлог и журналы SMART. В меню не делал специально, со временем поймёте почему.
- В меню паспорта теперь отображается копируемая строка или число. 
- В верхней панели с параметрами сделана адаптация ширины полей под длину названия модели и серийного номера накопителя.
- Попалась флешка "Lexar USB Flash Drive", у которой скорость чтения аж 320 мБ/с (через USB 3.1). В связи с этим, размер блока по-умолчанию в 64 сектора был признан нецелесообразным. Сделал автоматическую установку блока 2048 секторов для съёмных устройств объёмом более 8 ГБ.
- Впервые протестировал программу под Windows 10. Оказалось, что не работает SCSI-команда 9E. Причём, только на некоторых USB-мостах. На всех предыдущих версиях Windows работает, а на 10-ке висит секунд 30, и отваливается с ошибкой. Вот такая вот техническая эволюция операционных систем. Изменил кое-что в алгоритмах, и стало гораздо лучше.

- Данная версия впервые не просто совместима с Windows 10, но и создана в Windows 10 x64. Совместимость касается режима API. Для работы в PIO пока используйте 32-разрядные версии операционных систем.
- Немного подправлена интерпретация SMART - атрибутов SSD SanDisk. Однако, полностью осилить эти SSD удастся лишь после появления у меня живого накопителя.
- В SMART теперь большие числа разделяются на несколько мелких, для удобства исследования упакованных атрибутов. Опция отключаемая.
- Перенесена галка переключения HEX RAW значений SMART-атрибутов на главную форму. Кроме того, она теперь запоминается. Если Вы делали собственные файлы перевода, то перенесите перевод данного элемента в другую секцию.
- Добавлена отдельная вкладка настроек интерфейса. Часть элементов с вкладки "Общие" перенесена на вкладку "Интерфейс", чтобы облегчить ориентацию в настройках. 
- При переключении языка и некоторых других действиях теперь обновляется SMART без обращения к накопителю (данные берутся из буферов).
- Сделан "аварийный режим" для экранов 800x600. При этом программа сама убирает все лишнее с формы, растягивается на весь экран и позволяет сразу работать.
- ! Исправлена ошибка, из-за которой портилось начало буфера при включении лампочек в режиме API.
- ! Исправлены ошибки, которые при некотором редком стечении обстоятельств приводили к выдаче "Priveleged instruction' и аварийному завершению работы.
- ! Исправлена ошибка в процедуре теста позиционирования, которая иногда могла приводить к зависанию программы.

Что нового в версии 5.1 (28 октября 2019):
- Вернул ранее отключенный разделитель тысяч (были некоторые трудности с его адаптацией).
- Добавлен украинский перевод интерфейса (автор перевода - Сергей Орлов https://datex.dp.ua/ ).
- Добавлена возможность переводить названия SMART-атрибутов.
- Переведены названия SMART-атрибутов на русский, украинский языки. 
- Мелкие улучшения в меню, какие-то пункты добавил для более удобного копирования значений, итд.
- В порядке эксперимента сделан ремап и стирание блока по протоколу SCT. Этот способ позволяет не отключать MBR под Windows 7 и выше. Стирает прямо по живому, в обход всех защит - будьте осторожны. Опция выключена по-умолчанию в настройках. Для работы требуется поддержка винтом стандарта AC2, но к счастью, она есть почти у всех ATA HDD за последние 13 лет...
- Немного исследовал SSD Samsung Evo 850, выяснил реальное назначение 235-го атрибута SMART, и адаптировал программу к нему.
- Немного подкорректированы тайминги скана при обнаружении SSD.
- Добавлен звуковой сигнал по окончании отработки скана по скрипту.
- Исправлена очередная порция ошибок. В целом, версия 5.03 уже показала хорошую стабильность при массовом тестировании, следовательно 5.1 должна быть еще лучше.
- ! Исправлен глюк: на винтах с размером логического сектора >512 байт отображалось оставшееся время меньше реального.

Что нового в версии 5.03 (21 октября 2019):
- Сделано управление функциями энергосбережения - APM. В отличии от AAM, винт не запоминает настройки после выключения питания.
- Для демонстрации оперативного переключения языков без закрытия программы - добавлен английский перевод. Вы можете сделать его лучше и/или прислать мне для включения в дальнейшие релизы.
- Сделаны отдельные папки для файлов справочной системы каждого языка. Вы можете написать справочные тексты на нужном языке, и поместить их в папки с названием языка. Имена папок должны в точности соответствовать имени .lng-файла без расширения, тогда они будут автоматически подключаться к программе при смене языка.
- ! Исправлен глюк при изменении размеров формы SMART-тестов.
- ! Устранено (ну, или заметно уменьшено) появление артефактов в карте сканирования поверхности при растяжении формы.
- ! Исправлено пролезание меню графика на карту при запуске программы.
- Во время теста поверхности заблокирована возможность автополучения SMART, журналов и паспорта. Для снижения нагрузки на тестируемые накопители при их возможных неисправностях.
- В порядке эксперимента сделана автоматическая прокрутка списков при наведении указателя мыши. Отключаемо в настройках.
- Вернул возможность автоматической остановки скана по коду 04 (ABRT) в режиме API, кроме уже существующих типов фатальных ошибок. Если будет мешать - выключите в настройках.
- Сделал запоминание логгирования "зелёных" блоков.
- ! Восстановлена возможность прокрутки карты после сканирования в режиме графика. Настройка размеров ячеек (которая мешала) сделана отключаемой в настройках.
- ! В HPA сделано автоматическое снятие галки перевода LBA в MB перед получением реального объёма накопителя, чтобы избежать ошибок округления при конвертации (и как следствия - невозможности вернуть реальный объём).

Что нового в версии 5.02 (18 октября 2019):
- Исправлена ошибка 'Range check error' при появлении отрицательных чисел в ini-файле и при определённом стечении обстоятельств во время изменения размера окна.

Что нового в версии 5.01 (18 октября 2019):

- Добавлен запрет перехода компьютера в спящий режим во время выполнения тестов.
- ! На некоторых накопителях наблюдается глюк при получении температуры SCT-командами. Временно устранено путём блокировки аномальных значений.
- Экстренный выход через меню теперь сделан с запоминанием настроек.
- ! Исправлен глючок с определением времени сканирования при количестве секунд = 0
- В SMART добавлено мульти-выделение строк и возможность скопировать в буфер обмена только выделенные.

Что нового в версии 5.0 (17 октября 2019):
Кардинально изменён интерфейс:
- Появилось главное меню и панель инструментов.
- Форма теперь может разворачиваться на весь экран и размеры её частей можно задавать произвольно. Все настройки сохраняются.
- Предел скорости увеличен до 9800 MB/s, а число точек графика - пропорционально его ширине.
- Редко используемые функции перенесены в главное меню.
- Панель настроек структурирована. Добавлены новые настройки. Например можно включать остановку скана при фатальных ошибках и даже изменять цвета некоторых элементов интерфейса.
- Заложена возможность перевода интерфейса на другие языки, но пока ничего с ними делать не нужно - в последующих версиях я планирую добавить переводы не только подписей, но и сообщений программы.
- Сделан перевод элементов интерфейса на русский язык. Пока может содержать ошибки - это эксперимент. В дальнейшем планируется также перевести все внутренние сообщения. По-умолчанию выключен в главном меню
- Добавлено больше автоматизации, которую можно отключить в настройках.
- Добавлен запуск SMART-тестов с улучшенными возможностями из главного меню.
- Была сделана попытка адаптировать журнал Extended Comprehensive SMART Error log к разным моделям HDD Fujitsu (у них разные адреса структур). Это удалось на семействах MHX, MHW. Однако на MJA пока не получилось - нужно делать анализ и писать еще одну процедуру.
- Двойной щелчок по SMART-журналу открывает его в редакторе;
- Добавлены новые названия SMART-журналов;
- Сделана попытка устанавливать автоматически размер блока для NVMe SSD.
- Добавлен показ температуры в паспорт через Smart Command Transport, и расширен детект поддерживаемых накопителем свойств.
- Программа больше не пытается получить SMART на флешках и SCSI-накопителях.
- IBM Super-SMART теперь можно пробовать получить не только на накопителях IBM/HGST, но и на любых других. Сделано это из-за того, что стали попадаться накопители HGST под видом WD, на которых супер-SMART также может работать.
- Исправлена куча ошибок версии 4.76, перечислять которые не хватит места...

Что нового в версии 4.76 (8 сентября 2019):
•	Добавлена настройка накопителя через Device Configuration Overlay - специальную энергонезависимую память, в которой можно отключать ненужные функции, включать ранее выключенные или менять доступный объём. Появилась закладка DCO, в которой также есть мини-инструкция (внешний файл dcomemo.rtf).
•	Улучшена работа со SMART-журналом Extended Comprehensive SMART Error log: как оказалось, что у разных моделей - разные адреса регистров. Это могло привести к ошибочной интерпретации данных на некоторых HDD Seagate и Fujitsu. Произведена адаптация алгоритма к различным производителям. 
Корректность работы была проверена на Fujitsu MHZ, HGST 3.5, Seagate/Maxtor 3.5" (7200.11), WD,  Samsung STxxx 35", Seagate STxxx 2.5", Toshiba 2.5". Пока работает не на всех HTSxxx 2.5" - буду исследовать причину.
•	Добавлен режим совместимости оглавления журналов со старыми накопителями. Пока - ручное переключение галкой под оглавлением (для экспериментов). В дальнейшем - автоматически, по паспортным данным.
•	Элементы интерфейса (порт и номер устройства) подвинуты вправо, галка "Hints" перенесена в подвал.
•	В режим ремапа дефектов добавлена функция детекта события Auto Reassign, когда винчестер сам делает переназначение дефектного сектора. При этом вместо слова Remap в лог выводится сообщение вида "LBAxxx auto reassign... OK".
•	!Исправлена ошибка, при которой автоматический скриншот делался не с вкладки Tests.

Что нового в версии 4.75 (5 сентября 2019):
•	!Исправил глюк в SMART с отрицательными температурами, который был внесён в процессе экспериментов.
•	!Исправлена ошибка перепроверки блока после "Erase if error". Появилась она давно, в результате адаптации к Windows 10 - были ограничены некоторые права на доступ к диску. Теперь верификация заменена на чтение, т.к. чтению нужно меньше прав - и всё заработало нормально.
•	Сделано выключение кеша записи перед ремапом, для минимизации ложных результатов проверки после него.
•	В сигнатуру-заполнитель при ремапе теперь добавлен номер текущего LBA, в виде строки LBA xxxxxxxx, размещаемой в вылеченном секторе по смещению 0.
•	В заполнитель секторов блока при "Erase if error" теперь добавлена запись номера LBA в виде строки LBA xxxxxxxx, а также отметки времени в виде "Block erased текущая дата текущее время". Обе вышеописанные функции отключаемы с помощью ключа в секции файла vcr40.ini:
		[Scan]
	Write signatures=0
•	!Сделал "тихую" запись vcr40.ini при завершении работы программы. Теперь на защищенных от записи носителях ошибка отсутствует. Всё это сделано для лучшей совместимости с Live CD.
•	При попытке произвести запись на накопитель со включенным MBR под Win 7 и выше, возникает системная ошибка 05h - "отказано в доступе". Теперь программа при появлении данной ошибки предлагает ознакомиться с FAQ #6, https://hdd.by/victoria_faq 
•	Добавлен детект HDD 3.5" Toshiba HDWE как "истинных", не являющихся наследниками IBM/HGST. Для более точного отображения SMART на них.
•	При возникновении ошибки API "устройство больше не доступно" (это означает, что накопитель подвис на длительное время, и был отключен Windows как аварийный) - скан поверхности останавливается.
•	Теперь логи ведутся раздельно для каждого накопителя. В папке с логами (по умолчанию - LOGS/) создаются подпапки с названием модели и серийным номером каждого накопителя, а в них кладутся эвентлоги, паспорт, smart, графики, скриншоты, и тд. При этом "именные" логи дублируются в общий эвентлог. При первом запуске программы, когда паспорт накопителя еще не получен (и следовательно - неизвестно название модели), при неисправности накопителя, если он не отдаёт название - вся информация также поступает в общий эвентлог. Папка с "безымянными" скриншотами также перенесена в LOGS/. Функция раздельных логов отключается снятием галки "Separate logs" на вкладке Setup.
Дефекты скана поверхности теперь пишутся в отдельный лог. Создается каталог с названием модели и серийным номером, а в нём файл с именем вида "bads_название модели_серийный номер.txt". При каждом запуске скана в этом файле фиксируется время запуска и все найденные дефекты. Файл текстовый, и каждый раз дописывается. Формат TXT-файла простой: В первую строку пишется заголовок "Victoria defects log 1.0". Затем через произвольное количество пустых строк - строка с датой и временем вида "Start: 30.08.2019 17:16:52" (слово "Start" - обязательно). В последующих строках пишутся записи о диапазонах сканирования вида xxxx, yyy (где xxx - стартовый адрес, yyy - количество секторов). В строку могут добавляться произвольные комментарии, отделенные справа от чисел хотя-бы одним пробелом. Несколько идущих подряд строк  образуют сессию. Пустая строка означает конец сессии.
Лог формата .vds используется в профессиональных программах, и отличается заголовком и форматом записей. Добавлен для совместимости.
В дальнейшем планируется использовать список как сценарий для перепроверки и лечения дефектов, найденных при предыдущих сканах или при неудачном лечении дефектов. Это позволит экономить время, проверяя лишь проблемные участки, и исключив скан всего диска.
•	Сделана возможность сканировать поверхность по списку дефектов (например, логу, созданному при предыдущем скане поверхности). Для этого на кнопке "Scan" появилось выпадающее меню. Программа анализирует список, находит в нём последнюю заполненную секцию, сообщает о том, какие номера строк будут использованы, меняет кнопку  "Scan" на "Start script" и ждёт её нажатия. При работе по списку - выводится прогресс-бар его прохождения.
Добавлена работа со SMART-журналами HDD / SSD: 
- Получение списка (оглавления) SMART-журналов, и разбор двух важнейших из них: Extended Comprehensive SMART Error log (список ошибок, возникших во время работы накопителя) и Ext SMART Selftest Log (список результатов самотестирования встроенными SMART-тестами). Оба журнала современные, 48-битные. Также сделан упрощённый разбор журнала Comprehensive SMART Error log старого образца - но смысла в нём пока не увидел. Если кому-то будут очень нужны эти журналы для старых накопителей - сделаю. 
- Сделана генерация сценария со списком дефектов из смарт-журнала (аналогичного тому, что создаёт скан). Для быстрой автоматической проверки проблемных мест. Как показала практика, адреса надо брать с запасом на размер блока в начале. Что и было сделано. В дальнейшем надо бы добавить сортировку и удаление дубликатов адресов, но пока лень делать.
Примечание: Host-журналы поддерживают запись для хранения в них информации, устойчивой к низкоуровневому форматированию диска. Остальные - только для чтения (накопитель на попытку записи вернёт ошибку). В последующих версиях планирую добавить интерпретацию других журналов, если найду описание их структуры.
•	Для исследования журналов сделал HEX-просмотрщик и их чтение/запись в файлы и из файлов. Прямое редактирование пока не реализовано. 
Сделана попытка вывести индикаторные лампочки через API. Скорей всего будет работать даже через некоторые USB-контроллеры, а также через стандартные ATA / AHCI каналы Windows. По-умолчанию отключено. Включить можно так:
[Setup]
API ATA Indicators=1
•	Теперь переключение теста записи на чтение происходит только при смене накопителя, а не по окончании тестов.
•	По окончании тестов с ремапом или стиранием - теперь выводится количество успешно вылеченных секторов.
Добавлена возможность указать альтернативный путь к каталогу для скриншотов в INI-файле. Для этого добавлен ключ такого вида:
		[Setup]
		ThirdPathSCR='D:\Docs\YandexDisk\!ScreenShots\'
Путь может быть произвольным, оканчивающийся '\'. При пустой строке или отсутствии ключа - путь будет взят из настроек программы. При неправильном пути - файл не запишется и предупредит об этом в логе.
•	! Удалены переносы при копировании единичных строк в clipboard.
! Исправлены прочие мелкие ошибки и внесены улучшения в алгоритмы.

Что нового в версии 4.73 (22 апреля 2019):
•	! Обнаружил, что при некотором неблагоприятном сочетании параметров в файле настроек (vcr40.ini) перестают запоминаться номера портов. Исправил.
•	Сделан разворот окна со SMART'ом на весь экран: в меню по правой кнопке мыши пункт "Full screen" или CTRL+A. Это пока временное решение по просьбам, до появления общего полноэкранного интерфейса.
•	Дополнен и улучшен SMART для SSD Kingston.
•	Произведена адаптация программы к USB-винчестерам, у которых USB-мост преобразует стандартный 512-байтный логический сектор в 4096-байтный. При этом исправлено около 20 мест в коде, а также добавлено отображение в паспорте накопителей с нестандартным размером логического сектора. 
•	Стала корректно работать нумеровка секторов при записи, отображение больших секторов в HEX-редакторе. Время, проценты скана, максимальный размер блока, и даже тайминги подстраиваются под секторы нестандартных размеров.
•	Теперь при неудачном ремапе, чтении, записи, стирании блока и Refresh'е через API - программа выводит системное сообщение Windows о данной ситуации в лог (поскольку он генерируется в kernel32.dll, то идёт сразу на языке Windows - не удивляйтесь). Таким образом, можно, например, отличить физический дефект накопителя от запрета доступа из-за не выключенного MBR.
•	Попался USB-накопитель A-DATA, "Nobility NH92", на котором программа не могла получить SMART. Оказалось, внутри стоит идиотский USB-мост MA6116, впадающий в ступор от 16-байтных SCSI-команд. Пришлось сделать возможность ручного включения режима совместимости - галка Old USB/SAS mode на вкладке Setup. Потестируйте программу с галкой и без неё. На большинстве новых устройств всё должно работать в любом состоянии.
•	! Устранил недоделку, из-за которой при получении паспорта/SMART во время скана происходило срабатывание ошибки "таймаут".
•	! Устранён глюк, когда на вкладке паспорта диск уже выбран, паспорт прочитан... а  на вкладке Advanced таблицу разделов не даёт прочитать, пока еще раз не получен паспорт.
•	! Устранена ошибка, из-за которой при чтении с ремапом программа останавливалась после нахождения дефекта (проявлялось только в PIO).
•	! Устранена ошибка, из-за которой при остановке скана после дефекта иногда пропадало всплывающее меню "сетки".
•	! Устранена недоделка в процедуре остановки шпинделя HDD / усыпления SSD через USB. Оказалось, что на одном из USB-мостов нативная SCSI-команда не работает. Добавлена процедура попытки подачи ATA-команды вместо SCSI через USB, и всё стало нормально.
•	! Устранена также ошибка, из-за которой программа принимала некоторые SSD за HDD во время "остановки вала".
•	! Устранена причина, по которой могла быть ошибка access violation на быстрых ПК при закрытии главного окна.
•	Сделано предотвращение выхода окон программы за пределы экрана при запуске.
•	Значение "never" в параметре таймаута снова, как и нужно, означает бесконечное время ожидания. Кроме функции Refresh, где оно означает "обновлять каждый блок".
•	Вернул вертикальный скролл-бар в сетку скана. По просьбам.
•	Вернул запоминание галки Grid на вкладке Tests.
•	Сделал возможность отключения показа CHS-параметров в паспорте в связи с их устареванием.
•	Добавлен показ параметров Smart Command Transport (SCT) в паспорте накопителя.
•	На вкладке Advanced теперь можно скопировать в буфер обмена числа из таблицы разделов MBR, а также диапазон адресов раздела разложить в скан поверхности.
•	При установке галки HPA 'LBA/Mb' теперь происходит конвертация одних величин в другие сразу же (раньше для этого приходилось двигать ползунок).
•	Были редкие жалобы, что версия 4.72 перестала работать с IDE-винтами на некоторых компьютерах. Возможно, из-за смены способа подачи команд, но есть вероятность, что "виновата" установленая галка 'Only non-destructive functions' на вкладке  Setup (её воздействие также изменилось в версии 4.72). Мне не удалось своими глазами увидеть этот глюк. Но на всякий случай вернул метод  DFP_SEND_DRIVE_COMMAND, оставив и более современный IOCTL_ATA_PASS_THROUGH.
•	По просьбе с форума реализовал "американскую мечту": в поля ввода / вывода больших чисел добавлена возможность их отображения с разделителем тысяч. Например так: 1'953'525'167. Функция отключаемая на вкладке Setup - галка "Thousand separator". В файле vcr40.ini появился ключ Separator char, после которого в кавычках можно указать знак разделителя: точку, апостроф или пробел. Одно поле оставлено без разделителей, по причине недостатка места. После перехода "Виктории" на новый интерфейс - будет везде.
•	В процедуру получения EXT-паспорта добавлена команда Power-Up In Standby feature set device spin-up. Это позволяет запустить и протестировать винчестер с отключённой раскруткой вала, например от некоторых видеорегистраторов. 
•	Начиная с версии 4.73 программа идёт без упаковщика exe-файла (по данным айтишников, на него ругаются некоторые антивирусы), поэтому размер файла составляет около 2 Мб (было ~700 кб). Это нормально, и на качество работы никак не влияет.
! Исправлены прочие мелкие ошибки и внесены незначительные изменения в алгоритмы.

Что нового в версии 4.72 (15 янв. 2019):
•	Добавлена функция Refresh в скан поверхности через API - чтение и запись в это же место при обнаружении медленного участка. Раньше в программе был код, реагирующий только на ошибку чтения. Теперь он работает по таймауту, заданному пользователем или автоматически. Если таймаут установить в положение "never" - будут перезаписываться абсолютно все блоки. Функция Restore в режиме PIO сохранена.
•	Добавлена поддержка графических тем Windows. Вместо стиля Win95 - Ваша любимая тема. Пришлось немного переделать интерфейс - убрать рамки, заменив их на панели. 
•	Сделана работа через API с AAM под Windows 7 и выше. Теперь действительно можно регулировать уровень шума HDD на новых системах, если винчестер это поддерживает.
•	Стал работать супер-SMART на HDD IBM/HGST под Windows 7 и выше.
•	Добавлена поддержка супер-SMART HDD Toshiba 3.5". Пока проверено лишь на модели HDWD120, но должно также работать на DT01, MG0, MD0, MC0, и т.п. 
•	Появилась возможность задать путь к логу с указанием буквы диска. Например, программа может стартовать с виртуального диска-"реаниматора", а логи оставлять в надёжном месте.
•	Появилась возможность тестировать съёмные накопители (USB и CD/DVD) без прав администратора - путём их выбора как логических дисков. Проверить пока удалось лишь под Windows 7.
•	Сделана возможность работы в PIO без прав администратора, если конечно драйвер porttalk.sys уже установлен, а проверка прав - отключена принудительно. Для этого в vcr40.ini есть скрытый ключ AdminRightsIgnore.
•	Добавлена возможность выбирать логический том как объект исследования в списке API-устройств. Для этого на вкладке Setup нужно выключить галку "Ignore HDD".
•	 Паспорт API-накопителя дополнен «логическим паспортом». Это нечто переходное между железом и софтом. Опция активируется при снятии галки "Ignore HDD" на вкладке Setup.
•	Добавлен дескриптор носителя в паспорт для не-ATA устройств. Для более объективных данных при внештатных ситуациях.
•	Добавлена кнопка мгновенного копирования текущего сектора в качестве стартового в скан поверхности.
•	Реверсный "быстрый" скан адаптирован к SSD.
•	! Устранена недоделка, из-за которой на "быстром" скане для последнего блока отображалась скорость 1/2 графической.
•	! Устранена недоделка: при получании SMART (или паспорта) во время скана поверхности сбрасывались тайминги, определяющие цвета прямоугольников сетки.
•	Улучшен вид "полного" графика на малых диапазонах за счёт более совершенного алгоритма интерполяции.
•	В выпадающее меню лога добавлены пункты "Установить [число] как начальный/конечный LBA". Число берётся из строки, на которую наводится курсор.
•	Такое же меню добавлено в график сканирования поверхности. Число берётся из координат графика, куда наведён курсор мыши. Таким образом можно оперативно устанавливать границы дефектных областей для дальнейших попыток лечения.
•	Добавлена возможность отключить рекалибровку HDD перед сканом поверхности (на вкладке Setup галка "Recall HDD before Scan"). Может потребоваться, если у HDD есть дефекты на начальных адресах.
•	Добавлена возможность нормальной работы программы под Windows 10 на некоторых ноутбуках со встроенным несъёмным SSD. Проблема в том, что Windows иногда не позволяет сканировать поверхность, если программа запущена с активированной по-умолчанию записью. Теперь снятие галки "Only non-destructive functions" отключает запись полностью на уровне хендлеров. Правда, при этом перестёт работать подача комманд в накопители, и о полном паспорте придётся также забыть. Но это всё равно лучше, чем совсем ничего :) 
•	! Исправлена "ошибка переполнения" при сканировании дисков с аномально высокой скоростью (например Verify на некоторых SSD лишь криво эмулируется, что дает ложную скорость выше 2000 мб/с)
•	! Исправлена ошибка, из-за которой на индикаторе текущего LBA отображался 0 при остановке реверсивного скана поверхности .
•	Галка Grid на вкладке Tests теперь не запоминается в настройках. А то были жалобы - пользователи забывали вернуть, и впоследствии удивлялись, куда делись привычные "прямоугольники".
•	Из верхней панели демонтированы часы, секция серийного номера расширена, между секциями введены сплиттеры. Это подготовка к переезду на более современный адаптивный интерфейс.
•	Вместо анимации сделана подсветка корешка закладки, на которой идёт активный процесс. Не понравится - верну обратно как было.
•	! Исправлено деление на 0 при попытке случайного чтения на кардридере без карты.
•	! Наконец исправлен ужасный глюк, из-за которого в списке API-дисков последний пункт невозможно было кликнуть без прокрутки			 
•	Сделана возможность задавать размер блока, отличный от 256 секторов для виртуальных и нестандартных накопителей.
•	Отключена оптимизация в компиляторе для сокращения числа глюков. Из-за этого немного вырос размер, но повысилась стабильность.
•	Попалась электронная книга PocketBook 301, которая в режиме кардридера отдаёт пустой паспорт, но при этом без какой-либо ошибки.  После этого в "Викторию" была добавлена проверка данной ситуации и замена паспорта на функцию Windows, чтобы хотя-бы отображался размер и была возможность тестирования встренной и внешней памяти. Не исключено, что это улучшит работу с другими нестандартными устройствами хранения. 
•	Попался плеер Jagga Boom на RockChip. С ним ни одна версия программы 2018 года не работает - виснет и выплёвывает. Оказалось, плееру не нравится попытка доступа к полному паспорту через USB. Пришлось изменить алгоритм перебора функций. Однако, при этом перестала нормально детектиться электронная книга :) Пришлось добавить галку переключения между новой и старой командами получения размера. В Setup она теперь называется "Don't get SCSI 25h" и расположена на месте удалённой галки "Dont get drive type". Итог - по умолчанию всё работает и с плеером, и с книгой. Но у книги размер отображается неправильный - для неё и надо установить галку в Setup. Во избежании проблем, её запоминание отключено.
•	Снимки экрана теперь складываются в отдельную папку SCR, букву диска которой можно задать в Setup, или по-умолчанию она создаётся в каталоге с программой.
•	По просьбам форумчан http://forum.ru-board.com добавлены ещё 2 варианта окончания скана поверхности: 
"Save screenshot" - по окончании скана делается снимок вкладки Test в виде PNG-картинки.
"3 SS+Shutdown" - по окончании скана делаются снимки вкладок Tests, Smart, Standard и затем происходит выключение компьютера.	
Попросили сделать вывод в паспорт SSD количество записанных данных. В SMART многих SSD есть атрибут 241, который в зависимости от модели, может содержать количество записанных секторов или гигабайт. Сделан автоматический детект нужного значения по следующим типам SSD: Adata, Corsair, Datex, Intel, Kingston, Lite-on, LMT, OCZ Vector, OCZ Vertex 3, OCZ Vertex 2, OCZ Vertex450, Plextor, PNY, Samsung, SanDisk, Transcend 2.5, WD. 
Для тех накопителей, у которых автоматически неправильно определился метод (программа выводит неправдоподобно большие или малые значения), предусмотрен ручной переключатель в файле vcr40.ini :

[EXT PSP Button]
Total WR method=0
0 - автоматически по семейству/модели SSD. 1 - игнорировать модель и интерпретировать как гигабайты. 2 - интерпретировать как секторы.
•	Метод проверки механики (Seek / Verify / Read) больше не запоминается в настройках. Вместо этого сделана автоматическая настройка на наилучший метод при получении паспорта и оставлено ручное управление в текущем сеансе.
•	Экспериментально убран вертикальный скроллбар из поля скана поверхности.

Что нового в версии 4.71b SSD (12 дек. 2018):
•	Добавлено снятие скриншотов - "горячее" сочетание клавиш CTRL+S. Из-за этого исполняемый файл подрос на 37 кб. Рекомендую проверить на совместимость с минималистическими версиями Windows PE - вдруг понадобятся дополнительные системные библиотеки?
•	Добавлено определение наличия у диска интерфейса PCIe (SSD с мостом PCIe to SATA).
•	Добавлено определение форм-фактора накопителей. Выводится под окном паспорта.
•	Добавлена отдельная строка функций SSD в паспорт, в частности Sanitize и Crypto Scramble. Туда же перемещен и Trim. На самом деле их больше, но пока не решено, как их рационально разместить. Эти функции могут встречаться не только на SSD, но и на современных HDD.
•	В HEX-редакторы добавлено меню (по правой кнопке мыши), которым можно переключить размер шрифта. 
•	! Исправлена ошибка, из-за которой на SSD OCZ Vertex размер блока при скане оставался 256 секторов. Это и послужило причиной внеочередного апдейта программы.
•	Дополнена справка по F1. Более свежая информация между выходами обновлений будет опубликована на сайте hdd.by
•	Попытался убрать вроде бы ненужный переключатель номера API-устройства с правого нижнего угла формы. Если он кому-то нужен, то верну. Мне за 12 лет ни разу не пригодился.
•	Небольшая адаптация интерфейса к XP и 7, правый край формы вроде-бы стал выглядеть лучше.
•	Убран вертикальный скролл-бар в хелпе, т.к. оказался глючным. Скроллировать можно колесом мыши и клавишами PageUp/PageDown.
•	Изменен алгоритм установки драйвера porttalk.sys. Теперь проверяется наличие драйвера в системной папке Windows, и если его нет, то производится его установка на 32-х битных системах. Переработаны выводимые в лог сообщения об ошибках драйвера, убраны лишние. Итог - режим PIO должен гарантирвано заработать на x32 без дополнительных действий со стороны пользователя.

Версия 4.7 - не публикуется для исключения зрительных ассоциаций с 4.47. 

Что нового в версии 4.69b (02 дек. 2018):
•	Добавлен быстрый тест поверхности (как в HD Tune). Теперь получить представление о накопителе можно за 2-3 минуты. Соответственно, добавлена новая кнопка QUICK под бывшей кнопкой Start, а кнопка Start немного уменьшена, и переименована в Scan. Для того, чтобы знать, какой тест был запущен - добавлен индикатор режима скана под кнопкой.
•	Окончание случайного чтения теперь происходит не только по времени, но и по завершению построения графика, если выключен Grid.
•	По просьбам, вернул возможность использовать PC-спикер в качестве звукового индикатора. Как и раньше, работает только на x86.
•	Предотвращено случайное закрытие программы пользователем во время выполнения операций.
•	Теперь в лог пишется не только номер BAD-сектора, но и объем диска перед ним.
•	По окончании скана, в лог пишется также и адрес последнего блока.
•	Добавлены новые SMART-атрибуты для SSD.
•	Добавлен детект SATA3 и будущего SATA4 в паспорте.
•	Исправлена ошибка, из-за которой при верификации больших накопителей в режиме API на графике возникала ступенька, кратная 2Тб (применена современная 16-байтная SCSI-команда, не имеющая ограничений на адресацию >32 бит).
•	Исправлено и доделано отображение графика при реверсивном и случайном скане поверхности.
•	Устранено много нелогичного в отображении и поведении графика скана на разных режимах.
•	Исправлена ошибка, из-за которой иногда неправильно определялся размер сектора на оптических дисках, что мешало чтению секторов в HEX-просмотрщик и выдавало "Error #57"
•	Блок 2048 секторов теперь устанавливается автоматически, начиная с 400Мб (было - с 1Тб)
•	Улучшена работа программы при загрузке графика из файла: отображаются границы тестирования, корректно работает мышь.
•	Типичная ситуация: после экспериментов с размером блока на одном накопителе - забыли вручную вернуть галку "Auto block Size" на вкладке Test. Это может привести к неправильным результатам на другом диске. Теперь при смене диска этот элемент возвращается в положение "Auto".
•	Увеличен шрифт в HEX-просмотрщике, вызываемом по F8.
•	Доработана индикация скана. С помощью таймера я попытался сделать её равномерной и не зависящей от скорости накопителя. Также она теперь должна меньше тормозить систему, и как следствие - повысить скорость и точность тестирования. Но поскольку это впервые, возможны какие-то недоделки, устранимые в дальнейшем. Для чего это всё? Готовится расширение предела скорости скана от >3000 мб/с (сейчас - всего 655 Мб/с), и постепенно ликвидируются возможные узкие места в алгоритмах.
•	При тестировании поверхности в режиме PIO - сделано снятие галки "Reset HDD" возле кнопок навигации, иначе рвался ATA-протокол и возникала незапланированная задержка ответа HDD.
•	Попросили вернуть как было не-обновление ширины столбцов в SMART. Теперь при нажатии на кнопку "Get SMART" столбцы обновляются, а при нажатии альтернативной кнопки - F9, остаются необновлёнными.
•	Цвет серой панели справа сделан более нейтральным. Это временно. Вероятно, скоро буду приводить интерфейс к единству стиля.
•	Цвета паспорта и лога сделаны бледнее.
•	Оптимизирован код, размер исполняемого файла стал меньше.
•	Справочная система переделана с .html на RTF-формат. Должно стать красивей и не зависеть от версии браузера IE. 
•	Текстовые файлы, приложенные к программе, теперь тоже в RTF. Не открывайте их в MS Word для редактирования - они распухнут в несколько раз! Используйте MS WordPad.
---
Что нового в более старых версиях программы? Ответ найдёте в архивах со старыми версиями, которые можно скачать с официального сайта.

--
Сергей Казанский, 2021.
Официальный сайт программы: https://hdd.by